Sigmoid

시그모이드

1. Sigmoid 함수 정의

시그모이드 함수는 기존 선형적인 연산의 단점을 극복하기 위한 활성화 함수 중 하나로 0과 1을 구분하는 로지스틱 연산, 회귀 연산에 대표적으로 많이 사용되는 함수이다.

2. 장점

출력 값의 범위가 0과 1사이이며, 매우 부드러운 곡선을 가지고 있다. 이러한 이유로 기울기 폭주(Gradient Exploding)가 발생할 가능성이 매우 낮다. 분류가 0과 1로 나누기 때문에 출력 값이 어디에 가까운지에 따른 이진분류가 매우 쉽다.

3. 단점

시그모이드 함수는 아무리 큰 값이 들어와도 0과 1사이로 수렴하기 때문에, 표현할 수 있는 값이 현저하게 줄어든다. 또한 중앙 값이 0.5이기 때문에 출력의 가중치의 합이 입력의 가중치의 합보다 크다. 이를 편향 이동(Bias Gradient)라고 하는데, 신호가 각 레이어를 통과할 때마다 분산이 계속 커지게 되어, 활성화 함수의 출력이 0과 1에 수렴하게 된다. 시그모이드는 도함수이므로 0과 1에 가까워지면 결과적으로 출력 값은 무조건 0에 가까워진다. 최종적으로는 수렴하는 기울기의 값이 0이 되고, 역전파 과정에서 0이 곱해져서 기울기 사라지는 현상이 발생한다. 이를 기울기 소실(Gradient Vanishing)이라고 한다.
또한 시그모이드 함수는 기울기 계산과정에서 출력 값이 모두 양수이기 때문에 그 기울기는 모두 양수나 음수가 된다. 이는 기울기 업데이트 과정에서 지그재그로 변하는 형태를 보이며 속도를 많이 저하시킨다.