NLP domain에서 unsupervised representation learning이 매우 성공적인 결과를 보여주고 있다. 많은 양의 unlabeled corpus를 이용해 Pre-training을 하고, 얻어진 representation을 직접적으로 활용하거나 pre-trained model을 downstream task에 대해 fine-tuning 하는 방법이다. Pre-training 단계에서도 여러 objective들이 이용되어 왔는데, 그 중 가장 대표적인 두 가지를 소개한다.
일반적인 Language Model (LM)의 학습 방법으로 이전 token들을 보고 다음 token을 예측하는 방식이다. AR은 한쪽 방향의 정보만을 이용할 수 있다.(either forward, backward)
단 : 따라서 양방향 문맥을 활용해 문장에 대해 깊이 이해하기 어렵다.
ex) ELMo, GPT 등
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에 해당한다.
AR language modeling과 BERT의 language model pre-training을 비교한다.
AR model은 likelihood를 maximizing하는 방향으로 pre-traing을 진행한다. BERT는 Denosing AE가 기반인 모델이다. 두 가지 pre-train의 장단점을 비교한다.
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된다.
AR model의 장점을 유지하고 model이 bi-directional context를 capture할 수 있도록 permutation language modeling objective를 제안한다.
permutation 개념
토큰을 랜덤으로 셔플한 뒤, 그 뒤바뀐 순서가 마치 원래 그랬던 것 처럼 언어모델을 학습하는 기법이다. 퍼뮤테이션 방식으로 예측을 수행하면, 문장 전체 문맥을 살필 수 있게 된다. 예측해야할 단어를 제외하고 모든 문장의 부분집합 전부를 학습한다.
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 구조를 제안한다.
t 이전 시점의 token 정보(x)+ t시점의 위치정보(w)
t시점과 t이전시점의 token정보 (standard transformer와 같은 연산방식)
permutation으로 MLE를 수행하면 학습시에 수렴이 너무 느리니 특정 순서의 마지막 몇 개를 예측에 이용한다.
transformer-XL에서 사용되는 두가지 중요한 기술 relative positional encoding scheme과 segment recurrence mechasnism을 pre-training framework에 포함시켰다.
absolute position encoding: sef-attention 기반인 transformer는 CNN, RNN과 달리 단어들의 상대적 혹은 절대적 위치 정보를 직접적으로 모델링하지 않는다. 대신 input에 단어의 절대적 위치에 대한 representation (absolute positional encoding)을 추가하는 방식으로 순서에 대한 모델링을 할 수 있게 한다.
하지만 이런 absolute positional encoding 방법은 하나의 segment 내에서는 위치에 대한 의미를 표현할 수 있으나 Transformer-XL과 같이 여러 segment에 대해 recurrent 모델링을 하는 경우 문제가 있다.
단어 위치상으로 같다고 인식할 수 있게 단어 간 ‘상대적 위치 정보’를 모델링 하는 기법을 제안한다.
긴 문장에 대해 여러 segment로 분리하고 이에 대해서 recurrent하게 모델링하여 긴 sequence도 잘 고려할 수 있도록 한다.
Relative Segment Encodings은 두가지 장점이 있다.
1. relative encoding의 inductive bias는 일반화를 향상시킨다.
2. absolute segment encoding을 사용하여 불가능한 두 개 이상의 segment가 있는 task에 대한 fine-tune 가능성을 열었다.
Adam optimizer를 사용하였고 학습 데이터 양에 비해 많은 학습을 하지 않은다. 실제로 모델이 학습 데이터에 대해 underfit 하지만 학습(pre-training)을 더 하더라도 downstream 테스크에 대해서는 크게 도움이 되지 않았다. 모델이 데이터 스케일을 충분히 leverage하지 못하는 것을 원인으로 추측하고 있지만, 모델이 너무 커지면 fine-tuning에서의 실용성이 떨어지기 때문에 더 크기를 키우지는 않았다.
XLNet AR의 장점 + AE의 장점을 combine하기 위해 permutation objective 사용한 AR 기반의 모델이다. 또한 XLNet이 원활하게 work하기 위해 Transfromer-XL의 기술이 합쳐지고, two-stream attention mechanism으로 디자인 됐다. XLNet은 이전 pretraining objectives를 넘어선 상당한 발전을 이루었다.