"ELMo : Deep contextualized word representations" - Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer (2018)
Abstract
이전 임베딩 방식의 경우, 단어의 복잡한 특성, 언어적인 문맥을 고려하지 못하는 single context-independent representation 방식임.
→ 이러한 문제를 다루는 ELMo라는 문맥을 반영하는 단어 표현을 제시함.
전체 input 문장의 함수로 각 토큰을 배정하는 전통적인 방식과 달리 bi-LSTM으로 만들어진 벡터를 사용함. 따라서 ELMo는 깊고, biLM의 모든 내부적인 layer의 함수 방식을 사용함.
Related Work
- context-dependent representation
subword 단위로 쪼개는 방법이나 단어 의미별로 다른 벡터를 만드는 방식이 사용되었음. ELMo 역시 character convolution을 사용하여 subword 방법의 이점을 취함.
bi-LSTM을 사용한 context2Vec는 context-dependent representation 방식으로 pivot word에 대한 context 전체를 encode해서 벡터를 얻는 방식임.
CoVe나 저자의 이전 논문에서도 pivot word를 포함한 contextual representation을 얻는 방식을 진행하였으나 CoVe는 Machine Translation task를 통해 얻기 때문에 dataset size에서 한계가 있었음. Language Modeling을 사용하는 것이 따라서 훨씬 많은 텍스트를 학습할 수 있다는 장점을 가짐.
- Different layer has different information
이전 연구들에서는 deep biRNN의 각 layer마다 다른 정보를 encode할 수 있음을 보여준 연구가 있음.
→ deep LSTM의 가장 아래층 layer에서 syntacic supervision task를 학습시켜 dependency parsing 또는 CCG super tagging 같은 높은 레벨의 task의 성능을 향상시킴.
→ 또 Encoder-Decoder RNN model로 Machine Translation task를 학습시켰을 때. 2-layer LSTM Encoder의 첫 번째 layer에서 얻은 representation이 두 번째 layer에서 얻은 representation보다 POS tagging에 더 좋다는 것을 증명한 연구도 있었음.
→ ELMo도 여러 task에 잘 대응하기 위해 input sentence 전체를 통해 모든 layer의 representation을 얻어 활용함.
Model
- forward language model
N개 토큰의 sequence가 주어졌을 때 토큰 t_k의 확률은 이전 토큰들까지 고려한 조건부 확률로 계산함.
x_k은 context independent한 token representation으로 기존의 token embedding이나 chracter level의 CNN통해 만들고, 이는 L개의 layer을 가진 forward LSTM을 통과시킴.
h_k,j은 k번째 token이 j번째 layer에서 가진 hidden token으로 이 역시도 context dependent함.
제일 마지막 층 LSTM 이 t_k+1를 예측하는데 사용됨.
- backward language model
토큰 t_k의 확률은 k 이후의 토큰들을 고려한 조건부 확률로 계산함.
현재 토큰을 기준으로 이전 토큰을 예측하는 부분이며, forward language의 역방향으로 진행함.
- likelihood
forward와 backward 모델의 likelihood를 최대화하는 방향으로 학습함. 두 파라미터가 완전히 독립적이지 않고 가중치를 공유함.
- ELMo representation
forward hidden layer L개, backward hidden layer L개, x_k 1개로 총 2L+1개의 representation을 학습함.
s_j는 softmax-normalized weight로 값의 범위는 0~1 사이며, 합이 1임.
gamma는 전체 ELMo 벡터에 대해 스케일링을 해주는 파라미터임.
총 학습된 2L+1개의 representation을 가중합해 하나의 임베딩 벡터로 표현함.
Experiment
6개의 NLP task에서 ELMo를 사용한 결과 비교했을 때 모든 task에서 성능이 올라감을 확인함.
SQuAD, SNLI, SRL 데이터 셋에서 baseline과 마지막 layer에만 적용한 것, 기존 λ=1, 현재 λ=0.001을 비교했을 때 전반적으로 향상된 결과를 보여줬음.
input layer에만 적용을 했는데, 이를 output layer에도 적용하였을 때 성능이 향상됨을 확인할 수 있었음.
contextual representations를 잘 학습했다는 것을 확인함.
샘플링의 효율성도 증가함. 적은 데이터셋만으로도 ELMo를 적용한 모델은 좋은 성능을 도출함.
word 단위가 아닌 biLM으로부터 context 단위로 임베딩을 적용한 ELMo를 적용한 모델은 여러 가지 NLP task에서 큰 성능 향상을 보였음을 증명했고, biLM layer가 효율적으로 문법, 문맥적 정보를 효율적으로 인코딩함을 확인함.