[2020]ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators
짧은 요약(Abstract) :
* MASK -> small generation model to replace -> replaced token detection
* outperform existing models 단어정리
- reminiscent: 연상시키는, 기억하는, 추억에 잠기는
- ablations: 제거, 소거
- circumventing: 피하다, 면하다, 피해가다
- speculate: 추측하다
- stepping stones: 디딤돌
1 INTRODUCTION
- 최근 representation learning method sota는 denoising auto-encoder
** train to recover
** MLM 근데 compute cost 매우 큼 - 위 이유로 replaced token detection 제안
** Efficient Learning Encoder that Classifies Token Replacement Accurately(ELECTRA) 명명
** ablation(경감, 제거)들 덕에 학습속도 오르고 정확도도 오름
** SQuAD2.0 SOTA등 성능 향상
2 METHOD
- small MLM(generator) + discriminator
** GAN 같지만 아님, MLE로 학습, P-T학습 후, F-T로 학습 - 두 네트워크 학습
** Generator G & Discriminator D
** 각 encoder로 구성
** Seq->vector representation h(x)
** xt = [MASK]
** 식: pG(Xt|x) = exp(e(xt)^T hG(x)t) / Sigma x’ exp(e(x’)^T hG(x)t)
** discriminator는 replace 판별
** 식: D(x,t) = sigmoid(W^T hD(x)t)
** real/fake로 구분
** MLE로 train - 기타
** RL도 시도, MLE보다 성능 별로
** nonise input x
** 합산 loss minimize
** discriminator loss BP(Back Propagation) 안 함(샘플링이 중간에 있어서 못 함)
3 EXPERIMENTS
3.1 EXPERIMENTAL SETUP
- GLUE
** textual entail(RTE, MNLI), QA entail(QNLI), paraphrase(MRPC), Q parapharse(QQP)
** text sim(STS), sentiment(SST), linguistic acceptence(CoLA)
** Spearman Correlation for STS ** Mathew Correlation for CoLA
** Accuracy for others - SQUAD
** 1.1 -> 길이 선택 QA text
** 2.0 -> 답 불가능한 경우 포함
** EM(Exact Matching), F1 score로 평가
** 버트와 같은 data로 학습
** 라지모델로 XLNet과 같은 data로 학습
** 하이퍼파라미터 버트와 같음
** SQuAD위해 XLNet을 top으로
** random seed에 상당히 영향 받음
*** 10개 fine-tuning 중간값으로 평가
3.2 MODEL EXTENSIONS
- 버트 베이스를 기준으로 함
Weight Sharing
** weight sharing으로 효율성 올림(gen과 disc의)
** 작은 gen이 효율적
** weight 변화 실험 진행
** 500K step 학습
** MLM이 representation에 효과적
** gen, disc 다른 사이즈인 경우 손해가 있음에도 모든 enc의 웨이도 쉐어 시도는 성능 올림
** 그래서 tie embedding 사용Smaller Generators
- compute time 더 걸리니 smaller generator 사용
** layer size 줄임, discriminator의 1/4에서 1/2일 때 성능 best
** 너무 크면 disc가 처리하기 힘듬(오래걸림, 파라미터 많아져서?)Training Algorithms
- 학습 알고리즘
** gen 학습 L MLM으로
** weight 초기화 후 L Disc로 학습, gen의 weight는 freeze
** inint 없으면 학습 어려움
** 위 학습 알고리즘 통해 성능 향상함
** Adversarial train 문제
** MLM 보다 성능 안 나옴
*** poor sample 때문으로 추축
3.3 SMALL MODELS
- 효율적 P-T가 목적이므로 작은 버트 사용
** 일렉트라 small 성능 굉장히 좋음(사이즈 대비)
3.4 LARGE MODELS
- 일렉트라 라지 모델 train
** 토큰대체 탐지 효과성 측정 위해
** 버트 라지만하게 만듬
** compute는 1/4만 듦
** 성능은 오름
3.5 EFFICIENCY ANALYSIS
- 효율성 분석
** 여전히 많은 input 받음
** 디딤돌 설정
** disc가 15%만 loss하게 설정
** gen model의 토큰 사용 [MASK] 대신
** mask만 예측
** 모든 token MLM & 예측
** mask 외에도 다 예측
** 성능 향상됨을 확인
** 위를 통해 P-T와 F-T 사이의 mismatch를 줄인 것으로 생각
** 속도 뿌누 아니라 정확도도 상승, 파라미터 효율적 코드 달성
4 RELATED WORK
연관 work
Self-Supervised Pre-training for NLP
- PLM(NLP)
** word representation
** contextual representation
** BERT
** MASS, UniLM, ERNIE, SpanBERT
** XLNET
** 두개의 attention 사용 (P-T 때), F-T땐 1개
** P-T speed up 초점: ELECTRA
Generative Adversarial Networks
- GAN
** text applied(Yu 2017, Zhang 2017)
** MLE 보다 성능은 떨어짐
** 본논문과 maskeGAN이 비슷함
Contrastive Learning
- 대조학습
** 가상 negative sampling 구분 기법
** 여러 모델서 적용
** NCE(Noise-Contrastive Estimation) 측면서 일렉트라와 연관
** Word2Vec이 contrastive learning임
** 일렉트라는 거대한 CBOW + negative sampling으로 볼 수 있음
** 다만 CBOW는 트랜스포머 사용하지 않고 unigram token distribution 분포를 사용함
5 CONCLUSION
- replace token detection 제안
** 계산 효과적, 성능 상승(down stream에서)
** NLP P-T 더 효율적이면서도 성능이 유지되는 것->future work