
์ฌ์ค Attention is all you need๋ถํฐ ์ผ๋ฅธ ํด์ผ ํ๋๋ฐ ๋ ๋ฏธ๋ฃจ๋ค๊ฐ ๊ฒฐ๊ตญ BERT๋ถํฐ ๋ฆฌ๋ทฐํ๋ค. BERT๋ Transformer์ encoder๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์, ์ ๋ ฅ sequence์ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ deep bidirectionalํ ๋ชจ๋ธ์ด๋ค. encoder๊ณผ decoder ๊ตฌ์กฐ ์ค ํ๋๋ฅผ ์ ํํ๋ ์ด์ ๊ฐ ์๋ก ๋ค๋ฅธ task ์ํ์ ๋ชฉ์ ์ฑ์ ์๋ค๊ณ ํ๋๋ฐ, decoder ๋ชจ๋ธ ๋ํ ์์๋ด์ผ๊ฒ ๋ค.
๐ https://www.waqasrana.me/assets/papers/N19-1423.pdf
citation
Kenton, Jacob Devlin Ming-Wei Chang, and Lee Kristina Toutanova. "Bert: Pre-training of deep bidirectional transformers for language understanding." Proceedings of naacL-HLT. Vol. 1. 2019.
BERT๋ Bidirectional Encoder Representations from Transformers์ ์ด์ฑ์ ๋ฐ์จ ๊ฒ์ด๋ค. Transformer์ encoder ๊ตฌ์กฐ๋ฅผ ๋ฐ์ self-attention์ ์ฐ์ฐํ ๋ ์ ๋ ฅ sequence์ ๋ฌธ๋งฅ์ ์ ๋ถ ๊ณ ๋ คํ ์ ์๊ธฐ ๋๋ฌธ์ deep bidirectional representation์ ํ์ตํ ์ ์๋ค๊ณ ํ๋ค.
NLP task
sentence-level task: ์
๋ ฅ sequence์ ๋ฌธ๋งฅ ํ์
์ด ์ค์ํ๋ฉฐ, inference์ paraphrasing ๋ฑ์ด ์๋ค.
token-level task: ์ถ๋ ฅ์ด token ๋จ์๋ก ์ ์ ์ ๋ ํํ์ฌ์ผ ํ๋ฉฐ, named entity recognition, QA ๋ฑ์ด ์๋ค.
down stream task ์ ์ฉ๋ฒ
feature-based approach: task-specificํ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ํ์ ์ผ๋ก ELMo๊ฐ ์๋ค.
fine-tuning approach: ๋จ์ํ fine-tuning๋ง ์ํํ๋ฉฐ, ์์ฑํ ๋ชจ๋ธ์ธ OpenAI์ GPT๊ฐ ์๋ค.
๋ ๋ชจ๋ธ ๊ฐ๊ฐ shallow bidirectionalํ๊ฑฐ๋ unidirectionalํด์ ์ ์ฒด์ ์ธ ๋ฌธ๋งฅ ํ์
์ด ์ด๋ ต๋ค๋ ๋จ์ ์ด ์๋ค.
BERT๋ fine-tuning ๊ธฐ๋ฐ์ ์ ๊ทผ๋ฒ์ ๊ฐ์ ํ ๋ชจ๋ธ์ด๋ค. deep bidirectional representation์ ํ์ตํ๊ธฐ ์ํด MLM๊ณผ NSP ํ์ต๋ฒ์ ์ ์ฉํ๋ค.

๋ํ์ ์ผ๋ก ELMo๋ผ๋ ๋ชจ๋ธ์ด ์๋ค. ํน์ task๋ฅผ ์ํํ๊ธฐ ์ํด ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด biLM์ ์ฌ์ฉํ์ฌ ์ญ๋ฐฉํฅ๊ณผ ์๋ฐฉํฅ์ผ๋ก sequence๋ฅผ ํ์ตํ๋ค. ์๋ฐฉํฅ์ด๋ผ๊ณ ์๊ฐํ ์ ์์ง๋ง, ๊ฐ๊ฐ์ ๋ฐฉํฅ์ ๋ํด์ ๋
๋ฆฝ์ ์ผ๋ก ํ์ตํ ํ concatenateํ๊ธฐ ๋๋ฌธ์ shallow bidirectionalํ๋ค๋ ํน์ง์ด ์๋ค.
์ด๋ ๊ฒ task๋ฅผ ํ์ตํ ๋ชจ๋ธ์ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ๊ณผ ๊ฒฐํฉ๋์ด ์ถ๋ ฅ์ ์์ฑํ๋ค.
๋ํ์ ์ผ๋ก ์์ฑํ ๋ชจ๋ธ์ธ OpenAI์ GPT๊ฐ ์์ผ๋ฉฐ, ๋จ์ํ ๋น์ง๋ ํ์ต ๋ฐฉ์์ผ๋ก ์ฌ์ ํ์ต๋ word embedding์ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ๋ค. ํด๋น ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํด์ ๋ชจ๋ธ์ ์ด๊ธฐํํ๊ณ ์ง๋ ํ์ต ๋ฐฉ์์ผ๋ก ํน์ task์ ๋ง๋ ์์
๋ค์ ํ์ตํ๋ฉฐ fine-tuning๋๋ค.
์ด ๋ฐฉ์์ ์ผ๋ถ ๊ฐ์ค์น๋ค๋ง ํ์ตํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋ฆฌ์์ค์ ์๊ฐ์ ๋จ์ถํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
์์ fine-tuningํ ๋๋ ์ง๋ ํ์ต ๋ฐฉ์์ ์ ์ฉํ๋ค๊ณ ํ๋๋ฐ, ์ ์ด ํ์ต ๋ํ ๊ณ ๋ คํ๋ฉด ์ข์ ๋ฐฉ์์ด๋ค. vision task์์๋ ์ ์ฆ๋ ๋ฐ๊ฐ ์๋ฏ์ด, ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์์ ํ์ตํ ๋ชจ๋ธ์ freezeํ์ฌ ์ถ๊ฐ๋ก ํ์ตํ layer๋ง tuningํ๋ค. ์ด์จ๋ ์ด ๋ ผ๋ฌธ์์๋ Fine-tuning ๋ฐฉ์์ ์ง์คํ๋ค.
์์ ์ค๋ช ํ์ง๋ง, ์ด ๋ ๋จ๊ณ์ ํ์ต ๋ฐฉ์์ ๊ฑฐ์น๋ค. ๋น์ง๋ ํ์ต ๋ฐฉ์์ผ๋ก pre-trainingํ๋ ๋จ๊ณ์ ์ง๋ ํ์ต ๋ฐฉ์์ผ๋ก fine-tuningํ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๋ค์ํ task์๋ ๋ ๋จ๊ณ ๋ชจ๋ ๊ฑฐ์ ๋์ผํ ๊ตฌ์กฐ๋ฅผ ์ ์งํ๋ฉฐ, fine-tuning ์์๋ง ์ถ๊ฐ์ ์ธ layer๊ฐ ์ฌ์ฉ๋์ด unified architecture across different tasks๋ผ๊ณ ํ๋ค.
Model Architecture
multi-layer bidirectional Transformer encoder based ๋ชจ๋ธ์ด๋ค. ๋ง์ด ์ด๋ ค์ด๋ฐ ๋จ์ํ Transformer์ encoder ๊ตฌ์กฐ๋ฅผ ๋ฐ์จ ๊ฒ์ด๊ณ , ๋ด๋ถ๋ multi-layer๋ก ๊ตฌ์ฑ๋์ด ์๋ค๋ ๊ฒ์ด๋ค.
OpenAI์ GPT์ ๋น๊ตํ๊ธฐ ์ํด ๋ =12, =768, =12, = 110M์ผ๋ก ๊ตฌ์ฑํ๊ณ , ์์ฒด์ ์ผ๋ก๋ =24, =1024, =16, = 340M์ผ๋ก ๊ตฌ์ฑํ์๋ค.
L: Transformer block์ layer ์
H: ์๋์ธต์ dimension
A: self-attention์ ์ํํ๋ head ์
Input/Output Representations
๋ค์ํ down-stream task๋ฅผ ์ํํ ์ ์๋๋ก ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ํํ์ ํน์ํ ๊ท์น์ ์ง์ ํ์๋ค.

ํนํ ์
๋ ฅ ๋ฌธ์ฅ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ๋์ผ ๋์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์
๋ ฅํ ์ ์๋๋ก [SEP] token์ ์ฌ์ฉํ์๋ค. [SEP] token ์์ sequence๋ค์ Sentence A๊ฐ ๋์ด A๋ก embedding๋๊ณ , ๋ค์ sequence๋ค์ B๊ฐ ๋๋ค.
๋ํ ์์ฐ์ด๋ฅผ WordPiece embedding ๋ฐฉ์์ ์ฌ์ฉํ์์ผ๋ฉฐ, ๋ชจ๋ sequence์ ๋งจ ์ฒ์์๋ [CLS] token์ด ๋ถ๋๋ค. ์ด token์ ํตํด ๊ฐ์ ๋ถ์, ๋ฌธ์ฅ์ ํฌํจ ๊ด๊ณ ์ถ๋ก ๋ฑ classification์ ์ํํ ์ ์๋ค.
๋ฐ๋ผ์ ์
๋ ฅ ๋จ์ด(sub-word, token)์ ๋ํด์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด WordPiece embedding, segment embedding, position embedding ์ด ์ธ ๊ฐ์ ํฉ์ผ๋ก embedding๋๋ค.
Unsupervised!!!!!!!
Task #1: Masked LM
๋ฌธ๋งฅ์ ํตํด ๋จ์ด๋ฅผ ์์ธกํ๋ ์์
์ ์ํํ๋ค. ๋จผ์ ๋๊ท๋ชจ corpus ์ ์ฒด์ 15%๋ฅผ ์ ์ ํ๋ค. ํ์ต ์ดํ ์ค์ ๋ฐ์ดํฐ๋ก ์ถ๋ก ์ ์ํํ ๋๋ [Mask] token์ ์์ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๋ชจ๋ token์ [Mask] token์ผ๋ก ๋์ฒด๋ ๋์ ์๋์ ๊ฐ์ ๊ณผ์ ์ ์ํํ๋ค.
1 15%์ 80%๋ [MASK] token์ผ๋ก ๋์ฒดํ๋ค.
2 15%์ 10%๋ ๋๋คํ ๋ค๋ฅธ token์ผ๋ก ๋์ฒดํ๋ค.
3 ๋ง์ง๋ง 10%๋ ์๋์ token์ ๊ทธ๋๋ก ๋์ด ๋ชจ๋ธ์ด token์ ๋ณ๊ฒฝํ์ง ์์๋ ๋๋ค๋ ๊ฒ์ ์๋ ค์ค๋ค.
Task #2: Next Sentence Prediction(NSP)
์์ ์ค๋ช
ํ๋ [SEP] token๊ณผ [CLS] token์ด ์ฌ์ฉ๋๋ค. ์์๋ก ๋ ๋ฌธ์ฅ์ ์ ํํ์ฌ Sentence B๊ฐ Sentence A์ ๋ค์ ์ด์ด์ง๋ ๋ฌธ์ฅ์ธ์ง ์๋์ง๋ฅผ ํ๋จํ๊ฒ ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ชจ๋ธ์ด ๋ฌธ๋งฅ ๋ฐ ์ธ๊ณผ๊ด๊ณ๋ฅผ ํ์
ํ ์ ์๋ค.
1 ํ์ต ๋ฐ์ดํฐ์
์ 50%๋ Sentence A์ Sentence B๊ฐ ์ด์ด์ง๋ค. ์ด ๊ฒฝ์ฐ, [CLS] token์ IsNext์ ํด๋นํ๋ ์๋ต์ ๋ฐํํ๋ค.
2 ๋๋จธ์ง 50%๋ ๋ ๋ฌธ์ฅ์ ์ฐ์์ฑ์ด ์๋ค. ๋ฐ๋ผ์ [CLS] token์ NotNext์ ํด๋นํ๋ ์๋ต์ ๋ฐํํ๋ค.
Pre-training Data
์ด ๊ณผ์ ์์ ์ฌ์ฉํ ๋ฐ์ดํฐ์
์ 8์ต ๊ฐ์ ๋จ์ด๋ฅผ ๊ฐ์ง BooksCorpus์ 25์ต ๊ฐ์ ๋จ์ด๋ฅผ ๊ฐ์ง English Wikipedia์ด๋ค. English Wikipedia์ ๊ฒฝ์ฐ, ๋ชฉ์ฐจ, ํ, ์ ๋ชฉ ๋ฑ์ ๋ฌด์ํ๊ณ ์ค์ง ํ
์คํธ๋ง์ ์ฌ์ฉํ๋ค.
Supervised!!!!!!!
์ผ๋ฐ์ ์ผ๋ก ์ง๋ฌธ-๋ต๊ณผ ๊ฐ์ text pair๋ฅผ encodingํ ๋ ๊ฐ๊ฐ์ ๋ฐ๋ก encodingํ์ฌ ๋ชจ๋ธ์ ์ ๋ ฅํ๊ณค ํ๋๋ฐ, BERT๋ ์ฐ์๋ ๋ฌธ์ฅ์ผ๋ก ์ทจ๊ธํ์ฌ self-attention ๋ฉ์ปค๋์ฆ์ ์ ์ฉํ๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๊ฐ task-specificํ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ํด์ BERT์ ๋ชจ๋ ๊ฐ์ค์น๋ค์ fine-tuningํ๋ค.
์ฌ์ ํ์ต ์ ์ฌ์ฉ๋ ์
๋ ฅ sentence A์ sentence B๋ ์๋์ ๊ฐ์ด ๋์ฒด๋๋ค.
1 parapharasing: ๋ ๋ฌธ์ฅ ์
2 entailment: ๊ฐ์ค-์ ์ ์
3 QA: ์ง๋ฌธ-์ง๋ฌธ ์
4 text classification, sequence tagging: text- ์. sentence B๊ฐ ํ์ ์๊ธฐ ๋๋ฌธ์ ๊ณต๋์ผ๋ก ๋๋ ๊ฒ์ด๋ค.
์ถ๋ ฅ๋จ์์๋, token-level task๋ค์ ๋ํด์๋ token ํํ๋ค์ด ์ถ๋ ฅ layer์ ์์นํ๊ณ , classification๊ฐ์ ๊ฒฝ์ฐ์๋ [CLS] token์ด ์ฌ์ฉ๋๊ณ , ์ดํ์ ์ถ๋ ฅ sequence๋ ์์ฑ๋์ง ์๋๋ค.
NLP์ 11๊ฐ์ task์ ๋ํด์ SOTA๋ฅผ ๋ฌ์ฑํ๊ณ , ๋ฒค์น๋งํฌ ๋ฐ์ดํฐ์ GLUE, SQuAD v1.1, SQuAD v2.0, SWAG์ ๋ํด์ ํ์ตํ ๊ณผ์ ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ช ํ๊ณ ์๋ค. ์ด๋ ต์ง ์์ง๋ง ๋์ค์ ์ถ๊ฐํ๊ธฐ๋ก...
์ฌ์ ํ์ต ์ NSP๋ฅผ ์ ์ฉํ์ง ์์์ ๋, ๋ชจ๋ธ์ ํฌ๊ธฐ์ ๋ฐ๋ฅธ ์ฐจ์ด, Fine-tuning based approach ๋ฐฉ์์ feature-based approach ๋ฐฉ์์ผ๋ก ๋ฐ๊ฟจ์ ๋๋ฅผ ๋น๊ตํ๋ค.
Ablation Study๋ต๊ฒ ๋ณธ๋ก ์์ ์ค๋ช
ํ ๋ด์ฉ์ด BERT์ ์ต๊ณ ์ ์ด๋ค.
BERT๋ deep bidirectional ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฅ sequence์ ๋ฌธ๋งฅ ์์ฒด๋ฅผ ์ดํดํ ์ ์๋ค. ๋ํ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ๋ง์ผ๋ก๋ NLP ์์ ์ ๋ค์ํ task๋ฅผ ์ํํ ์ ์์ผ๋ฉฐ, fine-tuning์ ์ํํ ์์๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์์ด๋ ๋์ ์ ํ๋๋ฅผ ๋ฌ์ฑํ ์ ์์์ ๋ณด์ฌ์ค๋ค.