๐ก ์ฃผ์ : 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 ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ ๊ณผ์ ์ ๊ฐ์ง๋ค.
โ ๊ตฌ์กฐ
โฝ 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 ๊ฐ์ ์๊ฐ ํํ์ผ๋ก ๊ณผ๊ฑฐํ์์ ์ธ์งํด ๋ณด๋ค ์ ํํ ์๋ฒ ๋ฉ์ ๋ฝ์๋ผ ์ ์๋ค๊ณ ํ๋ค.
โก 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
โ 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 ์ ์งํ
โ ์ ๋ฆฌ
1. Encoder ์์ Self attention (๋ ธ๋) ← ๋ฒ์ญ ๋์ ๋ฌธ์ฅ
2. Decoder ์์ Self-attention (์์ฃผ) ← ๋ฒ์ญ ๊ฒฐ๊ณผ ๋ฌธ์ฅ
3. Encoder ์ Decoder ์์ attention (์ด๋ก)
โ Result
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 ์ ๋ง๋ ๋ถ๋ฅ๊ธฐ๋ฅผ ๋ถ์ฌ ํ์ต์ ์งํ
โ ์์ ์๋ฐฉํฅ ๋ชจ๋ธ
๐ BERT ๋ MLM ์ ํตํด ๋จ์ด ์๋ค ์ํ์ค๋ฅผ ๋์์ ๋ณด๋ ์๋ฒฝํ ์๋ฐฉํฅ ๋ชจ๋ธ์ ๊ตฌ์ถํ๋ค.
๐ MLM ์ผ๋ก ๋ชจ๋ ๋ฌธ๋งฅ์ ํ ๋ฒ์ ๊ณ ๋ คํ๊ณ , NSP ๋ฅผ ํตํด ๋ฌธ์ฅ ๊ฐ ๊ด๊ณ๋ฅผ ํ์ตํ๋ค.
โ Result
โฝ GLUE task
โฝ NER task
โฝ SQuAD 1.1/2.0
โฝ Model size
4. KoBERT
โ ์ ๋ฌธ๊ธฐ์ฌ/๋ฐฑ๊ณผ์ฌ์ ๋ฑ 23GB ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ํ์ต
โฝ BERT-base ์ ๋์ผํ ๊ตฌ์กฐ
'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 |
๋๊ธ