" XLNet : Generalized Autoregressive Pretraining for Language Understanding " - Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, Quoc V.Le (2019)
본 논문에서는 …
AR과 AE의 장점을 결합한 기존 AR과 달리 모든 순열에 대해 log-likelihood를 최대화하도록 학습하는 permutation language modeling objective를 사용한 XLNet을 제안함.
연구 배경
Unsupervised Representation Learning : Large-scale의 corpora를 통해 pre-training하고, downstream task에 대해 fine-tuning을 수행함.
→ autoregressive language modeling (AR)과 autoencoding (AE)이 성공적인 pre-training objective임.
AR은 이전 토큰들의 조건부 확률로 문장의 확률 분포를 추정하여 양방향 context를 모델링하기에 적절하지 않음.
BERT와 같은 AE은 오류가 있는 데이터로부터 원본 토큰을 재구성하는 것을 목표로 함.
BERT의 경우 predicted token이 input 시퀀스에서 마스크 처리되어 있어 AR에서 곱의 규칙을 사용해 joint probability를 얻지 못함.
→ 마스크되지 않은 토큰과 예측 토큰이 서로 독립이라고 가정하며, 이는 고차원, 장거리 의존성이 있는 자연어에서 지나치게 단순화됨.
관련 배경 지식
- AR과 BERT의 language model pre-training 비교
x에 대해 token 일부를 [MASK]로 설정해 손상된 x hat을 구성함.
masked token을 x bar라 할 때 training objective는 x hat으로부터 x bar를 재구성하는 것임.
m_t = 1이면 x_t는 [MASK]되었으며, H_theta는 x로부터 transformer를 통해 얻어지는 hidden vector임.
- AR 과 BERT의 차이
- Independence Assumption : BERT는 마스킹된 token x bar가 독립되게 재구성된다는 가정하에 조건부 확률을 인수분해함. 하지만, AR은 곱의 규칙을 사용해 인수분해함.
- Input noise : BERT의 input은 downstream task에서 사용하지 않는 [MASK]와 같은 symbol을 포함하여 pre-training과 fine-tuning 사이 차이가 발생함.
- context dependency : AR은 위치 t까지의 token에 대해서만 계산되지만 BERT는 양방향으로 접근해 BERT가 context를 더 잘 반영하여 pre-training됨.
모델
Objective
AR의 장점을 유지하고 bidirectional context를 잘 반영할 수 있도록 하는 permutation language modeling objective를 제안함.
길이가 T인 시퀀스 x에 대해 T! 만큼 autoregressive 인수분해를 진행함.
모델의 parameter가 모든 인수분해 순서들에 걸쳐 공유되면 모델은 양측의 모든 위치에서 그 정보를 모으기 위해 훈련됨.
x에 대해 인수분해 순서 z를 샘플링하고 인수분해 순서에 따라 likelihood를 분해함.
동일한 파라미터가 공유되어 훈련하는 동안 x_zt는 자신과 동일하지 않은 모든 요소를 만나 bidirectional context를 포착할 수 있음.
이 objective는 sequence 순서가 아니라 인수분해 순서만 바꿈.
→ 원래의 sequence 순서를 유지하고 원본 sequence에 해당하는 positional encoding을 사용해 인수분해 순서 permutation에 해당하는 attention mask를 얻음.
- Two-Stream Self Attention for Target Aware Representation
permutation language modeling은 standard transformer에 naive하게 적용하기 어려움.
→ 이를 확인하기 위해 softmax를 사용해 next-token의 분포를 파라미터화한다고 가정함.
hidden representation이 z_t에 의존하지 않아 유용한 representation을 배울 수 없는 위치에 상관없이 동일한 dstn이 예측됨.
ex) [3, 2, 1, 5, 6, 4], [3, 2, 1, 4, 6, 5] time step가 4인 단어 예측한다면 ..
같은 내용을 참고하는데, 다른 토큰을 예측해야 하는 모순점 발생 !
이를 해결하기 위해 next-token의 dstn이 target postion을 인식할 수 있게 다시 파라미터화를 함.
g함수는 target position z_t를 추가적으로 받는 새로운 유형의 representation을 나타냄.
standard transformer architecture가 적합하지 않은 이유
- x, g를 예측하기 위해 position z_t만 사용해야 함. 그렇지 않으면 objective가 간단해짐.
- j > t 일 때 다른 x를 예측하기 위해 완전한 context 정보를 제공해야 하므로 content를 encoding 해야 함.
target-aware representation은 target prediction에서 모호성을 제거하지만, g 함수를 어떻게 수식화할지가 문제임.
target position z_t에 stand하고 position z_t에 의존하여 context x의 attention을 통해 정보를 합치기를 제안함.
→ 두 세트의 hidden representation 사용하도록 제안
이전 시점에 대한 정보는 가지고 있고, 현재 시점에 예측해야 하는 정보의 위치와 관련된 정보를 추가함.
- content representation : h는 transformer의 standard hidden state와 비슷한 역할을 함. content, x_zt를 모두 encoding함.
첫 번째 층 query stream은 훈련가능한 vector로 초기화됨. - query representation : g는 contextual 정보 x_z<t와 position z_t에는 접근할 수 있지만 context x_zt에는 접근할 수 없음.
content stream은 word embedding 값으로 구성됨.
- Partial Prediction
permutation language modeling은 장점이 있지만, 최적화가 어렵고 수렴이 오래 걸림.
→ 인수분해 순서에서 마지막 토큰만 예측함.
z를 non-target subsequence z≤c와 target subsequence z>c로 분할함.
objective는 non-target subsequence에서 target subsequence conditioned의 log-likelihood를 최대화하는 것임.
선택되지 않은 토큰들은 query representation을 계산하지 않아 메모리를 아끼고 속도 향상됨.
- Incorporating Ideas from Transformer-XL
긴 텍스트를 처리할 수 있는 SOTA AR language model인 transformer-XL에서 사용되는 기술을 pre-training framework에 포함시킴.
- relative positional encoding scheme
- segment recurrence mechanism
→ 제안된 세팅에 recurrence mechanism을 통합하고 previous segment의 hidden state를 다시 사용할 수 있는 방법 설명
긴 시퀀스에서 두 개의 segment를 입력으로 받는다고 가정함.
x bar = s_1:T, x = s_T+1, 2T
z bar = [1, … , T], z = [T+1, … , 2T]의 permutation
z bar를 통해 첫 번째 segment를 계산하고 각 층 m에 대해 얻어진 content representation h bar (m)를 캐시함. 다음 x에서는 다음과 같은 식으로 attention update를 함.
positional encoding은 원래 시퀀스의 실제 position에만 의존하기 때문에 h bar (m)이 계산되면 z bar와 독립적임. 이를 통해 이전 segment의 인수분해 순서에 대한 정보 없이 메모리를 캐싱하며 사용할 수 있음.
- Modeling Multiple Segments
많은 downstream task : multiple input segment을 가짐.
무작위로 선택된 두 개의 segment를 합쳐서 하나의 시퀀스로 permutation language modeling을 진행함.
- Relative Segment Encoding
BERT는 word embedding에 각 position에 따라 absolute segment embedding을 적용,
XLNet은 transformer-XL에 제안한 아이디어를 확장해 relative segment encoding을 적용함.
sequence에서 i, j인 position pair가 있고, i, j가 같은 segement에 있을 때 segment encoding s_ij = s_+ or s_-를 사용함.
i가 j에 영향을 끼칠 때 s_ij는 attention weight a_ij = (q_i + b)Ts_ij를 계산하는 데 사용됨.
q_i = query vector in standard attention operation, b = learnable head-specific bias vector
장점
- inductive bias는 일반화를 개선시킴.
- absolute segment encoding을 사용해 두 개 이상의 segment를 가지는 task에 대한 fine-tuning 가능성을 열어줌.
XLNet은 BERT에서 누락되는 쌍의 dependency를 포착할 수 있음.
GPT와 같은 standard AR language model은 양방향으로 dependency를 고려할 수 없음.
결론
- BERT와 비교
BERT-Large보다 좋은 성능을 보임.
- Race task
- SQuAD 2.0 task
- GLUE task
Ablation Study
(1~4) Transformer-XL, permutation LM이 XLNet 성능에 기여함.
[5] memory caching mechanism을 제거하면 성능 떨어짐.
[6-7] span based-pred, bidrectional data가 성능에 중요한 역할을 함.
BERT에서 제안된 next-sentence prediction objective가 성능 개선에 필수적이 아님.
'논문 리뷰' 카테고리의 다른 글
[ResNet : Deep Residual Learning for Image Recognition] (0) | 2023.04.02 |
---|---|
[Faster R-CNN : Towards Real-Time Object Detection with Region Proposal Networks] (0) | 2023.04.02 |
[BERT : Pre-training of Deep Bidirectional Transformers for Language Understanding] (0) | 2023.03.25 |
[Improving Language Understanding by Generative Pre-Training] (0) | 2023.03.20 |
[Attention Is All You Need] (0) | 2023.03.20 |