Sigmoid / Tanh / ReLU에 대한 공부

2024. 11. 26. 21:43DataScience

기계학습 과정에서, 활성화 함수 (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