Pre-trained Language Modeling paper reading
์์ฆ NLP ๋ถ์ผ์์ ๋จ๊ฑฐ์ด ๊ฐ์์ธ pre-trained Language Modeling์ ๊ดํ ์ ๋ช ํ ๋ ผ๋ฌธ๋ค์ ์ฝ๊ณ ๋ฆฌ๋ทฐ๋ฅผ ํ์๋ค. ์ด Pre-trained Language Modeling paper reading์ ์ด ํฌ์คํธ๋ง์ผ๋ก ๋๋๋ ๊ฒ์ด ์๋๋ผ ์ฐ์๋ ํฌ์คํธ๋ฅผ ์์ฑํ ์๊ฐ์ด๋ค. ๊ทธ๋์ ์ด ํฌ์คํธ๋ Pre-trained Language Modeling paper reading์ ์ฒซ ์๋ง์ ์ฌ๋ ํฌ์คํธ์ด๋ค. ์์ผ๋ก์ ํฌ์คํธ ๊ณํ์ ์๋์ ๊ฐ๋ค.
- ELMo: 'Deep contextualized word representations' reading & review(this post)
- BERT: 'Pre-training of Deep Bidirectional Transformers for Language Understanding' reading & review
- GPT-1: 'Improving Language Understanding by Generative Pre-Training' reading & review
๊ทธ๋์ ์ค๋์ ELMo ๋ ผ๋ฌธ์ ๋ํด์ ์ฝ๊ณ ๋ฆฌ๋ทฐ๋ฅผ ํด๋ณผ ๊ฒ์ด๋ค. ELMo ๋ ผ๋ฌธ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์๋ค.
Table of Contents
1. Introduction
2. ELMo: Embedding from Language Models
2-1. Bidirectional language models
2-2. ELMo
2-3. Using biLMs for supervised NLP tasks
2-4. Pre-trained bidirectional language model architecture
3. ์์๋ณด๊ธฐ ์ฝ๊ฒ ELMo ์ค๋ช
4. Analysis
1. Introduction
์ด ๋ ผ๋ฌธ์ ์ ์๋ค์ด ๋งํ๊ณ ์ ํ๋ ๋ฐ๋ pre-trained word representation ์์ฒด๊ฐ ์ด๋ก๋ถํฐ ์์๋๋ ๋ค์ํ NLP tasks์ ๋ํ key component๋ผ๊ณ ์ฃผ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ high quality representation์ ์กฐ๊ฑด๋ค์ ๋ฐ๋ผ์ผ ํ๋๋ฐ ๊ทธ ์กฐ๊ฑด๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋จ์ด์ ๋ณต์กํ ํน์ง์ ๋ชจ๋ธ๋งํ ์ ์์ด์ผ ํ๋ค. (๊ตฌ๋ฌธ ๋ถ์ ๊ด์ ์์ ์ฌ์ฉ๋๋ ๊ฒ & ์๋ฏธ ๋ถ์ ๊ด์ ์์ ์ฌ์ฉ๋๋ ๊ฒ์ ์ ๋ถ ๋ค ์ปค๋ฒํด์ผ ๋จ)
- ๋จ์ด๋ค์ด linguistic context ์์์ ์๋ก ๋ค๋ฅด๊ฒ ์ฌ์ฉ๋ ๋, ํด๋นํ๋ ์ฌ์ฉ๋ฒ์ ๋ง๋ representation์ ํํํด์ค์ผ ํ๋ค. ์๋ฅผ ๋ค์ด ๋ค์์ด์ธ '๋ฐฐ'๋ผ๋ ๋จ์ด์ ๋ํด ๊ณผ์ผ์ ์๋ฏธ๋ก ์ฌ์ฉ๋ ๋์ ์ด์ก์๋จ์ ์๋ฏธ๋ก ์ฌ์ฉ๋ ๋ ์ด ๋ ์ํฉ์ ์๋ฒ ๋ฉ ๋ฒกํฐ๊ฐ ๋ฌ๋ผ์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
ELMo์ ํน์ง
ELMo๋ ๊ฐ๊ฐ์ token๋ค์ ๋ํด ์ ์ฒด input sentence์ ํจ์๋ฅผ representation์ผ๋ก ๋ฐ๋๋ค. ๊ทธ๋ฆฌ๊ณ ELMo๋ language model์ ๋ํ ๋ชฉ์ ํจ์๋ฅผ ๊ฐ์ง๊ณ ํ์ต์ด ๋๋ bidirectional-LSTM์ผ๋ก๋ถํฐ ์ ๋๋๋ vector๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋์ ELMo ์์ฒด๋ ์ ์ฒด์ ์ ๋ ฅ ๋ฌธ์ฅ์ ์ด์ฉ์ ํ representation์ด๊ณ , ๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ฅ์ bidirectional-LSTM์ ์ด์ฉํ์ฌ ํ์ต์ด ๋๋ค. ๋ค์์ ELMo์ ํน์ง์ด๋ค.
- ELMo๋ ์๋นํ deepํ ๋ชจ๋ธ์ธ๋ฐ, ์ด๋ bidirectional-LSTM์ ๋ชจ๋ ๋ด๋ถ internal layer์ ํด๋นํ๋ ํ๋ ๋ฒกํฐ๋ค์ ๊ฒฐํฉ์ํค๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ํน์ ํ ์ธต์ ํด๋นํ๋ ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ bidirectional-LSTM์ด ํ์ต์ด ๋์์ ๋ ๋์ค๋, ๋ค์ํ ํ๋ ๋ฒกํฐ๋ค์ ๊ฒฐํฉํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ๋ ๊ฒ์ด๋ค.
- ํ๋์ position์ ์๋ ๋จ์ด์ ์ฌ๋ฌ ์ธต์ ํด๋นํ๋ ์ ๋ณด๋ค์ ๊ฒฐํฉํ๋ค. ๊ฐ์ฅ ์ ๋จ์ LSTM layer๋ฅผ ์ฌ์ฉํ representation๋ณด๋ค ์ฑ๋ฅ์ด ํจ์ฌ ํฅ์๋์๋ค.
- ์ฌ๋ฌ ๋จ๊ณ์ representation์ ์ฌ์ฉํจ์ผ๋ก์จ ์์ชฝ์ ์๋ ๋์ ๋ ๋ฒจ์ ์๋ hidden state๋ค์ context-dependentํ๊ณ , ๋ณด๋ค ๋ฎ์ ๋ ๋ฒจ์ ์๋ hidden state๋ค์ syntax์ ํด๋นํ๋ ํน์ง๋ค์ ํฌํจํ๊ณ ์๋ค. ๊ทธ๋์ ๋ง์ฝ syntax ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ณด๋ค ๋ฎ์ layer์ hidden state๋ค์ ๋ ๋์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ฉด ๋๊ณ , context-dependent ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋์ layer์ hidden state๋ค์ ๋ ๋์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ฉด ๋๋ค.
2. ELMo: Embedding from Language Models
์ด๋ฒ ์ฅ์์๋ ELMo์ ๊ตฌ์กฐ์ ๋ํด์ ์ค๋ช ํ๋ค. ELMo๋ ๋ด๋ถ ๋คํธ์ํฌ ์ํ(2-2)์ ์ ํ ํจ์๋ก์ ๋ฌธ์ ์ปจ๋ณผ๋ฃจ์ (2-1)์ด ์๋ 2๊ณ์ธต biLM ์์์ ๊ณ์ฐ๋๋ค. ์ด ์ค์ ์ ํตํด biLM์ด ๋๊ท๋ชจ๋ก ์ฌ์ ํ๋ จ๋๊ณ (2-4) ๊ธฐ์กด์ ๊ด๋ฒ์ํ neural NLP architecture(2-3)์ ์ฝ๊ฒ ํตํฉ๋๋ semi-supervised learning์ ์ํํ ์ ์๋ค.
2-1. Bidirectional language modeling
Bidirectional language modeling์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋๋๋ฐ forward LM๊ณผ backward LM์ด๋ค. ๋ง ๊ทธ๋๋ ์ด ๋์ sequence๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ๊ฐ ์์์๋ถํฐ ํด์์ ํ๋์ง์ ๋ค์์๋ถํฐ ํด์์ ํ๋์ง์ด๋ค. N๊ฐ์ token sequence์ธ (t_1, t_2, ..., t_N)๊ฐ ์ฃผ์ด์ก์ ๋ Bidirectional LM์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์งํ๋๋ค.
forward LM
๋จผ์ forward LM์ ๋ํด ์์๋ณด๊ฒ ๋ค. forward LM์ sequence probability๋ฅผ ์ด๋ฏธ ์ฃผ์ด์ก๋ ํ ํฐ๋ค์ธ(t_1, ..., t_k-1)์ ๋ํด ๋ชจ๋ธ๋ง์ ์งํํ๋ฉด์ ๊ตฌํ๋ค. ์๋์ ์์์ด ๊ทธ ๊ณผ์ ์ด๋ค.
์ต๊ทผ์ SOTA neural language model๋ค์ context-independentํ token representation x^LM_k(๋ ผ๋ฌธ์์ ํ์ธํ์์ค)๋ฅผ ๊ณ์ฐํ๊ณ ๊ทธ๋ค์์ ์ด๊ฒ์ L layer์ forward LSTM๋ค์ ํ๋ ค๋ณด๋ธ๋ค. ๊ฐ๊ฐ์ k position์์ ๊ฐ๊ฐ์ LSTM layer๋ context-dependent ํ representation์ธ j=1, ..., L์ธ forward h^LM_i,j(๋ ผ๋ฌธ์์ ํ์ธํ์์ค)๋ฅผ ์ถ๋ ฅํด๋ธ๋ค. ๊ฐ์ฅ ๋์ LSTM์ธต์ ์ถ๋ ฅ์ธ forward h^LM_k,L์ Softmax layer์ ํจ๊ป ๋ค์ ํ ํฐ์ธ t_k+1์ ์์ธกํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
backward LM
backward LM๋ forward LM๊ณผ sequence๋ฅผ ๋ฐ๋ ๋ฐฉํฅ๋ถํฐ runํ๋ค๋ ์ ๋ง ์ ์ธํ๋ฉด ๋น์ทํ๋ค. ํ ๋ง๋๋ก future context๊ฐ ์ฃผ์ด์ก์ ๋ ์ด์ ์ token์ ์์ธกํ๋ ๊ฒ์ด๋ค. ์๋์ ์์์ด ๊ทธ ๊ณผ์ ์ด๋ค.
์ด๊ฒ๋ forward LM๊ณผ ์ ์ฌํ๊ฒ ์ ์๋ ์ ์๋๋ฐ representation์ ์์ฑํ๋ L layer deep model์ ๊ฐ backward LSTM ๊ณ์ธต j๋ก ์ฃผ์ด์ง t_k์ธ (t_k+1, ..., t_N)์ backward h^LM_k,j(๋ ผ๋ฌธ์์ ํ์ธํ์์ค).
biLM
biLM์ forward LM๊ณผ backward LM์ ๊ฒฐํฉ์ด๋ค. ๋ ผ๋ฌธ์ ์์ forward์ backeward direction์ ๋ํด ๊ณต๋์ผ๋ก log likelihood๋ฅผ ๊ทน๋ํ ์ํจ๋ค. ์๋ ์์์ด biLM์ ๊ณผ์ ์ด๋ค.
๋ ผ๋ฌธ์์๋ token representation(Θx)์ Softmax layer(Θs) ๋ชจ๋์ ๋ํ parameter๋ฅผ forward์ backward๋ก ๋ฌถ๊ณ ๊ฐ ๋ฐฉํฅ์์ LSTM์ ๋ํ ๋ณ๋์ parameter๋ฅผ ์ ์งํ๊ฒ ํ๋ค. ์ด ์์ ์ด์ ์ ์ฐ๊ตฌ์ ๋น์ทํ ๋ชจ์ต์ ๋ณด์ด์ง๋ง, ์์ ํ ๋ ๋ฆฝ์ ์ธ parameter๋ก ํ ๊ฒ์ด ์๋ ๋ฐฉํฅ๋ค ์ฌ์ด์์ ๊ฐ์ค์น๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ์์ผ๋ก ์งํํ์๋ค.
2-2. ELMo
ELMo๋ biLM์ ์ค๊ฐ ๊ณ์ธต๋ค์ representation์ task specificํ combination์ด๋ค. ๊ฐ๊ฐ์ token t_k์ ๋ํด L-layer biLM์ 2L+1์ representation์ ๊ณ์ฐํด์ผ ํ๋ค. ์๋ ์์์ด ๊ทธ ๊ณผ์ ์ด๋ค.
h^LM_k,0(๋ ผ๋ฌธ์์ ํ์ธํ์์ค)์ token layer์ด๊ณ , h^LM_k,j๋ ๊ฐ๊ฐ์ biLSTM layer์ ๋ํ forward LM๊ณผ backward LM์ด๋ค.
downstream model์์ ELMo๋ R์ ๋ชจ๋ layer๋ฅผ ํ๋์ ๋ฒกํฐ ELMo_k = E(R_k;Θ_e)๋ก collapse ์ํจ๋ค. ๋ ผ๋ฌธ์์๋ task specific ํ weighting์ ๋ชจ๋ biLM layer์ ๋ํด ์งํํ์๋ค. ๊ทธ ์์ ๋ค์๊ณผ ๊ฐ๋ค.
s^task๋ softmax-normalized ๊ฐ์ค์น์ธ๋ฐ, ์ด๋ task specificํ๊ฒ ๊ฐ์ค์น๋ฅผ ํ์ต์ํจ๋ค(์ด ๋ด์ฉ์ 3์ฅ์์ ๋ค์ ํ๋ฒ ์ค๋ช ). γ(๊ฐ๋ง)^task๋ scalar parameter๋ก task model์๊ฒ ๋ชจ๋ ELMo vector๋ฅผ scale ํ ์ ์๊ฒ ํด ์ค๋ค.γ(๊ฐ๋ง)๋ optimization process๋ฅผ ๋์์ฃผ๋ ์ค์ํ ์์์ด๋ค. ์ด๋ ์ ์ฒด ๊ฐ์คํฉ์ด ๋ pre-trainced vector๋ฅผ ์ผ๋ง๋ ํ๋ ๋๋ ์ถ์์ํฌ์ง ๊ฒฐ์ ํ๋ ๊ฐ์ด๋ค. ๊ฐ๊ฐ์ biLM layer์ activation์ ์๋ก ๋ค๋ฅธ distribution์ ๊ฐ์ง๋๋ฐ, ์ด๋ค ์ํฉ์์๋ ๊ฐ๊ฐ์ biLM layer์ layer normalization์ weighting ํ๊ธฐ ์ ์ ์ ์ฉํ๋ ๊ฒ์ ๋์์ ์ค๋ค.
2-3. Using biLMs for supervised NLP tasks
NLP task์ ๋ํ architecture์ pre-trained๋ biLM์ด ์ฃผ์ด์ก์ ๋, biLM์ ๊ฐ๊ฐ์ ๋จ์ด์ ๋ชจ๋ representation layer์ ๋๋ฆฌ๋ฉด, ๋ง์ง๋ง์ ๋ชจ๋ธ์ ์ด representation๋ค์ ๋ํ ์ ํ ๊ฒฐํฉ์ ์ป์ ์ ์๋ค. ์ด ๊ณผ์ ์ ์๋์์ ๋์ฑ ์์ธํ ์ค๋ช ํ๊ฒ ๋ค.
- ์ฒซ ๋ฒ์งธ๋ก, ๊ฐ์ฅ layer์ ๊ฐ์ฅ ๋ฐ๋์ biLM์ด ์ ์ฉ๋์ง ์์๋ค. ๋ง์ supervised NLP model๋ค์ ์ผ๋ฐ์ ์ธ architecture์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์, ELMo๋ฅผ ์ ์ฉํ ์ ์๋ค. ํ ํฐ ์ํ์ค(t_1, ... , t_N )๊ฐ ์ฃผ์ด์ง๋ฉด pre-trained word embedding๊ณผ ์ ํ์ ์ผ๋ก chracter-based representation์ ์ฌ์ฉํ์ฌ ๊ฐ ํ ํฐ ์์น์ ๋ํด context-independent toekn representation x_k๋ฅผ ํ์ฑํ๋ ๊ฒ์ด ํ์ค์ด๋ค. ๊ทธ๋ฐ ๋ค์ ๋ชจ๋ธ์ ์ผ๋ฐ์ ์ผ๋ก ์๋ฐฉํฅ RNN, CNN ๋๋ ํผ๋ ํฌ์๋ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ํฉ์ ๋ง๋ ํํ h_k๋ฅผ ํ์ฑํ๋ค.
- ๊ทธ๋ค์์ผ๋ก, supervised model์ ELMo๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ์ฒ์์ biLM ๊ฐ์ค์น๋ฅผ freeze ํ๊ณ ELMo^task_k์ x_k๋ฅผ concatenate ํ์ฌ ํฅ์๋ ELMo representation์ task RNN์ ํต๊ณผ์ํจ๋ค.
- ๋ง์ง๋ง์ผ๋ก, ELMo์๋ ์ ๋นํ ์์ dropout์ ์ถ๊ฐ์ํค๊ณ ์ด๋ค ๊ฒฝ์ฐ์๋ loss์ ๋๋ค๊ฐ(๋ ผ๋ฌธ์์ ํ์ธํ์์ค)์ ์ถ๊ฐํ์ฌ ELMo ๊ฐ์ค์น๋ฅผ ์ ๊ทํํ๋ค. ์ด๊ฒ์ ๋ชจ๋ biLM layer์ ํ๊ท ์ ๊ฐ๊น๊ฒ ์ ์งํ๊ธฐ ์ํด ELMo weights์ indeuctive bias๋ฅผ ๋ถ๊ณผํ๋ค.
2-4. Pre-trained bidirectional language model architecture
์ด ๋ ผ๋ฌธ์ pre-trained biLMs๋ ์ด์ ์ ๋ ผ๋ฌธ๋ค๊ณผ ์ ์ฌํ๋ฐ, ์๋ฐฉํฅ์ ๊ณ์ฐํ๊ธฐ ์ํด ์ด์ง ์์ ๋์๊ณ , residual connection์ LSTM layers ์ฌ์ด์ ์ถ๊ฐํ์๋ค.
๋ ผ๋ฌธ์์ ์ฌ์ฉ๋ ์ต์ข ๋ชจ๋ธ์ L = 2์ธ biLSTM์ด๊ณ , ์ด๊ฒ์ 4096๊ฐ์ unit๊ณผ 512๊ฐ์ dimension projection์ ๊ฐ์ง๊ณ ์๊ณ , residual connection์ด ์ฒซ ๋ฒ์งธ layer๋ก๋ถํฐ ๋ ๋ฒ์งธ layer๊น์ง ์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก biLM์ purely character input์ผ๋ก ์ธํด ํ๋ จ ์ธํธ ์ธ๋ถ์ representation์ ํฌํจํ์ฌ ๊ฐ input token์ ๋ํด 3๊ฐ์ representation layer๋ฅผ ์ ๊ณตํ๋ค. ๋ฐ๋ฉด์ ์ ํต์ ์ธ word embedding method๋ค์ ์ค์ง ํ๋์ representation layer๋ฅผ ๊ณ ์ ๋ vocabulary ์์ tokens์ ๋ํด ์ ๊ณตํ๋ค.
10 epochs์ ํ๋ จ์ ๊ฑฐ์น๊ณ ๋ ํ์ forward CNN-BIG-LSTM๋ perplexity๊ฐ 30.0์ธ ๊ฒ์ ๋นํด forward์ backward์ perplexities์ ํ๊ท ์ 39.7์ด์๋ค. ์ผ๋ฐ์ ์ผ๋ก, forward ๋ฐ backward perplexities๊ฐ ๊ฑฐ์ ๋์ผํ๊ณ backward ๊ฐ์ด ์ฝ๊ฐ ๋ ๋ฎ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค.
3. ์์๋ณด๊ธฐ ์ฝ๊ฒ ELMo ์ค๋ช
์ด๋ฒ ์ฅ์์๋ ์ด ์ฌ์ดํธ์์ ์ค๋ช ํ๋ ELMo์ ๋ํด ๋ค์ ํ ๋ฒ ์ค๋ช ํด๋ณด์๋ค.
ELMo๋ ๊ฐ๊ฐ์ ๋จ์ด์ ๋ํด embedding์ ํ๋ ๊ฒ ๋์ ์, ๊ฐ๊ฐ์ ๋จ์ด๋ฅผ embedding์ ํ ๋นํ๊ธฐ ์ ์ ์ ์ฒด sentence๋ฅผ ํ ๋ฒ ๋๋ฌ๋ณธ๋ค. ELMo๋ specific task์ ๋ํด ํ๋ จ๋ bidirectional-LSTM์ ์ด์ฉํ์ฌ ์ด๋ฌํ embedding์ ์์ฑํ ์ ์์๋ค. ELMo๋ NLP์ ๋งฅ๋ฝ์์ pre-training์ ํฅํ ์ค์ํ ๋จ๊ณ๋ฅผ ์ ๊ณตํ๋ค. ELMo์ LSTM์ ์ด๋ ํ ๊ด๋ฒ์ํ ๋ฐ์ดํฐ์ ์ผ๋ก๋ถํฐ ํ๋ จ๋ผ์ ๋ค๋ฅธ ๋ชจ๋ธ์ ๊ตฌ์ฑ ์์๋ก ์ฌ์ฉํ ์ ์๋ค. ํ ๋ง๋๋ก, ๋ด๊ฐ ์ฌ์ฉํ dataset์ ๋ํด ํ๋ จ์ ์งํํ๊ณ ์ด ํ๋ จ๋ ELMo๋ฅผ ๋ค๋ฅธ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
ELMo's secret
ELMo๋ word sequence๊ฐ ์ฃผ์ด์ก์ ๋ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋ ์ด๋ฅธ ๋ฐ Langauge Modeling์ ํตํด language understanding์ ์ป๋๋ค. ๋ค์์ ๊ทธ๋ฆผ์ ELMo์ pre-training process๋ฅผ ๋ณด์ฌ์ค๋ค. ์๋์ ๊ทธ๋ฆผ์์๋ 'Let's', 'stick', 'to'๋ผ๋ ๋จ์ด๋ฅผ ๋ฐ์์ ๋, ๊ฐ๊ฐ์ embedding vector์ ์ง์ด๋ฃ์ด์ LSTM์ layer๋ค์ ํ์ฐ๊ฒ ๋๋ฉด ์ด์ ๋จ์ด๋ค์ embedding vector์ ์ด์ฉํด์ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๊ฒ ๋๋ค.
์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ELMo ์บ๋ฆญํฐ์ ๋จธ๋ฆฌ ๋ค์ ์ ์ ์ ๋๋ฌํ ๊ฐ๊ฐ์ unrolled-LSTM ๋จ๊ณ์ ์จ๊ฒจ์ง ์ํ๋ฅผ ๋ณผ ์ ์๋ค. pre-training ๋จ๊ณ๊ฐ ๋๋๊ณ ์ด๊ฒ๋ค์ embedding process์์ ์ ์ฉํ๋ค. ELMo๋ ์ถ๊ฐ์ ์ธ step๋ค์ ์งํํ๊ณ bidirectional LSTM์ ํ๋ จ์ํจ๋ค. ๋ฐ๋ผ์ ELMo๋ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋ฅ๋ ฅ๋ง ๊ฐ์ง๋ ๊ฒ์ด ์๋๋ผ ์ด์ ๋จ์ด์ ๋ํ ์์ธก๋ ๊ฐ๋ฅํ๊ฒ ๋๋ค. ๋ค์ ๊ทธ๋ฆผ์ด ELMo์ biLM์ ๋ณด์ฌ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ELMo๋ hidden states(and initial embedding)๋ฅผ ํน์ ํ ๋ฐฉ๋ฒ(๊ฐ์ค์น ํฉ์ผ๋ก ์ธํ concatenation)์ผ๋ก grouping ์ํค๋ ๊ณผ์ ์ ํตํด contextualized embedding์ ๋ง๋ค์ด๋ธ๋ค. ๋ค์์ ๊ทธ๋ฆผ์ ์ด ๊ณผ์ ์ ๋ํ๋ธ๋ค.
- stick์ด๋ผ๋ ๋จ์ด๊ฐ ์กด์ฌํ๋ ์ด ์์ ์์์ ์์น๊ฐ forward์ backward์์ ๋์ผํ๊ณ , ๊ฐ๊ฐ์ ๊ฐ์ ๋์ผํ ๋ ๋ฒจ์ ์๋ hidden state vector์ concatenaton์ ํ๋ค. ๋ค์ ๋งํ์๋ฉด, forward์ input๊ฐ๊ณผ backward์ input๊ฐ์ ํฉ์น ๊ฒ์ด Concatenate hidden layer์ ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋๋ ๊ฒ์ด๊ณ , ์ด์ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ ์๋ ๊ทธ๋ฆผ์ ์ผ์ชฝ ์๋จ์ ์์นํด์๋ Concatenate hidden layers๊ฐ ๋ง๋ค์ด์ง๋ ๊ฒ์ด๋ค. ์ด ๋ง์ธ์ฆ์จ, forward ๋ชจ๋ธ๊ณผ backward ๋ชจ๋ธ์ ๋ํด์ ๊ฐ์ ๋ ๋ฒจ์ ์๋ hidden state๋ค์ ์์ผ๋ก concatenation ํ ๊ฒ์ด๋ค.
- ๊ทธ ๋ค์ ํน์ ํ task์ ๋ํด์ ์ด 3๊ฐ์ ๋ฒกํฐ๋ค์ ๋ํ ์ ์ ํ ๊ฐ์คํฉ์ ๊ณ์ฐํด์(s_0, s_1, s_2 ๊ณ์ฐ) ๊ฐ์คํฉ์ ํ๊ฒ ๋๋ฉด ์๋ ๊ทธ๋ฆผ์ ์ข์ธก ํ๋จ์ ์์นํด ์๋ ํ๋์ ๋ฒกํฐ๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ ๋ฐ๋ก ELMo์ ์ํด์ ๋ง๋ค์ด์ง 'stick' ์ด๋ผ๋ ๋จ์ด์ ๋ํ embedding ๊ฐ์ด๋ค.
- ๊ฐ์คํฉ์ ํ ๋ s_0, s_1, s_2๋ task์ ๋ฐ๋ผ์ ๋ณํํ๋ parameter์ด๋ค. ๋ฐ๋ผ์ ์ด๋ค task๊ฐ ์ฃผ์ด์ง๋๋์ ๋ฐ๋ผ ํ์ต์ด ํจ๊ป ์งํ๋๋ค. ๋ง์ฝ syntax์ ๋ํ task๋ฅผ ์งํํ๋ ค๋ฉด ์๋์ ๋ ๋ฒจ์ ์์นํด ์๋ ๋ฒกํฐ์ ๋ํด ๋ ํฐ ๊ฐ์ค์น๋ฅผ ๊ฐ๊ฒ ๋ ๊ฒ์ด๊ณ , contextual ํ task๋ฅผ ์งํํ๋ ค๋ฉด ์์ ๋ ๋ฒจ์ ์์นํด ์๋ ๋ฒกํฐ์ ๋ํด ๋ ํฐ ๊ฐ์ค์น๋ฅผ ๊ฐ๊ฒ ๋ ๊ฒ์ด๋ค.
4. Analysis
๋ ผ๋ฌธ์์๋ Experiment๋ฅผ ์งํํ๊ณ ๋์ ๋ช ๊ฐ์ง์ Ablation Study๋ฅผ ์งํํ๋๋ฐ ๊ทธ ์ค์ ๋ช ๊ฐ์ง๋ฅผ ์ดํด๋ณด์๋ค.
Alternate layer weighting scheme
์ด layer๋ฅผ ์ด๋ป๊ฒ ๊ฐ์คํฉ์ ํ๋ ๊ฒ ์ข์ผ๋ ๋ผ๋ ์ง๋ฌธ์ด ๋์ ธ์ก์ ๋ ๋ ผ๋ฌธ์์๋ ๋ค์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ตํ์๋ค.
์์ ๊ทธ๋ฆผ์ ํด์ํด๋ณด๋ฉด ์ฒซ ๋ฒ์งธ๋ก๋ task์ ๋ฐ๋ผ์ ๊ฐ์ค์น ๊ฐ์ ๋ค๋ฅด๊ฒ ์ฃผ๋ ๊ฒ์ด ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข๊ณ , ๊ทธ๋ค์์ผ๋ก๋ ๋ชจ๋ ๋ฒกํฐ๋ค์ ๋ํด ๋๊ฐ์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ ๊ฒ์ด ์ฑ๋ฅ์ด ์ข์๊ณ , ๊ทธ๋ค์์ผ๋ก๋ ์ ์ผ ๋์ ๋ ๋ฒจ์ ๋ฒกํฐ์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ ๊ฒ์ด ๋์๋ค.
Where to include ELMo?
ELMo๋ฅผ ์ด๋์ ์ง์ด๋ฃ๋ ๊ฒ์ด ๋ ์ข์์ง์ ๋ํ ์ง๋ฌธ์ ๋ํ ๋ต์ด๋ค. ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ตํ์๋ค. ๋ค์ ๊ทธ๋ฆผ์ LM์ด ์๋ downstream task์ ํด๋นํ๋ ๋ชจ๋ธ์ด๋ค.
์์ ๊ทธ๋ฆผ์ ํด์ํด๋ณด๋ฉด Input ๊ฐ๊ณผ Output ๊ฐ์ ELMo๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข์๊ณ , ๊ทธ ๋ค์์ผ๋ก๋ Input์๋ง ์ฌ์ฉํ๋ ๊ฒ์ด, ๊ทธ๋ค์์๋ Output ๊ฐ์๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ์ด ์ข์๋ค.
์ถ์ฒ
https://arxiv.org/abs/1802.05365
https://www.youtube.com/watch?v=zV8kIUwH32M
https://jalammar.github.io/illustrated-bert/