입력층 (Input)
, 은닉층 (Hidden)
, 출력층 (Output)
으로 구성되어 있다.
퍼셉트론은 입력
과 가중치
의 계산값이 임계값(θ)
를 넘을 때만 1
을 출력한다.
이처럼 입력에 따라 적절한 출력을 하기 위해 사용되는 함수를 활성화 함수(Activation Function)라고 한다.
활성화 함수는 비선형 함수로 이루어져 있다.
선형 함수를 사용했을 때는 은닉층을 사용하는 이점이 없기 때문이다.
퍼셉트론에서 사용된다.
임계값을 경계로 출력이 1
로 변한다.
😥 단점
계단함수와 달리 미분 가능한 연속성을 갖는다.
신경망은 미분을 통해 학습하기 때문에(오차역전파법) 계단함수가 아닌 시그모이드 함수를 사용한다.
시그모이드 함수는 로지스틱 (Logistic) 함수다.
😄 장점
0
~1
사이이며, 매끄러운 곡선을 가지므로 경사하강법을 시행할 때 기울기 폭주(Gradient Exploding)가 발생하지 않는다.😥 단점
💡 기울기 소실
시그모이드 함수는 아무리 큰 값이 들어온다 해도, 0~1 사이의 값만 반환하기 때문에 기존 값과 비교해 출력 값이 매우 작아지게 된다.
또한, 출력의 중앙 값이 0이 아닌 0.5이며, 모든 값이 양수이기 때문에 출력의 가중치 합이 입력의 가중치 합보다 커지게 된다.
이를 편향 이동 (Bias Gradient)이라 하고, 신호가 각 층을 통과할 때마다 분산이 계속 커지게 되어, 활성화 함수의 출력이 최솟값과 최댓값인 0과 1에 수렴하게 된다.
시그모이드 함수의 입력값이 0이나 1에 가까울수록 기울기는 0에 가까워진다.
이로 인해 노드의 기울기(Gradient) 값이 0이 되고, 역전파 시 0이 곱해져서 기울기가 소멸되는 현상이 발생한다.
즉 역전파가 진행될수록 아래 층에 아무 신호가 전달되지 않는 것이다.
시그모이드 함수를 일부 보완한 함수로, 출력값의 범위가 -1
에서 1
이다.
😄 장점
😥 단점
세 개 이상의 클래스로 분류하는 다중 클래스 분류
에서 사용되는 활성화 함수.
분류될 클래스가 n개일 때, n차원의 벡터를 입력받아 각 클래스에 속할 확률을 추정한다.
😄 장점
1
이므로, 어떤 분류에 속할 확률이 가장 높을지 쉽게 알 수 있다.
입력이 0
을 넘으면 그 입력을 그대로 출력하고, 0
이하이면 0
을 출력하는 함수이다.
😄 장점
😥 단점
은닉층
: 대부분 ReLU 함수. 하이퍼볼릭 탄젠트함수는 기울기 소실에 주의해서 사용
출력층
: 시그모이드 함수, 소프트맥스 함수
📑 참조
https://sacko.tistory.com/17
https://syj9700.tistory.com/37
https://gooopy.tistory.com/52