본문으로 바로가기

Activation function

category AI/Deep Learning 2021. 3. 3. 01:00

Activation function

 

1) 개요

    - 각 layer에서 input과 weight, bias를 곱하고 더하여 선형식을 만들고 activation function을 통해 결과 도출

    - activation function으로 XOR과 같은 비선형 문제를 해결할 수 있다.

 

2) 특징

    - 활성화 함수를 사용하면 입력값에 대한 선형결합식을 비선형으로 만들 수 있다.

    - MLP (Multiple Layer Perceptron)은 활성화 함수를 통해 non-linear 시스템을 여러 겹 쌓는 것이다.

    - 대부분 ReLU를 시작으로 해당 계열을 사용

선형 함수를 합치면 결국 하나의 선형함수가 된다. 따라서 선형 활성화 함수는 사용하지 않는다.

Sigmoid function

1) 개요

    - output range : (0 ~ 1), median : 0.5

    - 대부분의 경우 vanishing gradient 문제 때문에 사용하지 않는다.

    - 출력층 노드가 1개인 binary classification에서 0 ~ 1 사이의 값을 만들고자 할 때 사용한다.

 

2) Vanishing gradient

    - 종모양의 미분 시그모이드 함수의 특징 때문에 input의 절대값이 증가하면 미분값은 0에 수렴한다.

    - layer의 수가 많아질수록 output이 0~1 사이어서 역전파할수록 기울이가 0이 되어 미분값이 소실될 가능성이 크다.

 

3) 느린 연산

    - activation function의 결과값들이 모두 0 이상의 값을 가지기 때문에 기울기가 모두 양수 또는 음수값이 된다.

    - 이는 학습 방향에 제약이 가해져 학습속도가 늦거나 minimum으로 수렴이 어려워 진다.

 

tanh function (Hyperbolic tangent function)

1) 개요

    - 쌍곡선 함수이다.

    - output range : (-1 ~ 1), median : 0

    - sigmoid function을 변환 (rescale and shift)하여 얻는다.

$$tanh(x)=2\sigma(2x)-1=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}$$

$$tanh'(x)=1-tanh^{2}(x)$$

    

2) sigmoid function보다 향상된 속도

    - 중심값이 0으로 갔기 때문에 최적화 과정에서의 속도를 다소 개선했다.

 

3) Vanishing gradient

    - 여전히 종모양의 미분 그래프이기 때문에 sigmoid와 마찬가지로  input의 절대값이 증가하면 미분값은 0에 수렴한다.

 

ReLU (Rectified Linear Unit Activation Function (ReLU)

1) 개요

    - x > 0 이면 기울기가 1인 직선이고, x < 0이면 함수값이 0이다.

    - sigmoid, tanh function보다 학습이 빠르다.

 

2) 단점

    - x < 0 인 값들에 대해 기울기가 0이기 때문에 뉴런이 죽을 수 있는 단점이 존재

    - 다만, hidden layer에서 대부분 노드 값은 0보다 크기 때문에 기울기가 0이 되는 경우는 희귀

 

leaky ReLU

1) 개요

    - Dying ReLU 현상을 해결하기 위해 나온 함수

    - 0.1 대신에 다른 값도 가능

    - x < 0 인 값들이 0이 되지 않는다는 것을 제외하면 ReLU와 같은 특성을 지님

 

ELU (Exponential Linear Unit)

1) 개요

    - ReLU의 모든 장점 포함

    - Dying ReLU 문제 해결

    - 출력값이 0에 가깝다.

    - ReLU와 달리 exp함수를 계산하는 비용 발생

 

Maxout Neurons

1) 개요

    - 연결된 두 개의 선형결합식 중 큰 값만을 취해 비선형성을 확보

    - ReLU와 비슷하며 Dying ReLU문제를 해결하였지만 계산량이 복잡하다.


참고

ganghee-lee.tistory.com/30

medium.com/@shrutijadon10104776/survey-on-activation-functions-for-deep-learning-9689331ba092

ganghee-lee.tistory.com/32?category=841638

reniew.github.io/12/

ratsgo.github.io/deep%20learning/2017/04/22/NNtricks/

'AI > Deep Learning' 카테고리의 다른 글

Batch Normalization  (0) 2021.03.05
Dropout  (0) 2021.03.04
Weight Initialization  (0) 2021.03.04
SGD (Stochastic Gradient Descent)  (0) 2021.03.04
Feed-forward NN & Backpropagation  (0) 2021.03.03