ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators 논문 리뷰
이건 사실 내가 ** challenge 할 때 이름을 많이 들었다. BERT랑 비슷한데 좀 다른 거라고만 알고 있었는데 옆자리 사람이 한번 읽어보라고 해서 읽게 되었다.
ELECTRA를 만들게 된 배경
BERT와 같은 MLM(Masked Language Modeling)은 비효율적이다. MLM 모델은 문장 일부를 [MASK] token으로 바꾸고, 모델이 이 [MASK]가 원래 뭐였는지 맞추도록 학습을 시키는데, 이러면 문장의 일부로만 학습을 할 수 있기 때문이다. 그래서 이 논문에서는 여기에 단계를 하나 더 추가했다.
ELECTRA와 MLM 모델의 비교
MLM은 generator라고 볼 수 있다. ELECTRA는 generator + discriminator다. 첫번째 MLM은 BERT처럼 [MASK] token이 원래 어떤 단어였는지를 유추하고, Discriminator 모델은 MLM이 만든 문장의 각 token이 진짜인지 가짜인지를 유추한다. 이렇게 하면 문장 전체를 사용해서 학습을 하는 것이기 때문에 MLM만 사용하는 것보다 효율적이다.
Generator
generator의 output은 x_t의 probability. Softmax를 사용했다.
Discriminator
문장 x 에서 position t의 token이 진짜일 확률. Sigmoid를 사용했다.
Loss
GAN과는 다르게 MLM이 generate 한 token이라도 원래 문장의 token과 일치하면 Discriminator가 Real이라고 판별해야한다. 또, generator(MLM)에서 sampling을 하기 때문에 loss back-propagate이 불가능해 Adversarial training을 하지 못한다.
Experiments
성능은 당연히 잘 나왔겠지? 사실 여기는 읽고 싶지 않아서 안 읽었기 때문에 생략하겠다. 멋진 점은 ELECTRA-Small이 GPU 하나만 가지고 4일 training 하고서도 대충 비슷한 BERT 모델보다 GLUE가 5 높았고, 엄청 큰 GPT 보다도 잘 했단다.
Conclusion
ELECTRA는 효율적일 뿐만 아니라 downstream task에도 성능이 좋게 나왔다고 한다.
후기
ELECTRA 논문을 읽으려는 사람에게 이 글이 도움이 될까? 잘 모르겠다. 그래도 나름 열심히 쓴다고 썼는데.... 다음 논문 리뷰는 더 열심히 읽고 꼼꼼히 써봐야겠다.
첫댓글 마침 일렉트라에 관심이 많았었는데 리뷰가 올라오다니 깜짝 놀랐네요! 정독할게요~~
어머 정말 우연의 일치네요~~~
와 저도 마침 이 논문 읽고 있었어요..! 추천 누르고 갑니다~
ㅎㅎ 도움이 되면 좋겠네요~~