BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unla
arxiv.org
1. Introduction
기존 기술들이 fine-tuning approach를 제한
⇒ 새로운 fine-tuning approach transformer 제시
BERT(Bidirectional Encoder Representation from Transformers)
MLM(Masked Language Model)을 이용해 단방향의 제약 해결
⇒ input 에서 일부 masking 해두고 context 맥락만을 이용해 이를 예측하는 모델
⇒ pretrain deep bidirectional transformer 가능케 함
추가로 “next sentence prediction” ⇒ text pair representation pretrain
2. BERT

framework의 두가지 단계
- pre-training
- unlabeled data에 의해 학습
- fine-tuning
- pre-trained parameter들로 초기화 ⇒ downstream task의 labeled data로 파라미터 미세조정
BERT는 다른 task에 대해서도 architecture가 동일하다는 것이 특징
- Model architecturebase 모델 layer L = 12, H(hidden size) = 768, A(attention head) = 12, total parameter = 110M
- attention is all you need(2017) 논문기반 multi layer bidirectional Transformer encoder

- input / output representation모든 sequence의 첫 token은 항상 CLS 토큰 (classification token)
- CLS token?
- CLS 토큰이란? / 파이썬 BERT CLS 임베딩 벡터 추출 예제
- 각 문장에 학습된 embedding을 더해 구분 쉽도록
- 입력은 한 token sequence 에서 하나의 문장이 들어가거나 <Question, Answer>의 쌍이 들어감
2.1 pre-training BERT

기존 left-to-right or right-to-left transformer와 달리 bidirectional transformer
⇒ 두개의 unsupervised task를 이용해 BERT 학습
- Task 1: Masked LM⇒ 그 후 masked token 예측 ⇒ 이를 masked LM 이라함(MLM)
- 더 다양한 token 학습을 위해 80%는 masked, 10%는 random word, 10%는 원본 그대로 사용
- bidirectional representation을 위해 input token에서 random하게 일부 masking
- Task 2: Next Sentence Prediction(NSP)문장 A 와 B를 이어 붙이는데 이때 B는 반반의 확률로 A와 관련 있거나(IsNext) 관련 없거나(NotNext)
- 문장간의 관계를 이해하는 모델을 훈련시키기 위해 binarized next sentence prediction task pre-train
2.2 Fine-tuning BERT
BERT 에서는 self-attention을 이용해 두 문장간에 bidirectional cross attention
간단하게 말해 task specific input과 output을 BERT에 넣고 end-to-end로 파라미터 fine-tuning
fine-tuning마다 입력 형태가 다를 수 있음(구문 분석 쌍, 가설-전제 쌍, 질문-답변…등등)

task에 따라 달라지는 fine-tuning 형태