<aside> 💡 BERT: Pre-trainig of Deep Bidirectional Transformers for Language Understanding
</aside>
Feature-based approach
: 특정 task를 수행하는 network에 pre-trained language representation을 추가적인 feature로 제공. 즉, 두 개의 network를 붙여서 사용
→ 임베딩은 그대로 두고 그 위에 레이어만 학습하는 방법
e.g. ELMo
fine-tuning approach
: task-specific한 parameter를 최대한 줄이고, pre-trained된 parameter들을 downstream task 학습을 통해 조금만 바꿔주는 방식 → 임베딩까지 모두 업데이트 하는 기법 e.g. GPT, BERT
ELMo, OpenAI GPT는 일반적인 language model을 사용
⇒ 앞의 n 개의 단어를 가지고 뒤의 단어를 예측하는 모델을 세우는 것
⇒ 이는 필연적으로 undirectional
ELMo : Bi-LSTM으로 양방향을 가지려고 노력
→ but 굉장히 shallow(단방향으로 좌측, 우측 각각 학습)
BERT는 양방향으로 동시에 학습을 진행
사람도 언어를 이해할 때 양방향으로 이해하기 때문에 양방향 학습을 진행하면 성능이 좋아질것이라 생각됨.
: 랜덤하게 몇개의 token을 mask 시킨 후, 이를 Transformer 구조에 넣어서 주변 단어의 context만 보고 mask된 단어를 예측함