최근 업무상 텐서플로우를 사용해서 머신러닝 모델을 구축하고 있습니다. ReLU나 tanh와 같이 다양한 Activation Function을 적용하면 인공신경망 모델을 개선하는데 도움이 됩니다. 이번 포스팅에서는 간단히 Tensorflow에서 제공하는 Activation Function에 대해 여러분과 공유하고자 합니다.
활성화 함수 종류 정리
머신러닝을 위해 도입된 함수는 Sigmoid 인데, Sigmoid 함수는 딥러닝의 은닉층이 깊어지면 Gradient Vanishing 현상이라고 해서 기울기가 점점 사라지는 문제가 있습니다. 이를 해결하기 위해 tanh와 ReLU 함수가 도입되었습니다.
활성화 함수에 의한 기울기 소실 문제에 대해 궁금하신 분은 아래 포스팅을 참고해주십시오.
Activation Function의 종류와 코드는 아래와 같습니다.
- relu : tf.nn.relu()
- relu6 : tf.nn.relu6()
- sigmoid : tf.nn.sigmoid()
- tanh : tf.nn.tanh()
- softsign : tf.nn.softsign()
- softplus : tf.nn.softplus()
- elu : tf.nn.elu()
해당 함수 중에 가장 일반적인 함수는 ReLU 함수이며, 모델 성능 향상을 위해서 적합한 활성화 함수를 찾기 위해 다양한 활성화 함수들을 바꿔가며 사용하고 있습니다.
활성화 함수의 세부적인 내용을 확인하고 싶으시면 아래 포스팅을 확인해주십시오.
마치며
이번 포스팅에서는 간단히 텐서플로우 활성화 함수의 종류와 코드에 대해 알아보았습니다. Tensorflow를 사용하고 계시다면 위와 같은 코드를 적용해서 활성화 함수를 바꿔보며 테스트하는 것도 좋습니다.
댓글