- [머신러닝] 활성화함수 Sigmoid2024년 12월 05일 14시 29분 12초에 업로드 된 글입니다.작성자: 공부하는 보르조이
Sigmoid 함수란?
Sigmoid 함수는 입력 값을 0과 1 사이로 변환하는 비선형 함수이며 S자형 곡선을 가집니다.
수식으로는 $ S(x) = \frac{1}{1 + e^{-x}} $ 으로 정의됩니다.
$ e $ 란?
Sigmoid의 역사
Sigmoid 함수는 19세기 후반 Logistic Function(로지스틱 함수)로 알려졌으며
벨기에 수학자 Pierre François Verhulst(피에르 프랑수아 베르퓌스트)가 처음 개발했습니다.
1838년 Verhulst는 인구 성장 모델에서 Sigmoid 함수를 사용하였으며
이 인구 성장 모델은
인구가 자원 제한으로 인해 일정 수준에서 포화되는 과정을 설명하기 위해 도입된 Sigmoid 함수는 자연계의 여러 현상, 특히 제한된 자원 아래에서의 성장과 같은 문제를 설명하는데 사용됩니다.
$ P(t) = \frac{K}{1 + \frac{K-P_{0}}{P_{0}}e^{-rt}} $ 과 같은 일반식으로 표현됩니다.
$ P(t) $ : 시간 t에서의 인구크기
$ K $ : 최대 수용 가능인구
$ r $ : 성장률
$ p_0 $ : 초기 인구 크기
를 뜻합니다
초기 신경망에서의 역할
1943년 Warren McCulloch와 Walter Pitts가 인공 뉴런 모델을 제안하며, 뉴런의 활성화 과정을 수학적으로 설명했습니다.
당시에는 Step Function(계단 함수)를 활성화 함수로 사용하려했으나, 비미분성 으로 인해 최적화에 어려움이 있었지만
1970년 ~ 1980년 Sigmoid 함수가 매끄러운 특성과 미분이 가능해지며 신경망 모델의 활성화 함수로 채택되었습니다.
역전파 알고리즘과의 통합
1986년 Rumelhart, Hinton, Williams가 역전파 알고리즘을 제안하며 딥러닝 학습이 본격화 되었으며 Sigmoid 함수는 이 과정에서 활성화 함수로 사용되었습니다.
Sigmoid의 생물학적 영감
Sigmoid 함수는 생물학적 신경계의 뉴런 활동을 모델링하는 데 적합합니다.
뉴런은 자극을 받아 활성화되며, 특정 임계값에서 반응이 포화되는 특성을 가집니다.
뉴런은 약한 자극에는 거의 반응하지 않다가, 특정 자극 강도를 초과하면 강하게 반응하는 점진적 활성화를 보입니다.
Sigmoid 함수는 이러한 과정을 수학적으로 표현하는 데 적합하며, 뉴런이 발화하는 확률을 모델링하는 데 자주 사용됩니다.
Sigmoid의 한계
1. Vanishing Gradient 문제
입력값이 너무 크거나 작으면, 출력이 0 또는1에 매우 가까워지면서 기울기가 거의 0이 되는 문제점입니다.
이로 인해 깊은 층의 뉴런까지 오류 신호가 전달되지 않아 학습이 어려워집니다
2. 출력값이 0에 수렴하는 문제
Sigmoid 함수는 출력값이 항상 양수이므로, 가중치 업데이트 시 특정 방향으로만 변화하는 경향이 있습니다. (비효율)
다음글이 없습니다.이전글이 없습니다.댓글