Sequential Data Prediction (순서나 시간에 따라 변화하는 데이터) 는 머신러닝/인공지능 분야에서 매우 중요한 문제였으며, 이전 통계 베이스 언어모델 목표는 결국 문맥을 고려하여 다음 단어를 예측하는 것이다.
대표적으로 N-gram 모델(연속된 N개의 단어(또는 문자)로 이루어진 시퀀스를 분석하여 다음 단어(또는 문자)를 예측하는 모델) 이 있음 (문맥 고려하여 다음 단어 예측하는 통계 베이스 모델)
더 성능을 높이기 위해 다양한 방법들이 고안되었지만 cache models 와 class-based models 과 성능 차이가 별로 없었음
그 성능 높인 방법들은 이전의 모델들보다 조금 개선되었을 뿐이고, 실생활에서 사용된 사례는 별로 없었다.

input layer : x
hidden layer: s
output layer: y (위 식과는 상관 없음 아래에 나옴)
vector w : 현재 시점 t 의 단어 (즉, 시간 t 일때 입력된 새 단어)
s(t-1) : t 시점 직전까지의 은닉층(hidden state) 까지 학습된 문맥 정보
즉, x(t) → 현재 시점 t 때 입력하는 새 벡터는 현재 시점 t 때 입력한 새 단어와 이전 상태까지 은닉층에 학습된 문맥 정보인 s(t-1) 을 합친 것.

(모든 입력뉴런 i 에 대한 합)

많은 데이터를 학습할수록, 많은 은닉층 필요함
가중치는 아주 작은 값부터 시작하며, 학습률은 처음에 0.1 로 설정했음.
SDG(Stochastic Gradient Descent) 사용해서 매 epoch 마다 검증 데이터로 비교해보면서 학습을 계속하고, 학습 결과가 이전과 차이 없으면 학습률을 반으로 줄이며 학습률 줄여가며 학습을 마침. 실혐 결과 10-20 epoch 에서 학습을 완료하였다.
논문의 실험에서 많은 양의 hidden layer 을 사용하였는데 과도한 학습이 이루어지지는 않았으며정규화 과정은 학습에 큰 영향을 끼치지는 않았다.
각 학습단계의 오차는 cross entropy (교차 엔트로피) 에 따라 계산되며 가중치는 역전파 알고리즘에 의해 업데이트가 된다.
모델의 성능을 더 높이기 위해 training set 에서 특정 단어 빈도수가 일정 수준 넘지 못하는 단어들 (즉, 잘 등장 안하는 단어들) 을 따로 빼서 “rare token” 으로 분리함.
이때 현재 주어진 단어 w(t) 와 바로 이전 단계에서의 은닉층의 정보 s(t-1) 이 주어졌을 때 다음 시점의 단어 w(t+1) 이 나올 확률은 다음과 같다.

t+1 시점의 단어가 가끔 등장하는 단어가 아닐때는 앞에 설명한 y(t) (출력벡터 확률) 대로 내보내고 rare token 인 경우에는 Crare (희귀 단어 집합 크기) 만큼을 yrare(t) 희귀 단어에 카테고리에 대한 softmax 확률값을 나눈다.
rare token 에 대해 이렇게 처리하는 이유는 희귀 단어가 너무 많으면 학습에 방해되기 때문에 희귀단어 그룹을 만들어 잘 나오지 않는 단어 뭉탱이 자체가 나올 확률을 곱하는 것 (1/Crare)
이렇게 나눠 계산하니까 성능이 더 올라감
성능의 우수함 확인을 위해 음성인식 태스크들을 선택함
성능 향상을 위해 여러 아카텍처를 가진 RNN 모델의 출력을 선형 보간(Linear Interpolation) 함
즉, 서로 다른 RNN 언어 모델 출력을 가중치를 곱하여 결합시킴. 또한, 다양성 증가시키기 위해 가중치 초기화를 무작위로 해서 모델 출력값을 다양하게 만들었다.
→ 결과는 단어 수가 많아질수록 모델 성능이 좋아짐
→ 그래프에서 WER 지표(단어 오류율)가 낮아지는게 중요한데, KN5-baseline 모델에 비해 RNN 모델은 단어 오류율이 확실히 낮다.
WSJ 실험 결과의 baseline 모델은 SOTA 달성 모델과 비교한게 아니기 때문에 SOTA 에서 의미 있는 개선을 얻을 수 있다는 걸 입증하기 위해 NIST RT05 평가 데이터 집합을 사용함(음성 인식(ASR) 시스템의 성능을 평가하는 국제적인 벤치마크라고 함)
역시 WER 가 다른 모델보다 낮았음
실험 결과에서 나왔듯, RNN 은 모든 실험에서 기존 SOTA 모델이었던 backoff model 을 능가함.
단순히 특정 단어 뭉치 통해서 다음 단어 예측하는 것과 다르며, 데이터만 추가시킨다고 단어 예측력이 좋아지는게 아니라는 걸 알 수 있음.
RNN 학습시 역전파 알고리즘에 대해 더 조사를 해봐야 할것으로 보임. (성능 향상에 도움될 것이다)
Online 학습이 매우 중요함
그러나 RNN 은 아주 긴 문맥 정보는 잡지 못한다.