[논문리뷰] XLNet : Generalized Autoregressive Pretraining for Language Understanding

장우솔·2022년 4월 19일
0

NLP

목록 보기
2/17

1. Introduction

NLP domain에서 unsupervised representation learning이 매우 성공적인 결과를 보여주고 있다. 많은 양의 unlabeled corpus를 이용해 Pre-training을 하고, 얻어진 representation을 직접적으로 활용하거나 pre-trained model을 downstream task에 대해 fine-tuning 하는 방법이다. Pre-training 단계에서도 여러 objective들이 이용되어 왔는데, 그 중 가장 대표적인 두 가지를 소개한다.


Autoregressive (AR)

일반적인 Language Model (LM)의 학습 방법으로 이전 token들을 보고 다음 token을 예측하는 방식이다. AR은 한쪽 방향의 정보만을 이용할 수 있다.(either forward, backward)
단 : 따라서 양방향 문맥을 활용해 문장에 대해 깊이 이해하기 어렵다.

ex) ELMo, GPT 등

Auto Encoding (AE)

AE는 주어진 input에 대해 그 input을 그대로 예측하는 문제를 풀고, Denoising Auto Encoder은 noise가 섞인 input을 원래의 input으로 예측하는 문제를 푼다.

장 : AE는 특정 mask token을 맞추기 위해 양 방향의 정보를(Bidirectional contexts) 이용할 수 있다.
단 : 하지만 independant assumption으로 모든 [MASK] token이 독립적으로 예측됨으로써 이들 사이에 dependency를 학습할 수 없다( "마스킹 처리한 토큰들 사이"의 문맥과 의존관계를 따지지 않는다)는 단점이 있다. 또한 noise(mask token)는 pretrain 과정에서 있고, 실제 fine-tuning 과정에는 등장하지 않으므로, pre-training과 fine-tuning 사이의 불일치가 발생한다.

ex) BERT는 문장 일부에 노이즈(마스킹)을 주고, 문장을 원래대로 복원하는 과정에서 학습을 하기 때문에 Denosing AE에 해당한다.





2. Proposed Method: XLNet


2.1 Background

AR language modeling과 BERT의 language model pre-training을 비교한다.
AR model은 likelihood를 maximizing하는 방향으로 pre-traing을 진행한다. BERT는 Denosing AE가 기반인 모델이다. 두 가지 pre-train의 장단점을 비교한다.

  • 식1 AR 식2 BERT(AE)

Independence Assumption: BERT는 마스킹된 token이 독립되게 재구성된다는 가정에 기초하여 joint conditional probability를 인수분해 한다. 반면에 AR language modeling은 식1과 같이 곱의 규칙을 사용하여 인수분해 한다.

Input noise: BERT의 input에는 downstream task에서는 사용하지 않는 [MASK]와 같은 symbol이 사용되기 때문에 pre-train과 fine-tune간에 차이가 발생한다.

Context dependency: BERT representation은 bidirectional contextual information에 접근할 수 있다. 결과적으로 BERT는 bidirectional context를 더 잘 capture할 수 있도록 pre-train된다.


2.2 Objective: Permutation Language Modeling

AR model의 장점을 유지하고 model이 bi-directional context를 capture할 수 있도록 permutation language modeling objective를 제안한다.

permutation 개념
토큰을 랜덤으로 셔플한 뒤, 그 뒤바뀐 순서가 마치 원래 그랬던 것 처럼 언어모델을 학습하는 기법이다. 퍼뮤테이션 방식으로 예측을 수행하면, 문장 전체 문맥을 살필 수 있게 된다. 예측해야할 단어를 제외하고 모든 문장의 부분집합 전부를 학습한다.


2.3 Architecture: Two-Stream Self-Attention for Target Aware Representation

  • x=[[1,2,3,4],[1,2,4,3]] 에 대해 3번째 position에 대한 학습을 한다고 가정했을 때 같은 input sequence(representation 1, 2)를 갖고 다른 값을 예측해야하는데, 같은 값으로 예측할 문제가 있다.
    그래서 context token 정보 뿐만이 아니라 target index의 position 정보도 이용할 수 있도록 ‘target aware representation’을 제안한다.
  • target position 정보를 추가적으로 이용하기 위해서는 조건이 있다.
  1. 특정 시점 t에서 target position의 token x를 예측하기 위해, hidden representation 은 t시점 이전의 context 정보와 target position 정보만을 이용해야 한다.
  2. 특정 시점 t 이후에 해당하는 x를 예측하기 위해, hidden representation은 t시점의 content를 인코딩해야 한다.

Standard transformer는 각 layer에서 한 token당 하나의 representation을 갖는 구조이다. permutation language modeling을 standard transformer에 naive하게 적용하기는 어려움이 있다. 이 구조는 위의 두 조건을 동시에 만족시킬 수 없다.

1번 조건에 따르면 t시점의 hidden representation은 t시점의 context를 포함할 수 없지만 2번 조건에 따르면 t시점 이후에 hidden representation을 계산하기 위해서는 t시점의 hidden representation을 이용해야하는데, 이는 t시점의 context를 포함해야합니다. 이와 같은 문제를 해결하기 위해서, 저자들은 2개의 hidden representation을 이용하는 변형된 transformer 구조를 제안한다.





2개의 hidden representation을 이용한 two stream attention 구조

1. Query representation

t 이전 시점의 token 정보(x)+ t시점의 위치정보(w)



2. context representation

t시점과 t이전시점의 token정보 (standard transformer와 같은 연산방식)



partial prediction

permutation으로 MLE를 수행하면 학습시에 수렴이 너무 느리니 특정 순서의 마지막 몇 개를 예측에 이용한다.





2.4 Incorporating Ideas from

transformer-XL에서 사용되는 두가지 중요한 기술 relative positional encoding schemesegment recurrence mechasnism을 pre-training framework에 포함시켰다.

1. Relative Positional Encoding

absolute position encoding: sef-attention 기반인 transformer는 CNN, RNN과 달리 단어들의 상대적 혹은 절대적 위치 정보를 직접적으로 모델링하지 않는다. 대신 input에 단어의 절대적 위치에 대한 representation (absolute positional encoding)을 추가하는 방식으로 순서에 대한 모델링을 할 수 있게 한다.
하지만 이런 absolute positional encoding 방법은 하나의 segment 내에서는 위치에 대한 의미를 표현할 수 있으나 Transformer-XL과 같이 여러 segment에 대해 recurrent 모델링을 하는 경우 문제가 있다.
단어 위치상으로 같다고 인식할 수 있게 단어 간 ‘상대적 위치 정보’를 모델링 하는 기법을 제안한다.


2. Segment Recurrence Mechanism

긴 문장에 대해 여러 segment로 분리하고 이에 대해서 recurrent하게 모델링하여 긴 sequence도 잘 고려할 수 있도록 한다.

Relative Segment Encodings은 두가지 장점이 있다.
1. relative encoding의 inductive bias는 일반화를 향상시킨다.
2. absolute segment encoding을 사용하여 불가능한 두 개 이상의 segment가 있는 task에 대한 fine-tune 가능성을 열었다.



2.6 Discussion

  1. BERT와 다른점
    예를 들어, [New, York, is, a, city] 라는 문장(sequence of words)가 주어졌을 때, XLNet은 new, york 사이의 dependency를 잡아낼 수 있다. 이전 target들이 반복적으로 보강되어 이후 target을 예측하는데 도움을 줄 수 있지만 BERT는 그렇지 못하다는 단점이 있다.
  2. 기존 LM과 다른점
    AR LM 류의 모델들은 과거에 대한 dependency만을 고려할 수 있다. ELMo 또한 AR LM이지만 양방향 학습이 가능하다. 하지만 XLNet와 달리 shallow하기 때문에 충분히 deep interaction을 학습하기 어렵다.





3. Experiments

Adam optimizer를 사용하였고 학습 데이터 양에 비해 많은 학습을 하지 않은다. 실제로 모델이 학습 데이터에 대해 underfit 하지만 학습(pre-training)을 더 하더라도 downstream 테스크에 대해서는 크게 도움이 되지 않았다. 모델이 데이터 스케일을 충분히 leverage하지 못하는 것을 원인으로 추측하고 있지만, 모델이 너무 커지면 fine-tuning에서의 실용성이 떨어지기 때문에 더 크기를 키우지는 않았다.





4. Conclusions

XLNet AR의 장점 + AE의 장점을 combine하기 위해 permutation objective 사용한 AR 기반의 모델이다. 또한 XLNet이 원활하게 work하기 위해 Transfromer-XL의 기술이 합쳐지고, two-stream attention mechanism으로 디자인 됐다. XLNet은 이전 pretraining objectives를 넘어선 상당한 발전을 이루었다.





















참고
논문
blog

profile
공부한 것들을 정리하는 블로그

0개의 댓글