์ž์—ฐ์–ด ์ฒ˜๋ฆฌ/๋…ผ๋ฌธ ๋ฆฌ๋ทฐ (paper review)

[NLP 1] BERT : Pre-training of Deep Bidirectional Transformers for Language Understanding ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ - Introduction & Related Works

์ฃผ์˜ ๐Ÿฑ 2022. 10. 29. 17:17
728x90
๋ฐ˜์‘ํ˜•

#์Šค์Šค๋กœ ๊ณต๋ถ€ํ•˜๊ณ  ๋งŒ๋“  ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 

 

BERT : Pre-training of Deep Bidirectional Transformers for Language Understanding

https://arxiv.org/abs/1810.04805     (์›๋ฌธ)

 

 

์ž์—ฐ์–ด์ฒ˜๋ฆฌ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๊ณ  ์ค‘์š”ํ•œ ๋…ผ๋ฌธ ์ค‘ ํ•˜๋‚˜์ธ ๋ฒ„ํŠธ ๋…ผ๋ฌธ์ž…๋‹ˆ๋‹ค. 

์›๋ฌธ์„ ๋ฐ”ํƒ•์œผ๋กœ ์„ค๋ช…ํ•˜์˜€์œผ๋ฉฐ, ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ตญ์–ด ์˜ˆ์‹œ๋ฅผ ๋ฆฌ์„œ์น˜ํ•˜์—ฌ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค!

์•„๋งˆ 5๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„์–ด ์„ค๋ช…ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

 

<๋ชฉ์ฐจ>

- Introduction & Related Works

- Pre-training

- Fine-tuning

- Experiment

- Conclusion + koBert

 

 

BERT๋Š” ๊ตฌ๊ธ€์—์„œ ๊ฐœ๋ฐœํ•œ NLP ์‚ฌ์ „ ํ›ˆ๋ จ ๋ชจ๋ธ๋กœ, ํŠน์ • ๋ถ„์•ผ์— ๊ตญํ•œ๋œ ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๋ฒ”์šฉ ์–ธ์–ด ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. BERT๋Š” ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์–‘๋ฐฉํ–ฅ ์ธ์ฝ”๋” ํ‘œํ˜„(Bidirectional Encoder Representations from Transformers)์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. BERT์˜ T๊ฐ€ Transformer์ธ ๋งŒํผ, BERT๋Š” Transformer์˜ ๊ตฌ์กฐ์™€ ๊ฑฐ์˜ ํก์‚ฌํ•˜์ง€๋งŒ, ๊ธฐ์กด Transformer์˜ Encoder๋งŒ์„ ํ™œ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ธ์ฝ”๋”๋Š” ์ž…๋ ฅ์„ ์ˆซ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ชจ๋ธ์ด๊ธฐ์— BERT๋Š” ๋ฌธ๋งฅ์„ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ดํ•ดํ•˜์—ฌ ์ˆซ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋”ฅ๋Ÿฌ๋‹ ์–ธ์–ด ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

BERT๋Š” Masked ์–ธ์–ด ๋ชจ๋ธ๋ง(MLM)์„ ํ™œ์šฉํ•œ ๋นˆ ์นธ ๋งž์ถ”๊ธฐ, ๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก(NSP)์ด๋ผ๋Š” ์‚ฌ์ „ ํ›ˆ๋ จ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์ •ํ™•์„ฑ์„ ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค. 

 

์–ธ์–ด ๋ชจ๋ธ์—์„œ ์‚ฌ์ „ ํ•™์Šต์€ paraphrasing๊ณผ ๊ฐ™์€ sentence-level tasks์™€ ๊ฐœ์ฒด๋ช… ์ธ์‹, ์งˆ์˜ ์‘๋‹ต๊ณผ ๊ฐ™์€ token-level tasks์— ์žˆ์–ด ํšจ๊ณผ์ ์ธ ์„ฑ๋Šฅ์„ ๋ณด์ž…๋‹ˆ๋‹ค.

 

 

 

์‚ฌ์ „ํ•™์Šต์—์„œ ์–ธ์–ด ํ‘œํ˜„์„ downstream task์— ์ ์šฉํ•˜๋Š” ๋ฐฉ์‹์—๋Š” feature-based ์™€ fine-tuning์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋จผ์ € Feature-based ๋ฐฉ์‹์€ ํŠน์ • task๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ architecture๋ฅผ task์— ๋งž๊ฒŒ ๊ตฌ์„ฑํ•˜๊ณ  ๊ฑฐ๊ธฐ์— ์‚ฌ์ „ ํ•™์Šต๋œ ์–ธ์–ด ํ‘œํ˜„์„ ์ถ”๊ฐ€์ ์ธ feature๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ๋‘ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋ชจ๋ธ๋กœ๋Š” ELMo๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์—˜๋ชจ๋Š” left-to-right๋กœ ์ฝ๋Š” forward์™€ + right-to-left๋กœ ์ฝ๋Š” backward LSTM์„ ๊ฒฐํ•ฉํ•œ ์–ธ์–ด๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ ์—์„œ๋Š” ์–‘๋ฐฉํ–ฅ์„ฑ์„ ๊ฐ€์กŒ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋‹จ์ˆœํžˆ ๋‹จ๋ฐฉํ–ฅ๊ณผ ๋‹จ๋ฐฉํ–ฅ์„ ํ•ฉ์ณค๊ธฐ์— ์–•์€ ์–‘๋ฐฉํ–ฅ์„ ๊ฐ€์ง„๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์–‘๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ์€ ๊ณ ํ€„๋ฆฌํ‹ฐ ์–ธ์–ดํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์ ธ ๋‹จ์–ด ํŠน์„ฑ์ด๋‚˜ ๋ฌธ๋งฅ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 

์˜ˆ๋ฅผ ๋“ค์–ด play๋ผ๋Š” ๋‹จ์–ด๋Š” Glove์—์„œ๋Š” playing,game,players์™€ ๊ฐ™์€ ์Šคํฌ์ธ ์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์œผ๋กœ ํ•™์Šต๋˜์ง€๋งŒ, ELMo์—์„œ๋Š” ์—ฐ๊ทน์„ playํ•˜๋‹ค๋ผ๋Š” ์˜๋ฏธ์™€ ์Šคํฌ์ธ ๋ฅผ playํ•˜๋Š” ๊ฒƒ, ๋‘ ๊ฐ€์ง€๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ์ž„๋ฒ ๋”ฉ๋˜์–ด ์˜๋ฏธ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

 

 

๋‹ค์Œ์œผ๋กœ Fine-tuning ๋ฐฉ์‹์€ task์— ๋งž๊ฒŒ ์ตœ์†Œํ•œ์˜ parameter๋งŒ์„ ์ถ”๊ฐ€ํ•˜๊ณ , pre-trained๋œ parameter๋“ค์„ downstream task ํ•™์Šต์„ ํ†ตํ•ด ์กฐ๊ธˆ๋งŒ ๋ฐ”๊ฟ”์ฃผ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. fine-tuning์˜ ๋Œ€ํ‘œ์ ์ธ ๋ชจ๋ธ๋กœ๋Š” OpenAI GPT๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

 

GPT๋Š” 2018๋…„ OpenAI์—์„œ ์ œ์‹œํ•œ ๋ชจ๋ธ๋กœ,  ๋ฌธ์žฅ ๋‚ด ๋‹จ์–ด๋“ค์„ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ณด๋Š” ๋‹จ๋ฐฉํ–ฅ ์–ธ์–ดํ•™์Šต ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. 

๋”ฐ๋ผ์„œ GPT๋Š” ์ด์ „ ๋‹จ์–ด๋“ค์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ ๋‹จ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋งžํžˆ๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์ „ํ•™์Šต๋ฉ๋‹ˆ๋‹ค.

Transformer๋ฅผ ์‚ฌ์šฉํ•œ ๊ตฌ์กฐ์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ Encoder๋ฅผ ์ œ์™ธํ•œ Decoder์˜ Masked self-attention์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

์ด๋Š” n๊ฐœ์˜ decoder๊ฐ€ ์Œ“์—ฌ ์žˆ๋Š” ํ˜•ํƒœ์ธ๋ฐ ์ตœ์†Œํ•œ์˜ ๊ตฌ์กฐ ๋ณ€ํ™”๋กœ task์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ฆผ์€ GPT์™€ BERT์˜ ํ”„๋ฆฌํŠธ๋ ˆ์ธ ๋ฐฉ์‹์„ ๋„์‹์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ธ๋ฐ, GPT๋Š” ์ด์ „ ๋‹จ์–ด๋“ค์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ ๋‹จ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋งž์ถ”๋Š” ๊ณผ์ •์—์„œ ํ”„๋ฆฌํŠธ๋ ˆ์ธ์„ ํ•˜๊ณ  ๋ฌธ์žฅ์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. 

 

๊ทธ๋Ÿฌ๋‚˜ BERT๋Š” ๋ฌธ์žฅ ์ค‘๊ฐ„์— ๋นˆ์นธ์„ ๋งŒ๋“ค๊ณ  ๋นˆ์นธ์— ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ์ ์ ˆํ•œ์ง€ ๋งž์ถ”๋Š” ๊ณผ์ •์—์„œ  ํ”„๋ฆฌํŠธ๋ ˆ์ธ์„ ํ•˜๋ฉฐ ๋นˆ์นธ ์•ž๋’ค ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ์‚ดํ”ผ๋Š” ์–‘๋ฐฉํ–ฅ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ GPT๋Š” ๋ฌธ์žฅ ์ƒ์„ฑ์—, BERT๋Š” ๋ฌธ์žฅ์˜ ์˜๋ฏธ๋ฅผ ์ถ”์ถœํ•˜๋Š”๋ฐ ๊ฐ•์ ์„ ์ง€๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

GPT๋Š” ์ด์ „ ๋‹จ์–ด๋“ค๋งŒ ์ฐธ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—๊ฑฐ๊ธฐ' ๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ ์ด์ „์˜์–ด์ œ',’์นดํŽ˜',’๊ฐ”์—ˆ์–ด๋ผ๋Š” ๋‹จ์–ด๋งŒ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๊ณ  

๋’ค์— ์žˆ๋Š” ๋‚˜๋จธ์ง€ ๋‹จ์–ด๋“ค์€ ๋งˆ์Šคํ‚น์ฒ˜๋ฆฌ ํ•ด์ค๋‹ˆ๋‹ค.

 

BERT๋Š”๊ฑฐ๊ธฐ'๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ MASK๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋งˆ์Šคํฌ ํ† ํฐ ์•ž๋’ค ๋ฌธ๋งฅ์ธ์–ด์ œ',’์นดํŽ˜',’๊ฐ”์—ˆ์–ด',’์‚ฌ๋žŒ',’๋งŽ๋”๋ผ'๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.

 

์–ธ๊ธ‰ํ–ˆ๋˜ ์„ธ๊ฐ€์ง€ ์–ธ์–ด๋ชจ๋ธ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋ฉด ์ด ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ตฌ์กฐ์ ์ธ ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

ELMo๋Š” ๋…๋ฆฝ๋œ Left-to-Right ์–ธ์–ด๋ชจ๋ธ๊ณผ Right-to-Left ์–ธ์–ด๋ชจ๋ธ์„ ๊ฐ๊ฐ ํ›ˆ๋ จ์‹œ์ผœ concatํ•จ์œผ๋กœ์จ ์–•์€ ์–‘๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  GPT๋Š” Left-to-Right์˜ ๋‹จ๋ฐฉํ–ฅ ์–ธ์–ด๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. 

 

๊ทธ๋ฆผ์—์„œ์™€ ๊ฐ™์ด ์ด์ „ ๋‹จ์–ด๋“ค๋กœ๋ถ€ํ„ฐ๋งŒ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

GPT์™€ ๋‹ฌ๋ฆฌ BERT๋Š” ํ™”์‚ดํ‘œ๊ฐ€ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋ป—์–ด๋‚˜๊ฐ€๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” Masked ์–ธ์–ด ๋ชจ๋ธ์„ ํ†ตํ•ด ๊นŠ์€ ์–‘๋ฐฉํ•ญ์„ฑ์„ ์–ป์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” ๊นŠ์€ ์–‘๋ฐฉํ–ฅ์„ฑ์œผ๋กœ ๋ฌธ์žฅ์˜ ์˜๋ฏธ๋ฅผ ์ถ”์ถœํ•˜๋Š”๋ฐ ๊ฐ•์ ์ด ์žˆ๋Š” BERT๋ฅผ ํ†ตํ•ด ๋ฌธ๋งฅ ์ดํ•ด๊ฐ€ ์ค‘์š”ํ•œ ์งˆ์˜ ์‘๋‹ต๊ณผ ๊ฐ™์€ NLP task์—์„œ ์„ฑ๋Šฅ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

 

๋˜ํ•œ ์ด ๋…ผ๋ฌธ์—์„œ๋Š” Fine-tuning ๊ธฐ๋ฐ˜ ์œ„์ฃผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋‚˜ ํ›„์ˆ ํ•˜๋Š” Feature-based์—์„œ๋„ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์ตœ์†Œํ•œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •๋งŒ์œผ๋กœ ๋Œ€๋ถ€๋ถ„ NLP ๊ณผ์ œ์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.์ด์ „์˜ ์–ธ์–ด ๋ชจ๋ธ๊ณผ ๋‹ฌ๋ฆฌ, BERT๋Š” ๋ชจ๋“  layer์—์„œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ context๋ฅผ ์ฝ๊ธฐ์— ๋ฌธ๋งฅ์„ ์ œ๋Œ€๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.์‹ค์ œ๋กœ BERT๋Š” 11๊ฐœ NLP task์—์„œ SOTA๋ฅผ ๋‹ฌ์„ฑํ–ˆ๋‹ค๋Š” ์ ์—์„œ ์šฐ์ˆ˜ํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค

 

 

๋ฐ˜์‘ํ˜•