본문 바로가기

머신러닝공부

GRU(Gated Recurrent Unit) 게이트 순환 유닛 간단정리

728x90
반응형

GRU는 LSTM과 구조가 비슷하지만, 더 간단한 구조여서 계산상으로 이점이 있다.

GRU는 LSTM에서 사용되는 cell state가 없는 대신에 GRU 출력 H 값이 그 역할을 대신한다.

GRU 내부 구조 또한 Reset Gate, Update Gate 두 가지만 존재하며, 이때 사용되는 활성화 함수는 sigmoid 2번과 tanh 1번만 사용되기 때문에 LSTM에 비해 연산량을 줄일 수 있다.

LSTM구조의 cell state 역할 -> GRU 계층 출력 값 H 수행

LSTM구조의 활성화 함수 5개 -> GRU 구조의 활성화 함수 3개

 

Reset Gate Rt

Reset Gate는 과거의 정보를 얼마나 잊을지(또는 기억할지) 결정하는 게이트이다. 즉, 현 시점의 데이터 Xt와 과거의 은닉층 값 데이터 Ht-1에 각각의 가중치를 곱하여 더한 후에 sigmoid 함수를 적용하여 과거의 정보를 얼마나 리셋 시킬지에 대한 Rt(0~1)값을 출력하는 과정이다.

 

Update Gate Ut

Update Gate는 과거와 현재의 정보 가운데 어떤 정보를 더 많이 업데이트 할지를 결정하는 게이트이다.

출력값 Ut는 현시점에서의 가져가야 할 데이터양을 결정하는 값이며, 1-Ut는 잊어버려야 할 데이터 양이라고 생각하면 된다.

GRU Update Gate는 LSTM의 Input Gate와 Forget Gate를 합쳐놓은 상태이다.

 

Candidate(데이터 선정) Ht'

GRU에서 Candidate 단계는 다음 시점으로 전달해줄 데이터 Ht를 만들기 위해, 현재 시점이 데이터를 선정하는 단계이다.

데이터 선정단계에서의 핵심은 과거 GRU층의 출력 값 Ht-1과 리셋된 데이터 Rt값을 이용해서 pointwise 곱 연산을 함으로서, 현 시점의 데이터 Xt와 일정 부분 리셋된 과거 데이터를 가지고서 Ht' 데이터를 생성하는 것임

 

Output(출력값 계산) Ht

수식의 Ut부분은 현재 시점의 데이터 중 얼마나 가져갈 것인지를 나타내며, 1-Ut 부분은 얼마나 잊을지를 나타낸다.

즉 (1-Ut)*Ut' 수식은 이전 단계의 출력 값 Ht-1에서 얼마나 잊을지를 나타내며, Ut*Ht'은 현 시점의 데이터 가운데 얼마만큼 다음 단계로 가져갈 것을 계산하는 것이므로, 현재와 과거데이터를 학습된 비율로 모두 합한 것이, GRU층의 출력값 Ht이다.

반응형