1. ๊ฐ์
- ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ ์ํจ ๋ฅ๋ฌ๋ ๋ชจ๋ธ ์๊ฐ
- RNN์ ์ฌ์ฉํ์ง ์์
- ๋ ์ผ์ด, ํ๋์ค์ด๋ก ๋ฒ์ญํ๋ ํญ๋ชฉ์์ ํ์ต์๋, ์ฑ๋ฅ ๋ฐ์ด๋จ
- ์ ๋ ๋น ๋ฅด๊ฒ ํ์ต?
- RNN์ ์ฌ์ฉํ์ง ์์์
- ๋ณ๋ ฌํ(Parallelization) → ์ผ์ ์ต๋ํ ํ ๋ฐฉ์ ์ฒ๋ฆฌ
- RNN์ด ์์ฐจ์ ์ผ๋ก ์ฒซ๋ฒ์งธ ์ ๋ ฅ๋ ๋จ์ด๋ถํฐ, ๋ง์ง๋ง ๋จ์ด๊น์ง ๊ณ์ฐํ์ฌ์ ์ ๋ ฅ๋ ๋จ์ด๋ค์ ์ธ์ฝ๋ฉํ๋ ๋ฐ๋ฉด, transformer๋ ํ๋ฐฉ์ ์ด๊ณผ์ ์ ์ฒ๋ฆฌ
- ์ดํ
์
๋ฉ์ปค๋์ฆ
- ๊ณ ์ ๋ ํฌ๊ธฐ์ context vector ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ก ๊ธฐ์กด์ ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ ์ํด
- ํ์ง๋ง ์ฌ์ ํ rnn cell์ ์์ฐจ์ ์ผ๋ก ๊ณ์ฐํด์ ๋๋ฆผ
2. Transformer
- RNN์ ๋์ ํ ๋น ๋ฅด๊ณ ์ฑ๋ฅ์ข์ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผ
- Attention ๋ง์ผ๋ก๋ ์ ๋ ฅ๋ฐ์ดํฐ์์์ ์ค์ํ ์ ๋ณด๋ค์ ์ฐพ์๋ด์ ๋จ์ด๋ฅผ ์ธ์ฝ๋ฉํ ์ ์์ง ์์๊น ์๊ฐํ๊ฒ ๋จ ⇒ ์ฑ๊ณต ⇒ Attention is all you need!
- RNN์ ์์ฐจ์ ์ธ ๊ณ์ฐ์ transformer์์๋ ๋จ์ํ ํ ๋ฒ์ ํ๋ ฌ๊ณฑ์ผ๋ก ๊ณ์ฐ
- ํ ๋ฒ์ ์ฐ์ฐ์ผ๋ก ๋ชจ๋ ์ค์์ ๋ณด๋ฅผ ๊ฐ ๋จ์ด์ ์ธ์ฝ๋ฉํ๊ฒ ๋จ
- ๋์ฝ๋์ ๋ฒ์ญ๊ณผ์ ์ ๊ธฐ์กด์ ์ธ์ฝ๋ ๋์ฝ๋์ ๋์ผํ๊ฒ ๋ถํฐ ๊น์ง ๋ฒ์ญ์ ํ๊ฒ ๋จ
- transformer๋ ํ์คํ ๊ธฐ์กด์ ์ธ์ฝ๋-๋์ฝ๋์ format์ ๊ฐ์ง๊ณ ์๋ค.
- <start> ๋ก ์์ํด์ <end>๋ก ๋๋จ
- ๊ธฐ์กด ์ธ์ฝ๋-๋์ฝ๋์ ์ฃผ์ format์ ๊ฐ์งํ๋, RNN์ ์์ ์ ํ์ต์๊ฐ์ ๋จ์ถํ๊ณ , attention ๋ฟ๋ง์๋๋ผ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ ์ ๊ณตํ์ฌ์ ์ฑ๋ฅ์ ์ฌ๋ ธ๋ค.
1) Positional encoding
- ๊ทธ๋์ RNN์ ์ฌ์ฉํ๋ ์ด์ : ์์ฐ์ด์ฒ๋ฆฌ์์ ๋จ์ด์ ์์น์ ์์์ ๋ณด๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ์ค์ํ๋ฐ, RNN์ด ๊ทธ ์ญํ ์ ์ ํด์ฃผ์๊ธฐ ๋๋ฌธ
- RNN์ด ์๋ transformer๋ ์ด๋ป๊ฒ ๋จ์ด์ ์์น ๋ฐ ์์์ ๋ณด๋ฅผ ํ์ฉํ ์ ์์๊น?
- positional encoding
- positional encoding ? ์ธ์ฝ๋ ๋ฐ ๋์ฝ๋์ ์
๋ ฅ๊ฐ๋ง๋ค ์๋์ ์ธ ์์น์ ๋ณด๋ฅผ ๋ํด์ฃผ๋ ๊ธฐ์
- sin, cos ํจ์๋ฅผ ์ด์ฉํจ
- ์ฅ์ 1 : ํญ์ -1 ~1 ์ฌ์ด์ ๊ฐ์ด ๋์ด
- ์ฅ์ 2: ํ์ต ๋ฐ์ดํฐ ์ค ๊ฐ์ฅ ๊ธด ๋ฌธ์ฅ๋ณด๋ค๋ ๋ ๊ธด ๋ฌธ์ฅ์ด ์ค์ ์ดํ ์ค์ ๋ค์ด์๋ ์๋ฌ์์ด ์๋์ ์ธ ์ธ์ฝ๋ฉ๊ฐ์ ์ค ์ ์์
- sin, cos ํจ์๋ฅผ ์ด์ฉํจ
2) Self Attention
- Self Attention ? ์ธ์ฝ๋์์ ์ด๋ฃจ์ด์ง ์ดํ ์ ์ฐ์ฐ
- ๊ฐ ๋จ์ด์ ์๋ ์๋ฒ ๋ฉ์ positional encoding์ ๋ํด ์ค ํ์ Self Attention ์ฐ์ฐ ์ํ
- ์๋ ์๋ฒ ๋ฉ์ ๋ฒกํฐ, ํ ๋ฌธ์ฅ์ ํ๋ ฌ
- query, key, value ๋ง ์์ผ๋ฉด self attention ์ํ ๊ฐ๋ฅ
- query: ํ๋ฌธ์ฅ์ ๋ํ ํ๋ ฌ * Wq weight matrix
- key: ํ๋ฌธ์ฅ์ ๋ํ ํ๋ ฌ * Wk weight matrix
- value: ํ๋ฌธ์ฅ์ ๋ํ ํ๋ ฌ * Wv weight matrix
- query, key, value : ๋ฒกํฐ์ ํํ
- query: ํ์ฌ์ ๋จ์ด
- ์ด๋ค ๋จ์ด์์ ์๊ด๊ด๊ณ๋ฅผ ๊ตฌํ ๋, ํ์ฌ๋จ์ด์ query๋ฅผ ์ด๋ค ๋จ์ด์ key ๊ฐ์ ๊ณฑํด์ค
- query* key = attention score
- query, key๋ ๋ฒกํฐ์์ผ๋ก ๋์ dot productํ๋ฉด ๊ฒฐ๊ณผ๋ ์ซ์๋ก ๋์ด
- ์ด ์ซ์๊ฐ ๋์ ์๋ก ๋จ์ด์ ์ฐ๊ด์ฑ์ด ๋๋ค
- Softmax
- Attention score ๊ฐ์ 0~1 ์ฌ์ด์ ํ๋ฅ ๊ฐ์ผ๋ก ๋ํ๋
- ๋
ผ๋ฌธ์์๋ softmax๋ฅผ ์ ์ฉํ๊ธฐ ์ ์ score๋ฅผ key vector์ ์ฐจ์ ์์ ๋ฃจํธ ๊ฐ์ผ๋ก ๋๋ ์ค
- key ๋ฒกํฐ์ ์ฐจ์์ด ๋์ด๋ ์๋ก dot product ์ ๊ฐ์ด ์ฆ๋๋๋ ๋ฌธ์ ๋ฅผ ๋ณด์
- softmax์ ๊ฒฐ๊ณผ๊ฐ์ key ๊ฐ์ ํด๋นํ๋ ๋จ์ด๊ฐ ํ์ฌ ๋จ์ด์ ์ด๋์ ๋ ์ฐ๊ด์ฑ์ด ์๋์ง๋ฅผ ๋ํ๋
- ๋จ์ด I ๋ ์๊ธฐ์์ ๊ณผ 92%, study๋ 5%, at๊ณผ๋ 2%, school๊ณผ๋ 1% ์ฐ๊ด์ฑ์ด ์์
- Softmax * value
- ๊ฒฐ๊ณผ ๊ฐ์ ๋ณด๋ฉด, ์ฐ๊ด์ฑ์ด ๋ง์ ๊ฒฐ๊ณผ๋ ๋๋ ทํด์ง๊ณ , ์๋ ๊ฒฐ๊ณผ๋ ํฌ๋ฏธํด์ง
- $\Sigma$ Softmax * Value
- ์ต์ข ์ ์ผ๋ก ์ดํ ์ ์ด ์ ์ฉ๋์ด ํฌ๋ฏธํด์ง value๋ค์ ๋ชจ๋ ๋ํด์ค
- ์ต์ข ๋ฒกํฐ๋ ๋จ์ํ ๋จ์ด I ๊ฐ ์๋, ๋ฌธ์ฅ ์์์์ ๋จ์ด I๊ฐ ์ง๋, ์ ์ฒด์ ์ธ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋ฒกํฐ๋ผ๊ณ ๊ฐ์ฃผํ ์ ์์
- ์ด๊ฑธ ๊ฐ ๋จ์ด์ ๋ํด ๋ฐ๋ณต
3) Multi Head Attention
- transformer๋ ๋ณ๋ ฌ์ฒ๋ฆฌ๋ฅผ ํ์ฉ
- attention layer ๋ฅผ ๋ณ๋ ฌ๋ก ๋์์ ์ํ
- ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ attention layer๋ฅผ multi head attention ์ด๋ผ๊ณ ๋ถ๋ฆ
- ๊ธฐ๊ณ๋ฒ์ญ์ ํฐ ๋์์ ์ค
- ๋ ๊ฐ์ ๋ค๋ฅธ ๋ณ๋ ฌํ ๋ ์ดํ
์
์ ์๋ก ๋ค๋ฅด์ง๋ง itํ๊ณ ์ฐ๊ด์ฑ์ด ๋์ ๋จ์ด์ ํฌ์ปค์ค๋ฅผ ํ๊ณ ์์์ ๋ณผ ์ ์์
- ์ฒซ๋ฒ์งธ attention์ animal์ ํฌ์ปค์ค๋ฅผ ๋ง์ท๊ณ
- ๋๋ฒ์งธ attention์ street์ ํฌ์ปค์ค๋ฅผ ๋ง์ท์
- ์ฌ๋์ ๋ฌธ์ฅ์ ๋ชจํธํ ๋๊ฐ ์๋นํ ๋ง๊ณ ํ๊ฐ์ ์ดํ ์ ์ ๋ณด๋ก ์ด ๋ชจํธํ ์ ๋ณด๋ฅผ ์ถฉ๋ถํ ์ธ์ฝ๋ฉํ๊ธฐ์ ์ด๋ ต๊ธฐ ๋๋ฌธ์ multi head attention ์ ์ฌ์ฉํด์ ๋๋๋ก ์ฐ๊ด๋ ์ ๋ณด๋ฅผ ๋ค๋ฅธ ๊ด์ ์์ ์์งํด์ ์ด ์ ์ ๋ณด์ ํ ์ ์์
4) ์ธ์ฝ๋ layer ๊ตฌ์กฐ
- ๋จ์ด๋ฅผ ์๋ ์๋ฒ ๋ฉ
- ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ
- ๋ฉํฐํค๋ ์ดํ ์ ์ ์ ๋ ฅ
- ๋ฉํฐํค๋ ์ดํ ์ ์ ์ํด ์ถ๋ ฅ๋ ์ฌ๋ฌ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ๋ค์ ๋ชจ๋ ์ด์ด๋ถ์ฌ์ ๋๋ค๋ฅธ ํ๋ ฌ๊ณผ ๊ณฑํด์ ๊ฒฐ๊ตญ ์ต์ด ์๋ ์๋ฒ ๋ฉ๊ณผ ๋์ผํ ์ฐจ์์ ๊ฐ์ง ๋ฒกํฐ๋ก ์ถ๋ ฅ์ด ๋จ
- ๊ฐ๊ฐ์ ๋ฒกํฐ๋ ๋ฐ๋ก๋ฐ๋ก FC layer๋ก ๋ค์ด๊ฐ์ ์ ๋ ฅ๊ณผ ๋์ผํ ์ฌ์ด์ฆ์ ๋ฒกํฐ๋ก๋ถํฐ ๋ค์ ์ถ๋ ฅ์ด ๋จ
- ์ค์ํ ์ : ์ถ๋ ฅ ๋ฒกํฐ์ ์ฐจ์์ ํฌ๊ธฐ๊ฐ ์ ๋ ฅ๋ฒกํฐ์ ๋์ผํ๋ค
- ๋ฅ๋ฌ๋์ ํ๋ค๋ณด๋ฉด ์ญ์ ํ์ ์ํด์ ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ์ด ๋ง์ด ์์ค ๋ ์ ์์, ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด residual connection์ ํตํด์ ์ ๋ ฅ๋ ๊ฐ์ ๋ค์ ํ ๋ฒ ๋ํด์ฃผ๋ ๊ณผ์ ๋ ์กด์ฌ( retain the position realated information)
- reidual connection ๋ค์๋ layer normalization์ ์ฌ์ฉํด์ ํ์ต์ ํจ์จ์ ์ฆ์ง์ํด
- ์ธ์ฝ๋์ ์
๋ ฅ๋ฒกํฐ์ ์ถ๋ ฅ ๋ฒกํฐ์ ์ฌ์ด์ฆ๊ฐ ๋์ผ
- ์ธ์ฝ๋ layer ๋ฅผ ์ฌ๋ฌ๊ฐ ๋ถ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ
- transformer๋ ์ธ์ฝ๋ layer๋ฅผ 6๊ฐ ๋ถ์ธ ๊ตฌ์กฐ
- ๊ฐ๊ฐ์ encoder layer๋ ์๋ก์ ๊ฐ์ค์น๋ฅผ ๊ณต์ ํ์ง ์๊ณ , ๋ฐ๋ก ํ์ต์ํด
5) ๋์ฝ๋ layer ๊ตฌ์กฐ
- ์ธ์ฝ๋์ ์ ์ฌ
- 6๊ฐ์ ๋์ผํ layer
- ์ธ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ต์ด๋จ์ด๋ถํฐ ๋๋จ์ด๊น์ง ์์ฐจ์ ์ผ๋ก ๋จ์ด๋ฅผ ์ถ๋ ฅ
- attention ๋ณ๋ ฌ์ฒ๋ฆฌ๋ฅผ ํ์ฉ
- ๋์ฝ๋์์ ํ์ฌ๊น์ง ์ถ๋ ฅ๋ ๊ฐ๋ค์ attention์ ์ ์ฉํ๊ณ ์ธ์ฝ๋ ์ต์ข ์ถ๋ ฅ ๊ฐ์๋ attention์ด ์ ์ฉ์ด ๋จ
6) ์ธ์ฝ๋, ๋์ฝ๋ layer ๋น๊ต
- ์ธ์ฝ๋ layer : multihead attention → feed forward layer → residual connection
- ๋์ฝ๋ layer : masked multihead attention → multihead attention → feed forward layer → Linear layer → Softmax layer → label smoothing
1) masked mutihead attention
- ์ฒซ๋ฒ์งธ multi head attention layer๋ masked mutihead๋ผ๊ณ ๋ถ๋ฆผ
- ๋์ฝ๋ layer์์ ์ง๊ธ๊น์ง ์ถ๋ ฅ๋ ๊ฐ๋ค์๋ง attention์ ์ ์ฉํ๊ธฐ ์ํด์ ๋ถ์ฌ์ง ์ด๋ฆ
- ์์ง ์ถ๋ ฅ๋์ง ์์ ๋ฏธ๋์ ๋จ์ด์ ์ดํ ์ ์ ์ ์ฉํ๋ฉด ์๋๊ธฐ ๋๋ฌธ
2) Muti head attention
- ์ธ์ฝ๋์ฒ๋ผ ํค, ์ฟผ๋ฆฌ, ๋ฒจ๋ฅ๋ก ์ฐ์ฐ
- ์ธ์ฝ๋์ ์ฐจ์ด์ ์ ๋์ฝ๋์ ๋ฉํฐํค๋์ดํ ์ ์ ํ์ฌ ๋์ฝ๋์ ์ ๋ ฅ๊ฐ์ ์ฟผ๋ฆฌ๋ก ์ฌ์ฉํ๊ณ ์ธ์ฝ๋์ ์ต์ข ์ถ๋ ฅ๊ฐ์ key,value๋ก ์ฌ์ฉ
- ๋์ฝ๋์ ํ์ฌ ์ํ๋ฅผ ์ฟผ๋ฆฌ๋ก ์ธ์ฝ๋์ ์ง๋ฌธํ๋ ๊ฒ์ด๊ณ , ์ธ์ฝ๋์ ์ถ๋ ฅ ๊ฐ์์ ์ค์ํ ์ ๋ณด๋ฅผ key์ value๋ก ํ๋ํด์ ๋์ฝ๋์ ๋ค์ ๋จ์ด์ ๊ฐ์ฅ ์ ํฉํ ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ ๊ณผ์
3) ์ธ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก feed forward layer๋ฅผ ํตํด ์ต์ข ๊ฐ์ ๋ฒกํฐ๋ก ์ถ๋ ฅํ๊ฒ ๋์ด์์
4) Linear layer, Softmax layer
- ์ค์ ๋จ์ด๋ก ์ถ๋ ฅํ๊ธฐ ์ํด์ ์กด์ฌ
- linear layer: softmax ์ ์ ๋ ฅ๊ฐ์ผ๋ก ๋ค์ด๊ฐ ๋ก์ง์ ์์ฑ
- softmax: ๋ชจ๋ธ์ด ์๊ณ ์๋ ๋ชจ๋ ๋จ์ด๋ค์ ๋ํ ํ๋ฅ ๊ฐ์ ์ถ๋ ฅ, ๊ฐ์ฅ ๋์ ํ๋ฅ ๊ฐ์ด ๋ค์ ๋จ์ด๊ฐ ๋จ
5) Label Smoothing
- ํธ๋์คํฌ๋จธ๋ ์ต์ข ๋จ๊ณ์์ label smoothing ์ด๋ผ๋ ๊ธฐ์ ์ ์ฌ์ฉํด์ ๋ชจ๋ธ์ ํผํฌ๋จผ์ค๋ฅผ ๋ค์ ํ ๋ฒ ํ ๋จ๊ณ ์ ๊ทธ๋ ์ด๋ ์ํด
- ๋ณดํต ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ํํธ๋งฅ์ค๋ก ํ์ตํ ๊ฒฝ์ฐ์๋ ๋ ์ด๋ธ์ ์ํซ์ธ์ฝ๋ฉ์ผ๋ก ์ ํํจ
- ํธ๋์คํฌ๋จธ๋ ์ํซ์ธ์ฝ๋ฉ์ด ์๋ 1์๋ ๊ฐ๊น์ง๋ง 1์ด ์๋ ๊ฐ, 0์๋ ๊ฐ๊น์ง๋ง 0์ด ์๋ ๊ฐ์ผ๋ก ๋ณํ ⇒ label smoothing
- 0 ๋๋ 1 ์ด ์๋, ์ ๋ต์ 0์ ๊ฐ๊น์ด ๊ฐ, ์ค๋ต์ 0์ ๊ฐ๊น์ด ๊ฐ์ผ๋ก ์ด๋ ๊ฒ ์ด์ง์ด์ง ๋ณํ๋ฅผ ์ฃผ๋ ๊ธฐ์
- ๋ชจ๋ธํ์ต์์ ๋ชจ๋ธ์ด ๋๋ฌด ํ์ต ๋ฐ์ดํฐ์ ์น์คํ์ฌ ํ์ตํ์ง ๋ชปํํ๋๋ก ๋ณด์ํ๋ ๊ธฐ์
- ์ด๋ป๊ฒ ํ์ต์ ๋์?
- label์ด noisyํ ๊ฒฝ์ฐ, ์ฆ, ๊ฐ์ ์ ๋ ฅ ๊ฐ์ธ๋ฐ ๋ค๋ฅธ ์ถ๋ ฅ ๊ฐ๋ค์ด ํ์ต ๋ฐ์ดํฐ์ ๋ง์ ๊ฒฝ์ฐ, ๋ ์ด๋ธ ์ค๋ฌด๋ฉ์ ํฐ ๋์์ด ๋จ
- ํ์ต์ด๋ ์ํํธ๋งฅ์ค์ ์ถ๋ ฅ ๊ฐ๊ณผ ๋ฒกํฐ๋ก ์ ํ๋ ๋ ์ด๋ธ์ ์ฐจ์ด๋ฅผ ์ค์ด๋ ๊ฒ์ธ๋ฐ, ๊ฐ์ ๋ฐ์ดํฐ์ ์๋ก ์์ดํ ์ ๋ต๋ค์ด ์ํซ์ธ์ฝ๋ฉ์ผ๋ก ์กด์ฌํ๋ค๋ฉด, ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๊ฐ ํฌ๊ฒ ์ปค์ก๋ค๊ฐ, ์์์ก๋ค๊ฐ ๋ฐ๋ณตํ๊ณ , ํ์ต์ด ์ํํ์ง ์์
- thank you - ๊ณ ๋ง์
- thank you - ๊ฐ์ฌํฉ๋๋ค.
- ๋ ๋ค ์๋ชป๋๊ฒ ์๋๋ฐ, ์ํซ์ธ์ฝ๋ฉ ์ ์ฉ์, ๊ณ ๋ง์, ๊ฐ์ฌํฉ๋๋ค๋ ์์ ํ ๋ค๋ฅธ ๋ ๋ฒกํฐ๊ฐ ๋๊ณ , thank you์ ๋ํ ํ์ต์ด ์ํ์ด ์งํ๋์ง ์์ ์ ์์
- ๋ ์ด๋ธ ์ค๋ฌด๋ฉ์ ์ฐ๋ฉด ๊ณ ๋ง์์ ๊ฐ์ฌํฉ๋๋ค๋ ์ข ๋ ๊ฐ๊น์์ง ๋ฒกํฐ๊ฐ ๋๊ณ , softmax์ถ๋ ฅ๊ฐ๊ณผ label์ ์ฐจ์ด๋ ์ค์ด๋ค์ด์ ํจ์จ์ ์ธ ํ์ต์ ๊ธฐ๋ํ ์ ์๊ฒ๋จ
References
https://www.youtube.com/watch?v=mxGCEWOxfe8
https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf
'ML > NLP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ํ์ค ํฌ ์ํ์ค + ์ดํ ์ ๋ชจ๋ธ (0) | 2022.01.06 |
---|---|
Attention Mechanism์ด๋? (0) | 2021.12.26 |