Bamboo is coming

backpropagation(오차역전파) 및 문제점(활성화 함수, sigmoid, relu, tanh) 본문

인공지능 개념

backpropagation(오차역전파) 및 문제점(활성화 함수, sigmoid, relu, tanh)

twenty 2023. 7. 8. 22:48

오차 역전파

예측값과 정답 사이의 오차를 입력계층으로 역전파하여 신경망의 출력 오차를 최소화하는 방향으로 가중치를 조정하는 과정이다.

역방향 패스

1. 순방향에서 얻은 예측(출력)값과 실제 정답 사이의 오차를 계산한다.

2. 출력 계층에서 gradient 계산: 오차를 사용하여 출력 계층의 가중치에 대한 gradient 계산

3. 은닉 계층에서 gradient 계산: 출력 계층에서부터 입력 계층까지 역방향으로 진행하면서 각 계층의 가중치에 대한 그라이언트를 계산

4. 가중치 업데이트: 계산된 그래디언트는 손실 함수의 편미분값으로 각 가중치가 손실에 얼마나 영향을 미치는지 나타낸다. 

즉, 가중치를 얼마나 변경해야 손실을 줄일 수 있는지에 대한 방향과 크기를 제공한다.

이 그라디언트를 이용해 그래디언트의 반대 방향으로 가중치를 조정하면 손실을 줄일 수 있다.

 

 

오차 역전파의 문제점

1. 기울기 소실

깊은 층을 만들어 보니 가중치 업데이트가 첫 층까지 전달되지 않는 현상이 발생했는데 이는 시그모이드 함수의 특성 때문이었다.

시그모이드 함수를 미분하면 최대치는 0,25이다. 1보다 작으므로 계속 곱하다 보면 0에 가까워져 기울기가 사라져 가중치를 수정하기 어려워진다.

 

 

그래서 등장한게 다양한 활성화 함수의 도입이다.

https://2ndyoung.tistory.com/82

 

1. sigmoid 

시그모이드는 앞서 설명한대로 0.25가 되어 기울기가 소실되는 문제를 가지고 있다.

2. ReLu

0보다 작을 때는 0으로 0보다 클 때는 x로 반환하여  x가 0보다 크기만 하면 미분값은 1이 된다. 

오차 역전파의 활성화 함수로 매우 적합하다.

 

 

 

오차역전파 계산방법

📚 모두의 딥러닝_오차 역전파의 계산법

 

오차 역전파의 계산식

\[ w_{t+1}=w_t-\frac{\partial{Loss}}{\partial{w_t}} \]

 

미분 읽기

\[ \frac{\delta q}{\delta x} \]
= \( \delta q \)를 \( \delta x \)에 대해 미분
= \( \delta x \)에 대한 \( \delta q \)의 편미분
= \( \delta x \) 변화에 따른 \( \delta q \)의 변화
= q를 x로 미분
= q 함수의 x 기울기

= x가 증가할 때 q의 변화량

Chain Rule

합성함수 2개의 미분

\[ [f(g(x))]'=f'(g(x)) . g'(x)  \Rightarrow \frac{df}{dx}=\frac{df}{dg} . \frac{dg}{dx}$ \]

 

합성함수 3개의 미분

\[ [f(g(h(x)))]'= \frac{df}{dx}=\frac{df}{dg} . \frac{dg}{dh}  . \frac{dh}{dx} \]

 

 

 

 

참고

📚 모두의 딥러닝_오차 역전파의 계산법

📚 모두의 딥러닝_오차 역전파

함수의 미분 전략_칸아카데미

 

 

📝 오차역전파 정리

 

 

Comments