tanh 함수란?
쌍곡탄젠트는 tanh(x)로 표기하며, 모든 실수 x에 대해 정의되는 매끄러운 S자(시그모이드) 형태의 함수입니다. 지수함수 \(e^x\)와 \(e^{-x}\)의 차를 합으로 나눈 값으로 정의되죠. 결괏값은 항상 -1과 1 사이에 엄밀히 위치하며, \(\tanh(-x) = -\tanh(x)\)가 성립하는 기함수(홀함수)입니다. 머신러닝에서 tanh는 인기 있는 뉴런 활성화 함수인데, 출력이 0을 중심으로 분포(zero-centered)하기 때문에 0~1 범위의 시그모이드보다 경사 기반 학습이 더 빠르게 수렴하는 경우가 많기 때문입니다.
계산기 사용 방법
x에 임의의 실수를 입력하면 tanh(x)는 물론, 미적분·물리학·역전파(back-propagation)에서 유용하게 쓰이는 두 가지 선택적 미분값까지 즉시 보여줍니다. 음수, 소수, 매우 큰 절댓값까지 모두 입력할 수 있습니다. x가 큰 양수면 값이 +1로 수렴하고, 큰 음수면 -1로 수렴합니다.
공식 풀이
핵심 정의는 다음과 같습니다.
$$\tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$분모는 항상 2 이상이므로 0으로 나누는 일은 절대 발생하지 않습니다. 1차 미분은 다음과 같은 우아한 항등식으로 표현되며, \(\operatorname{sech}^2(x)\)로도 씁니다.
$$\frac{d}{dx}\tanh(x) = 1 - \tanh^{2}(x)$$이를 다시 미분하면 2차 미분을 얻습니다.
$$\frac{d^{2}}{dx^{2}}\tanh(x) = -2\,\tanh(x)\left(1 - \tanh^{2}(x)\right)$$|x|가 아주 클 때의 수치적 안정성을 위해, 내부적으로는 오버플로를 피하도록 \(e^{-2x}\)를 활용한 변형 식을 사용합니다.
계산 예시 (x = 0.5)
\(e^{0.5} = 1.6487212707\), \(e^{-0.5} = 0.6065306597\)을 사용하면 다음과 같습니다.
$$\tanh(0.5) = \frac{1.0421906110}{2.2552519304} = 0.4621171573$$1차 미분은 다음과 같고,
$$1 - 0.4621171573^2 = 0.7864477623$$2차 미분은 다음과 같습니다.
$$-2 \times 0.4621171573 \times 0.7864477623 = -0.7269989018$$자주 묻는 질문
tanh의 치역은 무엇인가요? 열린구간 (-1, 1)입니다. 양 끝값에 한없이 가까워지지만 결코 도달하지는 않습니다.
tanh(0)은 얼마인가요? 정확히 0이며, \(f'(0) = 1\), \(f''(0) = 0\)입니다.
시그모이드 대신 tanh를 쓰는 이유는? tanh는 출력이 0을 중심으로 대칭(zero-centered)이라 신경망 학습 속도를 높일 수 있는 반면, 로지스틱 시그모이드는 0과 1 사이의 양숫값만 출력합니다.