이 계산기로 무엇을 할 수 있나요
이 도구는 임의의 실수 x에서 쌍곡탄젠트 함수의 이계도함수 \(\tanh''(x)\)를 계산합니다. 쌍곡탄젠트 \(f(x) = \tanh(x)\)는 -1과 1 사이에서 부드럽게 변하는 S자 형태의 함수입니다. 신경망의 활성화 함수로 널리 쓰이기 때문에, 그 일계도함수와 이계도함수는 기울기 흐름(gradient flow)과 곡률을 이해하는 데 매우 중요합니다. 이 계산기는 핵심 결과인 이계도함수와 함께 \(\tanh(x)\) 값 자체, 그리고 일계도함수 \(\tanh'(x)\)도 함께 보여줍니다.
사용 방법
x에 임의의 실수(양수, 음수, 0 모두 가능)를 입력하면, 계산기가 세 가지 값을 돌려줍니다. \(\tanh(x)\), 일계도함수 \(\tanh'(x)\), 그리고 이계도함수 \(\tanh''(x)\)입니다. x와 모든 출력값은 무차원(단위 없음)이므로 별도의 단위를 입력할 필요가 없습니다.
공식 설명
\(f(x) = \tanh(x)\)에서 출발하면, 일계도함수는 \(f'(x) = 1 - \tanh^{2}(x)\)이며 이는 \(\operatorname{sech}^{2}(x)\)와도 같습니다. 연쇄법칙을 한 번 더 적용해 미분하면 $$\frac{d^2}{dx^2}\tanh(x) = -2\tanh\!\left(x\right)\left(1 - \tanh^{2}\!\left(x\right)\right)$$를 얻습니다. 같은 식을 \(f''(x) = -2\tanh(x)\operatorname{sech}^{2}(x)\)로도 쓸 수 있습니다. 이 계산은 \(t = \tanh(x)\)를 직접 사용하기 때문에 \(|x|\)가 큰 경우에도 수치적으로 안정적이며, \(e^{x} + e^{-x}\)가 항상 2 이상이므로 0으로 나누는 일도 발생하지 않습니다.
계산 예시 (x = 0.5)
\(\tanh(0.5) = 0.4621172\) 입니다. 따라서 \(f'(0.5) = 1 - 0.4621172^{2} = 0.7864477\) 이고, $$f''(0.5) = -2 \times 0.4621172 \times 0.7864477 = -0.7270051$$ 이 됩니다. 여기서 x가 양수이기 때문에 이계도함수의 값은 음수가 됩니다.
자주 묻는 질문
왜 tanh''(0)은 0인가요? x = 0일 때 \(\tanh(0) = 0\)이므로, 공식 안에 들어 있는 \(\tanh(x)\) 항이 전체 식을 0으로 만듭니다. 또한 \(f''\)는 기함수(odd function)로서 \(f''(-x) = -f''(x)\)가 성립합니다.
x가 아주 클 때는 어떻게 되나요? \(\tanh(x)\)는 +1 또는 -1로 포화(saturate)되므로, 일계도함수와 이계도함수 모두 0에 가까워집니다. 이는 심층 신경망에서 나타나는 "기울기 소실(vanishing gradient)" 현상과 직접 관련됩니다.
이계도함수가 정의되지 않는 경우도 있나요? 없습니다. tanh는 모든 실수에서 매끄러운(smooth) 함수이므로, 그 도함수들은 어디에서나 존재합니다.