
DNN(심층신경망)
음성 인식/시각적 객체 인식과 같은 어려운 문제에서 좋은 성능 보이는 머신 러닝 모델
몇 단계 거치지 않고도 병렬 연산(동시에 많은 계산을 수행) 수행 가능
복잡한 계산을 학습함
한계 : 입력과 목표가 고정된 차원의 벡터로 인코딩될 수 있는 문제에만 적용가능한데, 대부분의 중요한 문제는 길이를 미리 알 수 없는 시퀀스로 표현하는 것이 가장 효과적
FIG 1
한 번에 한 타임스텝씩 입력 시퀀스(ABC)를 읽어 큰 고정 차원 벡터 표현을 얻은 다음, 다른 LSTM을 사용하여 해당 벡터에서 출력 시퀀스(WXYZ) 추출
두번째 LSTM은 입력 시퀀스에 따라 조건이 지정된다는 점을 제외하면 본질적으로 순환 신경망 언어 모델
EOS 출력 후 예측 중단함
LSTM이 장거리 시간 종속성이 있는 데이터 학습 가능한 이유: 입력과 해당 출력 사이에 상당한 시간 지연이 있기 때문에 자연스러운 선택이 됨.
주요 결과
💡 BLEU SCORE: 기계 번역 결과와 사람이 직접 번역한 결과가 얼마나 유사한지 비교하여 번역에 대한 성능을 측정하는 방법, 높을수록 성능이 더 좋음
LSTM은 훈련 및 테스트 세트에서 출력 문장이 아닌 입력 문장의 단어 순서를 뒤집음 —> 최적화 문제를 훨씬 단순하게 만드는 단기 종속성 도입함 -> SGD가 긴 문장에 문제 없는 LSTM 학습 가능 → 모델이 장기의존성 다루는 데 효과적
LSTM의 유용한 특성 : 길이의 변동이 심한 input 문장을 고정차원 벡터 표현으로 매핑하는 것을 학습함
번역은 의역할 수 있기에 LSTM이 의미를 포착하는 문장 표현을 찾도록 함
모델이 어순을 인식하고, 능동태/수동태에 꽤 변함없음을 보여줌
RNN(Recurrent Neural Network)
feedforward 신경망을 시퀀스로 자연스럽게 일반화한 것
입력 sequence(X1, …,.XT)가 주어지면, 표준 RNN은 다음 식을 반복하여 출력 sequence(y1,…,yT) 계산

입력과 출력 사이의 정렬을 미리 알고 있는 경우 RNN은 시퀀스에 쉽게 매핑 가능
입력과 출력 시퀀스의 길이가 서로 다르고, 복잡한 문제에 RNN 적용하는 방법은 명확하지 않음
일반적인 시퀀스 학습은 하나의 RNN을 사용하여 입력 시퀀스를 고정된 크기의 벡터에 매핑한 다음 다른 RNN을 사용하여 벡터를 목표 sequence에 매핑하는 것(선행연구)
작동은 가능하나 장기 의존성 때문에 RNN 훈련 어려울 것
LSTM은 장거리 시간 의존성 문제를 학습하므로 이 설정에서 성공 가능함
LSTM 계산

(x1, ..., xT)는 입력 시퀀스이고 y1, ..., yT'는 길이 T'가 T와 다를 수 있는 해당 출력 시퀀스
LSTM 모델을 사용하여 입력 시퀀스를 고정 차원 표현으로 변환하고, 이 표현을 초기 상태로 사용하여 LSTM-LM을 초기화함
그런 다음, LSTM-LM은 주어진 초기 상태에서 출력 시퀀스의 조건부 확률을 계산
이 방정식에서 각 p(yt|v, y1, . . . , yt−1) 분포는 모든 단어에 걸쳐 softmax로 표현됨
Graves의 LSTM 공식 사용함
EOS를 총해 문장이 끝났음을 알 수 있음
실제 모델과 설명의 차이점
입력 시퀀스와 출력 시퀀스에 사용한 LSTM이 다름 : LSTM 모델의 매개변수 수를 늘리고 여러 언어 쌍에 대한 훈련 데이터를 공유하여 성능 향상시키고자 함
심층 LSTM이 얕은 LSTM보다 더 뛰어나기에 4개 층 가진 LSTM 선택
입력 문장의 단어 순서 뒤집는 것이 매우 유용함 : 문장 a,b,c를 문장 α,β,γ에 매핑하는 것보다 단어 순서를 뒤집어서 c,b,a를 α,β,γ,에 매핑하면 a는 α에 가깝고, b는 β에 가깝기에 SGD가 입력과 출력 사이에 ‘소통’을 쉽게 설정할 수 있음 ("α, β, γ"는 각각 "a, b, c"의 번역된 결과)
SMT 시스템 사용하지 않고 입력 문장을 직접 번역 & SMT 기준선의 n-best 목록을 재점수화 하는 방법 두가지 방법으로 적용함
WMT’14 영어-프랑스어 데이터 세트 사용
일반적인 신경 언어 모델은 각 단어에 대한 벡터 표현에 의존하기에 두 언어 모두 고정된 어휘 사용
어휘에서 벗어난 모든 단어는 ‘UNK’ token으로 대체
훈련 목표

부분 가설은 일부 번역의 접두사이며, 소수의 부분 가설 B를 유지하는 간단한 left-to-right beam search decoder사용하여 가장 가능성 높은 번역 검색
각 시간 단계에서 빔(가설을 유지하는 크기)의 각 부분 가설을 어휘에서 모든 가능한 단어로 확장함
이는 가설의 수를 크게 증가하므로 모델의 로그 확률에 따라 가장 가능성 높은 B가설을 제외한 모든 가설 버림
EOS가 가설에 추가되자마자 beam에서 제거되어 완전한 가설 집합에 추가됨
=> 빔 서치 방법을 사용하여 다양한 부분 가설을 탐색하고, 모델의 로그 확률을 기반으로 최우수 가설을 선택하여 문장을 생성
source 문장만 반대로 바뀌었을 때 더 잘 학습함
LSTM 복잡성 감소/디코딩된 번역의 test BLEU는 증가
⇒ 완벽한 설명 x, 데이터셋에 단기 의존성이 많이 도입되어 발생한다고 생각
source 문장을 target 문장과 이으면 source 문장의 각각의 단어는 target 문장의 해당하는 단어와 거리가 멀어짐 ⇒ 최소 시간 지연 가짐
source 문장의 단어를 반대로 돌리면 source 언어와 target 언어에서 대응하는 단어들 사이의 평균 거리는 변하지 않음. 그러나 source 언어의 처음 몇 개의 단어는 target 언어의 처음 몇 개의 단어와 매우 가깝기에 문제인 최소 시간 지연이 크게 줄어듦. 따라서 역전파는 ‘의사소통 설정’ 시간이 더 쉬워지고, 이는 전반적인 성능을 향상시킴
reversed source 문장에 학습된 LSTM이 원래 source 문장에 대해 훈련된 LSTM보다 긴 문장에 대해 훨씬 더 나은 결과 나옴.
⇒ 이는 input 문장을 역전하면 메모리 활용도가 더 높은 LSTM이 생성됨을 보여줌
LSTM 모델은 훈련하기 쉬움
심층 LSTM이 얕은 LSTM을 크게 능가하는데, 이는 각 추가 계층이 훨씬 더 큰 숨겨진 상태로 인해 혼란을 거의 10% 감소시켰을 수 있음
각 출력에서 80,000단어 이상의 Naive softmax 사용함
결과적인 LSTM에는 380M의 parameter가 있으며, 그 중 64M은 순수 순환 연결(encoder, decoder 각각 32M)
input 어휘가 160,000개, output 어휘가 80,000개인 4개의 층과 1000차원 단어 임베딩이 있는 심층 LSTM을 사용함
단일 GPU는 속도가 너무 느려서(초당 1,700단어의 속도) 8-GPU 머신을 사용해 모델을 병렬화했음
LSTM의 각 계층은 서로 다른 GPU에서 실행되었으며, 계산되자마자 다음 GPU에 활성화 전달4개의 LSTM 층이 존재하고, 각 층은 별도의 GPU에 상주함. 남은 4개의 GPU는 소프트맥스를 병렬화하는데 사용되었으므로 각 GPU는 1000*20000 행렬을 곱하는 역할 함
⇒ 결과적으로 초당 6,300단어(영어와 프랑스어 모두)의 속도와 128개의 미니배치를 달성함
⇒ 훈련은 총 10일 정도 소요됨
번역의 품질 평가하기 위해 BLEU 점수 사용함
토큰화된 예측과 실측 결과에 대해 multi-bleu.pl1을 사용해 BLEU 점수 계산함
최상의 결과는 무작위 초기화와 미니 배치의 무작위 순서가 다른 LSTM 앙상블로 얻어짐
어휘 외 단어를 처리할 수 없음
LSTM은 기준 시스템의 1000-베스트 목록을 재작성함으로써 이전 최신 기술의 0.5 BLEU 포인트 이내에 존재
Fig3에서 보이는 것처럼 LSTM은 정량적으로 나타낸 긴 문장에서 좋은 결과 보임
단어의 sequence를 고정된 차원의 벡터로 바꾸는 능력이 이 모델에서 가장 매력적임
Fig2는 학습된 표현의 일부를 시각화한 것 ⇒ 표현이 단어의 순서에 민감한 반면, 능동적인 목소리를 수동적인 목소리로 대체하는 것에는 상당히 무감각하다는 것을 보여줌

이 연구에서 제한된 어휘를 가진 큰 심층 LSTM이 대규모 MT 작업에서 어휘가 무제한인 표준 SMT 기반 시스템보다 뛰어남을 보여줌
MT에 대한 간단한 LSTM 기반 접근 방식의 성공은 충분한 훈련 데이터가 있다면 다른 많은 시퀀스 학습 문제에서 잘 수행해야 함을 시사합니다.
source 문장의 단어를 뒤집어서 얻은 개선 정도는 학습 문제를 훨씬 단순하게 만들기 때문에 단기 의존성이 가장 많은 문제 인코딩을 찾는 것이 중요함
LSTM은 reversed dataset에서 매우 긴 문장을 정확히 번역 가능함
가장 중요한 것은 향후 작업을 통해 번역 정확도가 더욱 높아질 수 있다는 것
이러한 결과는 접근 방식이 까다로운 다른 sequence to sequence에서 성공할 가능성이 높다는 것을 의미함