"ELECTRA : Pre-training Text Encoders as Discriminators Rather Than Generators" - Kevin Clark, Minh-Thang Luong, Quoc V. Le, Christopher D. Manning (2020)

Abstract
기존에는 MLM(Masked Langauge Modeling) 방식으로 학습함. 이는 양방향 학습이 가능하지만 전체 토큰 중 15%에 대해서만 학습을 하고, 학습 때는 [Math Processing Error] 토큰을 모델이 참고해 예측하나, 추론 시에는 이 토큰이 존재하지 않는다는 문제를 가지고 있음.
이런 문제를 해결하기 위해 RTD(Replaced Token Detection)이라는 새로운 pre-training 방식을 제안함.
Related Work
- self-supervised pre-training for NLP
main task에 사용되는 데이터는 별도의 레이블이 필요함. 그러나 기존에 pre-train된 main task 데이터는 별도의 레이블이 필요하지 않은 데이터이기 때문에 데이터를 대량으로 확보하고 학습하기 편함. 이처럼 레 링블 이ㅇ요하않지 은은이터에서 학습을 하는 것을 self-supervised learning이라고 함.
레이블링이 필요하지 않은 대규모 데이터로부터 얻은 지식을, 소량의 데이터가 있는 task에 전이학습 형태로 제공하여 성능을 향상시킬 수 있음.
- Generative Adversarial Networks (GANs)
GAN 기반 생성모델은 학습의 불안정성을 가지고 있음. 판별자와 생성자가 적대적으로 경쟁하며 학습하는 방식을 가지고 있어 high-dimensional space에서 내쉬 균형을 찾기가 쉽지 않음.
* 내쉬 균형 : 게임 상황에서 모든 참여자가 자신의 선택을 최적화하여 상호작용하는 상태
- Contrastive Learning
2개의 샘플이 하나의 쌍을 이루어 네트워크의 입력으로 사용되며 그 데이터들이 서로 비슷한지 학습하는 방식임. 두 샘플이 서로 다른 negative 쌍을 나타내며 모든 쌍을 고려하는 것은 불가능하므로 학습에 도움이 되는 negative 쌍을 잘 골라내는 것이 목표임.
Model

generator G와 discriminator D 두 개의 네트워크를 학습시킴. G와 D는 모두 transfomer encoder로 구성되어 있음.
- generator G

position t에 대해 softmax layer로 토큰 x_t를 genration할 확률을 출력함. e는 토큰 임베딩을 의미함.

기존 MLM과 똑같이 학습됨. input x = [x_1, x_2, ..., x_n]이 주어지면 input에서 랜덤으로 마스크할 부분을 뽑아 [MASK] 토큰으로 대체함. [MASK] 토큰으로 대체한 부분은 x^masked = REPLACE(x, m, [MASK])로 표기함.
generator는 masked된 토큰의 실제 input을 예측하도록 토큰을 생성함. 생성된 토큰은 x^corrupt = REPLACE(x, m, x_hat)로 표기하고, 이가 discriminator의 input으로 들어감.
- discriminator D

generator가 생성한 토큰 시퀀스에 대해 각 토큰이 original인지 replace인지에 대한 태스크로 전환해 이진분류를 진행함.
- Loss function


generator(MLM) loss와 discriminator loss의 합이 최소화되도록 학습시킴.
G에 샘플링 과정이 있기 때문에 D의 loss는 G로 역전파되지 않음.
pre-training을 시킨 후, D를 fine-tuning하는 방식으로 작동함.
Experiments
GLUE Benchmark, Stanford Question Answering (SQuAD) 데이터셋을 사용함. pre-training의 경우 Wikipedia, BooksCorpus를 사용하였고, Large model은 ClueWeb, CommonCrawl, Gigaword를 사용함.
모델의 구조, 하이퍼파라미터 대부분은 BERT와 동일하게 세팅함.
- Weight sharing

generator, discriminator 모두 트랜스포머 인코더 구조여서 두 네트워크의 가중치를 공유하여 학습할 수 있음.
동일한 구조의 두 네트워크가 주어졌을 때 임베딩의 가중치만 공유하고 그외 가중치는 따로 학습하는 방법과 모든 가중치를 서로 공유하는 방법, 공유하지 않은 방법을 시도해 본 결과 모든 가중치를 공유하는 것이 가장 좋은 성능을 보였음.
하지만 generator, discriminator의 크기를 반드시 동일하게 맞춰야 한다는 제약이 존재하여 더 작은 generator를 사용하는 대신 임베딩만 공유하는 방식으로 이후 실험을 진행함.
- Smaller Generators
generator와 discriminator의 크기를 동일하게 가져가면 MLM 모델에 비해 계산량이 두 배가 필요함. 따라서 generator의 크기를 줄이는 실험을 진행했고 discriminator의 크기 대비 1/4 ~ 1/2 크기의 generator를 사용했을 때 가장 좋은 성능을 보임.
- Training Algorithms
training objective는 generator와 discriminator를 jointly 학습시키는 방식임.
two-stage 학습 : generator만 [Math Processing Error] 으로 [Math Processing Error] 스텝 동안 학습시키고, discriminator를 generator의 학습된 가중치로 초기화하고 [Math Processing Error]로 discriminator만 [Math Processing Error] 스텝 동안 학습시키는 방식
adversarial 학습 : GAN처럼 adversarial training을 모사해서 학습시키는 방식
- Small Models

하나의 GPU로도 빠르게 학습할 수 있는 모델을 만들어 실험
BERT-Small, GPT보다 좋은 성능을 보임.
- Large Models

RoBERTa나 XLNet의 1/4 계산량(FLOPs)만으로 비슷한 성능을 보임.
- Eifficiency Analysis

ELECTRA 15% : ELECTRA의 구조를 유지하되, discriminator loss를 입력 토큰의 15%만으로 만들도록 세팅함.
Replace MLM : Discriminator를 MLM 학습을 하되, [Math Processing Error]로 치환하는 게 아니고 generator가 만든 토큰으로 치환함.
All-Tokens MLM : Replace MLM처럼 하되, 일부(15%) 토큰만 치환하는 게 아니고 모든 토큰을 generator가 생성한 토큰으로 치환함.
ELECTRA는 ELECTRA 15%와 Replace MLM보다 좋은 성능을 보였고, All-Tokens MLM과는 비슷한 성능을 보임.
- Hidden layer

Hidden layer의 크기가 작아질수록 BERT와 ELECTRA의 성능 차이가 커지며, 모델이 작아도 빠르게 수렴함을 알 수 있음.
'논문 리뷰' 카테고리의 다른 글
[FastText : Enriching Word Vectors with Subword Information] (1) | 2024.04.14 |
---|---|
[Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation] (0) | 2024.03.20 |
[ELMo : Deep contextualized word representations] (2) | 2024.03.06 |
[Recurrent neural network based language model] (2) | 2024.02.29 |
[Deep Neural Networks for YouTube Recommendations] (1) | 2023.08.06 |