본문 바로가기
Machine Learning

Tensorflow Activation Function 종류 정리 및 코드

by 무적물리 2021. 3. 25.

최근 업무상 텐서플로우를 사용해서 머신러닝 모델을 구축하고 있습니다. ReLU나 tanh와 같이 다양한 Activation Function을 적용하면 인공신경망 모델을 개선하는데 도움이 됩니다. 이번 포스팅에서는 간단히 Tensorflow에서 제공하는 Activation Function에 대해 여러분과 공유하고자 합니다.

 

 

 

활성화 함수 종류 정리

머신러닝을 위해 도입된 함수는 Sigmoid 인데, Sigmoid 함수는 딥러닝의 은닉층이 깊어지면 Gradient Vanishing 현상이라고 해서 기울기가 점점 사라지는 문제가 있습니다. 이를 해결하기 위해 tanh와 ReLU 함수가 도입되었습니다.

 

활성화 함수에 의한 기울기 소실 문제에 대해 궁금하신 분은 아래 포스팅을 참고해주십시오.

 

DL #7 : 딥러닝 기울기소실 문제 해결 방법 (Vanishing Gradient)

Vanishing Gradient Problem 깊고 넓은 딥러닝 모델을 학습시키기는 과정에서 출력값과 멀어질수록 학습이 되지 않는 현상을 기울기소실이라고 합니다. 이러한 심층신경망에서 가중치를 Back Propagation으

muzukphysics.tistory.com

 

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 함수이며, 모델 성능 향상을 위해서 적합한 활성화 함수를 찾기 위해 다양한 활성화 함수들을 바꿔가며 사용하고 있습니다.

 

활성화 함수의 세부적인 내용을 확인하고 싶으시면 아래 포스팅을 확인해주십시오.

 

DL #3 : 딥러닝 활성화 함수 종류 및 특징 (Activation Function)

활성화 함수는 Transfer Function 으로부터 전달 받은 값을 출력할 때 일정 기준에 따라 출력값을 변화시키는 비선형 함수입니다. 활성화 함수를 통해 출력 값을 0~1 사이의 실수 값으로 정규화해 확

muzukphysics.tistory.com

 

 

마치며

포스팅-썸네일
썸네일

 

이번 포스팅에서는 간단히 텐서플로우 활성화 함수의 종류와 코드에 대해 알아보았습니다. Tensorflow를 사용하고 계시다면 위와 같은 코드를 적용해서 활성화 함수를 바꿔보며 테스트하는 것도 좋습니다.

댓글