[딥러닝]활성화함수(Activation Functions)

hugingstar·2022년 4월 15일
0
post-thumbnail

단순한 예측 모델을 사용하는 것에도 활성화함수가 중요한 역할을 한다. 활성함수를 어떻게 배치시키고 추가/삭제 하는 가에 따라서 예측하고자하는 트랜드, 패턴을 더욱 정확하게 찾아낼 수 있다.

1. 활성화 함수

활성화함수(Activation Functions)는 신명망에 입력된 데이터를 가중합의 크기에 따라 활성여부를 결정하여 데이터 기반 모델의 비선형성을 표현할 수 있도록 하는 함수이다.

2. 다양한 활성화 함수

  • 계단함수(Step Function, SF) : SF는 임계치를 기준으로 가중합의 활성화 여부가 결정되도록 하는 가장 간단한 활성화 함수이다. 단, ANN에서 SF를 사용한다면, 기울기가 무한대인 임계치(X=0)일 때 미분이 불가하기 째문에 가중치의 업데이트 과정에서 문제가 빈번히 발생한다. 이 함수는 단일 퍼셉트론 활성화 함수로만 사용되고, ANN에서는 부적절하다.

  • 시그모이드 함수(Sigmoid Function, SgF) : SgF는 X축은 모든 실수를 나타내며, y축은 보통 0~1 사이의 값을 가지는 S자 형태의 곡선 함수이다. X 축의 절대값이 커질수록 미분 값이 0에 가까워지는 형태가 발생하여 Gradient Vanishing이 많이 발생한다.

  • 렐루 함수(ReLU Funtion, ReLU) : ReLU는 0 보다 크면 입력값을 그대로 출력하는 함수이다. 위에서 소개된 SgF의 Gradient Vanishing 효과를 해결하기 위해 만들어진 함수이며, 단순한 형태로 성능이 좋아 많이 사용된다. 하지만 임계치보다 낮은 경우에는 다시 활성화되지 않기 때문에 Neuron이 죽는 현상(Dead Neurons)이 발생한다.(대안: Leaky ReLU, PReLU)

  • 지수-선형 함수(Exponential Linear Unit, ELU) : ELU는 0 이하의 모든 출력이 0이 아니라 0으로 수렴하는 형태의 함수(미분 가능)이다. ReLU의 Dead Neurons 현상을 보완해줄 수 있는 능력을 가졌으며, 지수 형태로 있기 때문에 약간의 컴퓨팅 파워가 필요하다.

  • 소프트맥스 함수(Softmax Function, Softmax) : Softmax는 인공신경망에서 사용했을 때 출력이 0~1 사이로 스케일링이 된 값을 출력하는 함수이다. 이 모든 값들의 합은 1이 되는 특징이 있으며, 주로 인공신경망의 출력층에서 Attetion layer 같은 곳에 많이 사용된다. 즉, 여러개의 클래스에 대해 예측한 결과를 정규화하여 확률값으로 보여준다.

3. 극성

활성화 함수의 종류는 출력값의 형태에 따라서 2가지로 분류하는 데 전문 용어로 '극성'에 따라서 분류한다고 한다.

  • 단극성 : 출력값이 양수만 있는 활성화함수
  • 양극성 : 출력값이 음수와 양수 모두 있느 활성화함수

0개의 댓글