LSTM이란 RNN의 장기 의존성 문제(long-term dependencies)를 해결하기 위해 고안된 모델이다.
LSTM은 이전 정보를 오랫동안 기억할 수 있는 메모리 셀을 가지고 있으며, 이를 통해 긴 시퀀스 데이터를 처리할 수 있다.

이전 상태에서 현재 상태까지 유지되는 정보의 흐름을 나타내면, 이를 통해 LSTM은 오래된 정보를 기억하고 새로운 정보를 적절하게 갱신할 수 있다.
Forget Gate(망각 게이트): 과거 정보를 얼마나 유지할 것인지
=
sigmoid 함수의 특성에 따라 값은 0~1, 값이 0이라면 셀 상태 정보는 0이되어 사라지고 1이 되면 그대로 전달 된다.
Input Gate(입력 게이트): 새로 입력된 정보는 얼마만큼 반영할 것인지
sigmoid 함수와 tanh 함수를 곱해서 셀 상태에 더하면 최종적으로 다음 단계를 위해 보내는 셀 상태 가 결정
Output Gate(출력 게이트): 두 정보를 계산하여 나온 출력 정보를 얼마만큼 넘겨줄 것인지
은닉 상태와 현재 입력에 대해 sigmoid 함수를 적용해 0~1 사이 값을 만든 후 출력하고자 하는 신호와 곱해 크기를 조절한 후 출력
✅ 해당 논문에서는 LSTM을 활용한 효율적인 Seq2Seq 기계 번역 아키텍처를 제안한다.
DNN(Deep Neural Network)는 까다로운 learning task에도 훌륭한 성능을 보이는 강력한 모델이다.
DNN은 큰 labeling train dataaset이 사용 가능할 때는 좋은 성능을 보이지만 sequence to sequence에 대해서는 사용할 수 없었다.
본 논문에서는 시퀀스 구조에 대한 최소한의 가정을 하는 일반적인 end-to-end 방식의 학습 방식을 제시한다.
⭐️ LSTM을 사용하여 입력 시퀀스를 고정 차원의 벡터로 매핑한 다음, 벡터에서 대상 시퀀스를 디코딩하기 위해 또 다른 심층 LSTM을 사용한다.
또한, LSTM은 단어의 순서에 민감하게 학습하였고, 모든 source sentence에 대하여 단어의 순서를 거꾸로 하였을 때 LSTM의 성능이 향상되었다. 그 이유는 단어의 순서를 거꾸로 함으로 만들어지는 많은 short term dependency는 source와 target sentence의 최적화 문제를 쉽게 만들었기 때문이다.
DNN은 음성인식 및 시각적 객체 인식과 같은 어려운 문제에서 우수한 성능을 발휘하는 매우 강력한 ML 모델이다.
<DNN이 강력한 이유>
- 적은 단계로 임의의 병렬 연산을 수행할 수 있기 때문
- 큰 DNNs는 labeled training set에 대하여 언제든지 오차 역전파를 이용하여 학습 할 수 있음
- parameter setting을 통하여 DNN은 좋은 결과를 달성 할 수 있게 되고, 지도학습의 오차역전파는 이러한 parameter를 찾아서 문제 해결 가능
⚠️ DNN 문제
많은 중요한 문제들이 사전에 길이를 알 수 없는 시퀀스로 표현되기 때문에 큰 문제
ex. 음성 인식, 기계 번역
또한, 질의 응답(Question answering) 역시 질문을 나타내는 단어 시퀀스를 답변을 나타내는 단어 시퀀스로 매핑하는 과정으로 볼 수 있어 시퀀스를 시퀀스로 매핑하는 범용적 학습 방식이 있다면 유용할 것이다.
Sequence는 입력과 출력의 차원이 고정되어 있어야 하는 DNN에게 도전적인 문제를 제기한다.
✔ 본 논문에서는 Long Short-Term Memory(LSTM) 아키텍처를 직관적으로 적용하여 일반적인 sequence-to-sequence 문제를 해결할 수 있음을 보인다.
🔍 기본 아이디어
하나의 LSTM을 사용하여 입력 시퀀스를 한 타임스텝씩 읽어 고정된 차원의 벡터 표현을 생성한 후, 또 다른 LSTM을 사용하여 해당 벡터에서 출력 시퀀스를 추출한다. 두 번째 LSTM은 기본적으로 입력 시퀀스에 의해 조건이 부여된 순환 신경망 언어 모델과 유사하다.

본 연구의 주요 결과는 다음과 같다.
- WMT'14 영어-프랑스어 번역 테스크
- 5개의 LSTM(각각 3억 8천만 개의 파라미터 보유) 앙상블을 사용하여 단순한 좌에서 우로의 beam-search 디코더를 통해 번역을 생성 -> BLEU 점수: 33.30
- LSTM이 80,000개의 단어로 이루어진 어휘를 사용 -> BLEU 점수: 34.81
- SMT 기준 모델이 제공하는 공개된 1000-best 리스트를 LSTM을 이용해 재평가 -> BLEU 점수: 36.5
LSTM은 매우 긴 문장에서도 성능이 저하되지 않았다. 저자는 긴 문장에서 좋은 성능을 유지하기 위해 원문(source sentence)의 단어 순서를 반전시키는 기법을 사용했으며, 이는 target sentence에서는 적용되지 않았다.
이를 통해, 단기 의존성을 다수 도입하여 최적화 문제를 단순화하였고, 확률적 경사 하강법(SGD)은 긴 문장에서도 문제없이 학습할 수 있는 LSTM을 효과적으로 학습할 수 있었다. 원문 단어 순서를 반전하는 단순한 기법은 본 연구의 핵심적인 기술적 기여 중 하나이다.
🔸 LSTM의 유용한 성질은 다양한 길이를 가지고 있는 input sentence를 고정된 차원의 vector 표현으로 mapping해 준다는 것이다.
순환 신경망(Recurrent Neural Network, RNN)은 피드 포워드 신경망을 시퀀스로 일반화한 자연스러운 확장 모델이다.
주어진 입력 시퀀스 에 대해, 표준 RNN은 다음과 같은 방정식을 반복적으로 수행하여 출력 시퀀스 를 계산한다.
RNN은 입력과 출력이 사전에 알려져 있는 경우, 쉽게 시퀀스를 시퀀스로 매핑할 수 있다. 그러나 입력과 출력 시퀀스의 길이가 일정한 규칙 없이 복잡하고 비단조적인 관계를 가지는 문제에 RNN을 적용하는 것은 명확하지 않다.
일반적인 시퀀스 학습을 위한 간단한 전략은 하나의 RNN을 사용하여 입력 시퀀스를 고정 크기의 벡터로 변환한 후, 다른 RNN을 사용하여 해당 벡터를 목표 시퀀스로 변환하는 것이다.
원칙적으로는 RNN이 모든 관련 정보를 제공받으므로 작동할 수 있지만, 이 접근법에서는 긴 시퀀스 의존성을 학습하는 것이 어려울 수 있다. 그러나 ✨장기 의존성을 학습할 수 있는 것으로 알려진 LSTM을 사용하면 이러한 문제를 해결✨할 수 있다.
🔍 LSTM의 목표
⭐ 조건부 확률 을 추정
- 는 입력 시퀀스, 는 대응하는 출력 시퀀스로 과 와 다르다
- LSTM은 입력 시퀀스 의 마지막 은닉 상태를 이용하여 고정 차원의 표현 를 얻고, 이를 초기 은닉 상태로 설정한 후, 표준 LSTM 언어 모델(LSTM-LM) 공식을 사용하여 의 확률을 계산
각 분포는 어휘 내 모든 단어에 대해 softmax로 표현된다.
각 문장이 특별한 문장 종료 기호 로 끝나도록 요구
-> 이는 가능한 모든 길이의 시퀀스에 대한 확률 분포를 정의할 수 있도록 한다.
전체 개요는 LSTM이 의 표현을 계산한 후 이를 사용하여 의 확률을 계산하는 방식을 보여줌
⭕실제 모델과 세 가지 중요한 점이 다름
- 우리는 입력 시퀀스를 위한 LSTM과 출력 시퀀스를 위한 LSTM을 각각 따로 사용
-> 모델의 매개변수 수가 증가하지만 계산 비용은 거의 증가하지 않으며, 여러 언어 쌍을 동시에 학습하는 것이 자연스러움- 깊은 LSTM이 얕은 LSTM보다 성능이 훨씬 우수함을 발견하여, 네 개의 층을 가진 LSTM을 선택하였음
- 입력 문장의 단어 순서를 역순으로 변환하는 것이 매우 유용하다는 점 발견
-> "a, b, c"를 "β, γ, δ"로 변환하는 대신, LSTM이 "c, b, a"를 "β, γ, δ"로 매핑하도록 하였다. ("β, γ, δ"는 "a, b, c"의 번역어) ➡"a"가 "β"와 가까워지고, "b"는 "γ"와 비교적 가까워지는 등, 확률적 경사 하강법(SGD)이 입력과 출력 간의 관계를 더 쉽게 학습할 수 있도록 돕는다. 이러한 단순한 데이터 변환이 LSTM의 성능을 크게 향상시킨다는 것을 발견
WMT'14 English to French Machine Translation Task로 본 논문에서 제안하는 모델을 실험했다.
우선 SMT의 사용 없이 직접적으로 input 문장을 번역하였으며 SMT baseline의 n-best에 대하여 실험을 진행했다.
WMT'14 영어-프랑스어 데이터셋을 사용하였다. 모델 학습에는 1,200만 개의 문장으로 구성된 서브셋을 사용하였으며, 이 데이터는 3억 4,800만 개의 프랑스어 단어와 3억 400만개의 영어 단어로 이루어진 정제된 subset이다.
저자는 번역 작업과 특정 학습 데이터 subset을 선택하였는데, 그 이유는 해당 데이터셋이 공개적으로 이용 가능하며, 토크나이즈된 학습 및 테스트 데이터셋뿐만 아니라 베이스라인 SMT 시스템의 1,000-best 리스트도 함께 제공되기 때문이다.
일반적인 신경망 기반 언어 모델은 각 단어의 벡터 표현에 의존하므로, 우리는 양쪽 언어 모두 고정된 어휘를 사용했다. 원문 언어에서는 가장 빈도가 높은 16만 개의 단어를, 번역 언어에서는 가장 빈도가 높은 8만 개의 단어를 선택했다. 어휘 목록에 포함되지 않은 단어들은 모두 특별한 "UNK" 토큰으로 대체했다.
저자의 실험 핵심은 많은 문장 쌍을 사용하여 대규모 심층 LSTM을 학습하는 것이었다. 우리는 원문 문장 가 주어졌을 때, 올바른 번역 의 로그 확률을 최대화하는 방식으로 학습을 진행하였다.
- 목적 함수
, 는 학습 데이터셋
- 우리는 LSTM이 제공하는 확률을 기반으로 가장 가능성이 높은 번역을 찾아서 생성한다.
LSTM을 사용하여 베이스라인 시스템이 생성한 1,000-best 리스트를 다시 점수화(rescoring)했다.
* -best 리스트를 다시 점수화하기 위해, LSTM을 사용하여 각 가설의 로그 확률을 계산한 후, 해당 점수와 LSTM을 동일한 가중치로 평균을 내어 최종 점수를 결정
✔ LSTM은 장기 의존성이 있는 문제를 해결할 수 있지만, 저자는 원문 문장을 역순으로 배치하면 LSTM의 학습 성능이 훨씬 향상된다는 사실을 발견하였다. (단, target 문장은 역순으로 변환하지 않음)
변환을 적용한 결과
- LSTM의 test perplexity: 5.8에서 4.7로 감소
- 디코딩된 번역의 테스트 BLEU 점수: 25.9에서 30.6으로 증가
이 현상에 대해 완전한 설명 제공할 수 없지만 저자들은 이 방법이 데이터셋에 많은 단기 의존성(short-term dependencies)을 추가하기 때문이라 판단했다.
원문 문장과 번역 문장을 연결하면, 원문 문장의 각 단어는 대응하는 번역 문장 내 단어와 상당히 멀어짐
-> 그 결과, "최소 시간 지연(minimal time lag)" 문제가 크게 발생
그러나 원문 문장의 단어 순서를 역순으로 변환하면, 원문과 번역 문장 간 대응하는 단어들의 평균적인 거리는 변하지 않는다.
-> 원문 문장의 첫 번째 몇 개 단어가 번역 문장의 첫 번째 몇 개 단어와 매우 가까워지므로, 문제의 최소 시간 지연이 크게 감소
따라서 역전파(backpropagation)를 수행할 때 원문과 번역 문장 간 의사소통이 더 쉽게 이루어지며, 결과적으로 전체적인 성능이 크게 향상된다.
✨역순 변환된 원문 문장으로 학습한 LSTM은 원래 문장으로 학습한 LSTM보다 긴 문장 번역에서 훨씬 더 뛰어난 성능을 보였다.
LSTM 모델은 비교적 쉽게 학습할 수 있음을 발견했다.
저자는 4개의 층을 가진 심층 LSTM을 사용하였고, 각 층에 1,000개의 셀을 배치하고, 1,000 차원의 단어 임베딩을 활용했다.
또한, 입력 어휘는 16만 개, 출력 어휘는 8만 개로 설정하였다. 우리는 심층 LSTM이 얕은 LSTM보다 성능이 훨씬 뒤어남을 확인했고, 각 층이 추가될 때마다 perplexity가 약 10%씩 감소했다.(심층 LSTM이 훨씬 더 큰 은닉 상태를 가지기 때문일 가능성)
우리는 출력 단계에서 8만 개의 단어에 대해 단순한 소프트맥스를 사용하였고 최종적으로 총 3억 8천만 개의 파라미터를 가지는 LSTM모델을 사용했다.

BLEU score를 사용하여 평가를 진행했다.


저자는 LSTM이 긴 문장에서도 우수한 성능을 보인다는 점을 발견하고 놀랐다. 이 결과는 그림 3에서 정량적으로 확인할 수 있다. 또한, 표 3에는 여러 개의 긴 문장과 그 번역 예시가 제시되어 있다.



우리의 모델의 매력적인 특징 중 하나는 단어 시퀀스를 고정된 차원의 벡터로 변환할 수 있는 능력이다. 그림 2는 학습된 표현들 중 일부를 시각적으로 보여준다.
해당 그림에서, 모델의 표현이 단어의 순서에는 민감하지만, 능동태와 수동태의 변환에는 비교적 둔감하다는 점이 명확히 드러난다.
또한, 이 그림에서 제시된 이차원 투영 결과는 PCA를 사용하여 얻어진 것이다.
본 연구에서, 저자는 제한된 어휘를 가진 대규모 심층 LSTM이 어휘 제한이 없는 표준 SMT 시스템보다 대규모 기계 번역 작업에서 더 뛰어난 성능을 발휘할 수 있음을 보여주었다. 간단한 LSTM 기반 접근 방식이 기계 번역에서 성공을 거둔 것은 충분한 학습 데이터가 제공된다면 이 모델이 다른 다양한 시퀀스 학습 문제에서도 좋은 성과를 낼 수 있음을 시사한다.
- 원문 문장의 단어 순서를 역순으로 변환했을 때 얻어진 성능 향상
- LSTM이 매우 긴 문장을 정확히 번역할 수 있는 능력
- 기계 번역 뿐만 아니라 다른 복잡한 sequence-to-sequence 문제에서도 좋은 성과를 거둘 가능성이 높음을 시사
글이 아주 깔끔하고 내용도 너무 유용하네요 ~!!