반응형
활성화 함수 정의
입력된 데이터의 가중 합을 출력 신호로 변환하는 함수이다.
인공 신경망에서 이전 레이어에 대한 가중 합의 크기에 따라 활성 여부가 결정된다. 신경망의 목적에 따라, 혹은 레이어의 역할에 따라 선택적으로 적용한다.
활성화 함수 종류
1. 계단 함수(step function)
- 정의 및 특징
- 가장 간단한 활성화 함수로 임계치를 기준으로 0 or 1의 이산적인 값을 출력한다
- 대표적으로 퍼셉트론에서 사용된 활성화 함수이다
- 단점
- 인공신경망에서 사용할 경우 x=0에서 기울기가 $\infty$ 되어 미분이 불가능하여 오류가 발생한다
- 따라서 단일 퍼셉트론에서만 사용되고 딥러닝에서는 부적절하다.
2. 시그모이드 함수(sigmoid function)
- 정의 및 특징
- 전체 실수 범위에서 0 ~ 1 사이의 값을 출력한다
- Binary classification(이진 분류)에 사용되는 대표적인 활성화 함수다
- 선형 분류(linear classification)에서의 한계를 극복하여 만들어진 활성화 함수이다
- 모든 구간에서 미분가능하여 신경망 모델에서 활성화 함수로 사용된다
- 단점
- 정의역의 절댓값 커질수록 미분 값 0으로 수렴하게 된다. 때문에 가중치가 업데이트되지 않고 소실되는 Gradient vanishing이 발생할 수 있다.
- 함수의 중심값이 0이 아니고 결과가 모두 0이상의 값이어서 학습이 느려질 수 있다.(참고 URL)
3. Tanh 함수
- 정의
- Hyperbolic Tangent Function으로 쌍곡선 함수 중 하나이다
- Sigmoid function을 변형하여 얻을 수 있다.$$tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}$$
- $$tanh'(x) = 1 - tanh^2(x)$$
- $$tanh(x) = 2\sigma (2x) -1$$
- sigmoid 함수의 문제점인 중심값이 0이 아닌 것을 해결하여 학습 속도를 개선 했다
- 단점
- 아직 sigmoid 함수의 문제점이었던 Gradient vanishing을 해결하지 못했다
4. ReLU
- 정의 및 특징
- ReLU(Rectified Linear Unit)는 입력 값이 0보다 작으면 0, 0보다 크면 입력 값 그대로 출력하는 함수이다.
- sigmoid 함수의 단점인 Gradient Vanishing 문제를 해결해준다
- 단순하지만 성능이 좋아 현재까지 많이 사용되는 활성화 함수이다.
- 단점
- 가중합이 음수이면 0을 출력하기 때문에 노드들은 다시 활성화 되지 않는 dying Relu 현상이 발생한다.(knockout문제)
5. leakyReLU 함수
- 정의 및 특징
- 입력값이 x < 0 일 때 기울기가 0이어서 뉴런이 죽을 수 있다는 ReLU 함수의 단점(knockout문제)을 해결하기 위한 함수이다
- $f(x)=\max(\alpha x, x)$ 이며 $\alpha$은 사용자 지정 값이다.(보통 0.01을 많이 사용한다)
- 참고
- 이론상으로는 knock out이 발생할 수 있지만 실제 사용에서는 거의 발생하지 않는다
- 0이하에서 RuLU는 연산 비용이 크지 않아 leakyReLU보다 연산 속도가 빨르다
- mean activation이 0에 가까울수록 학습 속도가 더 빨라진다(큰차이x)
- Relu와 leaky ReLU 중 어느것이 더 좋다고 할 수 없다
6. PReLU
- 정의 및 특징
- Parametric rectified linear unit으로 leakyReLU에서 $\alpha$ 값도 학습하여 변경 가능한 활성화 함수
- $f(x)=\max(\alpha x, x)$ 이며 $\alpha$ 는 스스로 학습하여 조정하는 파라미터이다.
- 참고
- 이론상으로는 knock out이 발생할 수 있지만 실제 사용에서는 거의 발생하지 않는다
- 0이하에서 RuLU는 연산 비용이 크지 않아 leakyReLU보다 연산 속도가 빨르다
- mean activation이 0에 가까울수록 학습 속도가 더 빨라진다(큰차이x)
- Relu와 leaky ReLU 중 어느것이 더 좋다고 할 수 없다
7. Elu
- 정의 및 특징
- ELU(Exponential Linear Unit)는 ReLU와 형태가 비슷하지만 0에서 첨점이 아니기 때문에 0에서도 미분할 수 있다.
- ReLU의 모든 장점을 가지고 있어서 자주 활용 된다
- 단점
- ReLU와 다르게 exp연산이 사용되어 연산 비용이 많이든다
- 변형
- $\alpha$를 1 이외의값으로 정할 경우 SeLU(scaled exponential linear unit)이라 부른다
- 왼쪽 그림은 $\alpha$ = 2인 그래프
-
8. Swish
- 정의 및 특징
- sigmoidd 함수에 x를 곱한 함수
- 구글에서 ReLU를 대체하기 위해 만든 함수
- 깊은 레이얼르 학습시킬 때 ReLU보다 뛰어난 성능을 보여준다
- CNN을 활용한 모델 mobilenet을 학습시키는데 사용되었다
9. 기타 함수
- Softplus
- ReLU 함수를 부드럽게 깍아높은 함수
- 미분하면 sigmoid 함수가 된다
-
- Softsign
- tanh 함수와 거의 유사한 형태의 함수
- tanh를 대체하기 위해 고안된 함수이다
-
Reference
반응형
'AI > DeepLearning' 카테고리의 다른 글
DNN(심층신경망) (0) | 2021.07.14 |
---|---|
ANN(인공신경망) (0) | 2021.07.12 |
Deep Convolutional Neural Network (0) | 2020.11.08 |
Introduction to Deep Learning (0) | 2020.10.19 |