시그모이드 함수
더 많은 작업
시그모이드 함수(Sigmoid function, 로지스틱 시그모이드)는 실수 전체를 입력으로 받아 0과 1 사이의 값으로 매끄럽게 눌러 주는 S자 모양의 함수로, σ(x) = 1 / (1 + e-x) 로 정의되며 인공 신경망의 활성화 함수와 이진 분류의 확률 출력에 쓰인다.
시그모이드 함수는 모든 점에서 미분할 수 있고, 도함수를 자기 자신으로 간단히 쓸 수 있다.
- σ'(x) = σ(x) × (1 - σ(x))
- 이 값은 x = 0 에서 0.5 × 0.5 = 0.25 로 가장 크고, |x| 가 커질수록 0에 가까워진다
역전파는 출력층에서 입력층 쪽으로 각 층의 활성화 함수 도함수를 차례로 곱해 기울기를 전달한다. 미분할 수 있다는 점 덕분에 시그모이드는 역전파 학습에 쓸 수 있지만, 한 층을 지날 때마다 많아야 0.25가 곱해지므로 층이 깊어지면 입력층에 가까운 층의 기울기는 거의 0이 된다. 이것이 기울기 소실이다.
포화(saturation)도 같은 문제를 키운다. 뉴런의 출력이 0이나 1 근처에 붙으면 그 구간의 기울기가 거의 0이어서, 역전파로 내려오는 신호가 그 뉴런에서 사실상 끊긴다. 초기 가중치를 크게 잡으면 많은 뉴런이 처음부터 포화되어 신경망이 거의 학습하지 못한다.[1] 굿펠로 등의 『Deep Learning』도 시그모이드는 입력이 매우 음수이면 0으로, 매우 양수이면 1로 포화되어 기울기가 학습에 쓸모없을 만큼 작아진다고 설명하고, 그래서 출력층에서는 로그 우도 손실과 짝을 지어 포화를 상쇄한다고 정리한다.[2]
또 시그모이드의 출력은 항상 양수라서 평균이 0이 아니다(zero-centered 가 아님). 다음 층의 가중치 기울기가 한꺼번에 모두 양수이거나 모두 음수가 되기 쉬워 경사 하강이 지그재그로 움직인다.[1]
| 함수 | 식 | 미분 가능성 | 기울기 소실 |
|---|---|---|---|
| 계단 함수(step) | 0 이상이면 1, 아니면 0 | 0 에서 끊기고 나머지 구간의 미분값이 0 이라 역전파에 쓸 수 없다 | 기울기 자체가 전달되지 않는다 |
| 선형 함수 | f(x) = ax | 미분 가능, 도함수는 상수 a | 생기지 않는다. 다만 선형 층을 몇 겹 쌓아도 하나의 선형 변환과 같아 비선형 문제를 풀지 못한다 |
| 시그모이드 | 1 / (1 + e-x) | 미분 가능 | 생긴다(도함수 최댓값 0.25, 양 끝 포화) |
| tanh | (ex - e-x) / (ex + e-x) | 미분 가능 | 생긴다. 출력이 -1~1 로 0 중심이라 시그모이드보다는 낫다. tanh(x) = 2σ(2x) - 1 이다[1] |
| ReLU | max(0, x) | 0 을 빼면 미분 가능 | 양수 구간 기울기가 1 이라 거의 생기지 않는다. 음수 입력만 받는 뉴런은 기울기가 0 이 되어 죽을 수 있다 |
- "미분할 수 있어 역전파에 쓸 수 있으면서 기울기 소실을 일으키는 함수"는 시그모이드(그리고 tanh)이다. 계단 함수는 미분할 수 없고, ReLU 는 기울기 소실을 줄이려고 쓰는 함수이며, 선형 함수는 기울기가 줄지 않는다
- 은닉층에는 ReLU 계열을, 이진 분류 출력층에는 시그모이드를, 다중 분류 출력층에는 소프트맥스를 쓰는 것이 일반적인 구성이다
- ↑ 1.0 1.1 1.2 1.3 「CS231n Convolutional Neural Networks for Visual Recognition - Neural Networks Part 1: Setting up the Architecture」, Stanford University, https://cs231n.github.io/neural-networks-1/, 확인일: 2026-11-04.
- ↑ Ian Goodfellow, Yoshua Bengio, Aaron Courville, 「Deep Learning」 6장 Deep Feedforward Networks, MIT Press, https://www.deeplearningbook.org/contents/mlp.html, 확인일: 2026-11-04.