Patrick's 데이터 세상
논문 정리 - ELECTRA: Pre-training text encoders as discriminators rather than generators 본문
논문 정리 - ELECTRA: Pre-training text encoders as discriminators rather than generators
patrick610 2022. 5. 30. 14:36https://arxiv.org/abs/2003.10555
제목
ELECTRA: Pre-training text encoders as discriminators rather than generators
저자
Kevin Clark, Minh-Thang Luong, Quoc V. Le, Christopher D. Manning
소개
이 논문에서는 종합적으로 생성된 대체와 구별하는 방법을 학습하는 pre-training task인 대체 토큰 감지(Replaced Token Detection)를 제안한다.
마스킹하는 것 대신, Electra는 일부 토큰을 일반적으로 작은 마스킹된 언어 모델의 출력인 제안 배포의 샘플로 교체하여 입력을 손상시킨다.
이 손상 절차는 네트워크가 사전 훈련하는 동안 인공 [MASK] 토큰을 볼 수 있지만 다운스트림 작업에서 미세 조정될 때는 그렇지 않은 BERT(XLNet에서는 아님)의 불일치를 해결한다.
그런 다음 모든 토큰이 원본인지 대체인지 예측하는 판별자(discriminator)로 네트워크를 사전 훈련한다.
방법
Generator는 토큰에 대한 출력 분포를 생성하는 모든 모델이 될 수 있지만 일반적으로 Discriminator와 공동으로 훈련되는 작은 마스크 언어 모델을 사용한다.
사전 훈련 후에 생성기를 버리고 다운스트림 작업에 대한 판별자(Electra Model)만 Fine-Tunning 한다.
각각은 주로 입력 토큰 x = [x1, ..., xn]의 시퀀스를 콘텍스트화 된 벡터 표현의 시퀀스로 매핑하는 인코더(ex : Transformer network)로 구성된다.
주어진 위치 t에 대해, 생성기는 softmax layer를 사용하여 특정 토큰 xt를 생성할 확률을 출력한다.
주어진 위치 t에 대해 판별자는 토큰 xt가 '실제'인지 여부, 즉 sigmoid ouput layer를 사용하여 생성기 분포가 아닌 데이터에서 오는지 예측한다.
생성기는 MLM(Masked Language Modeling)을 수행하도록 훈련되어있다.
입력 x = [x1, x2, ..., xn]이 주어지면 MLM은 먼저 임의의 위치 집합(1과 n 사이의 정수)을 선택하여 m = [m1, ..., mk]를 마스킹한다.
선택한 위치의 토큰은 [MASK] 토큰으로 대체된다.
정리
핵심 개념은 Masked Language Model에서 나온 모든 토큰을 받아 원본인지 대체인지를 판별하는 Discriminator를 사용.
Generator로 Mask된 부분의 단어를 예측하게 하고, Discriminator가 판단해 피드백을 부여하는 방식으로 Pretraining.
성능면에서 일반 BERT 모델보다 GLUE score가 소폭 상승하는 것을 볼 수 있다.
참고
https://arxiv.org/abs/2003.10555