ELMO 논문 리뷰
🍅

ELMO 논문 리뷰

Tags
Journal
LLM
Machine Learning
Published
May 6, 2024
Author
유레미 EUREMI
이번 글에서 다룰 논문은 2018년에 게재된 ELMO라고 불리는 Deep Contextualized Word Representations 입니다.
 

1. Backgrounds

사전학습된 word representations은 자연어 처리 작업에 사용되기 전 대규모 코퍼트에서 학습한 단어 임베딩의 일종이다. 이러한 표현은 많은 neural language 모델에서 중요한 구성 요소이다. 그러나 고품질의 representation을 학습하는데 2가지 어려움이 있다.
  1. 구문 및 의미론과 같은 단어 사용의 복잡한 특성을 모델링하는 것
  1. 다의어와 같이 문맥에 따라 의미가 변형하는 것
하나씩 살펴보자면,
구문 및 의미론이란 의미로는 시제를 예로 들 수 있다. I read a book yesterday.에서 read는 읽었다라는 의미이다. I will read a book today.의 read는 읽을 것이다라는 의미이다. 우리는 어떻게 같은 단어인데 read를 다르게 해석할까? 뒤에 있는 yesterday와 today를 통해 유추했을 것이다.
다의어로는 같은 단어이지만 전혀 다른 의미로 쓰이는 경우를 말한다. capital gain의 capital은 자본이란 의미를 갖는다. capital city의 capital은 수도의 의미를 갖는다.
이렇게 같은 단어라도 다르게 쓰이는 경우가 많지만 word embedding의 경우, 이런 문제를 해결해주지 못한다.
 

2. Related work

하위 단어 정보로 강화하거나 각 단어 의미에 대해 별도의 벡터를 학습하는 방법이 제안되었다. 또 다른 연구로 context-dependent representation에 집중한 context2vec, pivot 단어를 representation에 포함한 supervised neural machine translation과 unsupervised language model들이 있다. ELMo 모델은 이 연구들의 장점을 최대한 활용하며 약 30개로 구성된 corpus에서 biLM을 학습한다.
 

3. ELMo: Embeddings from Language Models

ELMo는 단어를 고정 벡터로 표현하는 기존 단어 embedding과 다르게 전체 문장을 입력으로 고려하고 구문 및 의미론과 같은 단어 용도에 복잡한 특성을 포착한다. 이는 글자수준 합성곱을 포함하는 2계층 biLM을 기반으로 계산되며, biLM의 내부에서는 ELMo word representation을 계산하는 선형 함수로 사용된다. 이로 인해 쉽게 다른 NLP 모델에 붙이는 것이 가능하다.
 

3.1 Bidirectional language models(biLM)


N개의 token(t1,t2,...,tNt1,t2,...,tN)이 있다고 할때, Forward Language Model은 (t1,t2,...,tk1)(t1,t2,...,tk1)이 주어졌을 때 tktk가 나올 확률을 계산한다.
notion image
문장이 주어졌을 때, 단어는 character 임베딩으로 representation된 뒤, 첫 LSTM 셀로 입력된다. character 임베딩으로 전환되는 이유는 2가지이다.
  • 최초 임베딩은 문맥의 영향을 받지 않아야 한다.
  • 선행 학습된 단어 임베딩을 사용한 모델과 비교하기 위해 Glove나 Word2Vec과 같은 단어 임베딩을 사용하지 않았다.
입력단에서 문맥에 영향을 받지 않았지만 layer를 지나칠수록 문맥에 영향을 받도록 설계되었다. 첫 LSTM 출력은 char 임베딩과 residual connection을 가지고 있다. residual connection은 2가지 장점을 가지고 있다.
  • 상위 layer들이 하위 layer의 특징을 잃지 않아야 한다.
  • gradient descent를 통한 gradient vanishing 현상을 극복하도록 도와준다.
L개의 layer에 전달 후 softmax layer로 다음 token을 예측하는데 사용된다.
Backward Language Model은 Forward Language Model과 식의 형태는 같지만 뒤쪽 token을 사용해 앞의 token의 확률을 계산한다.
notion image
biLM은 두 방향의 log likelyhood를 최대화 시키는 방향으로 학습을 진행한다.
notion image
ΘxΘx는 token representation, ΘsΘs는 softmax layer로 Forward, Backward에서 파라미터를 공유함으로써 모델의 복잡성을 줄이고 학습을 개선한다.
 

3.2 ELMo


두 LSTM(Forward, Backward)의 layer representation의 결합이다. 각 토큰 tktk의 임베딩 벡터로 L-layer biLM과 token layer를 사용하게 되며 2L+1개의 representation으로 이루어진다.
notion image
먼저, Forward, Backward LM layer를 각 layer별로 concatenate한 뒤에 가중치를 준 뒤 더한 후 scalar parameter γtaskγtask로 벡터의 크기를 조절하며 최적화 과정에서 중요한 역할을 한다.
notion image
 

3.3 Using biLMs for supervised NLP tasks


biLM을 사용하여 task model을 개선하기 위해선 아래와 같은 과정을 진행한다.
  1. 모든 단어의 layer representation을 기록한다.
  1. (t1,t2,...,tk)이 주어졌을 때 단어 embedding 또는 선택적으로 character 기반의 representation을 사용한다.그러면 context에 민감한 representation hk가 형성된다.
    1. (t1,t2,...,tk)
      hk
supervised model에 ELMo를 추가하기 위해선
  1. biLM의 가중치를 고정시킨다.
  1. ELMo vector ELMotaskk와 xk를 concatenate한다.
    1. ELMoktask
      xk
  1. task RNN에 전달한다.
마지막으로, ELMo에 적당한 양의 dropout을 추가하는 것이 효과적이였으며 일부의 경우로는 loss에 λ||w||22λ||w||22를 추가하여 ELMo 가중치를 정규화하는 것이 ELMo 가중치가 모든 biLM 레이어의 평균에 가깝도록 유도되어 유용한 결과를 얻는다는 것을 발견했다.
 

3.4 Pre-trained bidirectional language model architecture


이 논문에서 사용된 pre-trained biLM은 ozefowicz et al. (2016)과 Kim et al. (2015)의 아키텍처와 유사하지만 양방향 학습과 LSTM layer 간의 residual connection을 추가하였다.
character 기반 입력 representation을 유지하면서 전체 language model의 복잡성과 downstream 작업에 대한 계산 요구량을 맞추기 위해 CNN-BIG-LSTM의 모든 임베딩 및 hidden dimension을 절반으로 줄였다.
그 결과 4096개의 unit과 512 차원의 projection layer, 1번째 layer에서 2번째 layer로의 residual connection을 사용하였다. 문맥에 무관한 representation은 2048개의 문자 n-gram convolution filter를 사용하고 이를 2개의 highway layer와 512 representation의 linear projection이 이어진다.
그 결과, biLM은 문자 입력으로 인해 학습셋을 벗어나는 것을 포함한 3개의 representaion layer를 제공한다.

이번 글에서는 2018년에 게재된 ELMo 논문을 살펴보았습니다. 문맥을 이해하는 sentence representation에 대해 새롭게 알게 되어 흥미로웠습니다. 다만, 자주 등장하지 않는 단어들이 문맥을 포함하여 학습할 수 있는지 궁금해지네요. 긴 글 읽어주셔서 감사합니다!🐥