기울기 소실(Vanishing Gradient)이란?

기울기 소실은 오차 역전파과정에서, 출력층에서 멀어질 수록 Gradient 값이 매우 작아지는 현상을 말한다.

 

기울기 소실의 원인?

-> 기울기 소실은 활성화 함수의 기울기와 관련지어 설명할 수 있다.

아래 Sigmoid 함수를 예시로, 아래 그림을 보면서 이해해보자.

 

Sigmoid

왼쪽은 시그모이드, 오른쪽은 도함수이다.

오른쪽 그림을 보면, Sigmoid 함수의 미분 값은 입력값이 0일때 가장 크지만, 0.25에 불과하고, x값이 크거나 작아짐에 따라 기울기는 거의 0에 수렴한다.

따라서, 역전파 과정에서 Sigmoid 함수의 미분값 (1보다 작겠지?)가 곱해지면 곱해질 수록 Gradient값이 매우 작아질 수 밖에 없다. (더불어 e(자연상수) 또한 근사값으로 계산해야하기 때문에 오차까지 쌓이게 된다.)

tanh 함수

ranh의 경우, 0을 기준으로 출력값이 -1~1 (시그모이드는 0~1)로 2배 늘어났다. 하지만 여전히 시그모이드와 같은 이유로 인해 기울기 소실이 발생한다.

 

ReLU 함수

ReLU함수의 경우 입력값이 양수일 경우, 그 값에 상관없이 항상 그 값과 동일한 미분 결과값을 뱉게된다.(1)

-> 역전파 과정에서 기울기 소실이 되지 X + 연산속도가 빠르다(sigmoid는 자연상수 존재 ..!)

한계점 -> 음수의 경우 항상 미분값이 0이기 때문에 입력값이 음수일 경우 그 부분에 대해서 다시 회생할 수 없음

-> 이를 죽어간느 RELU (Dying ReLU라고 한다고 함.)

 

Leaky ReLU

ReLU와 차이점 -> 음수일 경우 0이 아닌, 매우 작은 값을 출력하도록 해줆!

 

 

'부록' 카테고리의 다른 글

오차 역전파 & chain rule  (0) 2024.04.23
Resnet 논문 리뷰  (0) 2024.04.22
Style GAN & Style GAN2  (1) 2024.04.07
LSTM  (0) 2023.08.02
[Modeling] XGB Classifier + 그리드서치 / 베이지안 옵티마이저  (0) 2023.03.18

+ Recent posts