
๐ ํํํ ์ ๋ฆฌํ๋๊ฑธ๋ก...์๋ง ๊ฝค๋ ๋ชฐ์์ ์ฌ๋ฆด๊ฒ ๊ฐ์ง๋ง...์ผ๋ง ์ ์ ๋ฆฌ๋ทฐ ๋๋ธ BERT ๋ ผ๋ฌธ๋ถํฐ.
๐ Original Paper : https://arxiv.org/abs/1810.04805
BERT (Bidirectional Encoder Representations from Transformers) ๋ ๋ง ๊ทธ๋๋ก Transformer ๊ตฌ์กฐ์ ์ธ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ๋ชจ๋ธ์ด๋ค. Unlabeled data ๋ก๋ถํฐ pre-train์ ์งํ ํ ํน์ downstream task (๋ผ๋ฒจ ์๋ ๋ฐ์ดํฐ) ์ fine-tuning ํ ๋ชจ๋ธ์ด๋ค.
์ฌ์ ํ์ต + ํ์ธํ๋ ๋ฐฉ์์ NLP ๋ถ์ผ์์ ์๋ฆฌ์ก๊ฒ ๋ง๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ๋ก ์ผ๋ก, pre-trained ๋ BERT ๋ชจ๋ธ์ด ํ output layer ๋ง ์ถ๊ฐํ๋ฉด NLP ์ ๋ค์ํ ๊ตฌ์ฒด์ task (Question Answering, Language Inference ๋ฑ) ์ ์ํํ ์ ์๋ค๊ณ ํจ.
์ด ๋ฐฉ๋ฒ์ ๋ ผ๋ฌธ ๋์ฌ ๋ ๋น์ NLP ๋ค์ํ ์ฃผ์ 11๊ฐ์ task ์ ๋ํ์ฌ SOTA ๋ฌ์ฑํ๋ค๊ณ ์ค๋ช ํ๋ค.
BERT ๋ฑ์ฅ ์ด์ ๋ฐฉ๋ฒ๋ก ๋ค์ ์ดํด๋ณด๋ฉด, ์ด์ ์๋ ํน์ task ์ ๋ํด pre-trained ๋ language representation ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ด ํฌ๊ฒ Feature based approach ์ Fine-tuning approach ๊ฐ ์์๋ค.
๋จ์ด ์์ค์ ๊ณ ์ ๋ ๋ฒกํฐ ํํ์ ์ป์ ํ โ ํด๋น ๋ฒกํฐ๋ฅผ task specific ํ ๋ชจ๋ธ์ ์ ์ฉํ์ฌ ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ํ์ ์ธ ์์๊ฐ ELMo ๋ชจ๋ธ.

ํ๋์ pre-trained ๋ชจ๋ธ์ ํต์งธ๋ก ๋ถ๋ฌ์์, downstream task์์ ์ ์ฒด ๋ชจ๋ธ์ ํจ๊ป ํ์ต์ํค๋ ๋ฐฉ๋ฒ
๋ํ์ ์ธ ์์๊ฐ (๋
ผ๋ฌธ ๋์จ ๋น์ ๊ธฐ์ค) GPT1
"Left-to-Right" ์ธ์ด ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์์ ๋์จ ๋จ์ด ๋ณด๊ณ ํ์ฌ ๋จ์ด ์์ธกํ๋ ๋ฐฉ์์ ๋ฐ๋ฅธ๋ค.

ํ์ง๋ง ๊ธฐ์กด์ ๋ ๋ฐฉ์ ๋ชจ๋ ์ฌ์ ํ์ต ๊ณผ์ ์์ ์ด์ ๋ฐ์ดํฐ๋ค๋ง ์ฌ์ฉํ๋ unidirectional launguage models (๋จ๋ฐฉํฅ ๋ชจ๋ธ)์ด๋ค.
์ด๋ฌํ ๋ฐฉ์์ pre-trained representation ํจ๊ณผ๋ฅผ ๊ฐ์์ํค๊ณ ใ ก ํนํ Fine-tuning approach ์์ ์ด๋ฐ ๋จ์ ์ด ๋๋๋ฌ์ง.
- GPT: Left-to-right๋ง ๋ณด๋ ๋จ๋ฐฉํฅ ๋ชจ๋ธ
- ELMo: ์๋ฐฉํฅ BiLSTM์ด์ง๋ง forward, backward๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ต (Joint context ์๋)
- ์ด๋ก ์ธํด:
- ํน์ ๋จ์ด์ ์์ชฝ ๋ฌธ๋งฅ์ ๋์์ ๋ฐ์ํ๊ธฐ ์ด๋ ค์
- Fine-tuning ์์๋ ํํ๋ ฅ์ ํ๊ณ
๊ทธ๋ ๊ฒ ํด์ ์ด๋ฐ ๋จ์ ๋ณด์ โ BERT

Pre-training + Fine-Tuning ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, Pre-training ์ Masked Language Model + Next Sentence Prediction ๊ณผ์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ โ ์ดํ task specific ํ๊ฒ ๋์ด๊ฐ fine-tuning ํด์ฃผ๋ ๊ตฌ์กฐ.


BERT Base : ๋ ์ด์ด ๊ฐ์ 12๊ฐ ํ๋ ์ฌ์ด์ฆ 768์ฐจ์, ์ดํ ์ ํค๋ 12๊ฐ
์ ์ฒด ํ๋ผ๋ฏธํฐ 1์ต 1000๋ง๊ฐ
GPT ํฌ๊ธฐ์ ์ ์ฌํ๊ฒ ๋ง๋ค์ด ์ฐ๊ตฌ ์งํ
์๋ ๊ทธ๋ฆผ์ Pre-Train ๊ณผ์ ์ MLM + NSP ๊ณผ์ ๋๊ฐ ๊ฐ์ด ํํํ ๊ทธ๋ฆผ



Token Embedding : WordPiece tokenizer๋ก ๋ถ๋ฆฌ๋ subword ๋จ์ ํ ํฐ ๊ฐ๊ฐ์ ๋ํด ๊ณ ์ ํ ์๋ฒ ๋ฉ
ex. playing ์ด๋ฉด play ์ ing ๋ก ๋๋ ํํ์ ์๋ฒ ๋ฉ
Segment Embedding : BERT๋ ๋ ๋ฌธ์ฅ (sentence A, sentence B) ์ ๋์์ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ธฐ ๋๋ฌธ์, ๊ฐ ํ ํฐ์ด ์ด๋ค ๋ฌธ์ฅ์ ์ํด ์๋์ง๋ฅผ ๋ํ๋ด๋ ์๋ฒ ๋ฉ
Position Embedding : Transformer๋ ์์๋ฅผ ๊ณ ๋ คํ์ง ์๊ธฐ ๋๋ฌธ์, ๊ฐ ํ ํฐ์ ์์น ์ ๋ณด๋ฅผ ์๋ ค์ฃผ๋ ์์ ๊ธฐ๋ฐ ์๋ฒ ๋ฉ

ex) w4 ๋จ์ด๊ฐ ๋ง์คํ
๋จ โ ์ธ์ฝ๋ โ ํ๊ฐ์ classification layer ์ง๋์ w4โ ๊ฐ w4 ๊ฐ ๋๋๋ก ํ์ต์ํค๋ ๊ณผ์ ์ด masked language model ๊ณผ์ ์ด๋ค.
์ด์ฒ๋ผ ์๋ฐฉํฅ์ผ๋ก ํ์ต์ ์ํค๋, ๊ฐ๋ ค์ง ๋จ์ด๋ฅผ ์์ธกํ๋๋ก ํ์ต์ํค๋ ๊ณผ์ ์ด masked language model ์ ๋ชฉ์ .

ํ๋ฆฐ ์ ๋ณด๋ ์ฃผ๊ณ , ์ ๋ต๋ ๋ณด์ฌ์ฃผ๋ฉด์ mask ๋ ๋จ์ด ๋ง์ถ๋ ๊ณผ์ ์์ context ํ์ต์ ๊ฐํ์ํด

๋ง์ NLP์ downstream task(QA, NLI ๋ฑ)๋ ๋ ๋ฌธ์ฅ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ดํดํ๋๊ฒ์ด ํต์ฌ
BERT์ pre-training ๊ณผ์ ์์๋ NSP(Next Sentence Prediction)์ด๋ผ๋ ํ์คํฌ๋ฅผ ํตํด ๋ ๋ฌธ์ฅ A์ B๊ฐ ์ฃผ์ด์ก์ ๋, 50%๋ ์ค์ ์ฐ์ ๋ฌธ์ฅ ์(IsNext), 50%๋ ๋ฌด์์ ๋ฌธ์ฅ ์(NotNext)์ผ๋ก ๊ตฌ์ฑํ์ฌ ํ์ต์ํจ๋ค.
์ ๋ ฅ์ ์ฒซ ํ ํฐ์ธ [CLS]์ ์ต์ข hidden state๋ฅผ NSP classifier์ ํต๊ณผ์์ผ, B ๋ฌธ์ฅ์ด A์ ๋ค์ ๋ฌธ์ฅ์ธ์ง ์๋์ง๋ฅผ ์ด์ง ๋ถ๋ฅ๋ก ์์ธกํ๊ฒ ํ๋ค.
โ ์ด๋ฅผ ํตํด ๋ชจ๋ธ์ ๋ฌธ์ฅ ๊ฐ ๋ฌธ๋งฅ ๊ด๊ณ๋ฅผ ํ์ตํ ์ ์๋ค.


a. ๋ ๋ฌธ์ฅ์ด ๊ฐ์ ์๋ฏธ์ธ์ง, ๋ชจ์์ธ์ง, ์ด์ด์ง๋์ง ๋ฑ ๋ ๋ฌธ์ฅ ๊ฐ ๊ด๊ณ ํ๋จ
b. ๊ฐ์ , ๋ฌธ๋ฒ์ฑ ๋ฑ ๋ฌธ์ฅ ํ๋์ ๋ํ ์์ฑ ๋ถ๋ฅ
c. ์ง๋ฌธ์ ๋ํ ์ ๋ต์ด ๋ฌธ๋จ์ ์ด๋์ ์๋์ง ์ฐพ๊ธฐ (Q&A)
d. ๋ฌธ์ฅ ์ ๋จ์ด๋ง๋ค ์ฌ๋/์ฅ์/๊ธฐ๊ด ๋ฑ ํ์ํ๊ธฐ (NER, ์ด๋ฆ ์ธ์ ๋ฑ)


์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์์ ๋งํ ์ด์ ๋ฐฉ๋ฒ๋ก ๋ค๋ณด๋ค BERT base ์ ๋น๊ตํด๋ ์ ์๋ฏธํ ์ฑ๋ฅ ํฅ์์ด ์์๊ณ , BERT large ์ ๋น๊ตํ๋ฉด ํ ํ๋ ํฐ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ๋ชจ๋ task์์ ๋ณด์์ ์ ์ ์๋ค.


์์๋ ์ ์ฒด BERT ํ์ต๋๊ฑฐ, ๋ฐ์๋ fine tuning ์ ์ฉ ์ํ๊ณ pre-training๊น์ง๋ง ์ํํ๊ณ ๊ณ ์ (freeze) ํ ์ฑ, ํน์ ๋ ์ด์ด์ ์ถ๋ ฅ๋ง ๊บผ๋ด์ด ํ์ต์์ผ ์ฑ๋ฅ ๋น๊ตํ ๊ฒ โ pre-training ๋ ๊ฝค ์ฑ๋ฅ ์ข๋ค ์๋ฏธํจ
๐ ๋ ผ๋ฌธ ์์
Pre-training + Fine-tuning ํจ๋ฌ๋ค์์ ํ์คํ
- ๊ธฐ์กด์๋ NLP task๋ง๋ค ๋ณ๋ ๊ตฌ์กฐ ์ค๊ณ์ ํ์ต ๋ฐฉ์์ด ํ์ํ์ผ๋, BERT๋ ํ๋์ ์ฌ์ ํ์ต ๋ชจ๋ธ์ ๋ค์ํ task์ ์ผ๊ด๋๊ฒ fine-tuningํ๋ ์ ๊ทผ ์ ์
- Masked Language Model (MLM) ๊ธฐ๋ฐ์ ์๋ฐฉํฅ ๋ฌธ๋งฅ ํ์ต์ผ๋ก ๋ค์ํ ์ธ์ด ์ดํด task์์ ๋ ๊ฐ๋ ฅํ ํํ๋ ฅ ํ๋ณด
- ๋จ์ํ task-specific layer๋ง ์ถ๊ฐํ๋ฉด, ๋ฌธ์ฅ ๋ถ๋ฅ, ๊ฐ์ฒด๋ช ์ธ์, ์ง์์๋ต ๋ฑ ๋ค์ํ task์ ์ฝ๊ฒ ์ ์ฉ ๊ฐ๋ฅ
- NLP์์ Transfer Learning์ ์ค์ฉ์ ํ์ค์ ์ ๋ฆฝํ๊ณ , ์ดํ ์ธ์ด ๋ชจ๋ธ ์ค๊ณ์ ๊ธฐ๋ณธ ํ๋ก ์๋ฆฌ์ก์ (ex. RoBERTa, ALBERT, T5 ๋ฑ)