๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1๏ธโƒฃ AI•DS/๐Ÿ“— NLP

[cs224n] 13๊ฐ• ๋‚ด์šฉ์ •๋ฆฌ

by isdawell 2022. 7. 4.
728x90

๐Ÿ’ก ์ฃผ์ œ : Contextual Word Representations and Pretraining


๐Ÿ“Œ ํ•ต์‹ฌ 

  • Task : Word representation (Word embedding) , pre-training 
  • ELMO, Transforemr, BERT

 

 

 

 

 

 

 

 

 

 

1๏ธโƒฃ Reflections on word representations


1.  Word representation 

 

โœ” word embedding 

 

โ—ฝ ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์„ ํ†ตํ•ด ๋‹จ์–ด๋ฅผ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž์—ฐ์–ด๋ฅผ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. 

โ—ฝ Word2Vec, GloVe, fastText ๋“ฑ์„ ํ•™์Šต 

 

 

 

2. Pre-trained word vectors  

 

์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋‹จ์–ด ๋ฒกํ„ฐ ๋ชจ๋ธ์ด ํ•™์Šตํ•œ Vocabulary ์—์„œ ๊ฐ ๋‹จ์–ด๋งˆ๋‹ค ๋งค์นญ๋˜๋Š” word vector ๊ฐ€ ์กด์žฌํ•˜๊ณ  index ๋ฅผ ์‚ฌ์šฉํ•ด ํ•„์š”ํ•œ ๋‹จ์–ด์˜ word vector ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. 

 

 

โœ” 2012 ๋…„ ์ด์ „ word vector 

 

 

 

 

โ—ฝ 2012 ๋…„ ์ด์ „๊นŒ์ง€ POS tag task ๊ณผ NER task ์—์„œ ์œ„์™€ ๊ฐ™์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. 

โ—ฝ ๋‹น์‹œ SOTA ๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ์•„๋‹Œ Rule-based ๋ฐฉ๋ฒ•๋ก ์„ ์‚ฌ์šฉํ•œ ๋ชจ๋ธ์ด์—ˆ๋‹ค. 

โ—ฝ ์„ธ๋ฒˆ์งธ ๋ชจ๋ธ → word2vec ๊ฐ™์€ unsupervised NN ์„ supervised NN ๊ณผ ๊ฒฐํ•ฉํ•œ ๋ฐฉ๋ฒ• 

 

 

โœ” 2014๋…„ ์ดํ›„ 

 

 

 

โ—ฝ 2014๋…„ ์ดํ›„ ๋‹จ์–ดํ‘œํ˜„ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” pre-train ๋œ ๋‹จ์–ด ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.

โ—ฝ Pre-trained word vector ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๋” ์ข‹์€ ์ด์œ ๋Š”, task ์— ์“ฐ์ด๋Š” ๋ฐ์ดํ„ฐ๋ณด๋‹ค ๋ฐฉ๋Œ€ํ•œ unlabeled ๋ฐ์ดํ„ฐ์— ์˜ํ•ด ํ•™์Šต๋œ ๊ฒฐ๊ณผ๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

 

 

โœ” Pre-trained word vector ์˜ ์žฅ์  : unk ํ† ํฐ ์ฒ˜๋ฆฌ์— ํšจ๊ณผ์  

 

 

 

โ—ฝ UNK ํ† ํฐ : ๋ฐ์ดํ„ฐ ์…‹์—์„œ ์ž˜ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ๋‹จ์–ด (train ์‹œ 5ํšŒ ์ดํ•˜๋กœ ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด) ํ˜น์€ test ๋ฐ์ดํ„ฐ์—๋งŒ ์กด์žฌํ•˜๋Š” ๋‹จ์–ด๋ฅผ UNK ํ† ํฐ์œผ๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค. 

โ—ฝ UNK ํ† ํฐ์€ ๋น„๋ก ๋นˆ๋„๊ฐ€ ๋‚ฎ์ง€๋งŒ, ๋งŒ์•ฝ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š” ๋‹จ์–ด์ธ ๊ฒฝ์šฐ ๋œป์„ ๋†“์น˜๊ฒŒ ๋  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ Question and Answering task ์—์„œ๋Š” ๋‹จ์–ด ๊ฐ„ ๋Œ€์‘์„ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ task ๋กœ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์— ์ฃผ๋ชฉํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. 

 

๐Ÿ’จ UNK ํ† ํฐ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” char-level model ์„ ์ด์šฉํ•˜์—ฌ ๋‹จ์–ด ๋ฒกํ„ฐ ์ƒ์„ฑ, random vector ๋ฅผ ๋ถ€์—ฌํ•ด ๋‹จ์–ด์‚ฌ์ „์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ์ด ์กด์žฌํ•˜์ง€๋งŒ pretrain word vector ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ๊ณผ์ ์ด๋‹ค. 

 

 

 

3.  ๋‹จ์–ด ๋‹น 1๊ฐœ์˜ ํ‘œํ˜„์‹์„ ๊ฐ–๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ 

 

โœ” same representation, but different context 

 

 

โ—ฝ 1๊ฐœ์˜ ๋‹จ์–ด๋ฅผ 1๊ฐœ์˜ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋™์Œ์ด์˜์–ด์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. 

โ—ฝ ์ฆ‰, ๋ฌธ๋งฅ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ํฌ์ฐฉํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ์™€ ๋‹จ์–ด์˜ ์–ธ์–ด์ , ์‚ฌํšŒ์  ์˜๋ฏธ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ์ธก๋ฉด์„ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. 

 

 

โœ” Solution

 

Contextual Word vector : ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•œ ๋‹จ์–ด ๋ฒกํ„ฐ ์ƒ์„ฑ 

 

 

๐Ÿ‘€ Language model 

 

๐Ÿ’จ input : Pre-trained ๋‹จ์–ด

๐Ÿ’จ output : Next word 

 

 

โ—ฝ Neural Language model ๋กœ ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•œ ๋‹จ์–ด ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 

โ—ฝ LSTM ๊ตฌ์กฐ์˜ LM ๋ชจ๋ธ์€ ๋ฌธ์žฅ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•ด ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ๋กœ sequence ํ•™์Šต์„ ํ†ตํ•ด ๋ฌธ๋งฅ์„ ๋ฐ˜์˜ํ•œ ๋‹จ์–ด ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

 

 

 

๐Ÿ‘‰ ์ด๋Ÿฌํ•œ ํŠน์ง•์„ ํ™œ์šฉํ•œ ๋ชจ๋ธ์ด ๋ฐ”๋กœ ELMo 

 

 

 

 

 

 

 

2๏ธโƒฃ Pre-ELMo and ELMO


1. Pre-ELMo 

๐Ÿ‘‰ ELMo ๋ฐœํ‘œ ์ด์ „์— ์ œ์‹œํ•œ TagLM ์„ Pre-ELMo ๋ผ๊ณ  ๊ฐ•์˜์—์„œ ์ง€์นญ 

๐Ÿ‘‰ ELMo ์™€ ์•„์ฃผ ์œ ์‚ฌํ•œ ํ˜•ํƒœ์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง 

 

 

โœ” ์•„์ด๋””์–ด 

 

๐Ÿ”น  NER task ๋ฅผ ์œ„ํ•ด large unlabeled corpus ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ neural Language model ์„ Training ํ•œ๋‹ค. 

 

 

 

โ—ฝ RNN ์œผ๋กœ ๋ฌธ๋งฅ์— ๋‹ด๊ธด ๋œป์„ ํ•™์Šต 

โ—ฝ NER task ๊ฐ™์ด ์ผ๋ฐ˜์ ์œผ๋กœ ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ํฌ๊ธฐ๊ฐ€ ์ž‘์€ labeled data ์ด๋‹ค → Large unlabeled corpus ๋กœ ๋จผ์ € ํ•™์Šต์„ ์‹œํ‚ค๋Š” semi-supervised ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด๋ณด์ž!

 

 

โœ” ์ „์ฒด์ ์ธ ๊ตฌ์กฐ 

 

 pre-trained word vector + pre-trained language model 

 

 

1. Word embedding ๊ณผ LM ์„ Pre-training ํ•œ๋‹ค. 

 

  • input ์— ๋Œ€ํ•ด Word2vec ๊ฐ™์€ word embedding model ๋กœ ๋‹จ์–ด ๋ฒกํ„ฐ๋ฅผ ํ•™์Šตํ•œ๋‹ค. 
  • input ์— ๋Œ€ํ•ด bi-LSTM ๊ฐ™์€ RNN ์ด ์ ์šฉ๋œ word embedding ๋ชจ๋ธ์„ ํ†ต๊ณผํ•œ๋‹ค. 

 

2. input sequence ์˜ ๋‹จ์–ด ํ† ํฐ ๊ฐ๊ฐ์— ๋Œ€ํ•ด word embedding ๊ณผ LM embedding ์„ ์ค€๋น„ํ•œ๋‹ค → Two representations 

 

  • 2๊ฐ€์ง€ ์ ‘๊ทผ๋ฒ•์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋‹จ์–ด ๋ฒกํ„ฐ๋ฅผ small task labeled ์— ์‚ฌ์šฉํ•œ๋‹ค. 

 

3. ๋‘ ์ž„๋ฒ ๋”ฉ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•ด sequence tagging model ์— ์ž…๋ ฅํ•œ๋‹ค. 

 

  • ๋‹จ์–ด์˜ ํŠน์ง• ์ž์ฒด๋ฅผ ๊ณ ๋ คํ•œ ๋ฒกํ„ฐ์™€ ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•œ ๋ฒกํ„ฐ๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•œ๋‹ค. 

 

 

 

 

โœ” ๊ตฌ์กฐ 

 

 

โ—ฝ ์™ผ์ชฝ : Word2Vec ์˜ token representation word vector ์™€ char-level CNN model ๋กœ ํ•™์Šตํ•œ word vector 

โ—ฝ ์˜ค๋ฅธ์ชฝ : pre-trained model ๋กœ ํ•™์Šตํ•œ word vector 

 

๐Ÿ‘‰  ๋‘ word vector representation ์„ ๋ชจ๋‘ ๋ฐ˜์˜ 

 

 

 

 

โœ” ํ•™์Šต

 

โ‘  Pretrian LM 

 

 

โ—ฝ 8์–ต๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์…‹์ธ 'Billion Word Benchmark' ๋ฐ์ดํ„ฐ ์…‹์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ์ „ํ›ˆ๋ จ 

โ—ฝ Bi-LM ๋กœ pre-train ์„ ์ง„ํ–‰ํ•˜์—ฌ Forward (์ˆœ๋ฐฉํ–ฅ) LM, Backward (์—ญ๋ฐฉํ–ฅ) LM ์— input ์ด ๊ฐ๊ฐ ๋ณ„๋„๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. 

โ—ฝ ๊ฐ LM ์—์„œ์˜ output ์€ concat ๋œ๋‹ค.

โ€‹

 

 

โ‘ก Word embedding and Char-CNN

 

 

 

โ—ฝ Pre-trained model ์ด ํ•™์Šตํ•˜๋Š” ๋™์•ˆ, ๋ชจ๋ธ์€ ํ˜„์žฌ ์ž…๋ ฅ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค. 

โ—ฝ ์ด๋•Œ input ๋‹จ์–ด๋Š” Word2Vec (token embedding) ๊ณผ Char CNN ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. 

โ—ฝ output ์€ concat ๋˜์–ด 2-layer Bi-LSTM ์˜ ์ฒซ๋ฒˆ์งธ ๋ ˆ์ด์–ด input ์œผ๋กœ ์ž…๋ ฅ๋œ๋‹ค.  

 

 

 

โ‘ข Use both word embeddings and LM for NER

 

 

โ—ฝ Bi-LSTM ์˜ first layer ์˜ output ์€ ์‚ฌ์ „ํ›ˆ๋ จ๋œ LM ์—์„œ์˜ ์ตœ์ข… output ๊ณผ concat ๋˜์–ด 2nd layer ๋กœ ์ž…๋ ฅ๋œ๋‹ค. 

 

 

 

 

โœ” ์„ฑ๋Šฅ 

 

 

โ—ฝ Bi-LSTM Language model ์„ ์ ์šฉํ–ˆ์„ ๋•Œ 1% ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์ž„ 

 

 

 

 

2. ELMo : Embedding from Language Models 

 

โœ” ์•„์ด๋””์–ด 

 

โญ ๋ชจ๋“  ๋ฌธ์žฅ์„ ์ด์šฉํ•ด ๋ฌธ๋งฅ์ด ๋ฐ˜์˜๋œ word vector ๋ฅผ ํ•™์Šตํ•œ๋‹ค. 

 

 

โ—ฝ ๊ธฐ์กด ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ์ด window ๋ฅผ ์ด์šฉํ•ด ์ฃผ๋ณ€ ๋ฌธ๋งฅ๋งŒ ์ด์šฉํ•œ ๊ฒƒ๊ณผ ๋Œ€์กฐ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค. 

โ—ฝ ๋˜ํ•œ pre-ELMo ์™€ ๋‹ฌ๋ฆฌ word embedding ์€ Char CNN ๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค. (Not Word2Vec) 

โ—ฝ char-CNN ๋ชจ๋ธ๋กœ ๋‹จ์–ด์˜ ํŠน์ง•์„ ๊ณ ๋ คํ•œ word vector ๋ฅผ ๊ตฌํ•œ ํ›„ ์ด๋ฅผ LSTM ์˜  input ์œผ๋กœ ์‚ฌ์šฉํ•ด ์ตœ์ข… word embedding ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๋Š” ๊ณผ์ •์„ ๊ฐ€์ง„๋‹ค. 

 

present ๋ผ๋Š” ๋™์ผํ•œ ๋‹จ์–ด๋ผ๋„ '์„ ๋ฌผ' ๊ณผ 'ํ˜„์žฌ' ๋ผ๋Š” ๋‹ค๋ฅธ word vector ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

โœ” ๊ตฌ์กฐ 

 

 

 

โ—ฝ 2-layer Bi-LSTM : ์ˆœ๋ฐฉํ–ฅ LM ๊ณผ ์—ญ๋ฐฉํ–ฅ LM ์ด ๋ชจ๋‘ ์ ์šฉ๋œ 2๊ฐœ์˜ layer ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค. 

โ—ฝ ์ˆœ๋ฐฉํ–ฅ ๋ชจ๋ธ์€ ๋ฌธ์žฅ sequence ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ํ•™์Šต 

โ—ฝ ์—ญ๋ฐฉํ–ฅ ๋ชจ๋ธ์€ ๋’ค์— ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ํ†ตํ•ด ์•ž ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ํ•™์Šต 

โ—ฝ ๋ชจ๋“  layer ์˜ ์ถœ๋ ฅ๊ฐ’์„ ํ™œ์šฉํ•ด ์ตœ์ข… word embedding ์„ ์ง„ํ–‰ํ•œ๋‹ค → ์ตœ์ข… layer ๊ฐ’๋งŒ ์‚ฌ์šฉํ•˜๋˜ ์ด์ „ ๋ชจ๋ธ๋“ค๊ณผ์˜ ์ฐจ์ด์ 

 

๐Ÿ‘‰ ์ˆœ/์—ญ๋ฐฉํ–ฅ layer ๋ฅผ ํ†ตํ•ด ํŠน์ • ๋‹จ์–ด ๋ฐ ํ•ด๋‹น ๋‹จ์–ด์˜ ์•ž์ชฝ/๋’ท์ชฝ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ ๋‹จ์–ด์— ๋Œ€ํ•œ ๊ฐ layer ๋ณ„ ์ถœ๋ ฅ ๊ฐ’์ด ์กด์žฌํ•˜๋ฉฐ ๋ชจ๋“  layer ์ถœ๋ ฅ๊ฐ’์„ ํ™œ์šฉํ•ด ์ตœ์ข… word vector ๋ฅผ ์ž„๋ฒ ๋”ฉ ํ•œ๋‹ค. 

 

 

 

โœ” ํ•™์Šต

 

 

โ‘  Forward LM , Backward LM

 

โ—ฝ input ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋ฌธ์žฅ๊ณผ ๋‹จ์–ด๋Š” char-CNN ์œผ๋กœ ์ž„๋ฒ ๋”ฉ ๋œ๋‹ค → ๋‹จ์–ด ์ž์ฒด์˜ ํŠน์ง• ๋„์ถœ 

โ—ฝ first layer → char-CNN ๊ฒฐ๊ณผ์— residual connection ์„ ์ ์šฉํ•˜์—ฌ ๋ฌธ๋งฅ์œผ๋กœ๋ถ€ํ„ฐ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋„๋ก ํ•˜๋ฉฐ (์ฆ‰, ๋‹จ์–ด ์ œ์ฒด์˜ ํŠน์ง•์„ ์œ ์ง€) gradient vanishing ๋ฌธ์ œ๋ฅผ ์™„ํ™”์‹œํ‚จ๋‹ค. output ์œผ๋กœ๋Š” ์ค‘๊ฐ„ word vector ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. 

โ—ฝ second layer → fist layer ์—์„œ ์–ป์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ค‘๊ฐ„ word vector ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 

 

๐Ÿ‘‰ I read a book yesterday ์™€ ๊ฐ™์€ ๋ฌธ์žฅ์—์„œ, read ๋Š” ๊ณผ๊ฑฐํ˜•๊ณผ ํ˜„์žฌํ˜•์ด ์ผ์น˜ํ•œ๋‹ค. ๋ณดํ†ต ๋ชจ๋ธ์€ ํ˜„์žฌํ˜•์œผ๋กœ ๋™์‚ฌ ์ž„๋ฒ ๋”ฉ์„ ์ถœ๋ ฅํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€๋ฐ ์ด๋•Œ ์—ญ๋ฐฉํ–ฅ ๋ชจ๋ธ์„ ๊ฐ™์ด ํ™œ์šฉํ•˜์—ฌ yesterday ๊ฐ™์€ ์‹œ๊ฐ„ ํ‘œํ˜„์œผ๋กœ ๊ณผ๊ฑฐํ˜•์ž„์„ ์ธ์ง€ํ•ด ๋ณด๋‹ค ์ •ํ™•ํ•œ ์ž„๋ฒ ๋”ฉ์„ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. 

 

2~4๋ฒˆ ๊ณผ์ • ์ฐธ๊ณ 

 

โ‘ก Forward LM, Backward LM ์˜ ๊ฐ layer ์˜ ์ถœ๋ ฅ๊ฐ’์„ ์ถ”์ถœํ•˜๊ณ  ์ด๋ฅผ ์ธต๋ณ„๋กœ concat ํ•œ๋‹ค. 

 

โ‘ข layer ๋ณ„ concat ์ถœ๋ ฅ ๊ฒฐ๊ณผ์— ์ •๊ทœํ™” ๋œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•จ์œผ๋กœ์จ ์„ ํ˜• ๊ฒฐํ•ฉํ•˜์—ฌ ํ•™์Šต์„ ํ†ตํ•ด ์ตœ์ ํ™” ํ•œ๋‹ค. 

 

โ‘ฃ ๋ชจ๋“  layer ์˜ ๋ฒกํ„ฐ๋ฅผ ๋”ํ•ด ํ•˜๋‚˜์˜ ์ž„๋ฒ ๋”ฉ word vector ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 

 

 

 

์œ„์˜ ๊ณผ์ •์„ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒฐ๊ณผ

 

 

 

๐Ÿ‘‰ ๋ฌธ๋ฒ•์  ํŠน์ง•์„ ๊ณ ๋ คํ•œ lower layer ์ •๋ณด์™€ ์˜๋ฏธ๋ก ์  ํŠน์ง•์„ ๊ณ ๋ คํ•œ higher layer ์ •๋ณด๋ฅผ ๋ชจ๋‘ ํ™œ์šฉํ•˜์—ฌ ํšจ๊ณผ์ ์ธ word vector ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š”๋‹ค. 

 

 

๐Ÿ‘€ ์ฐธ๊ณ  

 

๐Ÿ’จ syntax ๋ฌธ๋ฒ•์  ์ •๋ณด → tagging, NER ๊ฐ™์€ ๋‹จ์–ด ์ž์ฒด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŠน์ง•์„ ์˜๋ฏธ 

๐Ÿ’จ semantics ๋ฌธ๋งฅ์  ์ •๋ณด → ๋ฌธ๋งฅ์ด ๊ณ ๋ ค๋œ ํŠน์ง• 

 

 

๐Ÿ‘€ ELMo ์˜ ํŠธ๋ฆญ

 

๐Ÿ’จ Fine-Tuning ๋‹จ๊ณ„์—์„œ๋Š” Bi-LSTM layer ๊ฐ€ ๋™์ผํ•œ ๋‹จ์–ด ์‹œํ€€์Šค๋ฅผ ์ž…๋ ฅ๋ฐ›์ง€๋งŒ Pre-training ๋‹จ๊ณ„์—์„œ๋Š” forward, backward ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณ„๊ฐœ์˜ ๋ชจ๋ธ๋กœ ๋ณด๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ์ฆ‰, ๊ฐ layer ์˜ hidden vector ๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ํ•ฉ์น˜์ง€ ์•Š๊ณ  ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ํ•™์Šตํ•œ๋‹ค. 

 

 

 

โœ” ์„ฑ๋Šฅ 

 

 

โ—ฝ NLP ๋ถ„์•ผ์—์„œ ๊ต‰์žฅํ•œ ๋†€๋ผ์›€์„ ์„ ์‚ฌํ•œ ๋ชจ๋ธ๋กœ NER ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋Œ€๋ถ€๋ถ„์˜ task ์—์„œ SOTA ์˜ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค. 

 

 

 

 

 

 

3๏ธโƒฃ ULMfit and onward


1. ULMfit 

 

Universal Language Model Fine-Tuning for Text Classification 

 

โœ” transfer learning 

 

 

โ—ฝ NLP ์—์„œ ๋ณธ๊ฒฉ์ ์œผ๋กœ transfer learning ์ด ๋„์ž…๋˜๊ฒŒ ๋œ ์‹œ์ ์œผ๋กœ ULMFit ์€ NLP ์—์„œ ๋ณธ๊ฒฉ์ ์œผ๋กœ Transfer learning ์„ ๋„์ž…ํ•œ ์ฒซ ์‚ฌ๋ก€์ด๋‹ค. 

โ—ฝ transfer learning : ๋Œ€๋Ÿ‰์˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋กœ ์ผ๋ฐ˜์ ์ธ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ ๋’ค, ํŠน์ • task ์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ๋‹ค์‹œ ํŠœ๋‹์œผ๋กœ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ 

โ—ฝ ULMfit ์€ text classification ๋ฅผ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. 

 

 

2. ๊ตฌ์กฐ

 

 

(a)  ์ผ๋ฐ˜ ์–ธ์–ด ๋ชจ๋ธ ํ•™์Šต 

 

โ—ฝ ๋Œ€๋Ÿ‰์˜ corpus ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ LM ํ•™์Šต → Pre-trained 

โ—ฝ ๋…ผ๋ฌธ์—์„œ๋Š” ์œ„ํ‚คํ”ผ๋””์•„์˜ ์ •์ œ๋œ 28,595๊ฐœ์˜ ๋ฌธ์„œ์™€ ๋‹จ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ 3 layer Bi-LSTM ์–ธ์–ด ๋ชจ๋ธ์„ ํ•™์Šตํ–ˆ๋‹ค. 

 

 

(b)  task ๋งž์ถคํ˜• LM ํŠœ๋‹ 

 

โ—ฝ ํ•™์Šต๋œ ์–ธ์–ด ๋ชจ๋ธ์„ ํ† ๋Œ€๋กœ ์ฃผ์–ด์ง„ task ์— ๋งž๊ฒŒ ์ถ”๊ฐ€ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค. 

โ—ฝ ๊ฐ€๋ น 100๊ฐœ์˜ text ์™€ ๊ทธ์— ๋”ฐ๋ฅธ label ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ task ๋ผ๋ฉด, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋งŒ์„ ๊ฐ€์ง€๊ณ  ๋‹ค์‹œ ํ•™์Šต ๋ฐ ์—…๋ฐ์ดํŠธ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. 

 

๐Ÿ’จ Discriminative Fine-tuning : layer ๋ณ„ ํ•™์Šต๋ฅ ์„ ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ์กฐ์ •ํ•˜๋Š” fine-tuning ๋ฐฉ๋ฒ•์œผ๋กœ ๊นŠ์€ layer ์— ๋Œ€ํ•ด์„œ๋Š” ๋” ์ž‘์€ ํ•™์Šต๋ฅ ์„ ๋ถ€์—ฌํ•œ๋‹ค. 

 

๐Ÿ’จ Slanted triangular learning rates : ํŠœ๋‹ ํšŸ์ˆ˜์— ๋”ฐ๋ผ ์ดˆ๋ฐ˜์—๋Š” ์ž‘์€ ํ•™์Šต๋ฅ ์„ ์ ์šฉํ•˜๋‹ค๊ฐ€ ์ ์ฐจ ํ•™์Šต๋ฅ ์„ ์ฆ๊ฐ€์‹œ์ผœ 200๋ฒˆ์˜ ํ•™์Šต ํ›„ ๋‹ค์‹œ ํ•™์Šต๋ฅ ์„ ์ ์ง„์ ์œผ๋กœ ๊ฐ์†Œ์‹œํ‚จ๋‹ค. 

 

 

(c)  Classifier fine-Tuning 

 

โ—ฝ ๋ถ„๋ฅ˜ layer (softmax) ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•™์Šต์„ ์ง„ํ–‰ํ•ด word vector ๊ฐ€ ๋ถ„๋ฅ˜๊ธฐ๋กœ ์ถœ๋ ฅ๋œ๋‹ค. 

โ—ฝ ๋งˆ์ง€๋ง‰ layer ๋กœ๋ถ€ํ„ฐ ์„œ์„œํžˆ gradient ๋ฅผ ํ˜๋ ค๋ณด๋‚ด๋Š” gradual unfreezing ๊ธฐ๋ฒ•์„ ์ด์šฉํ•œ๋‹ค. 

 

3. ์„ฑ๋Šฅ 

 

 

 

โ—ฝ train dataset ์ด ๋ถ€์กฑํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  pre-trained ๋œ ULMfit ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด error rate ์ด ๋‚ฎ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

 

4. Onward โˆ˜โˆ˜โˆ˜

 

โ—ฝ ULMfit ์ดํ›„๋กœ ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋Š˜๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ์–‘์„ ๋Š˜๋ ค ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•œ ๋ชจ๋ธ์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ๋‹ค. 

 

โ—ฝ GPT, BERT ์™€ ๊ฐ™์€ ๋ชจ๋ธ์€ ๊ธ€๋กœ๋ฒŒ ๊ธฐ์—…์—์„œ ์—„์ฒญ๋‚œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•™์Šตํ•œ pre-trained ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ชจ๋‘ Transformer ๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

4๏ธโƒฃ Transformer architectures


 

1. Motivation of Transformer

 

โœ” RNN ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•œ๊ณ„ 

 

โ—ฝ Sequential ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ๋ณ‘๋ ฌ์ ์ธ ๊ณ„์‚ฐ์ด ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜์—ฌ ์†๋„๊ฐ€ ๋งค์šฐ ๋Š๋ฆฌ๋‹ค. 

โ—ฝ input ๋ฐ์ดํ„ฐ์˜ seqeuntial ํ•œ ํŠน์ง•์œผ๋กœ ์ธํ•ด ์ž…๋ ฅ์ด ๊ธธ์–ด์งˆ ์ˆ˜๋ก ๋ฉ€๋ฆฌ ์œ„์น˜ํ•œ ์ •๋ณด์— ๋Œ€ํ•œ ๊ฐ’์ด ํฌ๋ฐ•ํ•ด์ง„๋‹ค ๐Ÿ‘‰ Long-term dependency 

 

 

โœ” LSTM, GRU 

 

โ—ฝ Long-term dependency ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ๋“ค์ด ๋“ฑ์žฅํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ธด ๋ฌธ์žฅ์— ๋Œ€ํ•ด์„œ๋Š” ์ž˜ ๋™์ž‘ํ•˜์ง€ ๋ชปํ•จ

 

 

โœ” Attention

 

โ—ฝ ์–ด๋–ค State (time step) ์œผ๋กœ๋„ ์ด๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋ธ ๊ตฌ์กฐ → ๋ชจ๋“  state ๋ฅผ ์ฐธ์กฐ 

โ—ฝ Seq2Seq ๊ตฌ์กฐ์—์„œ RNN ๊ณ„์—ด ๋ชจ๋ธ๋“ค๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋‹ค๊ฐ€ Attention ๋งŒ์„ ์ด์šฉํ•˜๋Š” Transformer ๋ชจ๋ธ์ด ๋“ฑ์žฅ 

 

 

 

 

 

2. Overview

Attention ๋งค์ปค๋‹ˆ์ฆ˜๋งŒ์„ ์‚ฌ์šฉํ•œ seq2seq ๋ชจ๋ธ

 

 

 

โœ” None-recurrent Seq2Seq encoder-decoder model 

 

โ—ฝ machine translation with parallel corpus 

โ—ฝ ๊ธฐ๊ณ„๋ฒˆ์—ญ์„ ์œ„ํ•œ input ์€ encoder ๋กœ output ์€ decoder ๋กœ ํ• ๋‹น๋จ 

โ—ฝ Decoder ์˜ ํŠน์ • time-step ์˜ output ์ด encoder ์˜ ๋ชจ๋“  time-step ์˜ output ์ค‘ ์–ด๋–ค ๋ถ€๋ถ„๊ณผ ๊ฐ€์žฅ ์—ฐ๊ด€์„ฑ์ด ์žˆ๋Š”์ง€ ํŒŒ์•… ๐Ÿ‘‰ decorder ์—์„œ output ์œผ๋กœ ๋‚˜์˜ค๋Š” ๋งค time step ๋งˆ๋‹ค encoder ์˜ ์ „์ฒด step ์„ ์ฐธ๊ณ  

 

 

 

โœ” input 

 

Attention(Q, K, V) = Attention Value

 

โ—ฝ Query, ket, value → Query ์™€ key-value pair ์˜ ์œ ์‚ฌ์„ฑ์„ ๋น„๊ต 

โ—ฝ ์ฒ˜์Œ ๋‹จ์–ด๋ฒกํ„ฐ input ์—์„œ๋Š” Q=K=V → ๋ฌธ์žฅ์ด ์ž๊ธฐ ์ž์‹ ์„ ๋ณด๋ฉฐ ๋‹จ์–ด ๊ฐ„ ์œ ์‚ฌ์„ฑ์„ ํŒŒ์•…ํ•œ๋‹ค. 

โ—ฝ Tokenizing → byte-pair encoding , ์‹œ๊ฐ„ ์ˆœ์„œ ๊ณ ๋ ค → positional encoding 

 

 

 

โœ” Output

 

 

 

 

โ—ฝ weight : query ์™€ key ๊ฐ„ ์œ ์‚ฌ์„ฑ ๐Ÿ‘‰ key ์™€ ๋งตํ•‘ ๋œ ๊ฐ๊ฐ์˜ Value ์— ๋ฐ˜์˜ ๐Ÿ‘‰ ์œ ์‚ฌ๋„๊ฐ€ ๋ฐ˜์˜๋œ Value ๋ฅผ ๋ชจ๋‘ ๋”ํ•ด์„œ ๋ฐ˜ํ™˜ = Attention Value 

 

 

 

 

 

โœ” Scaled Dot-product Attention 

 

 

โ—ฝ Problem : ๋‹จ์–ด ์‚ฌ์ „์˜ ์ฐจ์›(dk)์ด ์ปค์ง€๋ฉด ๋‚ด์  ๊ฐ’ q'k ๋ถ„์‚ฐ (๊ฐ’์˜ ์ฐจ์ด) ์ด ์ฆ๊ฐ€ →  softmax ๋ฅผ ํ†ต๊ณผํ•˜๋ฉด ๊ฐ’์ด ์ปค์ง → graidnet ๋ฅผ ๋” ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด ํ•™์Šต์— ์•…์˜ํ–ฅ ์ดˆ๋ž˜ 

 

โ—ฝ Solution : ๊ธธ์ด scale ๋ณด์ • (dk) ์„ ํ†ตํ•ด gradient ์ตœ์ ํ™”๋ฅผ ์œ ๋„ํ•œ๋‹ค. 

 

 

 

 

 

 

 

3. ๊ตฌ์กฐ 

 

โœ” Self Attention 

 

โ—ฝ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ Query ๊ฐ€ ์žˆ์„ ๋•Œ, ๊ฒ€์ƒ‰ ๋Œ€์ƒ์ด ๋˜๋Š” key-value pair ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์ด Query ์ž๊ธฐ ์ž์‹ ์ธ ๊ฒฝ์šฐ 

โ—ฝ ๋ฌธ์žฅ ๋‚ด ๋‹จ์–ด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„ ํŒŒ์•… 

 

 

โœ” Multi-head attention 

 

 

 

โ—ฝ self-attention ์„ ์—ฌ๋Ÿฌ๋ฒˆ ์ ์šฉํ•œ ๊ฐœ๋… 

โ—ฝ self-attention ์„ ์—ฌ๋Ÿฌ weight ๋กœ ์ง„ํ–‰ํ•ด ๋‹ค์–‘ํ•œ ๋งฅ๋ฝ/์ •๋ณด๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค ๐Ÿ‘‰ head ์ˆ˜ ๋งŒํผ attention ์„ ์ง„ํ–‰ํ•œ ํ›„ concat ํ•œ๋‹ค. 

 

 

โœ” transformer Encoder block 

 

 

โ—ฝ Multi-head attention block , feed forward with ReLU activation , Residual connection & layer normalization 

 

 

 

โœ” transformer Decoder block 

 

 

โ—ฝ target sequence ๋ฒˆ์—ญ ๋Œ€์ƒ์— multi-head attention ์ ์šฉ 

โ—ฝ Masked Multi-head attention : Making ์„ ํ†ตํ•ด query ๋‹จ์–ด๊ฐ€ ์ด์ „ timestep ์˜ key ๋‹จ์–ด๋งŒ ๋ณด๋„๋ก ์„ค์ • 

โ—ฝ ๋‘ ๋ฒˆ์งธ block ์—์„œ Encoder block ์˜ output ์„ key-value ๋กœ ๋ฐ›์•„ target sequence query ์™€ self attention ์„ ์ง„ํ–‰ 

 

 

 

โœ” ์ •๋ฆฌ 

 

 

https://velog.io/@tobigs-text1415/Lecture-13-Contextual-Word-Embeddings

 

1. Encoder ์—์„œ Self attention (๋…ธ๋ž‘) ← ๋ฒˆ์—ญ ๋Œ€์ƒ ๋ฌธ์žฅ
2. Decoder ์—์„œ Self-attention (์ž์ฃผ) ← ๋ฒˆ์—ญ ๊ฒฐ๊ณผ ๋ฌธ์žฅ
3. Encoder ์™€ Decoder ์—์„œ attention (์ดˆ๋ก) 

 

 

 

 

 

โœ” Result 

 

Transformer ์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„

 

 

 

 

 

 

5๏ธโƒฃ BERT 

 


 

 

Transformer ๋Š” ๊ธฐ๊ณ„๋ฒˆ์—ญ์„ ์œ„ํ•œ seq2seq translation model 
โญ BERT ๋Š” Transformer ์˜ encoder ๋ถ€๋ถ„์„ ์ฐจ์šฉํ•œ Bi-directional language model

 

 

๐Ÿ‘€ 2018๋…„ 11์›” ๊ตฌ๊ธ€์ด ๊ณต๊ฐœํ•œ ์–ธ์–ด๋ชจ๋ธ 

 

 

1. Bi-direction Encoder Representations from Transformers 

 

โœ” bi-directional Transformer Encoder ๋กœ Language model Pre-training

 

โ—ฝ ๊ธฐ์กด LM ์€ Unidirectional ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๋™์ž‘ (์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ context ๋ฅผ ์‚ฌ์šฉ) ๐Ÿ‘‰ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์˜ ๊ฐœ๋…์„ ์„ฑ๋ฆฝํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฉํ–ฅ์„ฑ์„ ๋„์ž…ํ•œ ๊ฒƒ์ž„ 

 

โ—ฝ Bi-directional ์˜ ์ˆœ๋ฐฉํ–ฅ, ์—ญ๋ฐฉํ–ฅ๋„ ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋ฏ€๋กœ sequence ์— ๋”ฐ๋ผ ์ง„ํ–‰๋œ๋‹ค๋Š” ํŠน์ง•์— ๋”ฐ๋ผ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•จ์— ์žˆ์–ด ์ „์ฒด ๋‹จ์–ด๋ฅผ ๋ชจ๋‘ ํ™œ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋ฌธ์ œ์ ์„ ๊ฐ–๋Š”๋‹ค. 

 

โ—ฝ Bi-directional Encoder ์—์„œ๋Š” ๋‹จ์–ด๋“ค์ด ์ž๊ธฐ ์ž์‹ ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

2. Masked Language Model 

 

โœ” ๋ฌธ์žฅ์˜ 15% ๋ฅผ [MASK] ํ† ํฐ์œผ๋กœ ๋ณ€๊ฒฝ ํ•œ ํ›„ ์›๋ž˜ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธก 

 

 

 

โœ” Next sentence prediction 

 

๋ฌธ์žฅ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๋ฌธ์žฅ์ด ์ด์–ด์ง€๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ•™์Šต

 

 

โœ” Pre-Training 

 

BERT ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋Š”
(1) ๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ์— ๋Œ€ํ•œ semi-supervised ๊ณผ์ •์ธ Pre-training :  MLM, NSP 
(2) target task ์— ๋Œ€ํ•œ supervised ๊ณผ์ •์ธ Fine Tuning ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. 

 

 

๐Ÿ”ธ Transformer ์˜ Encoder ๋งŒ์„ ์ด์šฉํ•ด Language model ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. 

 

โ—ฝ Self-attention ๐Ÿ‘‰ attention ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ๊ธด ๋ฌธ์žฅ์ด๋ผ๋„ ํ•™์Šต์— ๋™๋“ฑํ•œ ๊ธฐํšŒ๋ฅผ ๊ฐ–๋Š”๋‹ค. 

โ—ฝ layer ๋‹น ํ•œ ๋ฒˆ์˜ ๊ณ„์‚ฐ๋งŒ ํ•„์š” ๐Ÿ‘‰ ๋ณ‘๋ ฌ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅ, GPU/TPU ์— ํšจ์œจ์  

 

 

๐Ÿ”ธ ๋‘ ์ข…๋ฅ˜์˜ ๋ชจ๋ธ์ด ์กด์žฌ 

 

โ—ฝ BERT-Base : 12 layer, 768 hidden , 12 head ๐Ÿ‘‰ SOTA (GPT) ๋ชจ๋ธ๊ณผ ๋น„๊ต ๋ชฉ์ 

โ—ฝ BERT-Large : 24 layer, 1024 hidden , 16 head 

 

 

 

3. Training , Tuning 

 

๐Ÿ”ธ ์œ„ํ‚คํ”ผ๋””์•„์™€ bookcorpus ๋ฅผ ์ด์šฉํ•ด ํ•™์Šต 

 

  • ๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด semi-supervised ๋ฅผ ์ง„ํ–‰ํ•ด ์–ธ์–ด์˜ ํŒจํ„ด์„ ํ•™์Šตํ•œ๋‹ค. 

 

โœ” Input : Sentence Pair encoding 

 

โ—ฝ Token embedding : Word piece embedding ๋‹จ์–ด ๋‹จ์œ„์˜ ์ž„๋ฒ ๋”ฉ 

โ—ฝ Segment Embedding : Next sentence prediction ์„ ์œ„ํ•œ ๋ถ€๋ถ„ 

โ—ฝ Position Embedding : ๋‹จ์–ด ์œ„์น˜์— ๋Œ€ํ•œ ์ •๋ณด ์ธ์ฝ”๋”ฉ

 

 

 

 

 

โœ” MLM , NSP

 

 

 

โ—ฝ Masked Language Modeling : ์ „์ฒด ๋‹จ์–ด์˜ 15%๋ฅผ ์„ ํƒํ•œ ํ›„ ๊ทธ ์ค‘ 80%๋Š” [MASK], 10% ๋Š” ํ˜„์žฌ ๋‹จ์–ด ์œ ์ง€, 10%๋Š” ์ž„์˜์˜ ๋‹จ์–ด๋กœ ๋Œ€์ฒดํ•œ๋‹ค. 

 

โ—ฝ Next Sentence Prediction : [CLS] ํ† ํฐ์œผ๋กœ ๋ฌธ์žฅ A์™€ ๋ฌธ์žฅ B์˜ ๊ด€๊ณ„๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์œผ๋กœ A ๋‹ค์Œ ๋ฌธ์žฅ์ด B ์ด๋ฉด True, A ๋‹ค์Œ ๋ฌธ์žฅ์ด B ๊ฐ€ ์•„๋‹ˆ๋ฉด False ๋กœ ์˜ˆ์ธก 

 

 

 

โœ” Fine-tuning 

 

โ—ฝ Pre-trained model ์œ„์— task ์— ๋งž๋Š” ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๋ถ™์—ฌ ํ•™์Šต์„ ์ง„ํ–‰ 

 

 

 

 

โœ” ์™„์ „ ์–‘๋ฐฉํ–ฅ ๋ชจ๋ธ 

 

https://velog.io/@tobigs-text1415/Lecture-13-Contextual-Word-Embeddings

 

 

๐Ÿ‘‰ BERT ๋Š” MLM ์„ ํ†ตํ•ด ๋‹จ์–ด ์•ž๋’ค ์‹œํ€€์Šค๋ฅผ ๋™์‹œ์— ๋ณด๋Š” ์™„๋ฒฝํ•œ ์–‘๋ฐฉํ–ฅ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ–ˆ๋‹ค. 

๐Ÿ‘‰ MLM ์œผ๋กœ ๋ชจ๋“  ๋ฌธ๋งฅ์„ ํ•œ ๋ฒˆ์— ๊ณ ๋ คํ•˜๊ณ , NSP ๋ฅผ ํ†ตํ•ด ๋ฌธ์žฅ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•œ๋‹ค. 

 

 

 

 

โœ” Result 

 

โ—ฝ GLUE task 

 

NLP ์˜ ๋ชจ๋“  ๋ถ„์•ผ์—์„œ SOTA ๋ฅผ ๊ธฐ๋กํ•œ ๋งŒํผ ๋งค์šฐ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ์ง€๋…”์Œ

 

 

โ—ฝ NER task 

 

 

 

โ—ฝ SQuAD 1.1/2.0

 

 

 

 

โ—ฝ Model size 

 

 

 

 

 

 

 

 

4. KoBERT 

 

โœ” ์‹ ๋ฌธ๊ธฐ์‚ฌ/๋ฐฑ๊ณผ์‚ฌ์ „ ๋“ฑ 23GB ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ํ•™์Šต 

 

โ—ฝ BERT-base ์™€ ๋™์ผํ•œ ๊ตฌ์กฐ 

 

 

 

 

 

728x90

'1๏ธโƒฃ AIโ€ขDS > ๐Ÿ“— NLP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[cs224n] 18๊ฐ• ๋‚ด์šฉ์ •๋ฆฌ  (0) 2022.07.18
[cs224n] 15๊ฐ• ๋‚ด์šฉ์ •๋ฆฌ  (0) 2022.07.04
NER ์‹ค์Šต  (0) 2022.06.02
Glove ์‹ค์Šต  (0) 2022.05.31
[cs224n] 12๊ฐ• ๋‚ด์šฉ์ •๋ฆฌ  (0) 2022.05.23

๋Œ“๊ธ€