논문

ELMo (Deep contextualized word representations) 논문 리뷰

두설날 2024. 7. 15. 10:36

Abstract(초록)

  • deep contextualized word representations 학습, 적용
  • 문맥에 따른 단어 다른 임베딩 학습 제시
    • 동의어
    • 다의어
  • 학습방법으로 bidirectional을 LSTM방식으로 활용한 biLM 제시
  • unlabeling된 text corpus pretrain, 작업에 맞게 labeling된 text corpus를 downstream model에 학습하는 방법인 semi-supervision을 NLP에 사용
  • question answering, textual entailment, sentiment analysis등 6개의 task에서 state of the art의 성능 증명

1 Introduction

  • 기존 NLP의 Pre-trained model이 word representations학습 후 high quality representations 학습에 연구 필요
    • 복잡한 언어 특성
    • 언어적 맥락
    • 본 논문은 이 문제에 대한 해결과 state of the art 성능 도달
  • ElMo는 large text corpus로 bidirectional LSTM으로 2가지 벡터 결합 후, 문장단위 임베딩
    • LSTM들이 앞뒤 문맥 파악, 같은 위치 layer끼리 결합
    • 기존보다 더 깊은 layer로 학습

2 Related work

  • 서브워드 정보와 다중 의미 표현
    • 문자 컨볼루션을 통해 서브워드 정보를 활용하고, 다중 의미 정보를 명시적으로 학습하지 않고도 통합하여 활용
  • 문맥 의존적 표현 학습
    • 최근 연구들은 context2vec 및 CoVe와 같은 방법을 사용하여, 문맥을 포함한 단어 임베딩을 학습
    • 이 방법들은 대규모 비지도 데이터의 중요성을 강조, 심층 문맥 표현(예: ELMo)을 제안
  • 심층 biRNN의 레이어별 정보
    • ELMo는 약 3000만 문장으로 구성된 코퍼스에서 학습된 biLM을 기반
    • 낮은 레벨 레이어는 문법 정보를, 높은 레벨 레이어는 단어 의미를 학습합니다.
      • 이 방식으로 -20% error, 성능 향상
  • 비지도 데이터로 사전 학습 후 고정 가중치 사용
    • biLM을 비지도 데이터로 사전 학습, 가중치를 고정하고 작업별 모델 용량을 추가
  •  

3 ELMo: Embeddings from Language Models

  • 기존 설명한 ELMO : sentence단위 word representation을 학습하기 위한 Bidrectional LSTM
  • ELMo의 downstream 구성

3.1 Bidirectional language models

  • bidrectional LSTM : left to right, right to left 2가지 결합하여 사용
  • LSTM의 forward부분 :
    • senetence를 N개의 token으로 나누어, 현재 토큰 기준 다음 토큰 나올 확률 예측 모델

forward 식

  • LSTM의 backward 부분 :
    • 현재 토큰 기준으로 이전 토큰 예측 LSTM 모델

backward 식

  • forward, backward를 유지하면서 log likelihood를 최대화하는 최대 우도 구하기
    • 같은 가중치(파라미터) 적용

3.2 ELMo

  • ELMo : 2가지 LSTM의 layer representations 결합
    • 각 토큰의 L층마다 biLM과 token layer 결합

  • 모든 layer들을 하나의 vector 압축

  • s * task는 학습 가중치로, softmax 가중치 적용
    • 모든 가중치의 합 = 1
  • 𝛾𝑡𝑎𝑠𝑘는 전체 모델의 적용되는 scale로 최적화에 아주 중요한 역할
    • 경우에 따라 가중치 부여전, layer normalization(정규화) 

3.3 Using biLMs for supervised NLP tasks

  • 사전학습한 ELMo를 작업에 맞게 supervised architecture(지도학습 구조) 설계
    • 1. biLM을 학습 후, 각 단어에 대한 layer representaitons 저장
    • 2. downstream 사전학습된 모델의 선형결합 학습
      • 벡터들 선형결합 후, 최적의 가중치 학습과정, 필요하면 각 모델의 기여도 조정하여 성능 최적화
  • 방법
    • 1. 사전학습한 biLM의 가중치 고정
    • 2. input text를 각 token에 대한 biLM학습과정 거친 후, task에 맞는 ELMO의 task k 추출
    • 3. input token x k 와 ELMO task k를 결합,  [𝑥𝑘𝐿𝑀;𝐸𝐿𝑀𝑂𝑘𝑡𝑎𝑠𝑘] 형태의 input으로 지도학습 RNN모델에 입력
    • 4. 필요하다면 dropout과 loss에 biLM의 가중치에 L2 norm(𝜆||𝑤||22) 추가하여 가중치 감소 방법 사용 
      • drop out: 신경망에서 과적합(overfitting)을 줄이기 위해 사용되는 정규화 기법으로, 뉴런을 임의로 선택하여 해당 뉴런을 제거하는 방식

3.4 Pretrained bidirectional language model architecture

  • layer로 2 biLSTM 사용, dimension=512, 첫번째 layer와 두번째 layer를 residual connection 연결
  • 임베딩
    • 2048개 character n-gram convolutional filters 사용
    • 2개의 highway layer사용하여 임베딩 변환, projection함으로써 최종임베딩 획득


4 Evaluation

  • task에 ELMo 사용시 결과, 모든 task성능 상승

  • Question answering: 주어진 질문에 문장 안 올바른 정답을 출력
  • Textual entailment: 주어진 전제 가설이 참인지 거짓인지 결정
  • Semantic role labeling: semantic rol labeing(SRL)은 누가 언제 어디서  동사나 인수의 구조를 맞추기
  • Coreference resolution: 임의의 개체(entity)를 표현하는 다양한 명사구(mention) 들을 찾아 연결
  • Named entity extraction: 말 그대로 개채명 인식이고, 미리정의된 사용자 이름, 조직, 위치 및 기타 등 인식
  • Sentiment analysis: Stanford Sentiment Treebank(SST-5)에서의 감성 분류 작업. 문장을 보고 영화평점 1~5까지 분류

5 Analysis

5.1 Alternate layer weighting schemes

  • 데이터셋 3개에서 ELMo 적용 결과
    • Baseline : 전체 layer 결합
    • Last only : 마지막 layer 결합 
    • λ=1 : 기존
    • λ=0.001  : 현재

5.2 Where to include ELMo?

  • input, input+ouput, output 적용결과
  • SQuAD, SNLI은 Input & Output 둘다 적용하였을때 성능이 , SRL은 Input만 적용하였을때 성능이 가장 좋음
    • 여기서 SQuAD, SNLI은 biRNN이후 바로 attention layer를 사용하였기 때문에 이 layer에 ELMo를 추가하여 내부 representations에 직접 접근할 수 있도록 해주고, SRL의 경우 task-specific context representation이 biLM context representations 보다 더 중요하기 때문

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

  • ELMo를 적용한 task에 향상된 성능을 보이면서 biLM이 contextual representations를 잘 학습하여 NLP task에 유용하다는 것이 증명 
  • biLM은 context로 word의 의미를 명확하게 해석
  • 위 테이블의 첫 번째를 보면 기존에 사용하던 방법인 GloVe vector를 사용하여 "play" 근처의 리스트를 뽑아본 것
  • 여러 부분에 분포하지만 스포츠 관련 의미에 집중
  • 본 논문의 biLM에서는 "play"의 비슷한 의미로 쓰인 문장을 판단 가능

5.4 Sample efficiency

  • ELMo는 샘플링의 효율성도 증가
  • ELMo 없이 기존모델은 486 epochs에 최고 성능을 도달했다면, ELMo를 적용한 모델은 10 epochs에 최고 성능을 도달
  • 또한 적은 train set으로도 ELMo를 적용한 모델이 좋은 성능을 도출 아래의 x축은 총 데이터세트의 percentage입니다.

  • 위 그림은 softmax-normalized parameter 를 시각화한 자료
  • ELMo를 biRNN의 input과 output에 사용했을 때를 각각 나눠서 비교
  • ELMo가 input에 사용되었을 떄는 대부분 first LSTM layer가 가중치가 높다
  • 반면 ELMo가 output에 사용된 경우엔 하단 layer가 더 높은 가중치를 갖고 있음

6 Conclusion

  • word 단위가 아닌 context(문맥) 단위로 임베딩하는 ELMo로 NLP 성능 향상 증명