[논문리뷰]ELMo: Deep contextualized word representations (NAACL 2018)

LeeKunHa·2023년 8월 31일
0

논문 리뷰

목록 보기
3/11

Abstract
1. Introduction
2. Related work
3. ELMo: Embeddings from Language Models
3.1. Bidirectional language models
3.2. ELMo
3.3. Using biLMs for supervised NLP tasks
3.4. Pre-trained bidirectional language model architecture
4. Evaluation
4.1. Question answering
4.2. Textual entailment
4.3. Semantic role labeling
4.4. Coreference resolution
4.5. Named entity extraction
4.6. Sentiment analysis
5. Analysis
5.1. Alternate layer weighting schemes
5.2. Where to include ELMo?
5.3. What information is captured by the biLM's representations?
5.4. Sample efficiency
5.5. Visualization of learned weights
6. Conclusion
Self Q&A
Opinion

Abstract

  • 본 논문은 1)단어의 복잡한 특성(complex characteristics of word use. e.g.,syntax and semantics)과 2)언어학적 문맥에 따른 사용의 차이(how these uses vary across linguistic contexts. i.e.,to model polysemy)를 모두 표현할 수 있는 새로운 타입의 deep contextualized word representation(문맥정보를 학습할 수 있는 word 표현)를 소개한다.
  • 본 논문의 word vector는 대규모 text corpus를 이용한 bidirectional language model(biLM. 양방향 언어모델) 구조로 학습을 진행했다.
  • (결과적으로 ELMo는 context를 반영한 word representation을 임베딩하는 사전 훈련 모델)
  • 이러한 representation(사전 훈련 모델)은 기존 모델에 쉽게 추가(부착)할 수 있으며, 6개의 어려운 NLP problem에 대해 큰 성능 향상을 이끌어냈다.
  • 또한 pre-trained network의 internals(내부)를 관찰함으로써, 다운스트림 모델이 다양한 유형의 semi-supervision signals을 혼합할 수 있다는 분석 결과도 제시한다.

1. Introduction

  • Word2vec, GloVe 와 같은 Pre-trained word representation을 사용하여 embedding을 수행하는 것은 자연어 처리 문제에서는 핵심적인 과제였다.
  • 그러나 퀄리티가 좋은 representations을 찾는 것은 어려운 일이고,
  • 퀄리티가 좋은 representations이 되기 위해서는 1)단어의 복잡한 특성(complex characteristics of word use. e.g.,syntax and semantics)과 2)언어학적 문맥에 따른 사용의 차이(how these uses vary across linguistic contexts. i.e.,to model polysemy)를 모두 표현할 수 있어야 한다.
  • 본문에서는 모두 표현할 수 있는 새로운 타입의 deep contextualized word representation(문맥정보를 학습할 수 있는 word 표현)를 소개한다.
  • 새로운 타입의 deep contextualized word representation은 2가지 문제를 직접 해결하고, 기존 모델에 쉽게 융합할 수 있으며, language understanding problems에 어려움을 겪고 있는 모든 case에서 기술 수준을 크게 향상시켰다.
  • 본 논문의 representations은 각 토큰에, 전체 input 문장의 fuction인 representation이 할당된다는 점에서 전통적인 word type 임베딩과 다르다(기존 방법은 0~t-1, 즉 현재 위치 기준 문장의 앞부분만 참조했지만, 본 논문에서 제시하는 방법은 뒷부분까지 참조).
  • 대규모 텍스트 말뭉치에 대한 한 쌍(앞뒤에서)의 language model(LM)로 훈련된 bidirectional LSTM에서 파생된 벡터를 사용합니다(n번째 output에 대해 양 방향에서 예측하는 형태).
  • 이러한 이유로, 논문은 이를 ELMo(Embeddings from Language Models) representations이라고 부르겠다.
  • 문맥에 맞는 단어 벡터를 학습하기 위한 이전의 접근 방법들과 다르게, ELMo는 biLM의 모든 내부 레이어에 대해 학습이 이루어진다는 점에서 심층적이다.
  • 구체적으로, ELMo는 각 end task에 대한 각 input 단어의 위에 쌓인 벡터의 선형 결합을 학습하여, top LSTM 레이어만 사용하는 것보다 성능이 현저히 향상됐다.
  • higher-level LSTM states(상위 레이어. 즉 output layer와 가까워질수록)는 context-dependent를 포착한다(문맥에 따라 달라지는 단어의 의미를 잘 파악한다는 의미).
  • 반면, lower-level states는 단어의 styntax(문법. 구조적 특징)을 잘 포착한다.
  • 이러한 두 신호를 동시에 노출하면(활용하면), 학습된 모델이 각 end task에 가장 유용한 semi-supervision 타입을 선택할 수 있으므로 매우 유용하다(task에 맞게 활용할 수 있다는 의미).
  • ELMo는(pre-trained 모델로써) 6개의 어려운 NLP problem에서, 기존 모델에 쉽게 추가(부착)할 수 있다.
  • ELMo representations을 추가하는 것만으로도 최대 20%의 relative error 감소를 포함하여 모든 경우에서 기술 수준이 크게 향상되었다.
  • 학습된 모델과 코드는 공개적으로 사용 가능하며, ELMo가 다른 많은 NLP 문제에서도 유사한 이점을 제공할 것으로 기대한다.
  • 단어의 syntactic(구문) 및 semantic(의미) 정보를 포착하기 위해, 기존에 unlabeled text로부터 pretrained word vector를 만드는 단어 벡터 학습 방식은(그동안의 연구), 각 단어에 대해 문맥을 잘 이해하지 못하는(context-independent) 하나의 representation만 허용해왔다.
  • (즉, Introduction에서 말한 high quality representations이 되기 위한 2번째 조건인 '언어학적 문맥에 따른 사용의 차이'를 학습하지 못해왔다는 의미)
  • 이전 연구에 따르면 deep biRNN의 여러 계층이 서로 다른 유형의 정보를 인코딩하는 것으로 나타났습니다.
  • 예를들어, (Belinkov et al.,2017) 2 layer LSTM 인코더의 첫 번째 계층에서 학습한 표현이 두 번째 계층보다 POS 태그를 더 잘 예측하고(lower-level states가 syntatic 정보를 잘 포착함을 증명),
  • (Melamud et al.,2016) 단어 문맥을 인코딩하기 위한 LSTM의 top layer는 단어 의미(sense)의 representations을 학습하는 것으로 나타났다.
  • 이러한 다양한 유형의 semi-supervision을 혼합하는 것은, 다운스트림 작업의 모델을 학습하는 것에 매우 유용할 수 있다.

3. ELMo: Embeddings from Language Models

  • 가장 널리 사용되는 단어 임베딩(Pen-nington et al., 2014)과 달리, ELMo의 word representations은 전체 입력 문장(entire input sentence)에 대한 fuction이다(sliding window가 없다는 의미로 해석).
  • ELMo는 내부 네트워크 상태의 선형 함수(Sec. 3.2)로서 character convolutions(Sec. 3.1)이 있는 two-layer biLMs의 top에서 계산된다.
  • 이러한 설정을 통해 biLM이 대규모로 pre-trained하는 semi-supervised learning을 수행할 수 있게하며(Sec. 3.4), 기존의 다양한 neunal NLP 아키텍처에 쉽게 융합할 수 있게한다(Sec. 3.3).

3.1. Bidirectional language models

  • N 개의 token sequence(-)가 주어졌을 때, 순방향 언어 모델(forward language model)은, history(t1,...,tk1t_{1},...,t_{k-1})가 주어졌을 때의 token tkt_{k}의 확률을 모델링하여 시퀀스의 조건부 확률을 계산한다.
  • (history는 이전에 등장한 token으로 해석 가능. 즉, k번째 token은 1~k-1 token을 이용해 구한다는 의미)
  • (\invamalg\invamalgt1,...,tk1t_{1},...,t_{k-1}까지 모두 곱하라는 기호)
  • 2018년 당시 최신 neural language model들은 (token embeddings 또는 문자단위 CNN을 통해)context-independent(문맥을 파악하지 못하는) 토큰 representation xkLMx_{k}^{LM}을 계산한 다음, 이를 순방향 LSTM의 LL(마지막) 레이어 계층에 넣어주는 방법을 사용했다.
  • 각 위치 k에서, 각 LSTM layer는 context-dependent(문맥을 파악하는) representation hk,jLM\vec{h}_{k,j}^{LM}을 output으로 출력한다.
  • (j는 layer의 인덱스. 1~L)
  • LSTM의 top(마지막) layer는 hk,LLM\vec{h}_{k,L}^{LM}을 output으로 출력하며, 이는 Softmax layer를 통과해 다음 token t(k+1)을 예측하는데 사용된다(실질적으로 사용되는 것은 hk,LLM\vec{h}_{k,L}^{LM}).
  • Backward LM은 Forward LM과 유사하지만 sequence를 반대방향으로 활용한다.
  • 즉, 미래의 context를 통해 이전의 token을 예측한다.
  • (Backward LSTM layer j(인덱스)는 tk+1,...,tNt_{k+1},...,t_{N}이 주어졌을 때, representations hk,jLM\overleftarrow{h}_{k,j}^{LM}을 생성(화살표를 반대로 보냈으면, L을 j로 안 바꿔도 되는거 아닌가?))
  • biLM은 순방향과 역방향 LM을 모두 결합한 것이다.
  • 이 공식은 순방향과 역방향의 log likelihood를 공동으로 최대화하는 것을 목표로 한다(덧셈).
  • ELMo는 양방향 간에 완전히 독립된 파라미터를 사용하는 대신에 일부 가중치를 공유한다(양방향의 token representation의 파라미터(θx\theta_{x})와 Softmax layer의 파라미터θs\theta_{s}를 일부 공유).

3.2. ELMo

  • ELMo는 biLM의 중간 레이어 representation을 task specific하게 조합한 것이다(higer-level과 lower-level의 중간 값 사용).
  • 각 시점의 token tkt_{k}에 대해, L-layer biLM은 2L+1 prepresentations의 집합을 얻을 수 있다.
  • 2L+1에서 1은 입력 token x에 대한 token layer representation xkLMx_{k}^{LM}=hk,0LMh_{k,0}^{LM}이고, 2L은 1~L개의 forward representation hk,jLM\overleftarrow{h}_{k,j}^{LM}와 L개의 backward representation hk,jLM\overrightarrow{h}_{k,j}^{LM}이다.
  • (j는 layer index, k는 token index)
  • 위의 모델을 downstream에 적용하기 전에 먼저 모든 layers를 하나의 vector R로 압축시켜줘야 한다(선형 결합한 하나의 벡터.
  • 이를 수식으로 표현하면 ELMok=E(Rk;θe)ELMo_{k}=E(R_{k};\theta_{e})
  • 예를 들어, 마지막 레이어 하나(j=L)만 선택할 경우 E(Rk)=hk,LLME(R_{k})=h_{k,L}^{LM}가 된다.
  • 이를 일반화한 수식은 위와 같다.
  • 최종 representation은 선형 결합한 하나의 벡터로 임베딩 된다.
  • 그 뒤, 특정 테스크에 적합하게 조정될 수 있도록, task-specific 한 weighting 을 구한다.

3.3. Using biLMs for supervised NLP tasks

  • target NLP 작업에 대해 사전 학습된 biLM과 supervised architecture가 주어지면, biLM을 사용하여 작업 모델을 개선하는 것은 간단한 프로세스이다.
  • 1) biLM을 학습시켜 각 단어에 대한 layer representations를 기록하고,
  • 2) downstream이 pretrain 된 모델의 선형결합을 학습하도록 하면 된다.
  • 대부분의 supervised NLP 모델은 lowest 계층에서 공통된(일반적인) 아키텍처를 사용하므로 일관된 방식으로 ELMo를 추가할 수 있다.
  • (t1,...,tNt_{1},...,t_{N})의 토큰이 주어졌을때, 사전훈련된 워드 임베딩으로(=ELMo를 부착하여) context-independent representation xkx_{k}을 만들 수 있다.
  • 그런 다음 모델은, bidirectional RNN, CNN 또는 피드 포워드 네트워크를 사용하여 컨텍스트에 context-sensitive(dependent. 문맥을 이해하는) representation hkh_{k}를 형성합니다.
  • ELMo를 supervised 모델에 추가하기 위해서는, 먼저BiLM 가중치를 고정(freeze)하고, input layer 에 ELMo layer 를 추가, ELMo 출력과 기존 input token 을 결합(concatenation)하여 NLP 모델에 입력)
  • ELMoktaskELMo_{k}^{task}와 x{t}를 concat한 뒤, 강화된(ElMo가 적용된. concat된) representation $[x{k};ELMoktaskELMo_{k}^{task}]$을 RNN에 넣어주면 된다.
  • ELMo에 적당한 양의 dropout을 추가하는 것이 이점이 있다는 것을 발견했다.
  • 그리고 경우에 따라, loss에 λw22λ||w||_2^2(가중치 벡터 w의 L2 norm의 제곱) 추가함으로써 ELMo 가중치를 regularize(정규화)하는 것이, ELMo 가중치에 유도적 편향이 가해져 모든 biLM 레이어의 평균에 가깝게 유지하게 만드는 이점이 있다는 것도 발견했다.

3.4. Pre-trained bidirectional language model architecture

  • 기존에 존재하던 forward LM인 CNN-BIG-LSTM과 비교한 ELMo의 구조에 대한 차이점
    • 양방향 동시 학습 가능
    • biLSTM layer 에 residual connection 추가
    • LSTM unit = 4096, output dimension = 512
    • 10 epoch만큼 학습시킨 결과, 기존 모델의 forward perplexity가 30.0에서 39.7로 증가하였다.

4. Evaluation

  • ELMo representation 추가한 것만으로 다양한 NLP task 에서 SOTA 성능을 보여주었음을 제시한다.
    1. Question answering
    1. Textual entailment
    1. Semantic role labeling
    1. Coreference resolution
    1. Named entity extraction
    1. Sentiment analysis

5. Analysis

  • 5.1에서 ELMo를 사용하는 것이 기존에 top layer만 사용하는 것보다 성능향상이 된 것을 확인할 수 있다.
  • 5.3은 biLM에서 포착된 다양한 유형의 contextual 정보를 탐색하고 두 가지(higer/lower) intrinsic(내재적 평가)를 사용하여, syntax 정보는 낮은 계층에서 더 잘 표현되는 반면 semantic 정보는 더 높은 계층에서 캡처된다는 것을 보여주며, biLM이 CoVe보다 더 풍부한 표현을 일관되게 제공한다는 것을 보여준다.
  • 또한 ELMo representation을 부착하는 위치에 따라 서로 다른 효과를 내는 것을 분석했고(5.2-task, 5.4-training set size),
  • 5.5에서는 ELModml weight가 task에 걸쳐 학습하는 것을 시각화했다.

5.1. Alternate layer weighting schemes

  • (5.1. ELMo를 사용하는 것이 기존에 top layer만 사용하는 것보다 성능향상)
  • CoVe 등의 기존 모델에서는 최종 출력만을 사용하여 representation 을 수행하였다.
  • ELMo 또한 최종 출력만을 사용한 결과를 제시한다.
  • 최종 출력만을 representation 으로 사용하였을 때도, baseline model보다 좋은 성능을 보이는 것을 확인할 수 있다
  • 또한, ELMo 와 같이 결합된 출력을 사용했을 때 항상 더 좋은 성능을 보인다.

5.2. Where to include ELMo?

  • (5.2. ELMo representation을 부착하는 위치에 따라 서로 다른 효과를 내는 것을 분석-task)

  • SQuAD와 SNLI task에서, 입력과 출력 모두 ELMo 를 부착한 것이 더 좋은 성능

  • (input은 lower에 가까우므로 syntax, output higher에 가까우므로 semantic)

  • 그러나 SRL 등에서는 input에만 ELMo를 부착한 것이 성능이 좋다(SRL의 경우 task-specific context(일반적인 의미보다, task 맞춤 의미가 중요하기 때문에 일반적인 semantic이 안 좋음) representation이 중요하기 때문).

  • (SRL is the task of extracting semantic predicate-argument structures from sentences)

5.3. What information is captured by the biLM's representations?

  • (5.3. biLM에서 포착된 다양한 유형의 contextual 정보를 탐색하고 두 가지(higer/lower) intrinsic(내재적 평가)를 사용하여, syntax 정보는 낮은 계층에서 더 잘 표현되는 반면 semantic 정보는 더 높은 계층에서 캡처)
  • 즉, 다의어를 문맥에 따라 어떻게 사용되었는지에 대한 정보를 갖고 있다.
  • 같은 play임에도, 유사한 임베딩 벡터를 살펴본 결과, 스포츠에서의 play와 연극에서의 play를 구분하고 있는 것을 볼 수 있다.
  • WSD는 다의어의 의미를 구분짓는 task로 embedding이 얼마나 semantic 정보(문법 정보)를 잘 담고 있는지에 대한 지표
  • CoVe보다 성능향상이 확인
  • 또한 second layer의 점수가 좋은 것으로보아, higer-level이 semantic정보를 담고 있는 것으로 볼 수 있다(조금 부족하지않나?라는 의견).
  • POS tagging은 word의 품사를 tagging하는 task
  • POS tagging은 word의 품사를 tagging하는 task로 embedding이 얼마나 syntax 정보(문맥 정보)를 잘 담고 있는지에 대한 지표
  • first LSTM layer의 output이 top layer의 output보다 POS tagging에서 더 좋은 성능

5.4. Sample efficiency


(5.4. ELMo representation을 부착하는 위치에 따라 서로 다른 효과를 내는 것을 분석-training set size)

  • 같은 양의 학습 데이터를 사용했을 때도 더 높은 성능
  • 0.1~100까지를 비교해본 결과, ELMo(혹은 문맥적 의미를 이해하는 것)는 최종성능도 성능이지만, 초기값을 빠르게 찾도록 하는데 강점이 있지 않나라는 개인 의견
  • 심지어 SRL task에서는 ELMo를 사용한 model이 training dataset의 1%을 학습했을 때 달성한 성능 수치와 baseline model이 training dataset의 10%를 학습했을 때의 성능

5.5. Visualization of learned weights

  • (5.5. ELModml weight가 task에 걸쳐 학습하는 것을 시각화)
  • ELMo 의 위치에 따라 달라지는 task-specific weight를 시각화한 결과(1/3보다 작은 정규화된 가중치는 가로-세로 선으로 해치되고 2/3보다 큰 가중치는 얼룩덜룩하게 표시)
  • 해당 heatmap은 어떤 분야에서 ELMo를 어느 위치에 추가하는 것이 좋은지를 보여주고 있다.
  • 보통 first LSTM layer(lower)가 더 좋은 성능을 보였고, 특히 SQuAD에서 이러한 경향성이 가장 두드러지게 나타났다.
  • 그와 달리 ELMo가 output에 사용된 경우에는 weight가 균형있게 분배되기는 했지만 대체로 낮은 layer가 더 좋게 나왔다(semantic도 중요하지만 syntax가 더 중요하다는 의미?).

6. Conclusion

  • 본 논문은 biLM으로부터 high-quality deep context-dependent represen-tations을 학습하기 위한 일반적인 접근 방식을 도입했으며, ELMo를 광범위한 NLP 작업에 적용했을 때 큰 성능 향상이 이루어짐을 보여주었다.
  • 또한 ablations 및 기타 통제된 실험을 통해, biLM 계층이 문맥 내 단어에 대한 다양한 유형의 syntactic/semantic information를 효율적으로 인코딩한다는 사실과,
  • 모든 layer(higer/lower level를 목적에 맞게 사용)를 사용하면 전반적인 작업 성능이 향상된다는 사실도 증명했다.

Self Q&A

Opinion

0개의 댓글

관련 채용 정보