일반적인 신경망과 RNN의 차이점
1. 전결합층은 층마다 다른 가중치를 사용하지만
2. RNN은 모든 시점에서 동일한 가중치를 이용한다.
RNN의 문제점
역전파할 때 이전 시점의 출력 기울기를 구하는 데 동일한 가중치를 반복적으로 사용하므로 기울기에 편향이 발생하기 쉽다.
기울기 소실
기울기가 0에 수렴해 학습이 진행되지 않는 문제를 말한다.
기울기 폭발
기울기가 증가되어 학습이 수렴하지 않고 발산하는 문제를 말한다.
기울기 클리핑
기울기 소실과 폭발 문제는 학습을 어렵게 하는 문제를 야기시킨다. 따라서 이에 대한 해결방법이 필요한데 기울기 폭발 문제에 대한 해결방법으로 기울기 클리핑이라는 기술이 있다. 기울기 클리핑은 기울기 크기를 제한하여 기울기 폭발을 억제하는 방법을 말한다.
기울기 클리핑은 기울기 L2 노름(Norm = 제곱합의 제곱근)이 임계값보다 클 경우 다음과 같은 식으로 제어한다.
임계값을 기울기의 L2노름으로 나눈 값에 기울기를 곱한 새로운 기울기로 갱신하면 기울기 전체가 일정 값 이상이 되지 않도록 제어할 수 있다.
기울기 소실문제 대응
기울기 소실문제는 LSTM과 GRU의 ‘게이트’ 구조로 해결할 수 있다.
댓글 없음:
댓글 쓰기