Softplus 함수란?
Softplus 함수 \(f(x) = \ln(1 + e^{x})\)는 신경망에서 쓰이는 ReLU(정류 선형 유닛) 활성화 함수를 부드럽게(매끄럽게) 근사한 미분 가능한 함수입니다. 원점에서 꺾이는 모서리가 생기는 ReLU와 달리, Softplus는 모든 구간에서 매끄럽고 항상 양수(0보다 큼)라는 특징이 있습니다. 이 계산기는 여러분이 지정한 범위에서 \(x\), \(f(x)\), 그리고 1차 도함수 값을 표로 만들어 주고, 두 곡선을 함께 그려 줍니다. 덕분에 완만한 S자에서 직선으로 이어지는 Softplus 특유의 모양을 한눈에 확인할 수 있습니다.
사용 방법
세 가지 값을 입력하세요. x의 초깃값(첫 번째 x 좌표), 증분(각 점 사이의 간격), 반복 횟수(생성할 행의 개수)입니다. 예를 들어 초깃값 -5, 증분 0.1, 반복 횟수 101을 입력하면 \(x\)가 -5.0부터 +5.0까지 만들어집니다. 결과로는 스크롤 가능한 표와 함께 Softplus 곡선 및 그 도함수 그래프가 표시됩니다.
공식 자세히 보기
Softplus는 다음과 같습니다.
$$f(x) = \ln\!\left(1 + e^{x}\right), \qquad f^{\prime}(x) = \frac{1}{1 + e^{-x}}$$이 함수의 도함수는 \(f'(x) = \dfrac{e^{x}}{1 + e^{x}} = \dfrac{1}{1 + e^{-x}}\)로, 정확히 로지스틱 시그모이드와 같습니다. \(x\)가 양의 방향으로 크게 커지면 \(f(x)\)는 \(x\)에, \(f'(x)\)는 1에 가까워집니다. 반대로 \(x\)가 음의 방향으로 크게 작아지면 \(f(x)\)는 0에, \(f'(x)\)도 0에 가까워집니다. \(x\)가 클 때 오버플로(overflow)를 막기 위해 이 도구는 수치적으로 안정적인 형태인 \(f(x) = \max(x, 0) + \ln(1 + e^{-|x|})\)를 사용합니다.
계산 예시
\(x = 0\)일 때:
$$f(0) = \ln(2) = 0.693147, \qquad f^{\prime}(0) = 0.5$$\(x = 1\)일 때:
$$f(1) = \ln(1 + 2.718282) = 1.313262, \qquad f^{\prime}(1) = \frac{1}{1 + e^{-1}} = 0.731059$$\(x = -1\)일 때:
$$f(-1) = 0.313262, \qquad f^{\prime}(-1) = 0.268941$$여기서 \(f(x) - f(-x) = x\)라는 항등식이 성립한다는 점에 주목하세요. 예를 들어 \(1.313262 - 0.313262 = 1\)입니다.
자주 묻는 질문
ReLU 대신 Softplus를 쓰는 이유는? Softplus는 매끄럽고 모든 구간에서 0이 아닌 기울기를 가지므로 경사 기반(gradient) 최적화에 도움이 될 수 있습니다. 다만 계산 비용 측면에서는 ReLU가 더 가볍습니다.
출력값은 항상 양수인가요? 네. 유한한 모든 \(x\)에 대해 \(1 + e^{x} > 1\)이므로 \(\ln(1 + e^{x}) > 0\)입니다.
도함수는 무엇을 의미하나요? 도함수는 Softplus 곡선의 기울기이며, 로지스틱 시그모이드와 같습니다. 0에서 1까지 단조롭게 증가하고, \(x = 0\)일 때 값은 0.5입니다.