Vanishing Gradient는 무엇인가?

노태경·2022년 7월 14일
0

개발블로그

목록 보기
6/6

모델의 레이어를 깊이 쌓으면 항상 성능이 좋아지는가?

레이어를 깊이 쌓았을 때 Vanishing/Exploding Geadient 문제가 발생하여 모델의 구혐을 방해하는 문제가 생긴다.

Vanishing Gradient Problem란?

신경망은 보이는 층(Visuble layer)와 숨겨진 층(Hidden layer)로 구성되어 있다.
보이는 층은 입력층(Input layer)와 출력층(Output layer)로 구성되어 있다.
Input <-----> Output layer 사이에 위치한 숨겨진 층은 은닉층(Hidden layer)라고 한다.
은닉층은 많은 다층 퍼셉트론으로 은닉층을 많이 거칠수록 전달되는 오차가 크게 줄어들어 학습이 되지 않는 현상이 발생한다.

Gradient 구하는 과정은?
forward pass과정에서 local gradient를 구하고 backward pass 시에는 global gradient을 계산한다.
local * global 최종적으로 gradient를 구할 수 있다.
backward pass = backpropagation이라고 하며 backward pass 계산 과정에서는 chain rule을 활용한 연산이 사용된다.

chain rule을 이용하여 grident을 계산하면서 0으로 가까이 가거나 0으로 수렴되면 parameter 값이 제대로 update 되지 않게 되어 학습을 계속 진행해도 무의미한 결론을 도출하게 된다.

즉, 이렇게 graidnet가 0에 수렴하는 경우를 Vanishing Gradient,기울기 소멸 문제라고 한다.
Vanishing Gradient의 반대로는 Exploding Gradient가 있다.





참고자료
https://velog.io/@crosstar1228/%EB%94%A5%EB%9F%AC%EB%8B%9DVanshing-Gradient-Problem%EA%B3%BC-%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94-%EC%97%AC%EB%9F%AC%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95BN-init-ReLU-Residual-Network

http://computing.or.kr/14804/vanishing-gradient-problem%EA%B8%B0%EC%9A%B8%EA%B8%B0-%EC%86%8C%EB%A9%B8-%EB%AC%B8%EC%A0%9C/

0개의 댓글