728x90
반응형

키워드

1. LSTM의 간소화된 버전으로, 기억 장치와 업데이트 메커니즘을 통합하여 GRU 셀 제안.

2. "Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation"

3. GRU, reset gate, update gate

RNN

  Recurrent Neural Network(RNN)는 자연어 처리(NLP)에 있어 다양한 분야에서 활용이 가능하며, Paraphrase detection, word embedding extraction, statistical machine translation (SMT) 등이 있다. RNN의 핵심은 hidden state h 이며, 가변 길이 시퀀스를 입력으로 받아 계산된다. 이에 따른 𝐡⟨𝑡⟩ 는 다음과 같이 업데이트된다. 여기서 𝑓 는 non-linear activation 함수다.

  RNN은 이를 토대로 아래와 같이 훈련되어 시퀀스에 대한 확률 분포를 학습한다. 이를 통해, 각 time step에서 출력 𝑡 는 조건부 확률 분포를 띄고 있으며, 소프트맥스를 사용하여 출력을 구한다. 𝐰𝑗 는 가중치 매트릭스 𝐖의 각 행을 의미한다.

GRU (Hidden unit that adaptively remembers and forgets)

  우선 Gated Recurrent Unit(GRU)가 처음 제안된 논문에서는 새로운 아키텍처라는 언급만 있고 GRU라는 용어를 직접적으로 사용하진 않았다. 혹시 논문을 참고하실 분은 참고바란다.

(좌) Original paper (우) 정리된 구조

  Reset gate 𝑟𝑗, Update gate 𝑧𝑗,  hidden state h𝑗 는 아래와 같이 계산된다. 𝜎 는 로지스틱 시그모이드 함수, [.]𝑗 는 𝑗 번째 요소의 벡터, 𝐱는 입력, 𝐡𝑡−1 는 직전 hidden state, 𝐖과 𝐔 는 게이트 별 가중치를 의미한다. Activation 함수는 tanh가 활용된다.

  Hidden state의 수식을 참고할때, reset gate가 0에 가까우면 이전 은닉 상태를 무시하고 현재 입력으로 재설정하도록 강제하는 것을 알 수 있다. 이를 통해 hidden state의 모든 정보를 효과적으로 삭제할 수 있다. 그리고 업데이트 게이트는 이전의 hidden state를 현재의 hidden state로 얼만큼 유지할지 조절할 수 있다. 이는 LSTM의 메모리 셀과 유사하며 RNN이 long-term 정보를 기억하는 데 도움이 된다. 이를 통해 각 hidden unit은 서로 다른 시간 척도에 대한 dependency를 학습한다. Reset gate는 short-term 정보를 capture하는 경우에 활성화 되는 경향이 있으며, 반대로 Update gate는 long-term 정보를 capture하는 경우에 주로 활성화되는 경향을 보인다.

728x90

RNN Encoder-Decoder

  SMT를 위해 GRU를 활용한 아키텍처다. 논문 자체의 중점은 GRU보단 논문 제목처럼 새로운 구조에 중점이 맞춰져 있다. 다만 결과가 현재 중요한 내용은 아니므로 부록처럼 간단히 훑고 넘어가고자 한다.

  RNN encoder-decoder는 두 개의 순환 신경망(RNN)으로 구성되며, 주어진 target 시퀀스의 조건부 확률을 최대화하는 방향으로 동시에 훈련된다. 특징 중 하나는 입력 및 출력 시퀀스 길이 𝑇 그리고 𝑇′ 가 서로 다를 수 있다는 점이다.

  첫 번째 RNN 구조는 encoder로 동작하여, 가변 길이 시퀀스를 고정 길이 벡터로 인코딩하는 방법을 학습한다. 입력 시퀀스 x를 순차적으로 읽으며, 각 step마다 RNN의 hidden state가 변경되고, 최종 hidden state 𝐜 는 전체 입력 시퀀스 요약이 된다.

  두 번째 RNN 구조는 decoder로 동작하여, 주어진 고정 길이 벡터 표현을 디코딩한다. 이를 통해 다시 가변 길이 시퀀스로 돌아가게된다. 일반적인 RNN과 다르게, decoder의 hidden state 𝐡⟨𝑡⟩ 는 𝐡⟨𝑡-1⟩, 𝑦𝑡−1 와 함께 요약 𝐜 도 함께 연산에 사용한다. 아래는 이를 업데이트하는 수식이다.

Refernece

논문 링크 : [1406.1078] Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (arxiv.org)

728x90
반응형

'딥러닝 > RNN, LLM' 카테고리의 다른 글

[RNN] Pointer Networks  (0) 2024.11.15
[RNN] Attention Mechanism  (2) 2024.11.14
[RNN] Seq2Seq  (0) 2024.11.13
[RNN] LSTM  (2) 2024.11.11
[RNN] RNN 발전 과정  (0) 2024.11.10

+ Recent posts