gradient problem in RNN


gradient problem in RNN

RNN을 통해 학습을 시킬 때 시퀀스가 엄청나게 길어질 경우 기울기가 소실되거나 매우 커져버리는 문제가 발생할 수 있습니다. 어디에서 문제가 생기는지 확인해봅시다. 출처: Denny's Blog 위의 상황은 RNN의 E3에서 결과값이 loss funtion의 미분으로 인해 gradient가 역전파가 s0까지 전달되는 과정을 나타낸 것입니다. s3에 대한 s0의 편미분을 계산해보면 chain rule에 의해서 그 사이의 편미분 값들을 전부 계산하여 곱한 값이 됩니다. 한편, RNN의 수식은 다시 정리하면, 이전 셀의 hidden state와 현재 타임 스텝(t)의 입력벡터의 선형결합으로 나온 결과를 tanh라는 비선형 함수를 통과시켜 나온 결과값입니다. 예시에서는 행렬들을 하나의 스칼라로 취급하여 각각 2와 3으로 간단한 형태를 가지도록 했습니다. 수식에서는 위의 그래프와 같이 hidden을 뜻하는 h 대신에 s를 사용했습니다. 또한 수식이 길어지므로 s3에서 s1까지 전달되는 과정으...


#chainrule #exploding #gradient #problem #RNN #vanishing #기울기 #소실 #폭주

원문링크 : gradient problem in RNN