# 하이퍼볼릭 함수 (tanh 함수)

탄젠트 하이퍼볼릭 함수, 또는 tanh 함수는 비선형 활성화 함수로, 수학적으로 다음과 같이 정의된다:

$ \text{tanh}(x) = \frac{\sinh(x)}{\cosh(x)} = \frac{e^x - e^{-x}}{e^x + e^{-x}} $

이 함수는 주어진 입력 $x$에 대해 출력을 -1에서 1 사이의 값으로 제한한다. tanh 함수는 심층 신경망에서 주로 사용되며, 입력 값의 양수와 음수를 고려할 수 있는 이점이 있다. 이는 특히 초기 신경망 계층의 중심화에 기여하여 학습 과정에서 수렴을 촉진한다.

#### tanh 함수의 특징

tanh 함수는 시그모이드 함수와 유사하지만, 중요한 차이점이 있다. 시그모이드 함수는 출력 범위가 0에서 1 사이인 반면, tanh 함수는 출력 범위가 -1에서 1이다. 이로 인해 tanh 함수는 시그모이드 함수보다 더 넓은 출력 범위를 가지며, 특히 신경망의 출력이 양수와 음수로 분포되는 경우에 유리한다. 또한, tanh 함수의 미분 값은 다음과 같이 표현된다:

$ \frac{d}{dx}\text{tanh}(x) = 1 - \text{tanh}^2(x) $

이 식은 tanh 함수의 미분이 그 자체의 함수 값으로 표현될 수 있음을 보여준다. 이는 역전파 과정에서 계산을 간소화하며, 네트워크의 학습 속도를 높일 수 있다.

#### tanh 함수의 장점과 단점

tanh 함수는 시그모이드 함수에 비해 몇 가지 중요한 장점이 있다. 첫째, 출력 값이 중심화 되어 있어 입력 데이터의 평균이 0에 가까운 경우, 신경망이 더 효율적으로 학습할 수 있다. 둘째, tanh 함수는 출력이 -1에서 1 사이로 분포하므로, 기울기 소실 문제(vanishing gradient problem)를 어느 정도 완화할 수 있다.

그러나, tanh 함수도 기울기 소실 문제를 완전히 해결하지는 못한다. 입력 값이 매우 큰 경우나 매우 작은 경우, tanh 함수의 출력은 포화 상태에 도달하게 되며, 이로 인해 미분 값이 매우 작아진다. 이로 인해 역전파 과정에서 기울기가 소실될 수 있으며, 깊은 신경망에서 학습이 느려질 수 있다.

***

관련 자료:

* Goodfellow, I., Bengio, Y., & Courville, A. (2016). *Deep Learning*. MIT Press.
* Bishop, C. M. (2006). *Pattern Recognition and Machine Learning*. Springer.
