본문 바로가기
데이터 사이언스/딥러닝

GRU 구조 쉽게 이해하기

by 끙정 2021. 5. 28.
728x90

안녕하세요, 끙정입니다.

 

지난번에는 LSTM의 구조를 찬찬히 뜯어보았습니다. 오늘은 LSTM의 구조를 조금 바꿔서 나온 GRU라는 모델을 살펴보도록 할 텐데요. 언제나 새로운 모델은 과거의 모델을 개선해서 나오듯, GRU 또한 LSTM에서 단점으로 제기되었던 부분을 개선하며 나왔습니다. 그러나 GRU가 LSTM보다 상위 호환인 모델은 아닙니다. 여전히 많은 연구자들과 실무자들은 LSTM과 GRU를 환경과 목적에 맞게 고루 사용하고 있습니다.

 

LSTM의 한계점.

GRU가 개선한 LSTM의 한계점은 너무 무거운 구조, 많은 학습 파라미터입니다. GRU는 LSTM에 준한 성능을 유지하면서 구조를 조금 더 가볍게 하여 학습 파라미터의 개수를 줄였습니다. 그러나 여전히 시퀀스가 긴 데이터 학습과 예측에 대해서는 LSTM이 더 높은 성능을 낸다고 알려져 있고, 시퀀스 길이가 너무 길지 않은 경우에는 GRU를 사용한다고 알려져 있습니다. 아래 그림을 보시겠습니다.

LSTM과 GRU 비교

 

왼쪽은 LSTM, 오른쪽은 GRU입니다. 딱 보기에도 모형도로나 수식으로나 많은 것이 줄어든 것이 보입니다. GRU는 LSTM이 가지고 있던 3개의 게이트를 2개의 게이트로 통합하였고, Cell State와 Hidden State를 하나의 Hidden State로 통합했습니다. 그 결과 학습 파라미터의 수를 줄여 상대적으로 가벼워졌습니다. 그러나 성능마저 가벼워지지는 않았습니다.

 

Gate Mechanism.

LSTM과 GRU 모두 Gate Mechanism을 사용하고 있습니다. Gate를 통과하면서 다음으로 전달되어야 하는 정보에 대해서는 문을 열어주고, 전달되지 않아야 하는 정보에 대해서는 문을 닫습니다. 이것을 Sigmoid 활성화 함수로 컨트롤합니다. Sigmoid 함수는 0~1의 값을 내뿜습니다. 0에 가까울수록 전달되는 정보량을 줄이고(문을 닫고), 1에 가까울수록 전달되는 정보량을 늘립니다(문을 열고).

 

Sigmoid Function

Input.

이점 시점의 셀에서 전달된 Hidden State인 h(t-1)과 새로운 Input 값인 x(t)가 합쳐져서 두 방향으로 나뉘어 전달됩니다. 하나는 게이트에 전달될 정보가 되고, 다른 하나는 LSTM의 Candidate State의 역할을 합니다.

 

GRU의 모형도와 수식

 

Reset Gate.

Reset Gate는 LSTM의 Output Gate와 비슷한 역할을 합니다. Candidate State인 h_hat(t)에 전달되는 Data에 어떤 정보를 지우고, 어떤 정보를 전달할지 결정합니다.

 

Reset Gate

 

Update Gate.

Update Gate는 LSTM의 Forget Gate의 역할과 Input Gate의 역할을 동시에 합니다. 다만 LSTM과 큰 차이점이 있는데, Update 되는 정보의 양에 제한이 있다는 점입니다. GRU의 Update Gate는 이전 시점의 셀에서 전달된 Hidden State인 h(t-1)과 Reset Gate를 지나온 Candidate State인 h_hat(t)에 동시에 전달되는데, 이때 한쪽에 x의 크기가 전달된다면, 반대쪽은 1-x 만큼 전달되게 됩니다. 즉, 정보를 지운만큼만 새로운 정보를 입력할 수 있고, 새로운 정보를 입력한 만큼만 정보를 지울 수 있습니다.

Update Gate: 좌측은 Forget Gate, 우측은 Input Gate 의 역할을 한다.

 

Candidate State.

Candidate State는 현재 셀에 입력된 정보 중에서 Output과 다음 셀로 전달할 중요한 후보 정보를 담고 있는 State입니다. Reset Gate를 거쳐 살아남은 정보들은 tanh함수를 거쳐 Update Gate까지 지나며 Hidden State인 h(t-1)과 합쳐지게 됩니다.

 

Hidden State.

LSTM의 Cell State의 역할을 동시에 하는 GRU의 Hidden State는 이전 셀에서 넘어온 정보를 그대로 담고 있습니다. 이러한 h(t-1)은 Update Gate를 통과하면서 의미 없는 데이터를 삭제하게 됩니다. 그리고 현재 셀의 중요한 정보를 담고 있는 Candidate State와 합쳐져 Output이 되고, 동시에 다음 시점의 셀로 정보를 전달합니다.

Hidden State

 

 

정리.

LSTM보다 구조가 상대적으로 간단해서 설명도 간략합니다.

1) Reset Gate는 Candidate State의 정보를 리셋한다.

2) Update Gate는 Hidden State와 Candidate State에 어떤 정보를 지우고, 어떤 정보를 전달할지 결정한다. 이때 지워지는 정보량과 전달되는 정보량은 [X, 1-X]이다.

3) Candidate State와 Hidden State가 합쳐져 Output과 다음 셀에 전달될 Hidden State가 된다.

 

728x90

'데이터 사이언스 > 딥러닝' 카테고리의 다른 글

LSTM 구조 쉽게 이해하기  (0) 2021.05.26
RNN에는 들어가는 Data Input Shape  (0) 2021.05.24
RNN 구조 쉽게 이해하기  (0) 2021.04.28

댓글