딥러닝

[딥러닝] GRU 논문읽기

tannyrun 2025. 3. 30. 20:06

Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation

Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2014.

저자: Kyunghyun Cho, Bart van Merriënboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, Yoshua Bengio

논문링크: https://arxiv.org/pdf/1406.1078

 

[전체 흐름]

이 논문에서는 두 개의 RNN으로 구성된 새로운 RNN Encoder–Decoder 모델을 제안하며, 해당 모델은 입력 시퀀스를 고정된 벡터로 인코딩하고 이를 다시 시퀀스로 디코딩하는 방식으로 작동한다. 조건부 확률을 최대화하도록 학습되며, 기계번역에서 기존 모델에 추가하면 성능 향상에 도움이 되고, 언어적 표현도 잘 학습한다는 장점이 있다.

 

 

1. Introduction

기존의  통계 기계번역(SMT) 시스템에 새로운 RNN 기반 신경망 구조(RNN Encoder–Decoder)을 결합하여 사용하면 번역성능을 높일 수 있다. 이 구조는 입력 시퀀스를 고정 길이 벡터로 인코딩하고, 다시 이를 가변 길이 시퀀스로 디코딩하는 두 개의 RNN으로 구성되어 있으며, 조건부 확률을 최대화하도록 함께 학습된다. 또한, 학습 효율성과 메모리 용량 향상을 위해 정교한 형태의 은닉 유닛도 도입되었다.

영어를 프랑스어로 번역하는 작업에서 기존 SMT모델과 이 모델을 함께 사용한 결과, 기존 모델보다 언어적 규칙성과 의미/문법 구조를 더 잘 반영하며 번역 성능이 향상된 모습을 확인 할 수 있었다. 

 

 

2. RNN Encoder-Decoder

2.1 Preliminary: Recurrent Neural Networks

RNN모델의 은닉층 업데이트에는 시그모이드 함수가 이용되며, 자세한 작동방식은 RNN 게시글을 참고하자.(https://tannyrun.tistory.com/3)

 

RNN모델은 이전의 시점의 정보를 가지고 다음 시점을 예측하기 때문에 조건부 확률을 이용한다고 할 수 있다.  예측 시에는 주로 softmax함수가 이용되며, 이전 시점의 입력들이 주어졌을 때 t시점에서 특정 단어j 가 나타날 확률을 계산하는 계산식은 다음과 같다. 

특정 시점t에서의 계산

 

이러한 조건부 확률들을 곱하면 전체 시퀀스 x의 확률을 계산할 수 있고, 그 계산은 각 시점의 확률값들을 곱해서 구할 수 있다. 이렇게 각 시점마다 기호를 순차적으로 샘플링하여 새로운 시퀀스를 쉽게 생성할 수 있다.

 

2.2 RNN Encoder-Decoder

RNN Encoder-Decoder에서 입력된 가변 길이의 시퀀스를 고정 길이 벡터로 인코딩하고, 다시 이를 가변 길이 시퀀스로 디코딩한다는게 무슨 말인지 아래를 보면 이해할 수 있을것이다.

 

◆ "I love you"와 "I really love you"는 단어 수가 다르지만(가변 길이의 시퀀스) 인코더는 각각을 고정된 크기의 벡터로 요약하여 문장을 압축한다. 디코더는 이 벡터를 받아, 상황에 맞게 다시 "I love you" 또는 "I really love you"처럼 원래 문장 길이에 맞게 단어를 하나씩 생성하여 원래  문장처럼 자연스럽게 복원한다. (다시 가변 길이 시퀀스로 디코딩) 참고로 이때 인코딩 값(입력값)과 디코딩 값(출력값)은 다를 수 있다.

RNN Encoder-Decoder 계산과정

 

기존의 RNN과 RNN Encoder-Decoder의 큰 차이점은 요약벡터(c)의 유무이다. 기존의 RNN의 경우 이전 벡터들로 바로 예측을 진행하기 때문에 입력=출력의 시퀀스에 적합한 반면, RNN Encoder-Decoder의 경우 전체 요약된 내용과 이전 벡터(출력값)를 모두 반영하기 때문에 좀 더 자연스러운 번역, 넓은 문맥을 고려한 예측을 할 수 있다.

이 구조는 조건부 로그 우도를 최대화하는 방향으로 학습된다. (입력이 이거일때 출력값이 정확할 확률 최대화) 

이때 계산된 조건부 확률 자체 P(y|x)가 입력-출력 시퀀스 쌍에 대한 점수(score)가 된다.

 

 

2.3 Hidden Unit that Adaptively Remembers and Forgets

GRU 구조

 

GRU기반 RNN Encoder-Decoder은 시퀀스의 각 시점마다 이전 은닉 상태 h(t−1)와 현재 입력 x(t)를 사용해 새로운 은닉 상태 h(t)를 계산하는 순환 구조다. reset gate는 이전 정보를 얼마나 반영할지 결정하며, Update gate는 이전 상태를 유지할지 새 상태로 바꿀지를 조절한다. 최종 은닉 상태는 이전 상태와 새로 계산된 후보 상태 의 가중 평균으로 이루어지며, 이 과정을 반복하며 시퀀스 전체를 처리한다.

LSTM은 셀 상태와 3개의 게이트(입력, 망각, 출력)를 통해 정교하게 기억을 제어하는 구조지만, 계산이 복잡하고 느릴 수 있다. 반면 GRU는 셀 상태 없이 2개의 게이트(업데이트, 리셋)만으로 기억 유지와 갱신을 통합하고 단순화한 구조로 빠르게 작동한다.

특히 GRU는 이전 상태와 새 후보 상태의 가중 평균으로 은닉 상태를 계산하는 것이 LSTM과의 핵심적인 차이점이다. 이 덕분에 계산이 간단하고 빠르지만, 여전히 장기 의존성도 잘 처리할 수 있다.

 

 

 

3 Statistical Machine Translation

일반적으로 사용되는 통계적 기계번역(SMT) 시스템에서, 시스템(Decoder)의 목적은 주어진 소스 문장 에 대해 가장 높은 확률의 번역 f를 찾는 것이다. 모델은 이 확률 최대화하는 번역을 생성하며, 번역모델과 언어모델의 곱으로 근사하여 계산한다.

 

 

하지만 실제로 대부분의 통계적 기계번역(SMT) 시스템은 log⁡P(f∣e)를 추가적인 특징(feature)과 가중치(weight)를 포함하는 로그 선형 모델(log-linear model)로 표현한다.

로그선형모델

 

이때 특징 함수는 번역 모델, 언어 모델, 문장 길이, 구문 일치도 등 다양할 수 있고, 각 특징에 대한 가중치는 BLEU 점수를 최대화하도록 학습된다. 정규화 항 log⁡Z(e)는 확률값을 정규화하기 위한 상수이며 학습에는 영향을 주지 않는다.

 

 

3.1 Scoring Phrase Pairs with RNN Encoder–Decoder

RNN Encoder–Decoder를 학습할 때는 Phrase Pairs의 빈도수는 무시한다. 
그 이유는 1) 빈도 기반 샘플링은 계산량이 크고 2) 단순히 자주 등장하는 구만 높은 점수를 주는 편향된 모델이 될 위험이 있기 때문이다. 또한, 번역 확률이 이미 빈도를 반영하고 있기 때문에, RNN은 그보다 더 중요한 의미기반의 학습에 노력할 필요가 있었다. (ex) 언어적 규칙성이나 자연스러운 번역의 패턴 학습

RNN Encoder–Decoder 모델은 별다른 구조 변경 없이 기존 SMT 시스템에 자연스럽게 통합되었으며, 학습 결과는 기존 phrase table에 추가적인 점수를 제공하는 방식으로 활용되었다.

 

 

3.2 Related Approaches: Neural Networks in Machine Translation

이 챕터에서는 3.1에서 소개한 특징을 좀 더 구체적으로 기존 SMT 모델과 비교하여 설명한다. (사실 3.1과 거의 동일)

1) 가변 길이 시퀀스 처리 가능

기존방식 피드포워드 NN은 입출력 길이를 고정해야 해서 긴 문장이나 복잡한 문맥을 표현 불가능했으나 RNN Encoder-Decoder는 길이에 제한 없이 문장을 인코딩/디코딩 할 수 있어 더 유연하다.

2) 시퀀스 구조와 순서 정보 반영

기존의 빈도기반(bag of words)기반 모델은 단어 순서를 무시하였으나, RNN은 시컨스를 순차적으로 처리하므로 문맥 흐름, 문법 구조를 자연스럽게 반영할 수 있다. 

3) 문장 전체의 의미를 벡터로 요약하고 생성 가능

인코더는 문장 전체를 고정 길이 벡터로 압축하고, 디코더는 이 벡터로부터 문장을 재구성하기 때문에, 유사한 의미의 문장은 유사한 벡터로 표현되어 의미 기반의 번역이 가능하다.

4) 복잡한 언어 규칙이나 번역 패턴을 자동으로 학습

단순 빈도 기반 SMT와 달리, RNN은 은닉 상태를 통해 장기 의존성, 구문적 패턴 등을 학습할 수 있다.

5) 기존 SMT 시스템과 통합 가능

phrase table에 보조 점수로 추가하는 식으로, 기존 시스템 구조를 크게 바꾸지 않고도 성능 향상을 기대할 수 있다.

 

 

 

 

4. Experiments

< WMT’14 workshop의 영어–프랑스어 번역과제 평가 >

이 실험은 WMT’14 기계번역 워크숍에서 제공한 영어 프랑스어 번역 과제를 기반으로 진행되었다.

 

 

4.1 Data and Baseline System

사용된 데이터는 Europarl, UN 회의록, 뉴스 기사, 크롤링 데이터 등 대규모 병렬 말뭉치로 구성되었으며, 전체 데이터를 모두 사용하지 않고, Moore & Lewis (2010) 방식에 따라 관련도 높은 문장들만 선택하였다. 결론적으로 영어와 프랑스어 각각에서 상위 15,000개 단어만 어휘로 사용하여 모델을 학습하였고, 이 방식으로도 전체 데이터의 98%를 커버할 수 있었다.

RNN Encoder–Decoder 모델은 영어 구(phrase)를 입력으로 받아 프랑스어 구를 출력하는 방식으로 학습되었다. 목표는 각 구 쌍의 조건부 확률 p(y∣x)를 최대화하는 것이며, 기존 phrase table에 새로운 점수로 이 값을 추가해 재점수(rescoring)하는 방식으로 모델을 활용했다. 

 

 

4.1.1 RNN Encoder–Decoder

이번 실험에 사용된 RNN Encoder–Decoder 모델은 인코더와 디코더에 각각 1000개의 은닉 유닛을 사용했다. 단어 임베딩은 100차원으로 설정하고, 임베딩 행렬은 rank-100 저차원 행렬로 근사하여 계산 효율을 높였다. 디코더의 출력층은 1층 신경망으로 구성하였고, 500개의 maxout 유닛이 입력 두 개를 받아 중요한 값을 선택하도록 했다. 모든 가중치는 평균 0, 표준편차 0.01인 가우시안 분포에서 초기화했고, 순환 가중치는 SVD 방식으로 안정적으로 초기화했다. 학습에는 Adadelta와 SGD를 함께 사용했으며, 매번 phrase pair 64개씩 무작위로 샘플링해 약 3일간 학습을 진행했다. 아래는 BLEU 점수를 기준으로 비교한 성능 결과이다.

dev=성능 검정 데이터셋

BLEU 점수를 보면, RNN Encoder–Decoder를 기존 SMT에 추가한 것만으로도 성능이 향상되었으며, 기존 신경망 언어 모델(CSLM)과 결합했을 때 가장 높은 점수를 기록했다. WP(word penalty)는 unknown 단어 수에 페널티를 주는 방식이며, 약간의 추가 성능 개선에 기여했다.

 

 

4.1.2 Neural Language Model

RNN의 효과를 평가하기 위해 기존 신경망 언어 모델인 CSLM도 함께 실험에 사용했다. CSLM은 7-gram 데이터를 기반으로 학습되었으며, 단어를 임베딩한 후 두 개의 은닉층과 softmax 층을 거쳐 다음 단어를 예측했다.

두 모델 score 비교

이 그래프는 구 쌍(phrase pair)에 대해 RNN Encoder–Decoder와 기존 번역 모델(SMT)이 준 점수를 비교한 그래프이고, RNN이 준 점수는 가로축(RNN Scores), 번역 모델이 준 점수는 세로축(TM Scores)에 표시했다.

각 점은 하나의 구 쌍을 나타낸다.

 그래프를 보면 오른쪽 위에 점들이 몰려 있는 것을 확인할 수 있는데, 이는 두 모델이 모두 높은 점수를 부여한 것으로 좋은 번역이라고 할 수 있다. 반면 오른쪽 아래 혹은 왼쪽 위 쪽 점들로 보아, 두 모델이 서로 다른 관점으로 번역 품질을 평가한다는 것을 알 수 있다. 따라서 두 모델을 함께 사용하면, 서로의 약점을 보완해 더 나은 번역 결과를 낼 수 있다고 볼 수 있다.

 

 

4.2 Quantitative Analysis

RNN Encoder–Decoder와 기존 번역 모델이 동일한 영어 구절을 어떻게 번역하는지 비교해본 결과, RNN은 더 간결하고 문법적으로 자연스러운 표현을 선택하는 경향을 보였다. 특히 문장이 길거나 구조가 복잡한 경우 기존 모델은 번역이 반복되거나 어색한 표현을 생성한 반면, RNN은 더 유창하고 간결한 번역을 수행했다.

실험 결과 RNN의 점수를 기존 시스템에 추가했을 때 BLEU 점수가 꾸준히 향상되었으며, 그중에서도 RNN과 CSLM을 함께 활용했을 때 가장 좋은 성능을 보였다. 이 결과는 두 모델이 서로 다른 정보를 학습하며, 이를 결합했을 때 시너지가 발생한다는 점을 보여준다. 또한 RNN은 훈련 데이터에서 자주 등장하는 표현에만 의존하지 않고, 문장의 구조와 의미를 바탕으로 구절을 평가했기 때문에 희귀하거나 복잡한 구문에서도 더 우수한 번역 결과를 도출할 수 있었다.

 

 

4.3 Qualitative Analysis

 

이 그래프들은 RNN이 단어/문장의 의미를 잘 이해하고 비슷한 것끼리 묶는 등, 스스로 구조화할 수 있는 능력을 가졌는지를 시각적으로 보여준다.

1) 왼쪽 그래프

이 그래프는 수많은 단어들이 2차원 공간 상에 배치된 모습을 보여준다. 여기서 각 단어는 RNN이 학습한 ‘의미 벡터’로 표현되고, 서로 의미가 비슷한 단어일수록 가까운 위치에 모이게 된다. 예를들어  “English”, “French”, “German”, “Russian” 같은 언어들이 비슷한 위치에 모여 있음을 확인할 수 있다.

2) 오른쪽 그래프

오른쪽 그래프는 왼쪽 그래프에서 국가 및 지리 관련 단어들을 확대해 보여주는 부분이다. “France, China, Russia, Germany” 등의 국가 이름이 한 덩어리로 모여 있음을 확인할 수 있고, “North, South, British, European” 같은 지역/지시어들도 가까운 위치에 분포함을 확인할 수 있다.

 

문장으로 유사한 것끼리 분류한 모습

 

 

 

4.4 Word and Phrase Representations

위 실험에서 확인할 수 있듯이 RNN Encoder–Decoder는 번역뿐 아니라, 단어·구절의 의미적 유사성과 문법적 구조를 모두 잘 학습하고 이를 의미 기반 공간에 에 효과적으로 표현할 수 있다.

즉, RNN Encoder–Decoder는 단순한 번역 모델이 아니라 언어를 이해하고 구조화하는 강력한 표현 학습 모델이라 할 수 있다.

 

 

 

5. Conclusion

본 논문에서는 임의 길이의 시퀀스를 다른 시퀀스로 변환할 수 있는 RNN Encoder–Decoder 아키텍처를 제안했다. 이 모델은 입력 시퀀스를 고정 길이의 벡터로 인코딩하고, 이를 다시 디코딩해 목표 시퀀스를 생성하거나 조건부 확률로 시퀀스 쌍을 평가할 수 있는 구조를 갖추고 있다. 또한 내부 구조로는 reset gate와 update gate를 사용하는 새로운 유형의 은닉 유닛을 설계하여(GRU) 각 시점에서 기억할 정보와 잊을 정보를 유연하게 조절할 수 있게 했다.

모델 성능은 영어-프랑스어 통계적 기계번역(SMT) 태스크에서 평가되었으며, RNN Encoder–Decoder를 통해 phrase pair에 점수를 부여한 결과, BLEU 점수가 향상되었다. 특히 기존의 신경망 언어모델(CSLM)과 함께 사용할 경우 상호 보완적인 효과를 내어 더욱 좋은 성능을 보였다. 정성 분석 결과, 해당 모델은 단어 수준뿐 아니라 구절 수준에서도 의미적·문법적 규칙성을 효과적으로 포착했으며, 이를 통해 RNN Encoder–Decoder가 단순한 점수 계산을 넘어 언어를 이해하고 구조화하는 데에도 뛰어난 능력을 지녔음을 확인할 수 있었다.

향후 연구로는 phrase table의 일부 혹은 전체를 RNN이 직접 생성한 번역 후보로 대체하는 방향, 또는 이 아키텍처를 음성 인식이나 다른 자연어 처리 응용에 확장 적용하는 방안이 제시되었다.