Tanh Function

Tanh function 은 입력을 범위로 압축하는 비선형 activation function 이다.

출력이 0을 중심으로 대칭이라 sigmoid function 보다 hidden representation 의 평균이 0에 가까워지기 쉽다. 그래서 예전 RNN 계열이나 gating 구조에서 자주 쓰였다.

B) Gradient

Tanh 의 미분은 다음처럼 간단하다.

입력의 절댓값이 커지면 출력이 -1 또는 1에 가까워지고, gradient 는 0에 가까워진다. 이 saturation 때문에 깊은 신경망에서는 vanishing gradients 문제가 생길 수 있다.

C) 어디서 쓰이나

LSTMGRU 에서는 candidate state 나 cell state 를 만들 때 tanh 를 자주 사용한다. 값의 범위를 제한해서 hidden state 가 지나치게 커지는 것을 막기 좋기 때문이다.

GELU 는 정확한 계산이 비쌀 때 tanh 기반 근사식을 쓰기도 한다. 이 경우 tanh 는 activation 자체라기보다 계산을 빠르게 하는 smooth approximation 역할을 한다.

D) ReLU 와 비교

함수출력 범위장점주의점
sigmoid function0~1확률처럼 해석하기 쉬움0 중심이 아니고 saturation 이 큼
tanh-1~10 중심 출력saturation 으로 gradient 가 작아짐
ReLU function0~∞양수 구간 gradient 가 단순함dead ReLU 가능성