본문 바로가기
공부자료/Deep Learning

GRU

by mogazi 2022. 9. 26.

 

 

  •   GRU (Gated Recurrent Unit, 게이트 순환 신경망)

 

GRU 는 게이트 매커니즘이 적용된 RNN 프레임워크의 한 종류이면서 LSTM보다 구조가 간단하다.

 

 

GRU는 LSTM에서 사용하는 망각 게이트와 입력 게이트를 하나로 합친 것이며, 별도의 업데이트 게이트로 구성되어 있다.

하나의 게이트 컨트롤러(gate controller)가 망각 게이트와 입력 게이트를 모두 제어한다. 

 

 

게이트 컨트롤러가 1을 출력하면 망각 게이트는 열리고 입력 게이트는 닫히며, 반대로 0을 출력하면 망각 게이트는 닫히고 입력 게이트는 열린다. 

 

 

 

즉, 이전 기억이 저장될 때마다 단계별 입력은 삭제된다.

 

 

GRU는 출력 게이트가 없어 전체 상태 벡터가 매 단계마다 출력되며, 이전 상태의 어느 부분이 출력될지 제어하는 새로운 게이트 컨트롤러가 별도로 존재한다.

 

 

 

 

 

 

 

 

 

 

망각 게이트 (reset gate)

 

 

망각 게이트는 과거 정보를 적당히 초기화(reset)시키려는 목적으로 시그모이드 함수를 출력으로 이용하여 (0,1) 값을 이전 은닉층에 곱한다. 

 

이전 시점의 은닉층 값에 현시점의 정보에 대한 가중치를 곱한 것으로 수식은 다음과 같다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

업데이트 게이트 (update gate)

 

 

업데이트 게이트는 과거와 현재 정보의 최신화 비율을 결정하는 역할을 한다. 

 

시그모이드로 출력된 결과(zt)는 현시점의 정보량을 결정하고, 1에서 뺀 값(1-zt)은 직전 시점의 은닉층 정보와 곱한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

후보군 (Candidate)

 

 

현시점의 정보에 대한 후보군을 계산한다. 

과거 은닉층의 정보를 그대로 이용하지않고 망각게이트의 결과를 이용하여 후보군을 계산한다.

 

 

 

 

 

 

 

 

 

 

 

은닉층 계산 

 

 

마지막으로 업데이트 게이트 결과와 후보군 결과를 결합하여 현시점의 은닉층을 계산한다.

시그모이드 함수의 결과는 현시점에서 결과에 대한 정보량을 결정하고, 1-시그모이드 함수의 결과는 과거의 정보량을 결정한다. 

 

 

 

- GRU 내부 구조

 

'공부자료 > Deep Learning' 카테고리의 다른 글

성능 최적화  (0) 2022.09.26
양방향 RNN  (0) 2022.09.26
LSTM  (0) 2022.09.26
RNN구조 ★  (0) 2022.09.26
순환 신경망(RNN) ★  (0) 2022.09.26