현재 state-of-the-art representation learning 방식은 일종의 denoising autoencoder의 학습 방법
MLM 태스크는 양방향 표현을 학습하기 때문에 전통적인 language-model pre-training보다 효과적이지만, 문제점이 존재함.
이 논문에서는 이러한 문제점을 보완하기 위하여 “replaced token detection”을 제안 (2에서 상세설명)
Introduction에서 간략히 설명했던 것처럼 replaced token detection 태스크로 트레이닝하기 위해서는 입력 문장의 토큰 중 일부를 다른 토큰으로 바꾸는 Generator와 진짜와 가짜 토큰을 구분하는 Discriminator가 필요
Generator
masked language modeling과 같은 방식. 아래와 같은 순서로 학습 진행.
입력 이 주어졌을 때, 먼저 마스킹할 위치()를 랜덤으로 k개 선택
선택된 위치를 [MASK] 토큰으로 치환 : 로 표기
마스킹된 위치 에 대해서 softmax layer로 특정 토큰 를 생성할 확률을 계산함(마스킹된 위치에 올 토큰을 예측하는 것과 같은 의미)
마스킹된 토큰의 확률을 최대가 되도록(maximum-likelihood) 학습
Discriminator
입력 토큰 시퀀스에 대해서 각 토큰이 원 입력의 토큰(original)인지 치환된 토큰(replaced - generator에서 생성한 토큰)인지 이진 분류. 아래와 같은 순서로 학습 진행.
Generator에서 마스킹한 입력 토큰을 예측. 이 때, generator에서 결정한 마스킹할 위치()에는 [MASK]이 아닌 softmax 분포()에서 샘플링한 토큰으로 치환(corrupt/replaced)됨.
각 토큰의 위치 가 주어졌을 때, sigmod layer로 가 “실제" 토큰인지 아닌지를 예측. 즉, generator가 생성한 토큰인지 아닌지 예측하는 방식으로 학습
GAN과의 차이점
최종적으로 ELECTRA는 대용량의 코퍼스 에 대해서 아래와 같은 loss를 최소화 하도록 학습함.(generator loss + discriminator loss)
모델의 성능 개선을 위하여 몇 가지 기법을 추가함. 모델 개선 실험에서는 BERT-Base와 동일한 크기와 데이터를 사용.
스텝 동안 을 이용하여 generator만을 학습
generator의 가중치로 discriminator의 가중치를 초기화. 스텝 동안 를 이용하여 discriminator만 학습(generator의 가중치는 고정)
또한, 강화 학습을 이용하여 generator를 GAN과 같이 적대적인 방법으로 학습하는 방법도 시도함.