본문 바로가기
논문리뷰

[논문리뷰] XL-Net

by 단깅수 2024. 7. 3.
728x90

오늘은 XL-Net 논문 리뷰를 가져왔습니다.

해당 논문은 2019년에 발표된 논문입니다.

 

XLNet: Generalized Autoregressive Pretraining for Language Understanding

저자 : Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, Quoc V. Le

[1] Introduction

  • 기존 언어 모델 Pre - training은 크게 AR과 AE로 나눌 수 있음
  • Auto Regressive(AR)
    • 이전 Token을 참고해 다음에 나올 Token이 무엇일지 예측
    • 대표적으로 ELMO, GPT-1이 이에 해당함
    • 주로 단 방향으로만 정보를 학습하기 때문에 양방향 문맥을 학습하지 못한다는 점에서 단점을 가짐
  • Auto Encoding(AE)
    • 주어진 input에 Masking 방식을 통해 noising하고 이 noising된 부분이 무엇인지 예측하는 방향으로 학습
    • 주로 BERT가 이에 해당함
    • 양방향 문맥을 학습할 수 있지만 Token들 사이의 의존성은 학습할 수 없으며 pre-training과 fine-tuning과의 불일치가 발생함

[2] Proposed Method, XL-Net

  • 1번에서 언급했던 AR, AE의 장점은 가져가고 단점을 극복하기 위해 등장한 모델이 XL-net, but 어떻게 극복했을까?

2-1) Permutation Language Modeling Objective

  • 입력 Sequence의 순서의 모든 permutation(순열)을 고려한 AR 방식 사용
    • [x1, x2, x3, x4]를 예측할 때, Zt = [[1,2,3,4], [1,2,4,3], [1,3,2,4], …]

  • 각 Token들은 원래 순서에 따라 Positional Encoding이 부여되기 때문에 모델은 x1 다음에 x2가 오는 것을, x2 다음에 x3가 오는 것을 학습 가능
  • 순열을 모두 학습하기 때문에 양방향 context를 고려한 AR 방식으로 학습
    • AR, AE의 단점은 극복, 장점은 가져가
  • 하지만 이 방식에도 문제점이 존재하는데
    • [2,3,1,4]의 경우 p(x1 | x2, x3)을 계산하기 위해 h(x2, x3)을 이용
    • [2,3,4,1]의 경우 p(x1 | x2, x3)을 계산하기 위해 h(x2, x3)을 이용
      • 결국 같은 representation을 이용해서 x1과 x4를 예측해야 되는 문제 발생

2-2) Two - Stream Self-Attention for Target Aware Representation

  • 위의 문제를 해결하기 위해 새로운 방식의 Transformer 제안
  • t 시점을 기준으로 두 Stream으로 분리

  • 1) 위치 정보도 함께 학습
    • 3 - 2 - 4 - 1 을 학습한다고 가정
    • 3은 3 위치 정보 + mem1
    • 2는 먼저 나온 3의 hidden vector + mem1 + 2의 위치 정보 ,,,

  • 2) 기존 Transformer처럼 토큰 정보만 활용해서 학습

[3] Ideas from Transformer - XL

  • XLNet은 긴 문장에 대한 처리를 위해 Transformer-XL (Dai et al., 2019)에서 사용된 2가지 테크닉을 차용 (Relative Positional Encoding, Segment Recurrence Mechanism)
  • Relative Positional Encoding
    • 두 개의 Sequence가 입력됐을 때 각각의 Token 순서를 [0,1,2,3], [4,5,6,7]이라고 가정, 두 Sequence가 나란히 입력되었으면 모델은 [0,1,2,3,4,5,6,7]이라고 학습해야 하지만 [0,1,2,3,0,1,2,3]으로 순서에 대한 학습을 할 수 있다는 문제 발생

    • 따라서 위 사진과 같이 변환
      • (a) : Content 기반 처리
      • (b) : Content에 의존한 Positional bias
      • (c) : Global Content bias
      • (d) : Global Positional bias
  • Segment Recurrence Mechanism
    • 두 Segment로 분리해서 과거 Segment의 순서를 고려하지 못하도록 독립적으로 계산

[4] Modeling

  • Pre - training
    • BERT와 유사하게 A, SEP, B, SEP, CLS로 입력
    • Seg A, B를 랜덤으로 샘플링하고 하나로 concat해 permutation 수행
    • XL-net-Large는 NSP의 효과가 없어서 사용 X
  • Permutation 집합에서 하나의 Token을 예측할 때 마지막 K개의 예측만 사용함 (base 모델에서는 K = 6)

[5] Results

1) RACE Dataset

  • Resoning에 대한 질문을 포함하는 가장 어려운 QA dataset 중 하나
  • Sequence length를 640으로 fine-tuning 시켜 수행

 

2) SQuAD Dataset

  • SQuAD dataset에서도 꽤 큰 격차로 SOTA 달성
  • 문장의 길이가 비교적 긴 Task라서 더욱 그렇지 않았나 싶음

 

3) GLUE Dataset

  • 전체 9개의 Task 중 7개에서 SOTA 달성

[6] Conclusion

  • XL-net은 AE + AR 의 단점을 보완하고 장점은 보존한 언어 모델
  • Pre-training 단계에서 permutation을 활용해 학습
  • 이로 인해 생기는 문제를 새로운 방식의 Transformer를 제시해 해결
  • Transformer-XL에서 아이디어를 얻음 (같은 저자)

[7] Reference

https://arxiv.org/abs/1906.08237

https://youtu.be/v7diENO2mEA?si=zEH5MFi0IeobD6Du

https://jeonsworld.github.io/NLP/xlnet/

  •  
728x90

'논문리뷰' 카테고리의 다른 글

[논문리뷰] T5  (0) 2024.07.15
[논문리뷰] CLIP 논문 리뷰  (0) 2024.07.10
[논문리뷰] Transformer  (0) 2024.06.26
[논문리뷰] MT-DNN  (0) 2024.05.23
[논문리뷰] BART  (2) 2024.05.15