A A
[NLP] BERT (Bidrectional Encoder Representations from Transformers)
LLM๊ด€๋ จ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, BERT ๋ชจ๋ธ์— ๋ฐํ•˜์—ฌ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผํ•  ํƒ€์ด๋ฐ์ด์—ฌ์„œ, ํ•˜๋Š”๊น€์— ๋‚ด์šฉ๋„ ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  BERT Model์— ๋ฐํ•˜์—ฌ ์ดํ•ด๋ฅผ ํ•˜๋ ค๋ฉด Transformer๋ผ๋Š” ๋ชจ๋ธ์— ๋ฐํ•˜์—ฌ ์–ด๋Š์ •๋„ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ์ฐธ๊ณ ๊ธ€ ๋‚จ๊ธธํ…Œ๋‹ˆ ํ•œ๋ฒˆ ๋ณด๊ณ  ์ด ๊ธ€์„ ์ฝ์–ด์ฃผ์„ธ์š”!!

 

[NLP] Transformer Model - ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ ์•Œ์•„๋ณด๊ธฐ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Transformer ๋ชจ๋ธ์˜ ์ „๋ฐ˜์ ์ธ Architecture ๋ฐ ๊ตฌ์„ฑ์— ๋ฐํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Transformer: Attention is All You Need Transformer ๋ชจ๋ธ์€ 2017๋…„์— "Attention is All You Need"๋ผ๋Š” ๋…ผ๋ฌธ์„ ํ†ตํ•ด์„œ ์†Œ๊ฐœ๋˜์—ˆ์Šต

daehyun-bigbread.tistory.com


What is BERT?

 

BERT(Bidirectional Encoder Representations from Transformers)๋Š” 2018๋…„์— ๊ตฌ๊ธ€์ด ๊ณต๊ฐœํ•œ ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

๊ตฌ๊ธ€์—์„œ 2018๋…„์— ๋ฐœํ‘œํ•œ BERT ๋ชจ๋ธ์€ Transformer ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋ฌธ์žฅ์˜ ์ „ํ›„ ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜๋Š” ์–‘๋ฐฉํ–ฅ ํ•™์Šต ๋ฐฉ์‹์„ ๋„์ž…ํ•˜์—ฌ ๋‹ค์–‘ํ•œ NLP ์ž‘์—…์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•œ๋ฒˆ ์ •์˜๋ฅผ ํ•œ๋ฒˆ ๋ณด๋ฉด

  • Bidirectional(์–‘๋ฐฉํ–ฅ): ๋ฌธ์žฅ์„ ์ดํ•ดํ•  ๋•Œ ์•ž๋’ค ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ๋”์šฑ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Encoder Representations: Transformer์˜ ์ธ์ฝ”๋” ๋ถ€๋ถ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ๋œ ๋ฌธ์žฅ์„ ๋ฒกํ„ฐ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • Transformers: Attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ๋กœ, ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์—ฌ ํ•™์Šต ํšจ์œจ์ด ๋†’์Šต๋‹ˆ๋‹ค.

BERT๋Š” ์œ„ํ‚คํ”ผ๋””์•„(25์–ต ๋‹จ์–ด), BooksCorpus(8์–ต ๋‹จ์–ด)๋กœ ์ด๋ธ”์ด ์—†๋Š” ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ Pre-Trained(์‚ฌ์ „ ํ›ˆ๋ จ)๋œ ์–ธ์–ด ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

  • ์‚ฌ์ „ ํ•™์Šต(Pre-training): ๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ฐ˜์ ์ธ ์–ธ์–ด ์ดํ•ด ๋Šฅ๋ ฅ์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฏธ์„ธ ์กฐ์ •(Fine-tuning): ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • NLP ์ž‘์—…์— ๋งž๊ฒŒ ์ถ”๊ฐ€ ํ•™์Šตํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ, BERT๋ชจ๋ธ๋กœ Fine-tuning ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด? ์œ„ํ‚คํ”ผ๋””์•„ ๋“ฑ์œผ๋กœ ์‚ฌ์ „ ํ•™์Šต๋œ BERT ์œ„์— ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ์‹ ๊ฒฝ๋ง์„ ํ•œ ์ธต ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ๋ฅผ ์„ค๋ช…ํ•ด๋ณด๋ฉด BERT๊ฐ€ ์–ธ์–ด ๋ชจ๋ธ์ด Pre-training(์‚ฌ์ „ ํ•™์Šต) ๊ณผ์ •์—์„œ ์–ป์€ ์ง€์‹์„ ํ™œ์šฉํ•œ๋‹ค๋Š” ๊ฐœ๋…์œผ๋กœ ๋ณด๋ฉด ๋ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


์–‘๋ฐฉํ–ฅ์„ฑ(Bidirectionality)

BERT๋Š” Bidirectional(์–‘๋ฐฉํ–ฅ)์œผ๋กœ ๋ฌธ์žฅ์„ ์ดํ•ดํ• ๋•Œ, ์•ž ๋’ค ๋ฌธ๋งฅ์œผ๋กœ ๊ณ ๋ คํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

๋ฌธ๋งฅ์˜ ์ „ํ›„ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ํ™œ์šฉ

  • ์ „ํ†ต์ ์ธ ์–ธ์–ด ๋ชจ๋ธ์€ ์ฃผ๋กœ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ(์ˆœ๋ฐฉํ–ฅ) ๋˜๋Š” ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ(์—ญ๋ฐฉํ–ฅ)์œผ๋กœ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ๊ฒฝ์šฐ ๋ฌธ๋งฅ์˜ ํ•œ์ชฝ ๋ฐฉํ–ฅ ์ •๋ณด๋งŒ ํ™œ์šฉํ•˜๋ฏ€๋กœ ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ์™„๋ฒฝํžˆ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

BERT์˜ ์–‘๋ฐฉํ–ฅ ํ•™์Šต ๋ฐฉ์‹

  • Masked Language Model(MLM)์„ ํ†ตํ•ด ๋ฌธ์žฅ ๋‚ด์˜ ๋‹จ์–ด๋ฅผ ๋ฌด์ž‘์œ„๋กœ ๋งˆ์Šคํ‚นํ•˜๊ณ , ๋งˆ์Šคํ‚น๋œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ณผ์ •์—์„œ ์ฃผ๋ณ€์˜ ๋ชจ๋“  ๋‹จ์–ด ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ์•ž๋’ค ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์—ฌ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๋ฒˆ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๋ฉด? ์•„๋ž˜์˜ ๋ฌธ์žฅ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

"๊ทธ๋Š” [MASK]๋ฅผ ๋จน์—ˆ๋‹ค."์—์„œ [MASK] ์ž๋ฆฌ์— ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•  ๋•Œ,
์•ž๋’ค ๋‹จ์–ด๋ฅผ ๋ชจ๋‘ ์ฐธ๊ณ ํ•˜์—ฌ "์‚ฌ๊ณผ", "๋ฐฅ", "์•ฝ" ๋“ฑ ์ ์ ˆํ•œ ๋‹จ์–ด๋ฅผ ์ถ”๋ก ํ•ฉ๋‹ˆ๋‹ค.

BERT ๋ชจ๋ธ์˜ ํŠน์ง•

Transformer ๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ ๊ตฌ์กฐ

  • ๊ธฐ์กด์˜ ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง(RNN)์ด๋‚˜ LSTM๊ณผ ๋‹ฌ๋ฆฌ, Transformer๋Š” Attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ํ•™์Šต ์†๋„๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค.
  • BERT๋Š” Transformer์˜ ์ธ์ฝ”๋” ๋ถ€๋ถ„๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์‚ฌ์ „ ํ•™์Šต ๋ชฉํ‘œ

  • Masked Language Model(MLM):
    • ์ž…๋ ฅ ๋ฌธ์žฅ์—์„œ ์ผ๋ถ€ ๋‹จ์–ด๋ฅผ ๋งˆ์Šคํ‚นํ•˜๊ณ , ๋งˆ์Šคํ‚น๋œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋Š” ์–‘๋ฐฉํ–ฅ ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • Next Sentence Prediction(NSP):
    • ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ๋ฌธ์žฅ์ด ์—ฐ์†๋˜๋Š” ๋ฌธ์žฅ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฌธ์žฅ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๋Š” ๋ฌธ๋งฅ์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

BERT Model Architecture

BERT ๋ชจ๋ธ์˜ Architecture์— ๋ฐํ•˜์—ฌ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

BERT์˜ ์•„ํ‚คํ…์ฒ˜๋Š” Transformer ๋ชจ๋ธ์˜ ์ธ์ฝ”๋”(Encoder) ๋ถ€๋ถ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์ž…๋ ฅ๋œ ํ…์ŠคํŠธ๋ฅผ ๋ฒกํ„ฐ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ๋ฌธ์žฅ์˜ ์ „ํ›„ ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ์ดํ•ดํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž‘์—…์—์„œ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

BERT Model Architecture

BERT์—์„œ์˜ ์ธ์ฝ”๋” ํ™œ์šฉ

  • Self-Attention ๋ฉ”์ปค๋‹ˆ์ฆ˜: ๋ฌธ์žฅ ๋‚ด์˜ ๋ชจ๋“  ๋‹จ์–ด๊ฐ€ ์„œ๋กœ์˜ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ: ์ˆœํ™˜ ๊ตฌ์กฐ๊ฐ€ ์—†์–ด ๋ณ‘๋ ฌ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด๋Š” ํ•™์Šต ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • ์–‘๋ฐฉํ–ฅ์„ฑ ํ™•๋ณด: ์ธ์ฝ”๋” ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ฌธ๋งฅ์˜ ์•ž๋’ค ์ •๋ณด๋ฅผ ๋™์‹œ์— ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BERT์˜ ํฌ๊ธฐ

BERT์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋”๋ฅผ ์Œ“์•„์˜ฌ๋ฆฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

  • Base ๋ฒ„์ „์—์„œ๋Š” ์ด 12๊ฐœ๋ฅผ ์Œ“์•˜์œผ๋ฉฐ
  • Large ๋ฒ„์ „์—์„œ๋Š” ์ด 24๊ฐœ๋ฅผ ์Œ“์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ ์™ธ์—๋„ Large ๋ฒ„์ „์€ Base ๋ฒ„์ „๋ณด๋‹ค d_model์˜ ํฌ๊ธฐ๋‚˜ ์…€ํ”„ ์–ดํ…์…˜ ํ—ค๋“œ(Self Attention Heads)์˜ ์ˆ˜๊ฐ€ ๋” ํฝ๋‹ˆ๋‹ค.

ํŠธ๋žœ์Šคํฌ๋จธ ์ธ์ฝ”๋” ์ธต์˜ ์ˆ˜๋ฅผ L, d_model์˜ ํฌ๊ธฐ๋ฅผ D, ์…€ํ”„ ์–ดํ…์…˜ ํ—ค๋“œ์˜ ์ˆ˜๋ฅผ A๋ผ๊ณ  ํ•˜์˜€์„ ๋•Œ ๊ฐ๊ฐ์˜ ํฌ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

BERT-Base : L=12, D=768, A=12 : 110M๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ
BERT-Large : L=24, D=1024, A=16 : 340M๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ

 

ํŠธ๋žœ์Šคํฌ๋จธ ์ดˆ๊ธฐ ๋ชจ๋ธ์ด (L=6, D=512, A=8) ์ด์—ˆ๋‹ค๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ•˜๋ฉด BERT์˜ Base Model์€ ์ดˆ๊ธฐ ํŠธ๋žœ์Šคํฌ๋จธ๋ณด๋‹ค ํฐ ๋„คํŠธ์›Œํฌ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ BERT-base๋Š” BERT๋ณด๋‹ค ์•ž์„œ ๋“ฑ์žฅํ•œ Open AI GPT-1๊ณผ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋™์ผํ•œ๋ฐ,

์ด๋Š” BERT ์—ฐ๊ตฌ์ง„์ด ์ง์ ‘์ ์œผ๋กœ GPT-1๊ณผ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด์„œ GPT-1๊ณผ ๋™๋“ฑํ•œ ํฌ๊ธฐ๋กœ BERT-Base๋ฅผ ์„ค๊ณ„ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด, BERT-Large๋Š” BERT์˜ ์ตœ๋Œ€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.


BERT์—์„œ ๋ฌธ๋งฅ์„ ๋ฐ˜์˜ํ•œ Contextual Embedding

BERT๋Š” ๋ฌธ๋งฅ์„ ๋ฐ˜์˜ํ•œ ์ž„๋ฒ ๋”ฉ(Contextual Embedding)์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

BERT ๋ชจ๋ธ์˜ ์ž…๋ ฅ์€ DL Model๋“ค๊ณผ์˜ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Embedding Layer๋ฅผ ๊ฐ€์ง„ Embedding Vector๋“ค์ž…๋‹ˆ๋‹ค.

d_model์„ 768๋กœ ์ •์˜ํ•˜์˜€์œผ๋ฏ€๋กœ, ๋ชจ๋“  ๋‹จ์–ด๋“ค์€ 768์ฐจ์›์˜ Embedding Vector๊ฐ€ ๋˜์–ด BERT์˜ input์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Model์—์„œ ์—ฐ์‚ฐ์„ ๊ฑฐ์นœํ›„, 768์ฐจ์›์˜ Vector๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด, BERT Model์ด ๊ฐ 768์ฐจ์›์˜ [CLS], I, love, you๋ผ๋Š” 4๊ฐœ์˜ Input Embedding(Vector)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์„œ ๋™์ผํ•˜๊ฒŒ 768์ฐจ์›์˜ 4๊ฐœ์˜ Output Embedding(Vector)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ชจ์Šต์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

 

BERT์˜ ์—ฐ์‚ฐ์„ ๊ฑฐ์นœ ํ›„์˜ Output Embedding์€ ๋ฌธ์žฅ์˜ Context๋ฅผ ๋ชจ๋‘ ์ฐธ๊ณ ํ•œ ๋ฌธ๋งฅ์„ ๋ฐ˜์˜ํ•œ Embedding์ด ๋ฉ๋‹ˆ๋‹ค.

[CLS]๋ผ๋Š” ๋ฒกํ„ฐ๋Š” BERT์˜ ์ดˆ๊ธฐ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์„ ์ž…๋ ฅ ์ž„๋ฒ ๋”ฉ ๋‹น์‹œ์—๋Š” ๋‹จ์ˆœํžˆ ์ž„๋ฒ ๋”ฉ ์ธต(embedding layer)๋ฅผ ์ง€๋‚œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜€์ง€๋งŒ, BERT๋ฅผ ์ง€๋‚˜๊ณ  ๋‚˜์„œ๋Š” [CLS], I, love, you๋ผ๋Š” ๋ชจ๋“  ๋‹จ์–ด ๋ฒกํ„ฐ๋“ค์„ ๋ชจ๋‘ ์ฐธ๊ณ ํ•œ ํ›„์— ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ๋ฒกํ„ฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

์ขŒ์ธก ๊ทธ๋ฆผ์—์„œ๋Š” ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ์ฐธ๊ณ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ ์„ ์˜ ํ™”์‚ดํ‘œ๋กœ ํ‘œํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. [CLS]๋ผ๋Š” ๋‹จ์–ด ๋ฒกํ„ฐ๋ž‘ ๋‹ค๋ฅธ ๋ฒกํ„ฐ๋“ค๋„ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์šฐ์ธก์˜ ๊ทธ๋ฆผ์—์„œ ์ถœ๋ ฅ ์ž„๋ฒ ๋”ฉ ๋‹จ๊ณ„์˜ love๋ฅผ ๋ณด๋ฉด BERT์˜ ์ž…๋ ฅ์ด์—ˆ๋˜ ๋ชจ๋“  ๋‹จ์–ด๋“ค์ธ [CLS], I, love, you๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

[CLS] ํ† ํฐ์€ ์ž…๋ ฅ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์ถ”๊ฐ€๋˜๋Š” ํ† ํฐ์œผ๋กœ, ์ „์ฒด ์‹œํ€€์Šค์˜ ๋Œ€ํ‘œ ๋ฒกํ„ฐ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋ถ„๋ฅ˜ ์ž‘์—…์—์„œ ์ด ํ† ํฐ์˜ ์ถœ๋ ฅ ๋ฒกํ„ฐ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

ํ•˜๋‚˜์˜ ๋‹จ์–ด๊ฐ€ ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ์ฐธ๊ณ ํ•˜๋Š” ์—ฐ์‚ฐ์€ BERT์˜ 12๊ฐœ์˜ Layer์—์„œ ๋™์ผํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  12๊ฐœ์˜ ์ธต์„ ์ง€๋‚œ ํ›„์— Output Embedding์„ ์–ป๊ฒŒ๋ฉ๋‹ˆ๋‹ค

์œ„ ๊ทธ๋ฆผ์€ BERT์˜ ์ฒซ๋ฒˆ์งธ Layer์— ์ž…๋ ฅ๋œ ๊ฐ ๋‹จ์–ด๊ฐ€ ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ์ฐธ๊ณ ํ•œ ํ›„์— ์ถœ๋ ฅ๋˜๋Š” ๊ณผ์ •์„ ํ™”์‚ดํ‘œ๋กœ ํ‘œํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

BERT์˜ ์ฒซ๋ฒˆ์งธ Layer์˜ Output Embedding์€ BERT์˜ ๋‘๋ฒˆ์งธ Layer์—์„œ๋Š” Input Embedding์ด ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด BERT Model์ด ๋ชจ๋“  ๋‹จ์–ด๋“ค์„ ์ฐธ๊ณ ํ•ด์„œ Context๋ฅผ ๋ฐ˜์˜ํ•œ Output Embedding์„ ์–ป๊ฒŒ ๋˜๋Š” ๋ฐฉ๋ฒ•์€, 'Self-Attention'์„ ํ†ตํ•ด์„œ ์ด๋ฃจ์–ด ์ง‘๋‹ˆ๋‹ค.

BERT ๋ชจ๋ธ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Transformer Encoder๋ฅผ 12๋ฒˆ ์Œ“์€๊ฒƒ ์ด๋ฏ€๋กœ, ๊ฐ Layer๋งˆ๋‹ค Multi-Head Self-Attention๊ณผ Position-wise Feed-Forward Network์„ ์ˆœํšŒํ•˜๋ฉฐ ์ตœ์ข…์ ์œผ๋กœ Output Embedding์„ ์–ป์Šต๋‹ˆ๋‹ค.


BERT Model์˜ Embedding

BERT๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ธ ๊ฐ€์ง€ ์ž„๋ฒ ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์–ด์˜ ์œ„์น˜์™€ ๋ฌธ๋งฅ์„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

ํ† ํฐ ์ž„๋ฒ ๋”ฉ(Token Embedding)

  • ๋‹จ์–ด๋ฅผ ๊ณ ์œ ํ•œ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
  • WordPiece ํ† ํฌ๋‚˜์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ท€ ๋‹จ์–ด๋‚˜ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ์„œ๋ธŒ์›Œ๋“œ(subword) ๋‹จ์œ„๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ: "playing" → "play", "##ing"

์›Œ๋“œํ”ผ์Šค ์ž„๋ฒ ๋”ฉ(WordPiece Embedding)

  • ๋ฌธ์žฅ ๊ตฌ๋ถ„์„ ์œ„ํ•œ ์ž„๋ฒ ๋”ฉ์œผ๋กœ, ๋‘ ๋ฌธ์žฅ์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ๋ฌธ์žฅ์€ ์„ธ๊ทธ๋จผํŠธ A, ๋‘ ๋ฒˆ์งธ ๋ฌธ์žฅ์€ ์„ธ๊ทธ๋จผํŠธ B๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ(Position Embedding)

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

์ž…๋ ฅ ์ž„๋ฒ ๋”ฉ ๊ตฌ์„ฑ

  • ์œ„ ์„ธ ๊ฐ€์ง€ ์ž„๋ฒ ๋”ฉ์„ ์š”์†Œ๋ณ„๋กœ ํ•ฉ์‚ฐ(summing)ํ•˜์—ฌ ์ตœ์ข… ์ž…๋ ฅ ์ž„๋ฒ ๋”ฉ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๋‹จ์–ด์˜ ์˜๋ฏธ, ๋ฌธ์žฅ ๊ตฌ์กฐ, ์œ„์น˜ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ํ†ตํ•ฉํ•˜์—ฌ ๋ชจ๋ธ์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ (Position Embedding)

ํŠธ๋žœ์Šคํฌ๋จธ์—์„œ๋Š” ํฌ์ง€์…”๋„ ์ธ์ฝ”๋”ฉ(Positional Encoding)์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ ๋‹จ์–ด์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํฌ์ง€์…”๋„ ์ธ์ฝ”๋”ฉ์€ ์‚ฌ์ธ, ์ฝ”์‚ฌ์ธ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์น˜์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ํ–‰๋ ฌ์„ ๋งŒ๋“ค์–ด ์ด๋ฅผ ๋‹จ์–ด ๋ฒกํ„ฐ๋“ค๊ณผ ๋”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

BERT์—์„œ๋Š” ์ด์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์œ„์น˜ ์ •๋ณด๋ฅผ ์‚ฌ์ธ ํ•จ์ˆ˜์™€ ์ฝ”์‚ฌ์ธ ํ•จ์ˆ˜๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํ•™์Šต์„ ํ†ตํ•ด์„œ ์–ป๋Š” ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ(Position Embedding)์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์„ ํ† ๋Œ€๋กœ, Positional Embedding์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.WordPiece Embedding์€ ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ์œผ๋กœ ์‹ค์งˆ์ ์ธ ์ž…๋ ฅ์ž…๋‹ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์ด ์ž…๋ ฅ์— ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ์„ ํ†ตํ•ด์„œ ์œ„์น˜ ์ •๋ณด๋ฅผ ๋”ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ์˜ ์•„์ด๋””์–ด๋Š” ๊ต‰์žฅํžˆ ๊ฐ„๋‹จํ•œ๋ฐ, ์œ„์น˜ ์ •๋ณด๋ฅผ ์œ„ํ•œ ์ž„๋ฒ ๋”ฉ ์ธต(Embedding layer)์„ ํ•˜๋‚˜ ๋” ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์žฅ์˜ ๊ธธ์ด๊ฐ€ 4๋ผ๋ฉด 4๊ฐœ์˜ ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ ํ•™์Šต์‹œํ‚จํ›„ BERT์˜ ์ž…๋ ฅ๋งˆ๋‹ค ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ ๋”ํ•ด์ค๋‹ˆ๋‹ค.

์ฒซ๋ฒˆ์งธ ๋‹จ์–ด์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ + 0๋ฒˆ ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ
๋‘๋ฒˆ์งธ ๋‹จ์–ด์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ + 1๋ฒˆ ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ
์„ธ๋ฒˆ์งธ ๋‹จ์–ด์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ + 2๋ฒˆ ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ
๋„ค๋ฒˆ์งธ ๋‹จ์–ด์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ + 3๋ฒˆ ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ

 

BERT์—์„œ๋Š” ๋ฌธ์žฅ์˜ ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ 512๋กœ ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ์ด 512๊ฐœ์˜ ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๊ฐ€ ํ•™์Šต๋ฉ๋‹ˆ๋‹ค.

BERT์— 2๊ฐœ์˜ ์ž„๋ฒ ๋”ฉ ์ธต์ด ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•˜๋ฉด? ๋‹จ์–ด ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ๊ฐ€ 30,522๊ฐœ์ธ ๋‹จ์–ด ๋ฒกํ„ฐ๋ฅผ ์œ„ํ•œ Embedding Layer๊ณผ

๋ฌธ์žฅ์˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 512์ด๋ฏ€๋กœ 512๊ฐœ์˜ Position Vector๋ฅผ ์œ„ํ•œ Embedding Layer ์ž…๋‹ˆ๋‹ค.


Segment Embedding(์„ธ๊ทธ๋จผํŠธ ์ž„๋ฒ ๋”ฉ)

BERT ๋ชจ๋ธ์€ ์ข…์ข… 2๊ฐœ ์ด์ƒ์˜ ๋ฌธ์žฅ input์ด ํ•„์š”ํ•œ Task๊ฐ€ ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋•Œ, ๋ฌธ์žฅ ๊ตฌ๋ถ„์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ Segment Embedding์ด๋ผ๋Š” ๋˜ ๋‹ค๋ฅธ Embedding Layer์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ๋ฒˆ์งธ ๋ฌธ์žฅ์—๋Š” Sentence 0 ์ž„๋ฒ ๋”ฉ, ๋‘๋ฒˆ์งธ ๋ฌธ์žฅ์—๋Š” Sentence 1 ์ž„๋ฒ ๋”ฉ์„ ๋”ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋ฉฐ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋Š” ๋‘ ๊ฐœ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ฉด, ์•ž์—์„œ ์„ค๋ช…ํ–ˆ์ง€๋งŒ, BERT ๋ชจ๋ธ์—์„œ๋Š” 3๊ฐœ์˜ Embedding Layer๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

WordPiece Embedding : ์‹ค์งˆ์ ์ธ ์ž…๋ ฅ์ด ๋˜๋Š” ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ. ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ๋‹จ์–ด ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ๋กœ 30,522๊ฐœ.
Position Embedding : ์œ„์น˜ ์ •๋ณด๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•œ ์ž„๋ฒ ๋”ฉ. ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ๋ฌธ์žฅ์˜ ์ตœ๋Œ€ ๊ธธ์ด์ธ 512๊ฐœ.
Segment Embedding : ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์ž„๋ฒ ๋”ฉ. ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ๋ฌธ์žฅ์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜์ธ 2๊ฐœ.

 

์ฐธ๊ณ ํ•ด์•ผ ํ•  ์ ์€, BERT๊ฐ€ ๋ฌธ์žฅ ์ค‘๊ฐ„์— ์žˆ๋Š” [SEP] Token๊ณผ ๋‘ ์ข…๋ฅ˜์˜ Segment Embedding์„ ํ†ตํ•ด์„œ ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์ง€๋งŒ?

์—ฌ๊ธฐ์„œ BERT์— ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์ด ๋“ค์–ด๊ฐ„๋‹ค๋Š” ํ‘œํ˜„์—์„œ์˜ ๋ฌธ์žฅ์ด๋ผ๋Š” ๊ฒƒ์€ ์‹ค์ œ ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๋ฌธ์žฅ์˜ ๋‹จ์œ„๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

 

[SEP] Token๊ณผ Segment Embedding์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜๋Š” [์งˆ๋ฌธ(Question), ๋ณธ๋ฌธ(Paragraph)]์˜ Text๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ๊ฒฝ์šฐ๋ฉด?

๋ณธ๋ฌธ(Paragraph) 1๊ฐœ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฌธ์žฅ์œผ๋กœ ๊ตฌ์„ฑ๋ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, BERT Model์— ๋“ค์–ด์˜ค๋Š” 2๊ฐœ์˜ ๋ฌธ์žฅ์€ ์‹ค์ œ๋กœ๋Š”? ๋‘ ์ข…๋ฅ˜์˜ Text ์ผ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๊ณ  ๊ผญ 2๊ฐœ์˜ ๋ฌธ์žฅ์„ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•˜๋Š”๊ฑด ์•„๋‹™๋‹ˆ๋‹ค. Classification ์ž‘์—…์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•˜๋‚˜์˜ ๋ณธ๋ฌธ(Paragraph)์„ ๊ฐ€์ง€๊ณ  ๋ถ„๋ฅ˜๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, BERT ๋ชจ๋ธ์˜ ์ „์ฒด ์ž…๋ ฅ์— Sentence 0 Embedding๋งŒ ๋”ํ•ด์ค๋‹ˆ๋‹ค.

 

BERT Model ํŠน์ˆ˜ Token

BERT๋Š” ์ž…๋ ฅ ์‹œํ€€์Šค์— ํŠน์ˆ˜ ํ† ํฐ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ชจ๋ธ์˜ ์ดํ•ด๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.

  • [CLS] ํ† ํฐ
    • ์ž…๋ ฅ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์ถ”๊ฐ€๋˜๋Š” ํ† ํฐ์œผ๋กœ, ์ „์ฒด ์‹œํ€€์Šค์˜ ๋Œ€ํ‘œ ๋ฒกํ„ฐ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ๋ถ„๋ฅ˜ ์ž‘์—…์—์„œ ์ด ํ† ํฐ์˜ ์ถœ๋ ฅ ๋ฒกํ„ฐ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • [SEP] ํ† ํฐ
    • ๋ฌธ์žฅ ๋˜๋Š” ์„ธ๊ทธ๋จผํŠธ์˜ ๊ตฌ๋ถ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ† ํฐ์ž…๋‹ˆ๋‹ค.
    • ๋‘ ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•  ๋•Œ ๊ฐ ๋ฌธ์žฅ ๋’ค์— [SEP] ํ† ํฐ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
[CLS] ๋ฌธ์žฅ1์˜ ๋‚ด์šฉ [SEP] ๋ฌธ์žฅ2์˜ ๋‚ด์šฉ [SEP]

BERT์—์„œ์˜ Self-Attention

BERT ๋ชจ๋ธ์—์„œ์˜ Attention ๋งค์ปค๋‹ˆ์ฆ˜์— ๋ฐํ•˜์—ฌ ์„ค๋ช…์„ ํ•ด๋ณด๋ฉด, ๋‹จ์–ด๋“ค์ด ์„œ๋กœ ์–ด๋–ป๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ํ•™์Šตํ•˜์—ฌ ๋ฌธ๋งฅ ์ดํ•ด๋ฅผ ๋•์Šต๋‹ˆ๋‹ค.

๊ฐ ๋‹จ์–ด์˜ ์ฟผ๋ฆฌ(Query), ํ‚ค(Key), ๊ฐ’(Value)๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์–ดํ…์…˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ๋กœ Input Sequence๋ฅผ "์–ด์ œ ์นดํŽ˜ ๊ฐ”์—ˆ์–ด [MASK] ์‚ฌ๋žŒ ๋งŽ๋”๋ผ" ๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด, BERT ๋ชจ๋ธ์€ [MASK] Token ์•ž๋’ค ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ์ฐธ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BERT์˜ Self-Attention

 

[MASK]๋ผ๋Š” ๋‹จ์–ด์— ๋Œ€์‘ํ•˜๋Š” BERT์˜ ๋งˆ์ง€๋ง‰ Layer์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ์— ์„ ํ˜• ๋ณ€ํ™˜๊ณผ Softmax ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด, ์š”์†Œ๊ฐ’ ๊ฐ๊ฐ์ด ํ™•๋ฅ ์ด๊ณ ,

ํ•™์Šต ๋Œ€์ƒ์˜ ์–ธ์–ด์˜ ์–ดํœ˜์ˆ˜ ๋งŒํผ ์ฐจ์›์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ฒกํ„ฐ๊ฐ€ ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋นˆ์นธ์˜ ์ •๋‹ต์ธ ๊ฑฐ๊ธฐ์— ํ•ด๋‹นํ•˜๋Š” ํ™•๋ฅ ์€ ๋†’์ด๊ณ  ๋‚˜๋จธ์ง€ ๋‹จ์–ด์˜ ํ™•๋ฅ ์ด ๋‚ฎ์•„์ง€๋„๋ก ๋ชจ๋ธ ์ „์ฒด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์˜ ๊ธ€์— Self-Attention์— ๊ด€ํ•˜์—ฌ ์ž์„ธํžˆ ์ •๋ฆฌํ•ด ๋†“์•˜์œผ๋‹ˆ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!
 

[NLP] ํ•ฉ์„ฑ๊ณฑ, ์ˆœํ™˜์‹ ๊ฒฝ๋ง, Encoder, Decoder์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” Self-Attention

์ „์— ์ผ๋˜ ๋‚ด์šฉ์— ์ด์–ด์„œ ์จ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง (CNN Model)๊ณผ ๋น„๊ตํ•œ Self-Attention CNN์€ *Convolution filter(ํ•ฉ์„ฑ๊ณฑ ํ•„ํ„ฐ)๋ผ๋Š” ํŠน์ˆ˜ํ•œ ์žฅ์น˜๋ฅผ ์ด์šฉํ•ด์„œ Sequence์˜ ์ง€์—ญ์ ์ธ ํŠน์ง•์„ ์žก์•„๋‚ด๋Š” ๋ชจ๋ธ์ž…

daehyun-bigbread.tistory.com


Attention Mask (์–ดํ…์…˜ ๋งˆ์Šคํฌ)

์•ž์—์„œ [MASK]๋ผ๋Š” Token์ด ๋‚˜์™€์„œ ๊ทธ ๋‚ด์šฉ์— ๊ด€ํ•˜์—ฌ ์„ค๋ช…์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

BERT Model์„ ๋Œ๋ฆด๋•Œ, Attention Mask๋ผ๋Š” Sequence Input์ด ํ•„์š”ํ• ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Attention Mask๋Š” BERT๊ฐ€ Attention ์—ฐ์‚ฐ์„ ํ•  ๋•Œ, ๋ถˆํ•„์š”ํ•œ Padding Token์— ๋Œ€ํ•ด์„œ Attention์„ ํ•˜์ง€ ์•Š๋„๋ก ์‹ค์ œ ๋‹จ์–ด์™€ Padding Token์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•Œ๋ ค์ฃผ๋Š” ์ž…๋ ฅ์ž…๋‹ˆ๋‹ค.

 

Attention Mask๊ฐ’์€ 0๊ณผ 1 ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ, ์ˆซ์ž 1์€ ํ•ด๋‹น ํ† ํฐ์€ ์‹ค์ œ ๋‹จ์–ด์ด๋ฏ€๋กœ Masking์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ผ๋Š” ์˜๋ฏธ์ด๊ณ ,

์ˆซ์ž 0์€ ํ•ด๋‹น ํ† ํฐ์€ Padding Token์ด๋ฏ€๋กœ Masking์„ ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

 

๊ฐ™์ด ์‹ค์ œ ๋‹จ์–ด์˜ ์œ„์น˜์—๋Š” 1, Padding Token์˜ ์œ„์น˜์—๋Š” 0์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  Sequence๋ฅผ ๋งŒ๋“ค์–ด BERT์˜ ๋˜ ๋‹ค๋ฅธ Input์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


BERT Model์˜ Input Data์˜ ์ฒ˜๋ฆฌ ๊ณผ์ •

๊ทธ๋Ÿฌ๋ฉด BERT Model์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐœ๋…์„ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณธ๊ฒƒ ๊ฐ™์œผ๋‹ˆ, Input Data์˜ ์ฒ˜๋ฆฌ๊ณผ์ •์„ ํ•œ๋ฒˆ ๊ฐ„๋žตํ•˜๊ฒŒ ์š”์•ฝํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ „์ฒ˜๋ฆฌ

  • ์ž…๋ ฅ ํ…์ŠคํŠธ๋ฅผ ํ† ํฌ๋‚˜์ด์ง•ํ•˜์—ฌ ํ† ํฐ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํ† ํฐ ๋ฆฌ์ŠคํŠธ์— [CLS]์™€ [SEP] ํ† ํฐ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ธ๊ทธ๋จผํŠธ์™€ ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ์ž…๋ ฅ

  • ์ž…๋ ฅ ์ž„๋ฒ ๋”ฉ(ํ† ํฐ ์ž„๋ฒ ๋”ฉ + ์„ธ๊ทธ๋จผํŠธ ์ž„๋ฒ ๋”ฉ + ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ)์„ ๋ชจ๋ธ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์ถœ๋ ฅ

  • ๊ฐ ํ† ํฐ์— ๋Œ€ํ•œ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋ฐ˜์˜๋œ ๋ฒกํ„ฐ ํ‘œํ˜„์„ ์–ป์Šต๋‹ˆ๋‹ค.
  • [CLS] ํ† ํฐ์˜ ๋ฒกํ„ฐ๋Š” ์ „์ฒด ์ž…๋ ฅ์˜ ๋Œ€ํ‘œ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

BERT Model์˜ Pre-Training

BERT Model์—์„œ ์‚ฌ์ „ ํ•™์Šต(Pre-training)์•  ๋Œ€ํ•˜์—ฌ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

BERT ๋ชจ๋ธ์—์„œ ์‚ฌ์ „ ํ•™์Šต(Pre-Training) ์€ ๋Œ€๊ทœ๋ชจ์˜ Text Corpus๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์ด ์ผ๋ฐ˜์ ์ธ ์–ธ์–ด์˜ ๊ตฌ์กฐ์™€ ํŒจํ„ด์„ ํ•™์Šตํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. BERT๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ชฉํ‘œ๋ฅผ ํ†ตํ•ด ์‚ฌ์ „ ํ•™์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค

  • Masked Language Model(MLM)
  • Next Sentence Prediction(NSP)

Masked Language Model, MLM (๋งˆ์Šคํฌ๋“œ ์–ธ์–ด ๋ชจ๋ธ)

BERT๋Š” ์‚ฌ์ „ ํ›ˆ๋ จ์„ ์œ„ํ•ด์„œ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์˜ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ์ž…๋ ฅ ํ…์ŠคํŠธ์˜ 15%์˜ ๋‹จ์–ด๋ฅผ ๋žœ๋ค์œผ๋กœ ๋งˆ์Šคํ‚น(Masking)ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ธ๊ณต ์‹ ๊ฒฝ๋ง์—๊ฒŒ ์ด ๊ฐ€๋ ค์ง„ ๋‹จ์–ด๋“ค์„(Masked words) ์˜ˆ์ธกํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์ค‘๊ฐ„์— ๋‹จ์–ด๋“ค์— ๊ตฌ๋ฉ์„ ๋šซ์–ด๋†“๊ณ , ๊ตฌ๋ฉ์— ๋“ค์–ด๊ฐˆ ๋‹จ์–ด๋“ค์„ ์˜ˆ์ธกํ•˜๊ฒŒ ํ•˜๋Š” ์‹์ž…๋‹ˆ๋‹ค.

https://www.sbert.net/examples/unsupervised_learning/MLM/README.html

์˜ˆ๋ฅผ ๋“ค์–ด '๊ทธ๋Š” ์˜คํ›„์— [MASK] ์šด๋™์„ ํ•˜๊ณ  ํ•™๊ต๋กœ ๋Œ์•„๊ฐ”๋‹ค.'๋ฅผ ์ฃผ๊ณ  '๊ณต์›์—์„œ'๋ฅผ ๋งž์ถ”๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

 

๋” ์ •ํ™•ํžˆ๋Š” ์ „๋ถ€ [MASK]๋กœ ๋ณ€๊ฒฝํ•˜์ง€๋Š” ์•Š๊ณ , ๋žœ๋ค์œผ๋กœ ์„ ํƒ๋œ 15%์˜ ๋‹จ์–ด๋“ค์€ ๋‹ค์‹œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋น„์œจ๋กœ ๊ทœ์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

80%์˜ ๋‹จ์–ด๋“ค์€ [MASK]๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.
Ex) '๊ณต์›์—์„œ' → '[MASK]'

10%์˜ ๋‹จ์–ด๋“ค์€ ๋žœ๋ค์œผ๋กœ ๋‹จ์–ด๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค.
Ex) '์ง‘์œผ๋กœ' → 'ํ•™๊ต๋กœ'

10%์˜ ๋‹จ์–ด๋“ค์€ ๋™์ผํ•˜๊ฒŒ ๋‘”๋‹ค.
Ex) '๋Œ์•„๊ฐ”๋‹ค' → '๋Œ์•„๊ฐ”๋‹ค'

์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ๋Š” [MASK]๋งŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” [MASK] ํ† ํฐ์ด Fine-Tuning ๋‹จ๊ณ„์—์„œ๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฏ€๋กœ

Pre-Training(์‚ฌ์ „ ํ•™์Šต)๋‹จ๊ณ„์™€ Fine-Tuning ๋‹จ๊ณ„์—์„œ์˜ ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋žœ๋ค์œผ๋กœ ์„ ํƒ๋œ 15%์˜ ๋‹จ์–ด๋“ค์˜ ๋ชจ๋“  ํ† ํฐ์„ [MASK]๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ „์ฒด ๋‹จ์–ด์˜ 85%๋Š” MLM ์˜ ํ•™์Šต์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. MLM์˜ ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด๋Š” ์ „์ฒด ๋‹จ์–ด์˜ 15%์ž…๋‹ˆ๋‹ค.

  • 12%๋Š” [MASK]๋กœ ๋ณ€๊ฒฝ ํ›„์— ์›๋ž˜ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.
  • 1.5%๋Š” ๋žœ๋ค์œผ๋กœ ๋‹จ์–ด๊ฐ€ ๋ณ€๊ฒฝ๋œ ํ›„์— ์›๋ž˜ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.
  • 1.5%๋Š” ๋‹จ์–ด๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ, BERT๋Š” ์ด ๋‹จ์–ด๊ฐ€ ๋ณ€๊ฒฝ๋œ ๋‹จ์–ด์ธ์ง€ ์›๋ž˜ ๋‹จ์–ด๊ฐ€ ๋งž๋Š”์ง€๋Š” ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ์—๋„ BERT๋Š” ์›๋ž˜ ๋‹จ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

 

๋‹ค์‹œ, ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๋ฉด, 'My dog is cute. he likes playing'์ด๋ผ๋Š” ๋ฌธ์žฅ์„ MLM์œผ๋กœ ํ•™์Šตํ•˜์ž๊ณ  ํ•˜๋ฉด? 

์ „์ฒ˜๋ฆฌ + BERT์˜ Subword tokenizer์— ์˜ํ•ด ์ด ๋ฌธ์žฅ์€ ['my', 'dog', 'is' 'cute', 'he', 'likes', 'play', '##ing']๋กœ ํ† ํฐํ™”๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๊ทธํ›„ BERT์˜ Input์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ธ์–ด๋ชจ๋ธ ํ•™์Šต์„ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

'dog' ํ† ํฐ์€ [MASK]๋กœ ๋ณ€๊ฒฝ

 

 

๊ทธ๋ฆผ์„ ๋ณด๋ฉด, 'dog' ํ† ํฐ์ด [MASK]๋กœ ๋ณ€๊ฒฝ๋œ ํ›„, BERT Model์ด ์›๋ž˜ ๋‹จ์–ด๋ฅผ ๋งž์ถ”๋ ค๊ณ  ํ•˜๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Output Layer์— ์žˆ๋Š” ๋‹ค๋ฅธ ์œ„์น˜์˜ Vector๋“ค์€ Predict(์˜ˆ์ธก)๊ณผ Train(ํ•™์Šต)์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ , ์˜ค์ง 'dog'์œ„์น˜์˜ Output Layer์˜ Vector๋งŒ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

๊ฒฐ๋ก ์€ Output Layer์—์„œ๋Š” Predict(์˜ˆ์ธก)์„ ์œ„ํ•ด ๋‹จ์–ด ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ๋งŒํผ์˜ ๋ฐ€์ง‘์ธต(Dense layer)์— softmax ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋œ 1๊ฐœ์˜ Layer ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๋ž˜ ๋‹จ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ๋งž์ถ”๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Masked Language Model, MLM (๋งˆ์Šคํฌ๋“œ ์–ธ์–ด ๋ชจ๋ธ)์˜ ์žฅ์ 

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

Pre-Training(์‚ฌ์ „ ํ•™์Šต)๊ณผ Fine-Tuning(ํŒŒ์ธ ํŠœ๋‹)๋‹จ๊ณ„์˜ ๋ถˆ์ผ์น˜

BERT์˜ ์‚ฌ์ „ ํ•™์Šต ๋‹จ๊ณ„์—์„œ Masked Language Model(MLM)์„ ์‚ฌ์šฉํ•  ๋•Œ, ์ž…๋ ฅ ๋ฌธ์žฅ์˜ 15%์˜ ๋‹จ์–ด๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ•˜์—ฌ ๋งˆ์Šคํ‚นํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์„ ํƒ๋œ ๋‹จ์–ด๋“ค์„ ๋ชจ๋‘ [MASK] ํ† ํฐ์œผ๋กœ ๋Œ€์ฒดํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

 

  • Pre-Training(์‚ฌ์ „ ํ•™์Šต) ๋‹จ๊ณ„์—์„œ๋Š” ๋ชจ๋ธ์ด [MASK] ํ† ํฐ์„ ๋ณด๊ณ  ๊ทธ ์ž๋ฆฌ์— ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ์™€์•ผ ํ• ์ง€ ์˜ˆ์ธกํ•˜๋„๋ก ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ Fine-Tuning(๋ฏธ์„ธ ์กฐ์ •) ๋‹จ๊ณ„๋‚˜ ์‹ค์ œ ์‘์šฉ ๋‹จ๊ณ„์—์„œ๋Š” [MASK] ํ† ํฐ์ด ์ž…๋ ฅ์— ๋“ฑ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๋งˆ์Šคํ‚น๋œ ๋‹จ์–ด๋ฅผ [MASK]๋กœ๋งŒ ๋Œ€์ฒดํ•˜๋ฉด, ๋ชจ๋ธ์€ [MASK] ํ† ํฐ์ด ์žˆ์„ ๋•Œ๋งŒ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ์ต์ˆ™ํ•ด์ง‘๋‹ˆ๋‹ค.
  • ์ด๋Š” Pre-Training(์‚ฌ์ „ ํ•™์Šต)๊ณผ Fine-Tuning(ํŒŒ์ธ ํŠœ๋‹)๋‹จ๊ณ„ ์‚ฌ์ด์— ๋ถˆ์ผ์น˜(mismatch)๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ, ์‹ค์ œ ์‚ฌ์šฉ ์‹œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ์ฑ…: ๋งˆ์Šคํ‚น๋œ ๋‹จ์–ด๋“ค์˜ ๋‹ค์–‘ํ™”
์ด๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ์„ ํƒ๋œ 15%์˜ ๋‹จ์–ด๋“ค์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

80%๋Š” [MASK] ํ† ํฐ์œผ๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ: "๋‚˜๋Š” **[MASK]**๋ฅผ ๋จน์—ˆ๋‹ค.

10%๋Š” ์›๋ž˜ ๋‹จ์–ด ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ: "๋‚˜๋Š” ์‚ฌ๊ณผ๋ฅผ ๋จน์—ˆ๋‹ค.

10%๋Š” ๋ฌด์ž‘์œ„ ๋‹ค๋ฅธ ๋‹จ์–ด๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ: "๋‚˜๋Š” ๋ฐ”๋‚˜๋‚˜๋ฅผ ๋จน์—ˆ๋‹ค."

BERT ๋ชจ๋ธ์€ [MASK] ํ† ํฐ์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์›๋ž˜ ๋‹จ์–ด๊ฐ€ ์œ ์ง€๋˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋‹จ์–ด๋กœ ๋Œ€์ฒด๋œ ๊ฒฝ์šฐ์—๋„ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

Fine-Tuning(๋‹จ๊ณ„)์™€ ์‹ค์ œ ์‘์šฉ ๋‹จ๊ณ„์—์„œ๋Š” [MASK] ํ† ํฐ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋ธ์ด [MASK] ์—†์ด๋„ ๋‹จ์–ด ์˜ˆ์ธก์„ ์ž˜ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ž…๋ ฅ์„ ๊ฒฝํ—˜ํ•จ์œผ๋กœ์จ, ๋ชจ๋ธ์€ Predict(์˜ˆ์ธก) ๋Šฅ๋ ฅ์ด ํ–ฅ์ƒ๋˜๊ณ  Overfitting(๊ณผ์ ํ•ฉ)์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Next Sentence Prediction, NSP (๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก)

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

50:50 ๋น„์œจ๋กœ ์‹ค์ œ ์ด์–ด์ง€๋Š” ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ๊ณผ ๋žœ๋ค์œผ๋กœ ์ด์–ด๋ถ™์ธ ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ์ฃผ๊ณ  ํ›ˆ๋ จ์‹œํ‚ต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด Sentence A์™€ Sentence B๋ผ๊ณ  ํ•˜์˜€์„ ๋•Œ, ๋ฌธ์žฅ์˜ ์—ฐ์†์„ฑ์„ ํ™•์ธํ•œ ๊ฒฝ์šฐ์™€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ด์–ด์ง€๋Š” ๋ฌธ์žฅ์˜ ๊ฒฝ์šฐ
Sentence A : The man went to the store.
Sentence B : He bought a gallon of milk.
Label = IsNextSentence

์ด์–ด์ง€๋Š” ๋ฌธ์žฅ์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๊ฒฝ์šฐ
Sentence A : The man went to the store.
Sentence B : dogs are so cute.
Label = NotNextSentence

 

์•ž์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด, BERT์˜ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ์„ ๋•Œ์—๋Š” [SEP]๋ผ๋Š” ํŠน๋ณ„ Token์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์žฅ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ๋ฒˆ์งธ ๋ฌธ์žฅ์˜ ๋์— [SEP] Token์„ ๋„ฃ๊ณ , ๋‘๋ฒˆ์งธ ๋ฌธ์žฅ์ด ๋๋‚˜๋ฉด ์—ญ์‹œ [SEP] Token์„ ๋ถ™์—ฌ์ค๋‹ˆ๋‹ค.

์ด ๋‘ ๋ฌธ์žฅ์ด ์‹ค์ œ ์ด์–ด์ง€๋Š” ๋ฌธ์žฅ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ [CLS] Token์˜ ์œ„์น˜์˜ Output Layer์—์„œ Binary Classification ๋ฌธ์ œ๋ฅผ ํ’€๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

 

[CLS] ํ† ํฐ์€ BERT๊ฐ€ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€๋œ ํŠน๋ณ„ Token ์ž…๋‹ˆ๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์—์„œ ๋‚˜ํƒ€๋‚œ ๊ฒƒ๊ณผ ๊ฐ™์ด MLM๊ณผ ๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก์€ ๋”ฐ๋กœ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ loss๋ฅผ ํ•ฉํ•˜์—ฌ ํ•™์Šต์ด ๋™์‹œ์— ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

Next Sentence Prediction, NSP (๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก)์˜ ์žฅ์ 

  • ๋ฌธ์žฅ ๋ ˆ๋ฒจ ์ดํ•ด ๊ฐ•ํ™”: ๋‹จ์–ด ์ˆ˜์ค€์„ ๋„˜์–ด ๋ฌธ์žฅ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜์—ฌ, ๋ฌธ์„œ ์ดํ•ด ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ์ž‘์—…์— ๊ธฐ์—ฌ: ์ž์—ฐ์–ด ์ถ”๋ก , ๋ฌธ์žฅ ์œ ์‚ฌ๋„ ์ธก์ • ๋“ฑ ๋ฌธ์žฅ ๊ด€๊ณ„๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์ž‘์—…์—์„œ ์„ฑ๋Šฅ์„ ๋†’์ž…๋‹ˆ๋‹ค.

BERT Model์˜ Fine-Tuning

Pre-Trained(์‚ฌ์ „ ํ•™์Šต)๋œ BERT ๋ชจ๋ธ์€ ์ผ๋ฐ˜์ ์ธ ์–ธ์–ด ์ดํ•ด ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ํŠน์ • NLP ์ž‘์—…์— ๋งž๊ฒŒ ๋ชจ๋ธ์„ ์กฐ์ •ํ•˜๋Š” Fine-Tuning(๋ฏธ์„ธ ์กฐ์ •)๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋น„๊ต์  ์†Œ๋Ÿ‰์˜ ๋ผ๋ฒจ๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Model์„ Optimization(์ตœ์ ํ™”)ํ•ฉ๋‹ˆ๋‹ค.

 

๋‹ค์–‘ํ•œ NLP๊ด€๋ จ Task์— ์ ์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์•„๋ž˜ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž‘์—…๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ ๋ถ„๋ฅ˜(Text Classification)

  • ์ ์šฉ ๋ถ„์•ผ: ๊ฐ์ • ๋ถ„์„, ์ŠคํŒธ ํ•„ํ„ฐ๋ง, ์ฃผ์ œ ๋ถ„๋ฅ˜ ๋“ฑ.
  • ๋ฐฉ๋ฒ•: [CLS] ํ† ํฐ์˜ ์ถœ๋ ฅ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์žฅ์˜ ๋Œ€ํ‘œ ๋ฒกํ„ฐ๋ฅผ ์–ป๊ณ , ์ด๋ฅผ ๋ถ„๋ฅ˜๊ธฐ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์งˆ์˜ ์‘๋‹ต(Question Answering)

  • ์ ์šฉ ๋ถ„์•ผ: SQuAD์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ๋‹ต๋ณ€ ์ถ”์ถœ.
  • ๋ฐฉ๋ฒ•: ์ž…๋ ฅ ํ…์ŠคํŠธ์™€ ์งˆ๋ฌธ์„ ํ•จ๊ป˜ ๋ชจ๋ธ์— ์ž…๋ ฅํ•˜๊ณ , ๋‹ต๋ณ€์˜ ์‹œ์ž‘๊ณผ ๋ ์œ„์น˜๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.

์ž์—ฐ์–ด ์ถ”๋ก (Natural Language Inference)

  • ์ ์šฉ ๋ถ„์•ผ: ๋‘ ๋ฌธ์žฅ ๊ฐ„์˜ ๋…ผ๋ฆฌ์  ๊ด€๊ณ„(์˜ˆ: ์ฐธ, ๊ฑฐ์ง“, ์ค‘๋ฆฝ) ํŒ๋‹จ.
  • ๋ฐฉ๋ฒ•: ๋‘ ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜์—ฌ [CLS] ํ† ํฐ์˜ ์ถœ๋ ฅ์„ ๋ถ„๋ฅ˜๊ธฐ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฆ„ ์ธ์‹(Named Entity Recognition)

  • ์ ์šฉ ๋ถ„์•ผ: ํ…์ŠคํŠธ์—์„œ ์‚ฌ๋žŒ, ์žฅ์†Œ, ์กฐ์ง ๋“ฑ์˜ ๊ณ ์œ  ๋ช…์‚ฌ ์‹๋ณ„.
  • ๋ฐฉ๋ฒ•: ๊ฐ ํ† ํฐ์˜ ์ถœ๋ ฅ์„ ํ™œ์šฉํ•˜์—ฌ ํ•ด๋‹น ํ† ํฐ์˜ ์—”ํ‹ฐํ‹ฐ ์ข…๋ฅ˜๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.

์ด ์ž‘์—…์„ ์ค‘์—์„œ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜(Text Classification), ์งˆ์˜ ์‘๋‹ต(Question Answering)์— ๋ฐํ•˜์—ฌ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


Single Text Classification (ํ•˜๋‚˜์˜ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜ ์œ ํ˜•)

์ด ์œ ํ˜•์€ ์˜ํ™” ๋ฆฌ๋ทฐ ๊ฐ์„ฑ ๋ถ„๋ฅ˜, ๋กœ์ดํ„ฐ ๋‰ด์Šค ๋ถ„๋ฅ˜ ๋“ฑ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ๋œ ๋ฌธ์„œ์— ๋Œ€ํ•ด์„œ ๋ถ„๋ฅ˜๋ฅผ ํ•˜๋Š” ์œ ํ˜•์ž…๋‹ˆ๋‹ค.
๋ฌธ์„œ์˜ ์‹œ์ž‘์— [CLS] ๋ผ๋Š” ํ† ํฐ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์•ž์„œ ์‚ฌ์ „ ํ›ˆ๋ จ ๋‹จ๊ณ„์—์„œ ๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก์„ ์„ค๋ช…ํ•  ๋•Œ, [CLS] ํ† ํฐ์€ BERT๊ฐ€ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ์œ„ํ•œ ํŠน๋ณ„ ํ† ํฐ์ด๋ผ๊ณ  ์–ธ๊ธ‰ํ•œ ๋ฐ” ์žˆ์Šต๋‹ˆ๋‹ค. BERT๋ฅผ ์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ๊ณ„์ธ ํŒŒ์ธ ํŠœ๋‹ ๋‹จ๊ณ„์—์„œ๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

Text Classification ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ [CLS] ํ† ํฐ์˜ ์œ„์น˜์˜ Output Layer์—์„œ ๋ฐ€์ง‘์ธต(Dense layer) ๋˜๋Š” ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ๋Š” ์™„์ „ ์—ฐ๊ฒฐ์ธต(fully-connected layer)์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” Layer๋“ค์„ ์ถ”๊ฐ€ํ•˜์—ฌ Classification์— ๋Œ€ํ•œ predict์„ ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.


Tagging (ํ•˜๋‚˜์˜ ํ…์ŠคํŠธ์— ๋ฐํ•œ ํƒœ๊น… ์ž‘์—…)

BERT๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‘๋ฒˆ์งธ ์œ ํ˜•์€ ํƒœ๊น… ์ž‘์—…์ž…๋‹ˆ๋‹ค.

 

์•ž์„œ RNN ๊ณ„์—ด์˜ ์‹ ๊ฒฝ๋ง๋“ค์„ ์ด์šฉํ•ด์„œ ํ’€์—ˆ๋˜ ํƒœ์Šคํฌ์ž…๋‹ˆ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ ๋ฌธ์žฅ์˜ ๊ฐ ๋‹จ์–ด์— ํ’ˆ์‚ฌ๋ฅผ ํƒœ๊น…ํ•˜๋Š” ํ’ˆ์‚ฌ ํƒœ๊น… ์ž‘์—…๊ณผ ๊ฐœ์ฒด๋ฅผ ํƒœ๊น…ํ•˜๋Š” ๊ฐœ์ฒด๋ช… ์ธ์‹ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ๋ ฅ์ธต์—์„œ๋Š” ์ž…๋ ฅ ํ…์ŠคํŠธ์˜ ๊ฐ ํ† ํฐ์˜ ์œ„์น˜์— ๋ฐ€์ง‘์ธต์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„๋ฅ˜์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


Text Pair Classification or Regression (ํ…์ŠคํŠธ ์Œ ๋ถ„๋ฅ˜ or ํšŒ๊ท€ ๋ฌธ์ œ)

BERT๋Š” Text์˜ Pair์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š” Task๋„ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Text ์Œ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š” Task๋กœ ์ž์—ฐ์–ด ์ถ”๋ก (Natural language inference)์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฌธ์žฅ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•˜๋‚˜์˜ ๋ฌธ์žฅ์ด ๋‹ค๋ฅธ ๋ฌธ์žฅ๊ณผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์–ด๋–ค ๊ด€๊ณ„์— ์žˆ๋Š”์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์œ ํ˜•์œผ๋กœ๋Š” ๋ชจ์ˆœ ๊ด€๊ณ„(contradiction), ํ•จ์˜ ๊ด€๊ณ„(entailment), ์ค‘๋ฆฝ ๊ด€๊ณ„(neutral)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Text์˜ Pair์„ ์ž…๋ ฅ๋ฐ›๋Š” Task์˜ ๊ฒฝ์šฐ์—๋Š” ์œ„์— ์„ค๋ช…ํ–ˆ๋“ฏ์ด, ์ž…๋ ฅ ํ…์ŠคํŠธ๊ฐ€ 1๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ, ํ…์ŠคํŠธ ์‚ฌ์ด์— [SEP] ํ† ํฐ์„ ์ง‘์–ด๋„ฃ๊ณ , Sentence 0, Sentence 1 ์ž„๋ฒ ๋”ฉ์ด๋ผ๋Š” Segment Embedding ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.


Question Answering (์งˆ์˜ ์‘๋‹ต)

 

Text์˜ Pair์„ ์ž…๋ ฅ๋ฐ›๋Š” ๋˜ ๋‹ค๋ฅธ Task๋กœ QA(Question Answering)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

BERT๋กœ QA๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ Question(์งˆ๋ฌธ)๊ณผ Paragraph(๋ณธ๋ฌธ)์ด๋ผ๋Š” ๋‘ ๊ฐœ์˜ Text์˜ Pair์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ด Task์˜ ๋Œ€ํ‘œ์ ์ธ Dataset์œผ๋กœ SQuAD(Stanford Question Answering Dataset)์ด ์žˆ์Šต๋‹ˆ๋‹ค.


BERT Model์—์„œ Pre-Training(์‚ฌ์ „ ํ•™์Šต)๊ณผ Fine-Tuning(๋ฏธ์„ธ ์กฐ์ •)์˜ ์‹œ๋„ˆ์ง€ ํšจ๊ณผ

ํฌ๊ฒŒ 3๊ฐ€์ง€์˜ ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํšจ์œจ์„ฑ ์ฆ๋Œ€

  • ๋Œ€๋Ÿ‰์˜ Unsupervised(๋น„์ง€๋„) ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์ „ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•˜์—ฌ, ์†Œ๋Ÿ‰์˜ Supervised(์ง€๋„) ๋ฐ์ดํ„ฐ๋กœ๋„ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „์ด ํ•™์Šต(Transfer Learning)

  • Pre-Training(์‚ฌ์ „ ํ•™์Šต)๋œ ์ง€์‹์„ ๋‹ค์–‘ํ•œ Task์— ์ ์šฉํ•˜์—ฌ, ์ƒˆ๋กœ์šด ๋ชจ๋ธ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šตํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ ํ–ฅ์ƒ

  • Pre-Training(์‚ฌ์ „ ํ•™์Šต)์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์–ธ์–ด ํŒจํ„ด์„ ํ•™์Šตํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์—, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์—๋„ ์ž˜ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Fine-Tuning์‹œ ๊ณ ๋ คํ•ด์•ผ ํ• ์ .

๋‹ค๋งŒ BERT Model์—์„œ Fine-Tuning์‹œ ์šฐ๋ฆฌ๊ฐ€ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Overfitting(์˜ค๋ฒ„ํ”ผํŒ…) ๋ฐฉ์ง€
    • ์ž‘์€ ๋ฐ์ดํ„ฐ์…‹์—์„œ ํ•™์Šตํ•  ๊ฒฝ์šฐ ์˜ค๋ฒ„ํ”ผํŒ…์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋“œ๋กญ์•„์›ƒ์ด๋‚˜ ์กฐ๊ธฐ ์ข…๋ฃŒ ๋“ฑ์˜ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Learning Rate(ํ•™์Šต๋ฅ ) ์กฐ์ ˆ
    • ์‚ฌ์ „ ํ•™์Šต๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋„๋ก ์ž‘์€ ํ•™์Šต๋ฅ (์˜ˆ: 2e-5)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
    • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์ด ๋ชจ๋ธ์— ์ ํ•ฉํ•œ์ง€ ํ™•์ธํ•˜๊ณ , ํŠน์ˆ˜ ํ† ํฐ๊ณผ ์„ธ๊ทธ๋จผํŠธ ์ž„๋ฒ ๋”ฉ์„ ์ •ํ™•ํ•˜๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Batch size(๋ฐฐ์น˜ ํฌ๊ธฐ)์™€ Epoch(์—ํญ)์ˆ˜
    • ํ•˜๋“œ์›จ์–ด ์ž์›๊ณผ ๋ฐ์ดํ„ฐ์…‹ ํฌ๊ธฐ์— ๋งž์ถฐ ์ ์ ˆํ•œ ๋ฐฐ์น˜ ํฌ๊ธฐ์™€ ์—ํญ ์ˆ˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Summary

BERT์˜ ํ•ต์‹ฌ ๊ฐœ๋…, ์•„ํ‚คํ…์ฒ˜, ๊ทธ๋ฆฌ๊ณ  ํ•™์Šต ๊ณผ์ •์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

BERT๋Š” Bidirectional Encoder Representations from Transformers์˜ ์•ฝ์ž๋กœ, ์–‘๋ฐฉํ–ฅ์„ฑ์˜ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๋ฉฐ ๋“ฑ์žฅํ•œ ํ˜์‹ ์ ์ธ ์–ธ์–ด ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

Transformer์˜ ์ธ์ฝ”๋” ๋ถ€๋ถ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ BERT์˜ ์•„ํ‚คํ…์ฒ˜๋Š” Self-Attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ๋งฅ์˜ ์ „ํ›„ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

Pre-Training(์‚ฌ์ „ ํ•™์Šต)๋‹จ๊ณ„ ์—์„œ๋Š” Masked Language Model(MLM)๊ณผ Next Sentence Prediction(NSP) ๊ฐ™์€ ๋ชฉํ‘œ๋ฅผ ํ†ตํ•ด ๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์ผ๋ฐ˜์ ์ธ ์–ธ์–ด ์ดํ•ด ๋Šฅ๋ ฅ์„ ํš๋“ํ•ฉ๋‹ˆ๋‹ค.

์ดํ›„ Fine-Tuning(๋ฏธ์„ธ ์กฐ์ •)๋‹จ๊ณ„์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ํŠน์ • NLP ์ž‘์—…์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜์—ฌ, ๊ฐ์ • ๋ถ„์„, ์งˆ์˜ ์‘๋‹ต, ๋ฌธ์žฅ ๋ถ„๋ฅ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.