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

kellsieยท2025๋…„ 3์›” 30์ผ

๋…ผ๋ฌธ๋ฆฌ๋ทฐ

๋ชฉ๋ก ๋ณด๊ธฐ
6/12

Original Paper (Arxiv) : BERT (https://arxiv.org/pdf/1810.04805)


๐Ÿ“ฅBackground

1. ELMo (Embeddings from Language Model)

(1) biLM(Birdirectional Language Model)์˜ ์‚ฌ์ „ ํ›ˆ๋ จ

ELMo๋Š” ๋ฌธ๋งฅ์„ ๋ฐ˜์˜ํ•œ ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์„ ์œ„ํ•ด ์ˆœ๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ๊ณผ ์—ญ๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ 2๊ฐœ๋ฅผ ํ•™์Šตํ•œ๋‹ค.

[๊ทธ๋ฆผ1] biLM ๊ตฌ์กฐ (์ถœ์ฒ˜ : ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž…๋ฌธ - 9์žฅ [https://wikidocs.net/33930])


โš ๏ธ์ฃผ์˜ํ•  ์  : ์–‘๋ฐฉํ–ฅ RNN๊ณผ biLM์€ ๋‹ค๋ฅด๋‹ค!

  • ์–‘๋ฐฉํ–ฅ RNN : ์ˆœ๋ฐฉํ–ฅ RNN๊ณผ ์—ญ๋ฐฉํ–ฅ RNN์˜ ์€๋‹‰ ์ƒํƒœ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋‹ค์Œ์ธต์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ
  • biLM : ์ˆœ๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ & ์—ญ๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ, 2๊ฐœ ๋ชจ๋ธ์„ ๋ณ„๊ฐœ์˜ ๋ชจ๋ธ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ํ•™์Šต ์ง„ํ–‰

์ฆ‰, ์–‘๋ฐฉํ–ฅ RNN์€ ํ•˜๋‚˜์˜ ๋ชจ๋ธ์—์„œ 2๊ฐœ์˜ ๋ฐฉํ–ฅ์„ฑ์„ ๋„๋Š” ๊ฒƒ์ด๊ณ , biLM์€ ํ•˜๋‚˜์˜ ๋ชจ๋ธ์—์„œ ํ•˜๋‚˜์˜ ๋ฐฉํ–ฅ์„ฑ(์ˆœ/์—ญ)๋งŒ ๊ฐ–๋Š” ๊ฒƒ์ด๋‹ค.


(2) ํ•™์Šต ๊ณผ์ • - ELMo ํ‘œํ˜„ ๋„์ถœ

[๊ทธ๋ฆผ2] biLM ํ•™์Šต ๊ณผ์ •_"play" ์ž„๋ฒ ๋”ฉ ์ค‘ (์ถœ์ฒ˜ : ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž…๋ฌธ - 9์žฅ [https://wikidocs.net/33930])


โ‘  ๊ฐ ์ธต์˜ ์ถœ๋ ฅ๊ฐ’์„ ์—ฐ๊ฒฐ
[๊ทธ๋ฆผ2]์—์„œ ์ ์„ ์˜ ์‚ฌ๊ฐํ˜• ๋‚ด๋ถ€์˜ ๊ฐ ์ธต์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ์—ฐ๊ฒฐํ•œ๋‹ค. ("์ˆœ๋ฐฉํ–ฅ - ์—ญ๋ฐฉํ–ฅ"์„ ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ)

โ‘ก ๊ฐ ์ธต์˜ ์ถœ๋ ฅ๊ฐ’์— ๋Œ€ํ•˜์—ฌ ๊ฐ€์ค‘ํ•ฉ
๊ฐ ์ธต์˜ ์ถœ๋ ฅ๊ฐ’์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ ํ›„ ๋ชจ๋‘ ๋ฒกํ„ฐ๋ฅผ ๋ชจ๋‘ ๋”ํ•œ๋‹ค. ์ด๋•Œ s1,s2,s3s_1, s_2, s_3 ๋Š” ๋ชจ๋‘ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ์Šค์นผ๋ผ์ด๊ณ  softmax๋ฅผ ํ†ต๊ณผํ•œ ๊ฐ’์ด๋‹ค.

โ‘ข ๋ฒกํ„ฐ์— ์Šค์นผ๋ผ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ณฑํ•˜๊ธฐ
ฮณ\gamma๋„ ํ•™์Šต ๊ฐ€๋Šฅ ํ•œ ์Šค์นผ๋ผ์ด๋‹ค.

์ „์ฒด ์ˆ˜์‹ : ELMo=ฮณโˆ‘j=0Lsjโ‹…hj\text{ELMo} = \gamma \sum_{j=0}^{L} s_j \cdot h_j


(3) ํƒœ์Šคํฌ์— ์ ์šฉ

[๊ทธ๋ฆผ3] ELMo๋ฅผ NLP ํƒœ์Šคํฌ์— ์ ์šฉํ•˜๋Š” ๊ณผ์ • (์ถœ์ฒ˜ : ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž…๋ฌธ - 9์žฅ [https://wikidocs.net/33930])


GloVe์™€ ๊ฐ™์€ ๊ธฐ์กด์˜ ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ ELMo ํ‘œํ˜„์— ์—ฐ๊ฒฐํ•˜์—ฌ NLP ํƒœ์Šคํฌ์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋•Œ, biLM ๋ชจ๋ธ ๋‚ด๋ถ€ ์…€์˜ ๊ฐ€์ค‘์น˜๋Š” ๊ณ ์ •๋˜์–ด ์žˆ๊ณ , s1,s2,s3,ฮณs_1, s_2, s_3, \gamma๋Š” ํ›ˆ๋ จ ๊ณผ์ •์—์„œ ํ•™์Šต๋œ๋‹ค.


2. GPT-1

GPT-1 ์ •๋ฆฌ ๊ธ€ ์ฐธ๊ณ 
https://velog.io/@angel5893/GPT-1-Improving-Language-Understandingby-Generative-Pre-Training-2018

unlabled text๋กœ pre-train ํ•œ ํ›„, ๊ฐ ํƒœ์Šคํฌ์— ๋Œ€ํ•ด์„œ fine-tuningํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋น„์ง€๋„ ์‚ฌ์ „ํ›ˆ๋ จ ๋ชจ๋ธ์€ Transformer์˜ decoder ๋ถ€๋ถ„๋งŒ ๋”ฐ์˜จ ํ˜•ํƒœ๋กœ, Text & Position Embed, Masked Multi Self Attention, Residual Connection, Layer Norm, Feed Forward๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

[๊ทธ๋ฆผ4] GPT-1 unsupervised pre-training ๊ตฌ์กฐ (์ถœ์ฒ˜ : ๋…ผ๋ฌธ ๋ฐœ์ทŒ)


โ‘  ํ† ํฐ & ์œ„์น˜ ์ž„๋ฒ ๋”ฉ
โ‘ก Masked Multi Self Attention : attention score ๊ณ„์‚ฐ ์‹œ, ์ƒ์‚ผ๊ฐ ํ–‰๋ ฌ์„ ํ™œ์šฉํ•˜์—ฌ masking ์ง„ํ–‰
โ‘ข Residual Connection & Layer Norm : Post LN 2๋ฒˆ
โ‘ฃ Feed Forward : Linear์™€ ReLU๋ฅผ ํ†ตํ•œ ๋น„์„ ํ˜•์„ฑ ์ถ”๊ฐ€

์ด๋ ‡๊ฒŒ ์‚ฌ์ „ํ•™์Šดํ•œ ๋ชจ๋ธ์— ๊ฐ ํƒœ์Šคํฌ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์ค€ ํ›„, ๋งˆ์ง€๋ง‰ Tranformer ๋ธ”๋ก์˜ ํ† ํฐ์„ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•œ ์„ ํ˜• ๋ถ„๋ฅ˜๊ธฐ์— ๋„ฃ์Œ์œผ๋กœ์จ ์˜ˆ์ธก ํ™•๋ฅ ์„ ๊ณ„์‚ฐํ•œ๋‹ค.



๐Ÿ“„Paper Review

0. Abstract

์ตœ๊ทผ ์–ธ์–ด ๋ชจ๋ธ๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ BERT๋Š” ๊นŠ์€ ์–‘๋ฐฉํ–ฅ ํ‘œํ˜„์„ ํ•™์Šตํ•˜์—ฌ ์˜ค์ง ํ•˜๋‚˜์˜ ์ถ”๊ฐ€ ์ถœ๋ ฅ์ธต๋งŒ์œผ๋กœ๋„ fine-tuning ๋˜๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ๋‹ค์–‘ํ•œ ํƒœ์Šคํฌ์— ๋Œ€ํ•˜์—ฌ SOTA๋ฅผ ๋‹ฌ์„ฑํ•˜์˜€๋‹ค.

BERT๋Š” ๊ฐœ๋…์ ์œผ๋กœ๋Š” ๊ฐ„๋‹จํ•˜์ง€๋งŒ, ์‹ค์งˆ์ ์œผ๋กœ๋Š” ๊ฐ•๋ ฅํ•œ ๋ชจ๋ธ๋กœ ์•„๋ž˜ ๊ณผ์ œ๋ฅผ ํฌํ•จํ•œ 11๊ฐœ ๋ถ„์•ผ์—์„œ ์ƒˆ๋กœ์šด SOTA๊ฐ€ ๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

  • GLUE: 80.5% (7.7%p ํ–ฅ์ƒ)
  • MultiNLI ์ •ํ™•๋„: 86.7% (4.6% ํ–ฅ์ƒ)
  • SQuAD v1.1: 93.2 (1.5 ํ–ฅ์ƒ)
  • SQuAD v2.0: 93.1 (5.1 ํ–ฅ์ƒ)


1. Introduction

๊ธฐ์กด ๋ชจ๋ธ

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

(1) feature-based
์‚ฌ์ „ํ•™์Šต ํ‘œํ˜„์„ ์ถ”๊ฐ€ feature๋กœ ํ™œ์šฉํ•˜๋˜, ๊ณผ์ œ์— ๋งž๋Š” ๋ณ„๋„์˜ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ํ•„์š”ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ELMo๊ฐ€ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ด๋‹ค.

(2) fine-tuning
๊ณ ์ •๋œ ํ‘œํ˜„์ด ์•„๋‹ˆ๋ผ ์‚ฌ์ „ํ•™์Šต ๋ชจ๋ธ ์ „์ฒด๋ฅผ ๋‹ค์šด์ŠคํŠธ๋ฆผ ๊ณผ์ œ์— ๋งž์ถฐ ์žฌํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ GPT-1์—์„œ ํ•˜๋‚˜์˜ ์ธต๋งŒ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, ์ตœ์†Œํ•œ์˜ ์ถ”๊ฐ€ ๊ตฌ์กฐ๋งŒ ๋„์ž…ํ•œ๋‹ค.

โ—ํ˜„์žฌ์˜ ๋‹จ๋ฐฉํ–ฅ ๋ชจ๋ธ์€ ์‚ฌ์ „ํ•™์Šต์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์˜ ์„ ํƒ์„ ํ•œ์ •์‹œํ‚จ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, GPT-1์„ ๋ณด๋ฉด ๋ชจ๋ธ์ด ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ๋งŒ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋กœ, ๊ฐ self-attention์—์„œ ๊ฐ ํ† ํฐ์ด ์˜ค์ง ์ด์ „ ํ† ํฐ๋“ค๋งŒ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค.
โ†’ ๋ฌธ์žฅ ์ˆ˜์ค€ ๊ณผ์ œ์— ๋Œ€ํ•ด ์ตœ์ ์ด ์•„๋‹ˆ๋‹ค.
โ†’ QA์™€ ๊ฐ™์ด ํ† ํฐ ์ˆ˜์ค€์˜ ๊ณผ์ œ์—์„œ๋Š” ์–‘๋ฐฉํ–ฅ ๋ฌธ๋งฅ์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์น˜๋ช…์ ์ผ ์ˆ˜ ์žˆ๋‹ค.


BERT ๋ชจ๋ธ

๋ณธ ๋…ผ๋ฌธ์˜ BERT๋Š” masked language model (MLM) ์‚ฌ์ „ํ•™์Šต ๋ชฉํ‘œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹จ๋ฐฉํ–ฅ์„ฑ ์ œ์•ฝ์„ ๊ฒฝ๊ฐํ•œ๋‹ค.

MLM์œผ๋กœ ์ž…๋ ฅ์˜ ํ† ํฐ์—์„œ ๋ช‡ ๊ฐœ๋ฅผ ๋žœ๋ค์œผ๋กœ ๋งˆ์Šคํ‚นํ•œ ํ›„, ๋ฌธ๋งฅ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋งˆ์Šคํ‚น๋œ ๋‹จ์–ด์˜ ์›๋ณธ id๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค. MLM ๋ชฉ์ ํ•จ์ˆ˜๋Š” ์ขŒ์ธก๊ณผ ์šฐ์ธก ๋ฌธ๋งฅ์„ ์œตํ•ฉํ•˜์—ฌ ํ‘œํ˜„์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๊นŠ์€ ์–‘๋ฐฉํ–ฅ Transofrmer๋ฅผ ์‚ฌ์ „ํ•™์Šตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๋”๋ถˆ์–ด, text์Œ์œผ๋กœ ์‚ฌ์ „ํ•™์Šตํ•˜๋Š” next sentence prediction (NSP) ํƒœ์Šคํฌ๋„ ํ™œ์šฉํ•˜์˜€๋‹ค.

BERT ๋ชจ๋ธ์˜ ๊ธฐ์—ฌ

  • ์–ธ์–ดํ‘œํ˜„์— ์žˆ์–ด ์–‘๋ฐฉํ–ฅ ์‚ฌ์ „ํ•™์Šต์˜ ์ค‘์š”์„ฑ์„ ์ฆ๋ช…ํ•จ.
  • BERT๋Š” ๋ฌธ์žฅ ์ˆ˜์ค€ ๋ฐ ํ† ํฐ ์ˆ˜์ค€์˜ ๋‹ค์–‘ํ•œ NLP ๊ณผ์ œ์—์„œ SOTA๋ฅผ ๊ธฐ๋กํ•œ ์ฒซ๋ฒˆ์งธ fine-tuning ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์ž„.
  • NLP 11๊ฐœ ํƒœ์Šคํฌ์—์„œ SOTA ๊ธฐ๋ก.


2.1 Unsupervised Feature-based Approaches

(1) ๋‹จ์–ด ์ˆ˜์ค€ ํ‘œํ˜„ ํ•™์Šต
Word2Vec, GloVe์™€ ๊ฐ™์€ ์‚ฌ์ „ํ•™์Šต๋œ ์ž„๋ฒ ๋”ฉ์€ ์ดˆ๊ธฐํ™” ์—†์ด ํ•™์Šตํ•œ ์ž„๋ฒ ๋”ฉ๋ณด๋‹ค ํ›จ์”ฌ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ ์ œ๊ณตํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ํ•™์Šต ๋ชฉํ‘œ๋Š” ์ขŒโ†’์šฐ ์–ธ์–ด ๋ชจ๋ธ๋ง, ์˜ฌ๋ฐ”๋ฅธ ๋‹จ์–ด vs ํ‹€๋ฆฐ ๋‹จ์–ด ๊ตฌ๋ณ„ ๋“ฑ์ด ์žˆ๋‹ค.

(2) ๋ฌธ์žฅ/๋ฌธ๋‹จ ์ˆ˜์ค€ ํ™•์žฅ
์ดํ›„ ๋ฌธ์žฅ ๋ฐ ๋ฌธ๋‹จ ์ˆ˜์ค€์˜ ํ•™์Šต์œผ๋กœ ํ™•์žฅ๋˜์—ˆ๋Š”๋ฐ, ๋ฌธ์žฅ ํ‘œํ˜„์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ ๋ฌธ์žฅ ์ˆœ์œ„ ๋งค๊ธฐ๊ธฐ, ๋‹ค์Œ ๋ฌธ์žฅ ๋‹จ์–ด ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ๋ชฉ์ ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

(3) ELMo: ๋ฌธ๋งฅ ๊ธฐ๋ฐ˜ ๋‹จ์–ด ํ‘œํ˜„
LSTM ๊ธฐ๋ฐ˜ ์–‘๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ์—์„œ ์ขŒโ†’์šฐ ๋ฐ ์šฐโ†’์ขŒ 2๊ฐœ ๋ฐฉํ–ฅ์— ๋Œ€ํ•˜์—ฌ ๋ฌธ๋งฅ์  ํŠน์ง• ์ถ”์ถœํ•œ๋‹ค. ๋‘ ๋ฐฉํ–ฅ์˜ ํ‘œํ˜„์„ ์—ฐ๊ฒฐํ•ด์„œ ์ถœ๋ ฅ์„ ๊ตฌ์„ฑํ•˜์˜€๊ณ  ๊ทธ ๊ฒฐ๊ณผ, QA, ๊ฐ์ • ๋ถ„์„, ๊ฐœ์ฒด๋ช… ์ธ์‹ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณผ์ œ์—์„œ SOTA๋ฅผ ๋‹ฌ์„ฑํ–ˆ๋‹ค.


2.2 Unsupervised Fine-tuning Approaches

์ดˆ๊ธฐ์—๋Š” ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ๋งŒ ์‚ฌ์ „ํ•™์Šตํ•˜์˜€๋Š”๋ฐ, ์ตœ๊ทผ์—๋Š” ๋ฌธ์žฅ/๋ฌธ์„œ ์ˆ˜์ค€ ์ธ์ฝ”๋” ์‚ฌ์ „ํ•™์Šต ํ›„ ์ „์ฒด ๋ชจ๋ธ fine-tuningํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ตฌ๊ฐ€ ์ง„ํ–‰๋˜๊ณ  ์žˆ๋‹ค.

GPT-1์ฒ˜๋Ÿผ ์ƒˆ๋กœ ํ•™์Šตํ•  ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ ์ ๋‹ค๋Š” ์ ์—์„œ ํ•™์Šต ํšจ์œจ ํ–ฅ์ƒ๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. GPT-1๋Š” GLUE ๋ฒค์น˜๋งˆํฌ์˜ ์—ฌ๋Ÿฌ ๋ฌธ์žฅ ์ˆ˜์ค€ ๊ณผ์ œ์—์„œ SOTA ๋‹ฌ์„ฑํ–ˆ๋‹ค.


2.3 Transfer Learning from Supervised Data

๋Œ€๊ทœ๋ชจ ์ง€๋„ ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ ์ „์ด ํ•™์Šตํ•˜๋Š” ์‹œ๋„๋„ ์žˆ์—ˆ๋‹ค. - ์ž์—ฐ์–ด ์ถ”๋ก (NLI) ๊ธฐ๋ฐ˜ ์ „์ด, ๊ธฐ๊ณ„ ๋ฒˆ์—ญ ๊ธฐ๋ฐ˜ ํ‘œํ˜„ ํ™œ์šฉ


์ ‘๊ทผ ๋ฐฉ์‹์„ค๋ช…๋Œ€ํ‘œ ๋ชจ๋ธ
Feature-based์‚ฌ์ „ํ•™์Šต ํ‘œํ˜„์„ ๊ณ ์ •๋œ feature๋กœ ์‚ฌ์šฉELMo
Fine-tuning์‚ฌ์ „ํ•™์Šต ๋ชจ๋ธ ์ „์ฒด๋ฅผ ๋‹ค์šด์ŠคํŠธ๋ฆผ task์— ๋งž์ถฐ ์กฐ์ •GPT, ULMFiT
Supervised Transfer๋Œ€๊ทœ๋ชจ ์ง€๋„ ํ•™์Šต ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ „์ดInferSent, McCann

๐Ÿ’ก BERT๋Š” ์‚ฌ์ „ํ•™์Šต์—์„œ ์–‘๋ฐฉํ–ฅ ๋ฌธ๋งฅ ํ•™์Šต (MLM) + ํŒŒ์ธํŠœ๋‹ ๊ธฐ๋ฐ˜ ์ „์ด ํ•™์Šต!



3. BERT

(1) Model Architecture
์–‘๋ฐฉํ–ฅ Transformer encoder๋ฅผ ์—ฌ๋Ÿฌ ์ธต ์Œ“์€ ํ˜•ํƒœ๋กœ, ์›๋ณธ Transformer๊ณผ ๊ตฌ์กฐ๊ฐ€ ๊ฑฐ์˜ ๋™์ผํ•˜๋‹ค.

๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์‚ฌ์ด์ฆˆ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ 2๊ฐœ์˜ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

  • BERTBASEBERT_{BASE} : 12๊ฐœ์ธต, ์€๋‹‰์ธต 768๊ฐœ, self-attention head ๊ฐœ์ˆ˜ 12๊ฐœ
  • BERTLARGEBERT_{LARGE} : 24๊ฐœ์ธต, ์€๋‹‰์ธต 1024๊ฐœ, self-attention head ๊ฐœ์ˆ˜ 16๊ฐœ

(*BERTBASEBERT_{BASE}๋Š” GPT-1๊ณผ์˜ ์„ฑ๋Šฅ ๋น„๊ต๋ฅผ ์œ„ํ•ด GPT-1๊ณผ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ์„ค์ •ํ–ˆ๋‹ค.)


(2) Input/Output Representations

  1. Token Enbedding : WordPiece ํ† ํฐํ™” (subword tokenizer)
    ์‹ค์งˆ์ ์ธ ์ž…๋ ฅ์ด ๋˜๋Š” ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์œผ๋กœ, ๋‹ค์Œ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ž„๋ฒ ๋”ฉ์„ ์ง„ํ–‰ํ•œ๋‹ค.
  • ํ† ํฐ์ด ๋‹จ์–ด ์ง‘ํ•ฉ์— ์กด์žฌํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ํ† ํฐ์€ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ† ํฐ์ด ๋‹จ์–ด ์ง‘ํ•ฉ์— ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ํ•ด๋‹น ํ† ํฐ์„ ์„œ๋ธŒ์›Œ๋“œ๋กœ ๋ถ„๋ฆฌํ•œ ํ›„, ๋‹จ์–ด์˜ ์ค‘๊ฐ„๋ถ€ํ„ฐ ๋“ฑ์žฅํ•˜๋Š” ์„œ๋ธŒ์›Œ๋“œ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ๋‹จ์–ด ์•ž์— โ€œ##โ€์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

    OoV ๋ฌธ์ œ ํ•ด๊ฒฐ
    e.g. "embeddings"
    โ†’ ๋‹จ์–ด ์ง‘ํ•ฉ์— em, ##bed, ##ding, #s๋ผ๋Š” ์„œ๋ธŒ ์›Œ๋“œ๋“ค์ด ์กด์žฌ
    โ†’ embeddings๋ฅผ em, ##bed, ##ding, #s๋กœ ๋ถ„๋ฆฌ

  1. Segment Embedding : ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ๊ตฌ๋ถ„
    BERT๋Š” ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ํ•œ ๋ฒˆ์— ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๋ฌธ์žฅ์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ์ž„๋ฒ ๋”ฉ์„ ์ง„ํ–‰ํ•œ๋‹ค.
    [CLS] He went to school [SEP] He studied math [SEP]
    • "He went to school" โ†’ Segment A

    • "He studied math" โ†’ Segment B

    • [CLS], [SEP]๋„ Segment A, B ์ค‘ ํ•˜๋‚˜๋กœ ์ฒ˜๋ฆฌ๋จ.

      โ€ป [CLS] ํ† ํฐ : ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ํŠน๋ณ„ํ•œ ํ† ํฐ
      โ€ป ์ด๋•Œ ๋‹จ์ผ ๋ฌธ์žฅ์ด ์ž…๋ ฅ๋  ๋•Œ์—๋Š” ๋ชจ๋“  ํ† ํฐ์„ Segment A ์ฒ˜๋ฆฌํ•œ๋‹ค.

  2. Position Embedding : ์œ„์น˜ ์ •๋ณด๋ฅผ ํ•™์Šต
    Transformer์™€ ๋˜‘๊ฐ™์ด ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์œ„์น˜ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. Transformer์˜ ๊ฒฝ์šฐ ์‚ฌ์ธ/์ฝ”์‚ฌ์ธ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, BERT์—์„œ๋Š” ํ•™์Šต ๊ฐ€๋Šฅํ•œ ๋ฒกํ„ฐ๋กœ ์„ค์ •ํ•˜์—ฌ ๋” ์œ ์—ฐํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

3.1 Pre-training BERT

์šฐ๋ฆฌ๋Š” ๋‹ค์Œ 2๊ฐœ์˜ ๋น„์ง€๋„ task๋ฅผ ํ†ตํ•ด ์‚ฌ์ „ํ•™์Šตํ–ˆ๋‹ค.

Task #1: Masked LM

[๊ทธ๋ฆผ5] MLM์—์„œ ๋งˆ์Šคํ‚น๋˜๋Š” ๋‹จ์–ด ๋น„์œจ (์ถœ์ฒ˜ : ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž…๋ฌธ - 17์žฅ https://wikidocs.net/115055)


1. Masking
์ž…๋ ฅ ํ…์ŠคํŠธ์˜ 15%๋ฅผ ๋žœ๋ค์œผ๋กœ ๋งˆ์Šคํ‚นํ•˜๋Š”๋ฐ, ์ด๋Š” ์–‘๋ฐฉํ–ฅ ํ•™์Šต์— ์žˆ์–ด ๋งค์šฐ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ด๋‹ค. ๋žœ๋ค์œผ๋กœ ์„ ํƒํ•œ 15% ๋‹จ์–ด์— ๋Œ€ํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

  • 80% : [MASK]
  • 10% : ๋žœ๋ค์œผ๋กœ ๋Œ€์ฒด
  • 10% : ๋ฏธ๋ณ€๊ฒฝ (์›๋ž˜ ๋‹จ์–ด ๊ทธ๋Œ€๋กœ)

ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋ฆฌ๋”ฉํ•˜๋‹ค๊ฐ€ ๋‹ค์Œ 2๊ฐœ์˜ ์˜๋ฌธ์ด ์ƒ๊ฒผ๋‹ค.

โ“์™œ 15% ๋‹จ์–ด ๋ชจ๋‘๋ฅผ masking ํ•˜์ง€ ์•Š๋Š”๊ฐ€
์‚ฌ์ „ ํ•™์Šต ๋‹จ๊ณ„์—์„œ 100% ๋งˆ์Šคํ‚น์„ ํ•˜๋ฉด, ํŒŒ์ธ ํŠœ๋‹ ์‹œ [MASK]๊ฐ€ ์—†๋Š” ํ™˜๊ฒฝ๊ณผ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  [MASK]๋ฅผ ์•„์˜ˆ ์—†์• ๋ฉด ๋ชจ๋ธ์ด ๋‹จ์–ด๋ฅผ ๋ณต์›ํ•˜๋Š” ๋Šฅ๋ ฅ์„ ํ•™์Šตํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
โ‡’ ๋ชจ๋ธ์ด ๋งˆ์Šคํ‚น๋œ ์ƒํ™ฉ์—์„œ ํ•™์Šตํ•˜๋ฉด์„œ, ํŒŒ์ธ ํŠœ๋‹ ๋‹จ๊ณ„์—์„œ ๋ถˆ์ผ์น˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„

โ“10%๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์„ ๊ฑฐ๋ฉด ์• ์ดˆ์— ๋žœ๋ค ์„ ํƒํ•˜์ง€ ์•Š์•˜์œผ๋ฉด ๋˜์ง€ ์•Š๋Š”๊ฐ€?
๋ชจ๋ธ์ด "๋งˆ์Šคํ‚น ์ž์ฒด"๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์œผ๋กœ [๊ทธ๋ฆผ6]์„ ๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ์„ ํƒ๋œ ๋‹จ์–ด์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก์ด ์ง„ํ–‰๋œ๋‹ค.
โ‡’ ๋ชจ๋ธ์ด ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ๋งˆ์Šคํ‚น๋ ์ง€ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜๋ฏ€๋กœ, ๋” ๊ฐ•๋ ฅํ•œ ์ผ๋ฐ˜ํ™” ํ•™์Šต์ด ๊ฐ€๋Šฅ
โ‡’ ๋งˆ์Šคํ‚น๋œ ๋‹จ์–ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์›๋ณธ ๋‹จ์–ด๋„ ํ•™์Šตํ•˜๊ฒŒ ๋˜์–ด ๋ฌธ๋งฅ ์ดํ•ด๋ ฅ์ด ํ–ฅ์ƒ


2. ์ถœ๋ ฅ์ธต

[๊ทธ๋ฆผ6] Masking ํ›„ ์ถœ๋ ฅ๋˜๋Š” ๊ณผ์ • (์ถœ์ฒ˜ : ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž…๋ฌธ - 17์žฅ https://wikidocs.net/115055)


์ถœ๋ ฅ ์‹œ ์‚ฌ์šฉ๋˜๋Š” ๋ฒกํ„ฐ๋Š” ๋žœ๋คํ•˜๊ฒŒ ์„ ํƒ๋œ 15%์˜ ๋‹จ์–ด ๋ฒกํ„ฐ๋กœ [๊ทธ๋ฆผ6]์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฒ˜๋ฆฌ๋˜์—ˆ๋‹ค. ์ด๋•Œ ๋‹ค๋ฅธ ํ† ํฐ์— ๋Œ€ํ•œ ์˜ˆ์ธก์€ ๋ฌด์‹œํ•œ๋‹ค.

  • dog' ํ† ํฐ โ†’ [MASK]
  • 'he' ํ† ํฐ โ†’ 'king'
  • 'play' ํ† ํฐ โ†’ ๋ณ€๊ฒฝX (๊ทธ๋Œ€๋กœ 'play')
  1. transofrmer self-attention๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๋‹จ์–ด์— ๋Œ€ํ•œ attention score ๋ฒกํ„ฐ ์ƒ์„ฑ
  2. ๋งˆ์Šคํ‚น or ์„ ํƒ๋œ ๋‹จ์–ด์˜ ๋ฒกํ„ฐ๋งŒ dense + softmax layer๋กœ ๋„˜๊ธฐ๊ธฐ hThe,hman,hwent,hto,h[MASK]h_{The}, h_{man}, h_{went}, h_{to}, h_{[MASK]}
    โ†’ ์•ž์„œ ์–ธ๊ทผํ•œ ๋ฐ”์™€ ๊ฐ™์ด, attention score๊นŒ์ง€๋Š” ๋ชจ๋“  ๋‹จ์–ด๊ฐ€ ๊ณ„์‚ฐ๋˜์ง€๋งŒ, ์ตœ์ข… ์˜ˆ์ธก์—์„œ๋Š” ๋งˆ์Šคํ‚น๋œ ๋‹จ์–ด์˜ ๋ฒกํ„ฐ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.

Task #2: Next Sentence Prediction (NSP)

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

  1. ์‹ค์ œ ์ด์–ด์ง€๋Š” 2๊ฐœ์˜ ๋ฌธ์žฅ & ๋žœ๋ค์œผ๋กœ ์ด์–ด๋ถ™์ธ 2๊ฐœ์˜ ๋ฌธ์žฅ input


  1. segment embedding
[CLS] He went to school [SEP] He studied math [SEP]
  • "He went to school" โ†’ Segment A
  • "He studied math" โ†’ Segment B
  • [CLS], [SEP]๋„ Segment A, B ์ค‘ ํ•˜๋‚˜๋กœ ์ฒ˜๋ฆฌ๋จ.

  1. transformer encoder ํ†ต๊ณผ
    ๋‘ ๋ฌธ์žฅ์˜ ์ •๋ณด๋ฅผ ์ข…ํ•ฉํ•œ ๋ฒกํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
    hCLS=Transformer([CLS],๋ฌธ์žฅA,[SEP],๋ฌธ์žฅB,[SEP]h_{CLS} = \text{Transformer}([CLS], ๋ฌธ์žฅA, [SEP], ๋ฌธ์žฅB, [SEP]

  1. ์•ž์„œ Masked ๋ฒกํ„ฐ๋งŒ ๊ฐ€์ ธ์™€์„œ softmax์— ๋„ฃ์€ ๊ฒƒ์ฒ˜๋Ÿผ [CLS] ๋ฒกํ„ฐ๋ฅผ softmax์— ๋„ฃ์–ด์„œ ํ™•๋ฅ  ์ถœ๋ ฅ

    [๊ทธ๋ฆผ7] NSP classifier (์ถœ์ฒ˜ : ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž…๋ฌธ - 17์žฅ https://wikidocs.net/115055)

  • "YES" (1) โ†’ ๋ฌธ์žฅ A์™€ B๊ฐ€ ์‹ค์ œ ์—ฐ์†๋œ ๋ฌธ์žฅ
  • "NO" (0) โ†’ ๋ฌธ์žฅ A์™€ B๊ฐ€ ๋žœ๋คํ•˜๊ฒŒ ์„ ํƒ๋œ ๋ฌธ์žฅ

  1. ์†์‹คํ•จ์ˆ˜ ๊ณ„์‚ฐ ๋ฐ ํ•™์Šต
    y_hat๊ณผ y๋ฅผ ๋น„๊ตํ•˜์—ฌ Cross-Entropy Loss ๊ณ„์‚ฐํ•œ๋‹ค.

3.2 Fine-tuning BERT

์‚ฌ์ „ํ•™์Šต ๋ชจ๋ธ์— ๋Œ€ํ•˜์—ฌ ์ž…๋ ฅ/์ถœ๋ ฅ๋งŒ ๊ต์ฒดํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— fine-tuning์€ ๋น„๊ต์  ๊ฐ„๋‹จํ•˜๋‹ค. ๊ณผ์ œ์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฒ˜๋ฆฌ๋œ๋‹ค.

  • ํ† ํฐ ์ˆ˜์ค€ ๊ณผ์ œ(token-level task)
    โ†’ ๊ฐ ํ† ํฐ์˜ ์ถœ๋ ฅ ๋ฒกํ„ฐ๋ฅผ ์ถœ๋ ฅ์ธต์— ์ „๋‹ฌ
    โ†’ ์˜ˆ: ์งˆ์˜์‘๋‹ต, ์‹œํ€€์Šค ํƒœ๊น…

  • ๋ฌธ์žฅ ์ˆ˜์ค€ ๊ณผ์ œ(sentence-level task)
    โ†’ [CLS] ํ† ํฐ์˜ ์ถœ๋ ฅ ๋ฒกํ„ฐ๋ฅผ ์ถœ๋ ฅ์ธต์— ์ „๋‹ฌ
    โ†’ ์˜ˆ: ๊ฐ์ • ๋ถ„์„, ๋ฌธ์žฅ ๋ถ„๋ฅ˜, ํ•จ์˜ ํŒ๋ณ„

    • ๋ฌธ์žฅ ์Œ โ†’ ํŒจ๋Ÿฌํ”„๋ ˆ์ด์ง•
    • ๊ฐ€์„ค-์ „์ œ ์Œ โ†’ ํ…์ŠคํŠธ ํ•จ์˜(entailment)
    • ์งˆ๋ฌธ-๋ณธ๋ฌธ ์Œ โ†’ ์งˆ์˜์‘๋‹ต(QA)
    • ํ…์ŠคํŠธ-๋นˆ๋ฌธ์žฅ ์Œ โ†’ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜๋‚˜ ์‹œํ€€์Šค ํƒœ๊น…


4. Experiments

4.1 GLUE

  • batch_size = 32
  • epochs = 3
  • learning rate = [5e-5, 4e-5, 3e-5, 2e-5] ์ค‘ ๊ฐ€์žฅ ์„ฑ๋Šฅ์ด ์ข‹์€ ๊ฒƒ์œผ๋กœ ์‚ฌ์šฉ
  • WNLI๋ฅผ ์ œ์™ธํ•œ 8๊ฐœ์˜ task์— ๋Œ€ํ•ด ์‹คํ—˜ ์ง„ํ–‰
  • ์ฒซ ๋ฒˆ์งธ ์ž…๋ ฅ ํ† ํฐ [CLS]์— ํ•ด๋‹นํ•˜๋Š” ์ตœ์ข… ์€๋‹‰ ๋ฒกํ„ฐ(C)๋ฅผ ์ „์ฒด ๋ฌธ์žฅ์„ ๋Œ€ํ‘œํ•˜๋Š” ๋ฒกํ„ฐ๋กœ ์‚ฌ์šฉ
  • ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ํŒŒ๋ผ๋ฏธํ„ฐ : classification task์—์„œ ๋ ˆ์ด๋ธ”์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ฅธ ๊ฐ€์ค‘์น˜ (W)

    [๊ทธ๋ฆผ8] GLUE ์‹คํ—˜ ๊ฒฐ๊ณผ (์ถœ์ฒ˜ : ๋…ผ๋ฌธ ๋ฐœ์ทŒ)


  • BERT_BASE์™€ BERT_LARGE ๋‘˜ ๋‹ค ๋ชจ๋“  task์—์„œ ๊ธฐ์กด SOTA๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„ = New SOTA
    (ํ‰๊ท  ์ •ํ™•๋„์—์„œ ๊ฐ๊ฐ 4.5%, 7% ํ–ฅ์ƒ์„ ๋ณด์ž„)
  • ํŠนํžˆ BERT_LARGE๊ฐ€ 80.5์˜ ์ ์ˆ˜๋ฅผ ํš๋“ํ•˜๋ฉฐ 72.8์„ ๊ธฐ๋กํ•œ OpenAI GPT๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„
    (โ€ปBERT_LARGE์˜ ๊ฒฝ์šฐ, ์ž‘์€ ๋ฐ์ดํ„ฐ์…‹์—์„œ fine-tuning์ด ๋ถˆ์•ˆ์ •ํ•  ๋•Œ๊ฐ€ ์žˆ์—ˆ์Œ. ์ด์— ๋ช‡ ๋ฒˆ์˜ random restart๋ฅผ ์ง„ํ–‰ํ•จ)

4.2 SQuAD v1.1

SQuAD๋ž€?

  • Stanford Question Answering Dataset์˜ ์•ฝ์ž๋กœ, 10๋งŒ ๊ฐœ์˜ ์งˆ๋ฌธ/๋‹ต๋ณ€ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ
  • ์ž…๋ ฅ : ์ฃผ์–ด์ง„ ์งˆ๋ฌธ & ์ •๋‹ต์ด ํฌํ•จ๋œ ์œ„ํ‚คํ”ผ๋””์•„ ๋ฌธ๋‹จ
  • ์ถœ๋ ฅ : ๋ฌธ๋‹จ ๋‚ด์—์„œ ์ •๋‹ต์ด ํฌํ•จ๋œ ํ…์ŠคํŠธ(span)๋ฅผ ์˜ˆ์ธก
  • ์งˆ๋ฌธ : segment A / ๋ฌธ๋‹จ : segment B
  • ๊ฐ ๋‹จ์–ด๊ฐ€ ์ •๋‹ต ํ…์ŠคํŠธ์˜ ์‹œ์ž‘ ๋˜๋Š” ๋์ด ๋  ํ™•๋ฅ  ์˜ˆ์ธก
  • TriviaQA ํ™œ์šฉ
    • ๋ฐ์ดํ„ฐ ์ถœ์ฒ˜ : ์œ„ํ‚ค๋ฐฑ๊ณผ + ๋‰ด์Šค ๊ธฐ์‚ฌ
    • ์งˆ๋ฌธ ์œ ํ˜• : ํ€ด์ฆˆ ์Šคํƒ€์ผ์˜ ์งˆ๋ฌธ
    • ์ •๋‹ต ์ฐพ๋Š” ๋ฐฉ์‹ : ๋ฌธ์„œ ์—ฌ๋Ÿฌ ๊ฐœ์—์„œ ์ฐพ์Œ โ†’ ์ •๋‹ต ๋ฒ”์œ„ : ๋ฌธ์žฅ ์ „์ฒด

    โ†’ ์ •๋‹ต ๋ฒ”์œ„๊ฐ€ ๋” ํฌ๊ณ , ๋‹ค์–‘ํ•œ ๋ฌธ์„œ์—์„œ ๋‹ต์„ ์ฐพ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์ธ QA task์—์„œ ๋” ๊ฐ•๋ ฅํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
    โ†’ TriviaQA๋กœ ๋จผ์ € ํ•™์Šตํ•œ ํ›„, SQuAD๋กœ fine-tuning ์ง„ํ–‰

[๊ทธ๋ฆผ9] SQuAD v1.1 (์ถœ์ฒ˜ : ๋…ผ๋ฌธ ๋ฐœ์ทŒ)

  • batch_size = 32
  • epochs = 3
  • learning rate = 5e-5
  • ๋‹จ์ผ ๋ชจ๋ธ๋กœ๋„ ๊ธฐ์กด ๋ฆฌ๋”๋ณด๋“œ 1์œ„๋ณด๋‹ค 1.3 ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„
  • ์•™์ƒ๋ธ” ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ 1.5 ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„

4.3 SQuAD v2.0

SQuAD v2.0์ด๋ž€?
SQuAD v1.1์˜ ํ™•์žฅ๋œ ๋ฒ„์ „์œผ๋กœ ๋ฌธ๋‹จ ๋‚ด์— โ€œ์งง์€ ์ •๋‹ตโ€์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์„ ๋‘์–ด ๋ณด๋‹ค ํ˜„์‹ค์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์ •์˜ํ•จ

  • ์ •๋‹ต์ด ์—†๋Š” ์งˆ๋ฌธ์˜ ๊ฒฝ์šฐ, [CLS] ํ† ํฐ์„ ์ •๋‹ต ์œ„์น˜๋กœ ์„ค์ •
    โ†’ ์‹œ์ž‘/๋ ์œ„์น˜ ํ™•๋ฅ ์„ ๊ณ„์‚ฐํ•  ๋•Œ, [CLS] ํ† ํฐ๋„ ๊ณ ๋ คํ•˜๋„๋ก ํ™•์žฅ

[๊ทธ๋ฆผ10] SQuAD v2.0 (์ถœ์ฒ˜ : ๋…ผ๋ฌธ ๋ฐœ์ทŒ)

  • batch_size = 48
  • epochs = 2
  • learning rate = 5e-5
  • TriviaQA ์‚ฌ์šฉX
  • F1 score 5.1 ํ–ฅ์ƒ

4.3 SWAG

SWAG์ด๋ž€?

  • Situations With Adversarial Generations์˜ ์•ฝ์ž๋กœ, 113,000๊ฐœ์˜ ๋ฌธ์žฅ ์™„์„ฑ ์˜ˆ์ œ๋กœ ๊ตฌ์„ฑ๋จ
  • ์ž…๋ ฅ : ํ•˜๋‚˜์˜ ๋ฌธ์žฅ
  • ์ถœ๋ ฅ : ๋‹ค์Œ์— ์˜ฌ ๋ฌธ์žฅ 4๊ฐœ ์ค‘ ๋ฌธ๋งฅ ์ƒ ๊ฐ€์žฅ ์ ์ ˆํ•œ ๋ฌธ์žฅ ์„ ํƒ

๊ฐ ์ž…๋ ฅ ๋ฌธ์žฅ๊ณผ 4๊ฐœ์˜ ์„ ํƒ์ง€๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ด 4๊ฐœ์˜ ์ž…๋ ฅ ์‹œํ€€์Šค ์ƒ์„ฑ

e.g. "๋‚จ์ž๊ฐ€ ์†์„ ๋ป—์–ด ๋ฌธ์„ ์—ด์—ˆ๋‹ค." ๋’ค์— ์˜ฌ ๋ฌธ์žฅ ์„ ํƒ
(A) ๊ทธ๋Š” ๋ฐฉ์œผ๋กœ ๋“ค์–ด๊ฐ”๋‹ค.
(B) ๊ทธ๋Š” ๊ฐ‘์ž๊ธฐ ๋‹ฌ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.
(C) ๋ฌธ์ด ์ €์ ˆ๋กœ ๋‹ซํ˜”๋‹ค.
(D) ๊ทธ๋Š” ์กฐ์šฉํžˆ ๋…ธ๋ž˜๋ฅผ ๋ถ€๋ฅด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

[๊ทธ๋ฆผ11] SWAG (์ถœ์ฒ˜ : ๋…ผ๋ฌธ ๋ฐœ์ทŒ)

  • batch_size = 16
  • epochs = 3
  • learning rate = 2e-5
  • ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ํŒŒ๋ผ๋ฏธํ„ฐ : ๋ฒกํ„ฐ W
    โ†’ [CLS] ํ† ํฐ์˜ ํ‘œํ˜„ C์™€ ๋‚ด์ ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ
    ๊ฐ ํ›„๋ณด ๋ฌธ์žฅ์˜ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐ
    โ†’ ๊ณ„์‚ฐ๋œ ์ ์ˆ˜๋ฅผ softmax ๋ ˆ์ด์–ด์— ๋„ฃ์–ด
    ํ™•๋ฅ ๋กœ ๋ณ€ํ™˜
  • BERT_BASE, BERT_LARGE : ๊ธฐ์กด SOTA๋ณด๋‹ค ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ ๊ธฐ๋ก
  • ํŠนํžˆ, BERT_LARGE์˜ ๊ฒฝ์šฐ, ESIM ๊ณ„์—ด๋ณด๋‹ค ์›”๋“ฑํžˆ ๋†’์€ ์„ฑ๋Šฅ
  • ์ธ๊ฐ„ ์ „๋ฌธ๊ฐ€ ์ˆ˜์ค€์„ ๋›ฐ์–ด ๋„˜์–ด, ์—ฌ๋Ÿฌ ์ฃผ์„์ž์˜ ํ‰๊ท  ์ˆ˜์น˜์— ๊ทผ์ ‘ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ž„


๐Ÿค” My Thoughts

  • Transformer๊ฐ€ ์—„์ฒญ๋‚œ ๋ชจ๋ธ์ด๊ธด ํ•˜๊ตฌ๋‚˜
  • ๋Š˜ ๋А๋ผ๋Š” ๊ฑด๋ฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ์€ ํ•œ๋— ์ฐจ์ด์ธ๋“ฏ
profile
every high and every low

0๊ฐœ์˜ ๋Œ“๊ธ€