사전 훈련 언어 모델은 많은 자연어 처리 테스크에서 좋은 성능을 보여주고 있다. 문장들의 관계를 예측하는 자연어 추론(NLI), 의역(parapharsing)과 같은 문장 단위의 테스크 뿐만 아니라 개체명 인식(NER), 질의 응답(QA)등의 토큰 단위의 테스크에서도 좋은 성능을 내고 있다.
사전 훈련 언어 모델은 사전 훈련된 모델을 전이 훈련할 때 2가지 방식으로 진행된다. ELMo에서 사용한 목표 테스크에 부합하는 Architecture를 추가하는 방식인 "Feature-based" 방식과 GPT1에서 사용한 테스크에 맞게 최소한의 parameter를 추가하는 "fine-tunning"방식이 있다. 두 방식 모두 사전 훈련 과정에서 단방향으로 언어 모델을 학습한다.
본 논문에서는 fine-tuning 방식의 접근을 하는 BERT(Bidirectional Encoder Representations from Transformers)를 제안한다. 그리고, 위에서 제기한 문제들을 사전 훈련 과정에서 MLM(maked language model) 목표를 사용하여 개선한다. MLM은 입력 토큰들중 일부를 랜덤으로 masking하고 오로지 문맥을 고려하여 masking된 단어의 원본을 맞추는 방식이다. Left-to-Right방식과 달리 MLM은 왼쪽 오른쪽 단어들을 모두 참고하며 이를 통해 deep bidirectional Transformer를 사용할 수 있다. 또한, BERT는 사전훈련 과정에서 "Next Sentence Prediction"을 추가했다.
Word Embedding 벡터를 사전 학습하기 위해 다음 단어를 예측하는 방식과 왼쪽과 오른쪽 단어가 올바른 단어인지 구분하는 방식을 사용하였다. 이러한 방식은 문장 단위의 임베딩과 구문 단위의 임베딩으로 일반화 할 수 있다. 이전 연구에서는 문장 표현(Sentence representation)을 훈련하기 위해 다음 문장 후보들을 예측하거나, 이전 문장을 사용하여 다음 문장을 생성하는 방식을 사용했다.
ELMo는 전통적인 word Embedding을 다른 방식으로 일반화했다. ELMo는 left-to-right과 right-to-left feature 언어 모델을 사용하여 문맥에 민감한 feature를 추출했다. ELMo는 사전 훈련으로 만든 contextual word embedding과 테스크에 맞게 설계된 구조를 사용하여 QA, 감성 분석, 개체 인식에서 SOTA를 달성했다.
모든 시퀀스의 첫번 째 토큰은 special classification token()을 사용했다. 마지막 hidden state의 CLS 토큰에 모든 시퀀스 정보를 통합하여 넣어주고 이 CLS 토큰을 활용하여 분류 작업을 수행한다.
BERT는 양방향으로 언어를 학습합니다. 양방향 학습은 각 단어가 "자기 자신을 볼 수 있게"하고 이를 통해 making된 target 단어를 여러 차원의 문맥을 고려하여 예측할 수 있다.
Masked LM(MLM) : 깊은 양방향 표현을 학습하기 위해 일정 비율의 입력 token을 랜덤하게 masking하고 이를 예측한다. 각 시퀀스의 모든 WordPiece 토큰의 15%를 랜덤하게 마스킹했다. BERT에서는 마지막 hidden 벡터들 중 mask token에 해당하는 token들을 출력 softmax에 넣어주어 단어를 예측하는 방식으로 MLM을 한다.
MLM으로 양방향 표현을 학습한 사전 훈련 모델을 학습할 수 있지만, Fine-tuning과정에서 [MASK] 토큰을 쓸 수 없다. 이런 문제를 완화하고자 masking과정에서 항상 [MASK] 토큰을 사용하지 않는다.
Transformer의 Self attention 메커니즘을 사용한 덕분에 BERT의 down stream 테스크에 대해서 Fine-tunning 과정이 간단했다. Input과 output을 적절하게 바꿔주기만 하면 된다.
각각의 테스크에 대해서 단순히 테스크에 맞는 입력과 출력을 만들어 주면 되며 fine-tuning과정에서는 모든 파라미터를 튜닝한다.
[CLS]
representation이 출력 레이어에 사용된다.