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문제를 해결하였지만 계산량이 복잡하다.
참고
medium.com/@shrutijadon10104776/survey-on-activation-functions-for-deep-learning-9689331ba092
'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 |