GRU 정리

데이터 여행자·2021년 4월 24일
0
post-custom-banner
  • RNN, LSTM, GRU의 구조를 비교해 보면 아래와 같다.

GRU

GRU는 LSTM의 장기 의존성 문제를 해결하면서 복잡한 LSTM의 구조를 간단히 해 은닉 상태를 업데이트하는 계산을 줄였다. 그러나 GRU는 LSTM과 비슷한 성능을 갖는다고 알려져 있기 때문에 굳이 GRU를 사용할 필요는 없다. 데이터 양이 많을 때는 매개 변수가 적은 GRU가 조금 더 낫고, 데이터 양이 많으면 LSTM이 더 낫다고 알려져 있다.

GRU는 업데이트 게이트(Update Gate, z)와 리셋 게이트(Reset Gate, r), 2개의 게이트만 존재한다. 리셋 게이트는 새로운 입력을 이전 메모리와 어떻게 합칠지, 업데이트 게이트는 이전 메모리를 얼마나 기억할지를 정해준다. 식과 구조는 아래와 같다.

[출처: https://it-ist.tistory.com/27]
  • ztz_t: 이전 은닉 상태와 입력 xtx_t를 받아 sigmoid 처리, 이전 은닉상태에서 얼마나 값을 반영할지 정하는 게이트
  • ht~\tilde{h_t}: 현재 셀 상태
  • rtr_t 이전 상태의 은닉상태와 입력 xtx_t를 받아 sigmoid 처리
  • hth_t: (1zt)ht1(1-z_t)*h_{t-1}는 이전 은닉 상태를 얼마나 잊을지를 정해주고, zth~t1z_t*\tilde h_{t-1}는 현재 상태를 얼마나 반영하는지 정해준다. 다음 스텝의 은닉 상태가 된다.
post-custom-banner

0개의 댓글