시그모이드 함수 (Sigmoid Function)
쉽게 풀면
시험 점수를 "합격 확률"로 바꾼다고 생각해봅시다. 점수가 아주 낮으면 합격 확률은 0%에 가깝고, 아주 높으면 100%에 가깝지만, 중간 점수대에서는 점수가 조금만 올라도 확률이 급격히 변합니다. 시그모이드 함수가 하는 일이 정확히 이것입니다.
입력값이 아무리 크거나 작아도 결과를 항상 0과 1 사이로 눌러주기 때문에, 신경망에서 "이 뉴런이 얼마나 활성화되었는가"나 "이 사건이 일어날 확률이 얼마인가"를 표현할 때 자주 사용됩니다. 그래프로 그리면 완만한 S자 곡선을 그리는 것이 특징입니다.
왜 중요한가
시그모이드 함수는 신경망의 출력을 확률처럼 해석 가능하게 만들어주는 가장 기본적인 장치이기 때문에, 이진분류·로지스틱 회귀·게이트 메커니즘 등 다양한 논문에서 반복적으로 등장합니다.
특히 딥러닝 초창기 활성화함수의 표준이었던 역사적 배경 때문에, 그래디언트 소실 문제나 대안 활성화함수를 논의하는 연구에서도 비교 기준으로 자주 언급됩니다. LSTM의 게이트처럼 "얼마나 통과시킬지"를 0~1 사이 값으로 조절해야 하는 구조에서는 지금도 핵심적인 역할을 합니다.
핵심 정리
- 머신러닝에서 ‘시그모이드’는 보통 로지스틱 함수
σ(x) = 1 / (1 + e−x)를 가리킵니다. 출력 범위는 (0, 1)이고 σ(0) = 0.5입니다. - 대칭성:
σ(−x) = 1 − σ(x). 미분:σ′(x) = σ(x)(1 − σ(x))이며 최댓값은 x = 0에서 0.25입니다. - 역함수는 로짓(log-odds)입니다. 확률 p = 0.8이면 x = ln(0.8/0.2) ≈ 1.386입니다. 그래서 로지스틱 회귀에서 선형결합의 값을 확률로 바꾸는 데 쓰입니다.
- 쌍곡탄젠트와는
tanh(x) = 2σ(2x) − 1의 관계입니다. tanh는 출력이 (−1, 1)로 0을 중심에 둡니다.
예시로 보기
| x | −6 | −4 | −2 | 0 | 2 | 4 | 6 |
|---|---|---|---|---|---|---|---|
| σ(x) | 0.0025 | 0.0180 | 0.1192 | 0.5000 | 0.8808 | 0.9820 | 0.9975 |
| σ′(x) | 0.0025 | 0.0177 | 0.1050 | 0.2500 | 0.1050 | 0.0177 | 0.0025 |
- |x|가 4를 넘으면 곡선이 거의 평평해져 기울기가 0.02 아래로 떨어집니다(포화).
- 역전파에서는 층마다 σ′가 곱해집니다. 가중치를 무시하고 최댓값 0.25만 곱해도 5개 층을 지나면 0.25⁵ ≈ 9.8×10⁻⁴, 10개 층이면 ≈ 9.5×10⁻⁷입니다. 깊은 신경망에서 기울기 소실이 생기는 이유를 보여 주는 단순화된 계산입니다(Glorot & Bengio, 2010; Goodfellow et al., 2016).
- 그래서 은닉층에서는 렐루 같은 다른 활성화 함수가 더 흔하지만, 출력이 0~1로 제한되어야 하는 이진분류 출력층이나 게이트에서는 지금도 쓰입니다. LSTM의 게이트는 시그모이드로 ‘얼마나 통과시킬지’를 0~1 사이 값으로 정합니다(Hochreiter & Schmidhuber, 1997).
자주 하는 오해
| 오해 | 바로잡기 |
|---|---|
| 시그모이드 출력은 곧 믿을 수 있는 확률이다. | 값이 0~1이라는 것과 보정된 확률이라는 것은 다릅니다. 확률로 해석하려면 로그 손실 등으로 학습하고 보정 상태를 확인해야 합니다. |
| 시그모이드는 하나의 특정 함수 이름이다. | S자 모양 함수의 총칭이고, 로지스틱 함수·tanh·arctan·오차함수 등이 포함됩니다. 논문에서는 어느 함수인지 식으로 밝히는 편이 안전합니다. |
| 다중 분류에도 시그모이드를 그대로 쓰면 된다. | 여러 클래스의 확률 합이 1이 되어야 하면 소프트맥스를 씁니다. 시그모이드는 클래스별 독립 판단(다중 레이블)에 쓰입니다. |
| 시그모이드는 은닉층에서 쓰면 안 된다. | 금지된 것은 아닙니다. 깊은 층에서 학습이 느려지는 경향이 있어 다른 함수가 선호될 뿐이며, 얕은 신경망에서는 쓰기도 합니다. |
논문에서는 이렇게 쓰입니다
실제 논문에서
이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
이 문장은 "모델이 마지막에 계산한 숫자를 시그모이드 함수에 통과시켜, 그 값이 0~1 사이의 확률처럼 해석되도록 변환했다"는 뜻입니다. 이진분류 문제의 출력층에서 특히 자주 쓰입니다.
여기서는 시그모이드 함수가 확률이 아니라 "게이트가 정보를 얼마나 통과시킬지"를 결정하는 조절 스위치로 쓰였습니다. 순환신경망 계열 논문에서 흔히 볼 수 있는 표현입니다.
통계·역학 분야 논문에서는 시그모이드 함수가 로지스틱 회귀의 핵심 구성요소로 등장하며, 딥러닝 맥락과는 별개로 오래전부터 확률 모형에 쓰여 왔음을 보여줍니다.
조금 더 깊게 보면
시그모이드 함수의 미분값은 자기 자신을 이용해 간단히 표현할 수 있어 역전파 계산이 편리하지만, 입력이 0에서 멀어질수록 미분값이 급격히 작아지는 특성이 있습니다.
이 때문에 층이 깊어질수록 그래디언트가 누적적으로 작아지는 그래디언트 소실 문제와 직결되며, 이를 완화하기 위해 ReLU 계열 활성화함수나 배치정규화 같은 기법이 함께 논의되는 경우가 많습니다. 또한 시그모이드는 출력이 항상 양수라는 점에서 하이퍼볼릭탄젠트(tanh) 함수와 자주 비교되기도 합니다.
주의할 점
시그모이드 함수는 입력값이 아주 크거나 아주 작을 때 그래프가 거의 평평해져서 기울기가 0에 가까워집니다. 이 때문에 층이 깊은 신경망에서는 기울기 소실 문제를 일으키기 쉬워, 은닉층에서는 렐루 함수 같은 다른 활성화 함수가 더 자주 선택됩니다.
헷갈리기 쉬운 용어
활성화 함수는 출력 범위와 용도가 다릅니다.
| 함수 | 출력 범위 | 주로 쓰는 곳 |
|---|---|---|
| 시그모이드(로지스틱) | (0, 1) | 이진분류 출력층, 게이트 |
| tanh | (−1, 1) | 순환 신경망 상태, 은닉층 |
| 렐루 | [0, ∞) | 은닉층 |
| 소프트맥스 | (0, 1), 합이 1 | 다중 분류 출력층 |
참고 문헌
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
- Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation, 9(8), 1735–1780.
- Glorot, X., & Bengio, Y. (2010). Understanding the difficulty of training deep feedforward neural networks. Proceedings of the 13th International Conference on Artificial Intelligence and Statistics (PMLR 9), 249–256.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.