본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

시그모이드 함수(Sigmoid function, 로지스틱 시그모이드)는 실수 전체를 입력으로 받아 0과 1 사이의 값으로 매끄럽게 눌러 주는 S자 모양의 함수로, σ(x) = 1 / (1 + e-x) 로 정의되며 인공 신경망의 활성화 함수와 이진 분류의 확률 출력에 쓰인다.

시그모이드 함수는 입력이 큰 음수이면 0에, 큰 양수이면 1에 가까워지고, 입력이 0일 때 정확히 0.5를 낸다. 출력이 (0, 1) 구간 안에 머물기 때문에 "어떤 부류에 속할 확률"로 해석하기 좋아 로지스틱 회귀와 이진 분류 신경망의 출력층에 쓰인다. 뉴런이 전혀 발화하지 않는 상태(0)에서 최대로 발화하는 상태(1)까지를 나타내는 모형으로도 해석되어, 초기 다층 신경망에서는 은닉층 활성화 함수로 가장 흔히 쓰였다.[1]

미분과 역전파

편집 원본 편집

시그모이드 함수는 모든 점에서 미분할 수 있고, 도함수를 자기 자신으로 간단히 쓸 수 있다.

  • σ'(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. ↑ 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.
  2. ↑ Ian Goodfellow, Yoshua Bengio, Aaron Courville, 「Deep Learning」 6장 Deep Feedforward Networks, MIT Press, https://www.deeplearningbook.org/contents/mlp.html, 확인일: 2026-11-04.