ELMo 논문 리뷰
https://arxiv.org/abs/1802.05365
논문명: Deep Contextualized Word Representations
저자: Matthew E. Peters et al. (2018)
1. Introduction
ELMo(Embeddings from Language Models)는 단어를 고정된 하나의 벡터로 표현하던 기존 Word2Vec, GloVe의 한계를 극복하기 위해 제안된 문맥 기반(Contextualized) 단어 임베딩 모델이다. 기존 임베딩은 하나의 단어가 항상 동일한 벡터를 가지므로 다의어(polysemy)를 충분히 반영하지 못했다. 예를 들어 bank는 “은행”과 “강둑”이라는 서로 다른 의미를 가지지만, 기존 임베딩은 이를 하나의 벡터로만 표현했다. ELMo는 이러한 문제를 해결하기 위해 문장 전체 문맥에 따라 단어 표현이 동적으로 달라지는 임베딩을 제안한다.
핵심 아이디어는 대규모 비지도 텍스트로 학습한 양방향 언어모델(Bidirectional Language Model, biLM) 의 내부 hidden state를 활용해 단어 임베딩을 생성하는 것이다. 즉, 단어 표현이 단순 lookup embedding이 아니라 문맥에 따라 달라지는 함수가 된다.
2.
ELMo는 단어 tk를 표현할 때 단순히 embedding matrix에서 고정 벡터를 lookup하는 방식이 아니라, 양방향 언어모델(biLM)의 각 층 표현을 조합해 문맥적 표현을 생성한다.
여기서 hk,jLM는 biLM의 j번째 층 hidden representation이며,
sjtask는 각 층의 중요도를 나타내는 학습 가능한 가중치,
γtask는 전체 표현의 크기를 조정하는 scaling parameter이다.
이 식의 핵심은 downstream task마다 필요한 언어 정보를 서로 다른 층에서 선택적으로 가져갈 수 있다는 점이다.
즉, 모든 task가 동일한 representation을 사용하는 것이 아니라, task별로 필요한 층 정보를 다르게 조합해 사용할 수 있다.
논문에서는 이를 실험적으로 검증했는데, 하위 층(lower layer)은 POS tagging과 같은 구문 정보(syntactic information)를 더 잘 포착하고, 상위 층(upper layer)은 WSD (Word Sense Disambiguation)와 같은 의미 정보(semantic information)를 더 잘 반영하는 것으로 나타났다.
즉, ELMo는 단순히 “문맥을 반영한 임베딩 (contextual embedding)”이 아니라, 문법적 정보와 의미적 정보를 계층적으로 담아내는 deep contextualized word representation이라고 볼 수 있다.
3. 모델 구조
ELMo는 크게 두 단계로 구성된다.
- Pretraining
대규모 말뭉치(1 Billion Word Benchmark)에서 2-layer BiLSTM 기반 biLM을 학습한다. 이때 입력은 character CNN을 사용하여 subword 정보까지 반영한다. 따라서 OOV(out-of-vocabulary) 문제에 강하다. - Task-specific Transfer
사전학습된 biLM은 고정(freeze)한 채, downstream task 모델 입력에 ELMo 벡터를 concatenation하여 사용한다. 별도의 대규모 fine-tuning 없이도 다양한 NLP task에 쉽게 삽입 가능하다.
이 구조는 이후 등장하는 BERT처럼 전체 모델을 fine-tuning하는 방식과 달리, feature-based transfer learning의 대표적인 형태로 볼 수 있다.
4. 실험 결과 및 성능
논문은 ELMo를 SQuAD, SNLI, SRL, Coreference Resolution, NER, SST-5의 6개 NLP task에 적용해 모두 성능 향상을 보였다. 특히 단순히 ELMo를 추가하는 것만으로 기존 SOTA를 일관되게 갱신했다.
대표적으로,
- SQuAD: 81.1 → 85.8 (F1 +4.7)
- SRL: 81.4 → 84.6 (F1 +3.2)
- Coreference: 67.2 → 70.4 (F1 +3.2)
- NER: 90.15 → 92.22 (F1 +2.07)
이는 ELMo가 특정 task에 특화된 구조가 아니라, 범용적인 언어 표현 학습 방식임을 보여준다. 또한 적은 데이터 환경에서도 높은 sample efficiency를 보여, 적은 labeled data만으로도 baseline보다 빠르게 성능을 끌어올렸다.
5. 의의와 한계
ELMo의 가장 큰 의의는 NLP 패러다임을 static embedding → contextual embedding으로 전환시켰다는 점이다. Word2Vec/GloVe가 단어 자체를 표현했다면, ELMo는 “문맥 속 단어”를 표현했다. 이는 이후 BERT, GPT와 같은 pretrained language model 계열의 출발점이 되었다는 점에서 매우 중요하다.
또한 ELMo는 다음 두 가지 기여를 남겼다.
첫째, 사전학습 언어모델이 downstream task에 강력한 일반 표현을 제공할 수 있음을 입증했다.
둘째, representation의 각 층이 서로 다른 언어 정보를 담는다는 점을 실험적으로 분석해 이후 Transformer layer analysis 연구의 기반이 되었다.
다만 한계도 존재한다. BiLSTM 기반 구조이므로 병렬화가 어렵고, Transformer 기반 모델보다 긴 문맥 처리 효율이 낮다. 또한 feature extraction 기반이므로 BERT처럼 end-to-end fine-tuning하는 방식보다 표현 적응력이 제한적이다.
6. 결론
ELMo는 문맥에 따라 동적으로 변하는 단어 표현을 제안하며, NLP에서 contextual embedding 시대를 연 대표적 연구이다. BiLM의 각 층 표현을 task-specific하게 조합한다는 단순하지만 강력한 아이디어를 통해 다양한 NLP 과제에서 일관된 성능 향상을 보였다. 이후 등장한 BERT, GPT 계열 모델에 비해 구조는 단순하지만, “사전학습 언어모델 기반 표현학습”의 출발점이라는 점에서 ELMo는 현대 NLP의 중요한 전환점으로 평가된다.