본문 바로가기
AI/기초

오차 역전파 back propagation 와 기울기 소실 vanishing gradient 문제

by 하이방가루 2022. 4. 15.
728x90
반응형

 

 

오차 역전파 back propagation

  미분의 연쇄법칙(chain rule)과 경사하강법(GD)을 이용하여 임의의 가중치를 선언하고 결괏값의 오차를 구한 뒤 이를 토대로 하나 앞선 가중치를 차례로 거슬러 올라가며 조정해 나가는 다층 퍼셉트론에서의 최적화 과정

위 그림에서 입력층의 첫 노드에서 히든 층의 첫 노드를 거쳐 출력층의 첫 노드로 나오는 과정만을 따로 떼어내면

$$ x \rightarrow P1=x1w1 \rightarrow 활성화함수(시그모이드) \rightarrow y=\frac{1}{1+e^{-P1}} $$

$$ \rightarrow P2=yw2 \rightarrow 활성화함수(시그모이드) \rightarrow z=\frac{1}{1+e^{-P2}} $$

이 되고 손실함수를 $L$이라고 할 때, $w2$에 경사하강법을 적용하여 구한다고 한다면

$$ w2^{n+1} = w2^n - \gamma \frac{\partial L}{\partial w2} $$

여기서 step size($\gamma \frac{\partial L}{\partial w2}$)에 chain rule을 적용하면

$$ \frac{\partial L}{\partial w2} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial P2} \cdot \frac{\partial P2}{\partial w2} $$

이 된다.

마찬가지로, w1에 경사하강법을 적용하여 구한다고 한다면

$$ w1^{n+1} = w1^n - \gamma \frac{\partial L}{\partial w1} $$

여기서 step size에 chain rule을 적용하면

$$ \frac{\partial L}{\partial w1} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial P2} \cdot \frac{\partial P2}{\partial y} \cdot \frac{\partial y}{\partial P1} \cdot \frac{\partial P1}{\partial w1}$$

이 된다.

기울기 소실 문제 vanishing gradient problem

  층이 많은 신경망에서 오차 역전파를 진행하면 역전파를 통해서 전달되는 미분 값이 점점 작아져 맨 처음 층까지 전달되지 않아서 가중치가 업데이트 되지 않는 문제가 발생한다.

  시그모이드 함수의 특성으로 인해 발생한다.

파란선은 시그모이드 함수의 도함수이다.

시그모이드 함수를 미분하면 최대치가 0.3인 도함수가 나오는데 1보다 작은 수를 계속 곱하다 보면 0에 가까워져서 사라져버려서 가중치를 수정하기 어려워진다.

 

따라서, 활성화 함수는 보통 출력층에만 시그모이드함수를 쓰고 히든 층에는 다른 활성화 함수를 쓴다.

1.Sigmoid 함수  2.Tanh 함수  3.ReLU 함수  4.ELU 함수

 

728x90
반응형

댓글