2024. 11. 26. 21:43ㆍDataScience
기계학습 과정에서, 활성화 함수 (Activation Function)이 출력을 결정하는만큼 핵심적이라고 말할 수 있겠다.
특히, 기존의 Linear한 결과를, Non-linear로 바꿈으로서 패턴의 단순화를 방지할 수 있는 것을 도와준다고 생각할 수 있다.
1. 형태
Sigmoid Function의 경우에는
$$\sigma(x) = \frac{1} {1 + \exp ^{-x}}$$
HyperTangent의 경우에는
$$tanh(x) = \frac{\exp^{x} - \exp^{-x}} {\exp^{x} + \exp^{-x}}$$
ReLU
$$ReLU = max_{x \in \mathbb{R}}(0, x)$$
2. 특성
Sigmoid function
- $\sigma(x) \in [0, 1]$
- Differential for any $x \in \mathbb{R}$
- Non-linear
단점
- Gradient가 0에 가까워질 때, 학습률이 몹시 낮아지기 때문에 학습에 많은 시간이 소요된다
- 계산 코스트가 exponential을 계산해야하기때문에 높다
다음으로, Hypertangent의 특징은 다음과 같다
- $tanh(x) \in [-1,1]$, 중심잡힌 데이터를 얻을 수 있음
- Differential for any $x \in \mathbb{R}$
- Non-linear
단점
- Gradient가 0에 가까워질 때, 학습률이 몹시 낮아지기 때문에 학습에 많은 시간이 소요된다
- 계산 코스트가 exponential을 계산해야하기때문에 높다
ReLU
- function value is contained in $[0, \infty]$
- Non-linear
- Not continuous at $x = 0$
- 미분값이 간단하므로, 다른 activation function에 비해 계산이 용이
단점
- 값이 음수가 되는 경우에는 이후 값이 항상 0으로 귀결
- Output이 비대칭이라는 단점이 존재
이러한 ReLU를 보완하기 위해서, Leaky ReLU, Parametrix ReLU (PReLU), Exponential Linear Unit (ELU) 등이 나오게 되었다.
해당 함수들은 x = 0일때 전부 0의 값을 반환하지만, 음수의 값에서도 Truely하게 0이 나오지 않게끔 조정하면서 음수 값을 살리는 방향으로 학습이 이루어진다
3. 선택 기준
출력층
- 이진 분류 : Sigmoid 함수가 적합
- 다중 클래스 분류 : Softmax 함수를 사용하는 것이 일반적
은닉층
- 깊은 신경망 : ReLU 및 그 변형이 선호됨
- 순환 신경망 : tanh 함수가 주로 사용
학습 안정성
- 기울기 소실 문제 : ReLU가 Sigmoid 및 tanh 보다 효과적
계산 효율성
- ReLU가 Sigmoid 및 tanh에 비해 계산 비용이 낮아 대규모 신경망에서 유리
'DataScience' 카테고리의 다른 글
다양한 모델에 대한 고찰 (ResNet, EfficientNet etc..) (1) | 2024.12.03 |
---|