-
딥러닝을 위한 활성화 함수 정리(시그모이드, tanh, 소프트맥스, ReLU, Leaky ReLU, PReLU )카테고리 없음 2024. 5. 28. 04:14
시그모이드
시그모이드 함수는 Logistic 함수라고 불리기도 하며, x의 값에 따라 0~1의 값을 출력하는 S자형 함수이다.
시그모이드의 정의는 아래 수식과 같고, 미분 과정을 함께 살펴본다.
Sigmoid 함수
Sigmoid 도함수
하지만 Sigmoid 함수는 음수 값을 0에 가깝게 표현하기 때문에 입력 값이 최종 레이어에서 미치는 영향이 적어지는 Vanishing Gradient Problem이 발생한다.Sigmoid 도함수 그래프에서 미분 계수를 보면 최대값이 0.25이다. 딥러닝에서 학습을 위해 Back-propagation을 계산하는 과정에서 활성화 함수의 미분 값을 곱하는 과정이 포함되는데, Sigmoid 함수의 경우 은닉층의 깊이가 깊으면 오차율을 계산하기 어렵다는 문제가 발상하기 때문에, Vanishing Gradient Problem이 발생한다.
다시 말해, x의 절대값이 커질수록 Gradient Backpropagation 시 미분 값이 소실될 가능성이 큰 단점이 있다.
또한, Sigmoid 함수의 중심이 0이 아닌데, 이 때문에 학습이 느려질 수 있는 단점이 있다.
한 노드에서 모든 파라미터의 미분 값은 모두 같은 부호를 같게 되는데, 같은 방향으로 update되는 과정은 학습을 지그재그 형태로 만드는 원인을 낳는다.
이러한 문제 때문에 딥러닝 실무에서는 잘 사용되지 않지만, 미분 결과가 간결하고 사용하기 쉽기 때문에 입문 단계에서 꼭 다루는 함수이다.
모든 실수 값을 0보다 크고 1보다 작은 미분 가능한 수로 변환하는 특징을 같이 때문에, Logistic Classification과 같은 분류 문제의 가설과 비용 함수(Cost Function)에 많이 사용된다.
또한 sigmoid()의 리턴 값이 확률 값이기 때문에 결과를 확률로 해석할 때 유용하다.
- 시그모이드 함수는 입력값이 커지면 커질수록 1에 수렴하고, 작아지면 작아질수록 0에 수렴합니다.
- 시그모이드 함수를 미분하면, 양 쪽으로 향할수록 변화값이 거의 없습니다.
- 따라서, 오류역전파를 할 때, Vanishing Gradient 현상이 발견될 수 있습니다.
- 0 또는 1을 반환하기 때문에, 이진 분류 모델의 마지막 활성화 함수로 사용됩니다!
tanh(하이퍼볼릭탄젠트 함수Hyperbolic tangent function)
하이퍼볼릭탄젠트는 시그모이드 함수를 변형해, 단점을 개선시킨 함수이다. 하이퍼볼릭 탄젠트 함수의 수식, 미분값은 다음과 같다.
하이퍼볼릭탄젠트 함수와 미분 함수의 그래프는 다음과 같다.
tanh 함수는 출력값이 -1 과 1 사이에 존재하며, 함수의 중심점을 0으로 옮겨 sigmoid가 갖고 있던 최적화 과정에서 느려지는 문제를 해결했다. 여전히 기울시 소실 현상이 발생하는 것을 미분 그래프를 보면 알 수 있다.
소프트맥스
- softmax함수는 시그모이드함수처럼 0에서 1사이의 값을 반환하지만, 출력값들의 합이 1이 되기에 다중 분류의 최종 활성화 함수로 사용된다.
ReLu
ReLU(Rectified Linear Unit, 경사함수)는 가장 많이 사용되는 활성화 함수 중 하나이다.
x가 0보다 크면 기울기가 1인 직선, 0보다 작으면 함수 값이 0이 된다. 이는 0보다 작은 값들에서 뉴런이 죽을 수 있다.
sigmoid, tanh 함수보다 학습이 빠르고, 연산 비용이 적고, 구현이 매우 간단하다.
Sigmoid와 tanh가 갖는 Gradient Vanishing 문제를 해결하기 위한 함수이다.
- ReLu 함수는 은닉층의 활성화 함수로 사용됩니다.
- 입력값이 0보다 작거나 같을 때는 항상 0을 출력하고, 0보다 크면 입력값과 동일한 출력값을 출력합니다.
Leaky ReLU
Leaky ReLUU는 ReLU가 갖는 Dying ReLU(뉴런이 죽는 현상) 을 해결하기 위해 나온 함수이다.
0.01이 아니라 매우 작은 값이라면 무엇이든 사용 가능하다. Leaky ReLU는 x가 음수인 영역의 값에 대해 미분값이 0이 되지 않는다는 점을 제외하면 ReLU의 특성을 동일하게 갖는다.
PReLU
Leaky ReLU와 거의 유사하지만 새로운 파라미터 α 를 추가해 x가 음수인 영역에서도 기울기를 학습한다.
ReLU 계열의 그래프 ReLU - 은닉층에 사용하는 가장 대중적 활성화 함수
소프트맥스 - 다중 분류 모델의 마지막 활성화 함수
시그모이드 - 이진 분류 모델의 마지막 활성화 함수
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=handuelly&logNo=221824080339
딥러닝 - 활성화 함수(Activation) 종류 및 비교
# 활성화 함수 딥러닝 네트워크에서 노드에 입력된 값들을 비선형 함수에 통과시킨 후 다음 레이어로 전달...
blog.naver.com
딥러닝에서 사용하는 활성화함수
An Ed edition
reniew.github.io
[딥러닝] 활성화 함수 간단 정리 ! (시그모이드, 소프트맥스, ReLU)
활성화 함수 간단 정리 !!
velog.io