(07๊ฐ) Transformer (1)
210913
Last updated
Was this helpful?
210913
Last updated
Was this helpful?
๊ธฐ์กด์ Add-on ์ผ๋ก๋ง ์ฌ์ฉ๋๋ Attention์ ์ ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๊ณ RNN๊ณผ CNN ๋ชจ๋์ ์ฌ์ฉํ์ง ์๋ ๋ชจ๋ธ์ด๋ค.
์ด์ ์ ๋ณด๋ค์ hidden state์ ๋ด์ ๋๊ธฐ๋ ๋ชจ์ต์ด๋ค. hidden state์ ๊ฐ ์๋ฒ ๋ฉ ๋ฒกํฐ์์ ๊ด๊ณ๋ ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ๋ค.
๊ทธ๋ฌ๋, ์ด์ฉ ์ ์์ด ๊ฐ time step์ ๊ฑฐ์น๋ฉด์ ์ ๋ณด๊ฐ ์์ค๋ ์ ๋ฐ์ ์๋ ๊ตฌ์กฐ์ด๋ค.
์๋ฐฉํฅ RNN์ ๋ํ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
์๋ฅผ ๋ค์ด GO
๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณธ๋ค๋ฉด, go์ ์ผ์ชฝ ๋จ์ด๋ค์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ Forward RNN์ hf ์ go์ ์ค๋ฅธ์ชฝ ๋จ์ด๋ค์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ Backwrad RNN์ hb๋ฅผ concatํด์ ๊ธฐ์กด hidden state์ 2๋ฐฐ ํฌ๊ธฐ๋ก ๋ง๋ค ์ ์๋๋ฐ, ์ด๊ฒ์ go์ ์ธ์ฝ๋ฉ ๋ฒกํฐ๋ก ์๊ฐํ ์ ์๋ค.
Transformer์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ํฌ๊ธฐ๋ ์ ์ง๋๋ฉฐ ์ ๋ ฅ ๋ฒกํฐ์ ์ ๋ณด๋ฅผ ์ ๋ฐ์ํ ์ ์๋๋ก ํ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ์์๋ณด์
์ด๊ธฐ์๋ ์ฃผ์ด์ง ์๋ฒ ๋ฉ ๋ฒกํฐ๋ค์ ๊ฐ์ง๊ณ ๋ง ์ฐ์ฐ์ ํ๋ค.
๋ง์ฝ, ์ฒซ๋ฒ์งธ time step์ ๋ํ ๋ฒกํฐ๋ฅผ ๋ฐํํ๋ค๊ณ ํ๋ฉด, I์ I, I์ go, I์ home์ ๋ด์ ํด์ ๋ฐํํ๋ค. (I๊ฐ ๊ธฐ์ค์ด ๋๊ณ ์์ ์ ํฌํจํ ๋๋จธ์ง ์๋ฒ ๋ฉ ๋ฒกํฐ์ ๋ด์ ์ ํ ๊ฒ)
์์ ๊ณผ ์์ ์ ๋ด์ ํ๋ฉด ๋น๊ต์ ๋ค๋ฅธ ๋ฒกํฐ์์ ๋ด์ ๋ณด๋ค ๊ฐ์ด ํฌ๊ฒ ๋์ค๊ธฐ ๋๋ฌธ์ ๋ฐํ๋ ๊ฐ๋ค์ด ๋์ฒด๋ก ๋ณธ์ธ๊ณผ ๋ด์ ํ ๊ฐ์ด ํฐ ๋ถํฌ์ ์์์ ๋ณด์๋ค.
๊ทธ๋์, ๊ธฐ์ค์ด ๋๋ ์๋ฒ ๋ฉ ๋ฒกํฐ์ Wq ๋ฅผ ๊ณฑํด์ ์ป์ q1 ์ด๋ผ๋ ์ฟผ๋ฆฌ๋ฒกํฐ๋ฅผ ์ป๊ฒ๋๊ณ ๋ชจ๋ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ ์ด ์ฟผ๋ฆฌ๋ฒกํฐ์ ๋งค์นญ๋๋ค. (๋งค์นญ์ด ๋ ๋ฟ ๋ด์ ๋๋ ๊ฒ์ ์๋๋ค! ๋ฐ๋ก ์ด์ด์ ์ค๋ช !)
Wq๋ ๊ทธ๋ฅ ์ ํ๋ ๊ฒ์ด ์๋๋ผ, ๋งค๋ฒ ํ์ต์ ํตํด ์ฟผ๋ฆฌ๋ฒกํฐ์ ๋ํ ์ต์ ์ ๊ฐ์ค์น๋ฅผ ๊ฒฐ์ ํ๊ฒ ๋๋ค.
์ด ๋ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ค๊ณผ ์ฟผ๋ฆฌ ๋ฒกํฐ๋ฅผ ๋ฐ๋ก ๋ด์ ํ๋ ๊ฒ์ด ์๋๋ค. ๊ฐ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ค๊ณผ Wk๋ฅผ ๊ณฑํด์ ์ป์ k ๋ผ๋ ํค๋ฒกํฐ๋ฅผ ์ป์ด์ผ ํ๋ค. ๊ทธ๋์ ์ด ํค๋ฒกํฐ์ ์ฟผ๋ฆฌ๋ฒกํฐ๋ฅผ ๋ด์ ํ๊ฒ ๋๋ค.
๋ชจ๋ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ค์ ์ฟผ๋ฆฌ๋ฒกํฐ์ ํค๋ฒกํฐ๋ฅผ ํ๋์ฉ ๊ฐ์ง๊ณ ์๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์ด๋ค ๊ธฐ์ค์ด ๋๋ ์๋ฒ ๋ฉ ๋ฒกํฐ๊ฐ ์์ผ๋ฉด, ๊ทธ ๋ ์ฌ์ฉ๋๋ ์ฟผ๋ฆฌ๋ฒกํฐ๋ 1๊ฐ, ํค๋ฒกํฐ๋ n๊ฐ ์ด๋ค. (n์ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ๊ฐ์)
์ ๋ฆฌํ์๋ฉด, ์๋ฒ ๋ฉ ๋ฒกํฐ๋ ๊ธฐ์กด์๋ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ ์ฌ๋ฃ๋ฒกํฐ๋ก ์ฐ์์ง๋ง, ์ง๊ธ์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๊ธฐ ์ํด ํ์ํ ์ฟผ๋ฆฌ๋ฒกํฐ์ ํค๋ฒกํฐ์ ์ฌ๋ฃ๋ฒกํฐ๋ก ์ฐ์ด๊ฒ ๋๋ ๊ฒ์ด๋ค. ๋, ์ ์ฌ๋์ ๊ณฑํด์ง๋ ๊ฐ์ค์น ๋ฒกํฐ๋ฅผ ๊ตฌํ๊ธฐ ์ํ ์ฌ๋ฃ๋ฒกํฐ๋ก๋ ์ฐ์ด๋ฉฐ ์ด ๊ฒ์ด ๋ฐธ๋ฅ๋ฒกํฐ์ด๋ค.
๋ฐธ๋ฅ๋ฒกํฐ๋ ์๋ฒ ๋ฉ ๋ฒกํฐ(=์ฌ๋ฃ ๋ฒกํฐ)์ Wv์ ๊ณฑํด์ ธ์ ์ป์ด์ง๋ฉฐ ํค๋ฒกํฐ์ ์ฟผ๋ฆฌ๋ฒกํฐ๋ฅผ ๋ด์ ํด์ ๋์จ ๊ฐ์ softmax๋ฅผ ์ทจํ๊ณ ์ป์ด์ง ๊ฐ์ ๊ฐ์คํ๊ท ์ผ๋ก ๊ณฑํด์ ธ์ ์ต์ข ์ธ์ฝ๋ฉ ๋ฒกํฐ๋ฅผ ์ป๊ฒ๋๋ค.
์ด๋ ๊ฒ ๊ตฌ์ฑ์ ํ๋ฉด, ๋น๋ก ์์ ์ ์ฟผ๋ฆฌ๋ฒกํฐ์ ์์ ์ ํค๋ฒกํฐ์ ๋ด์ ์ ๊ฑฐ์ณ ๊ตฌํ ๊ฐ์ด๋ผ๊ณ ํ ์ง๋ผ๋ ๋ค๋ฅธ ๋ฒกํฐ๋ค๋ณด๋ค ๊ฐ์ด ์์ ์๋ ์๋ค๋ ํน์ง์ด ์๋ค.
๋, ํ์์คํ ์ ์๊ด์์ด ๊ฐ๊ฐ์ ๊ณ ์ ์ ๋ณด๋ง์ ๊ฐ์ง๊ณ ์ธ์ฝ๋ฉ ๋ฒกํฐ์ ๊ธฐ์ฌํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
์ ๋ฆฌํด๋ณผ๊ฒ์!!
๊ฒฐ๊ณผ๋ฌผ(=์ธ์ฝ๋ฉ ๋ฒกํฐ)์ ๋ฐธ๋ฅ๋ฒกํฐ์ ๊ฐ์คํฉ์ผ๋ก ๊ณ์ฐ๋๋ค!
์ด ๋์ ๊ฐ์ค์น๋ ๊ฐ๊ฐ์ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ฟผ๋ฆฌ๋ฒกํฐ์ ํค๋ฒกํฐ์ ๋ด์ ๊ฐ์ผ๋ก ๊ณ์ฐ๋๋ค!
๋ด์ ์ ํด์ผํ๋ฏ๋ก ์ฟผ๋ฆฌ๋ฒกํฐ์ ํค๋ฒกํฐ๋ ์ฐจ์์ด ๋์ผํด์ผํ๋ค!
๋ฐธ๋ฅ๋ฒกํฐ์ ์ฐจ์์ ๊ผญ ๋์ผํ์ง ์์๋ ๋๋ค.
์ด๋ฅผ ์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
A : Attention ๋ชจ๋์์๋
q, K, V : ์ฟผ๋ฆฌ ๋ฒกํฐ ํ๊ฐ, ํค ๋ฒกํฐ ์ ์ฒด, ๋ฐธ๋ฅ ๋ฒกํฐ ์ ์ฒด๊ฐ ํ์ํ๋ฉฐ,
์ฟผ๋ฆฌ ๋ฒกํฐ๊ฐ ํ๊ฐ๋ผ ์๋ฌธ์๋ก ์ด ๋ํ ์ผ!!
์ฟผ๋ฆฌ๋ฒกํฐ ํ๋์ ํค ๋ฒกํฐ ๋ชจ๋๋ฅผ ๋ด์ ํ์ฌ ์ด์ ๋ํ softmax๊ฐ์ ๊ตฌํ๊ณ ,
์ด๋ฅผ ๋ฐธ๋ฅ๋ฒกํฐ์ ๊ฐ์คํฉํด์ ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์ ์ป๋๋ค!
๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ๊ฒฐ๊ณผ๋ฌผ์ ๊ตฌํ๋ ๊ณผ์ ์ ํ๋ ฌ์ ์ด์ฉํ์ฌ ์ ์ฒด ๊ณผ์ ์ผ๋ก ์ดํดํ ์ ์๋ค.
GPU๋ฅผ ์ฌ์ฉํด์ ํ๋ ฌ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ํ ์ ์๊ธฐ ๋๋ฌธ์ Transformer๋ ๊ธฐ์กด RNN ๋ชจ๋ธ๋ณด๋ค ํ์ต์ ๋ ์ํ ์ ์๊ฒ๋๋ค.
์ค์ Transformer๋ฅผ ๊ตฌํํ์ ๋๋ Q, K, V์ shape๊ฐ ๋ชจ๋ ๋์ผํ๋ค.
ํธ๋์คํฌ๋จธ์ ๊ณผ์ ์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ํ๋ผ ์ ์๋ค.
๊ทผ๋ฐ ์ ๊ธฐ์ ๋ผ๋ ๊ฐ์ผ๋ก ๋๋์ด์ฃผ๋ ๋ถ๋ถ์ด ์๋๋ฐ ์ด๊ฑด ๋ญ๊น?
๋ค์์ ์์๊ฐ ์๋ค๊ณ ํ์.
๊ทธ๋ฆฌ๊ณ , a์ b, x์ y๋ ๊ฐ๊ฐ ๋ ๋ฆฝ์ด๋ฉด์ ํ๊ท ์ด 0์ด๊ณ ๋ถ์ฐ์ด 1์ธ ๋ถํฌ์ ํ๋ฅ ๋ณ์๋ผ๊ณ ๊ฐ์ ํ์.
์ด ๋, ax๋ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๊ท ์ด 0์ด๊ณ , ๋ถ์ฐ์ด 1์ด๋๋ฉฐ by๋ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๊ท ์ด 0์ด๋๊ณ , ๋ถ์ฐ์ด 1์ด๋๋ค.
๊ทธ๋ฆฌ๊ณ ax+by๋ ํ๊ท ์ด 0์ด๊ณ , ๋ถ์ฐ์ด 2๊ฐ ๋๋ค๊ณ ํ๋ค!
๋ด ์คํ์ผ์ ์์์ ์ฆ๋ช
๋ณด๋ค๋ ํด์์ ์ฆ๋ช
์ด๊ธฐ์ ์ด์ ๋ํด ์ง๋ฌธ๊ฒ์ํ์ ์ฌ๋ฆฐ ์ง๋ฌธ๊ณผ ๋ฐ์ ๋ต๋ณ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ง๋ฌธ
๊ฐ์์์๋ dk๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ถ์ฐ์ด ์ฆ๊ฐํด์ ์ด๋ฅผ ์ค์ผ์ผ๋ง ํด์ค์ผ ๋๋ค๊ณ ์ค๋ช ํ๋๋ฐ์. "๊ฐ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์๋ค์ด ํน์ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค๊ณ ๊ฐ์ ํ์ ๋, ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ฐจ์์ด ๋์ด๋๋ค๋ ๋ง์, ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ํํํ๋ ๋ฐ ํ์ํ ์๋ค์ด ๋ง์์ง๋ค๋ ์ด์ผ๊ธฐ์ด๊ณ ,ํํํ๋๋ฐ ํ์ํ ์๋ค์ ํน์ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ฏ๋ก, ๊ฒฐ๊ตญ ํด๋น ํ๋ฅ ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ ํ๋ณธ์ง๋จ์ ์๊ฐ ์ฆ๊ฐํ๊ฒ ๋๋ค. ๋ฐ๋ผ์, ํ๋ณธ์ง๋จ์ ๋ถ์ฐ์ด ์ฆ๊ฐํ๋ ๊ผด์ ๋ณด์ด๊ฒ๋๋ค. " ๋ก ์ดํดํ ์ ์์๊น์?
๋ต๋ณ
๋ค ๋ง์ต๋๋ค.
ใ ใ ใ ใ ใ ๊ทธ๋์, ๊ฒฐ๋ก ! ์๋ฒ ๋ฉ ์ฐจ์์ด ๋์ด๋ ์๋ก, ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ํํํ๊ธฐ ์ํ ์๋ค์ด ๋ง์์ง๋ค. ๊ทธ๋์ ๋ถ์ฐ์ด ๋ง์์ง๋ค. ์ฝ๊ฒ ์ด์ผ๊ธฐํ๋ฉด ํ๊ต์์ ํ๊ธ ๋น 5๋ช ์ผ ๋๋ ์ ๋ค์ด ๋์ฒด๋ก ์ ์๋ ๋ง์ ์ ๋ค์๋๋ฐ ์ด๊ฒ 50๋ช 100๋ช ๋๋๊น ๋ง ์๋ฃ๋ ์ ๋ค์ด ์ ์ ์๊ธฐ๊ธฐ ์์ํ๋ค๋ ์ด์ผ๊ธฐ.
๊ทธ๋์ ์๋์น์๊ฒ ์ฐจ์์ ํฌ๊ฒํ๊ณ Scaling์ด ๋ฐ๋ก ์๋ค๋ฉด, ์ํํธ๋งฅ์ค๊ฐ ํน์ ๊ฐ์ ๋ชฐ๋ฆฌ๊ฒ ๋๊ณ ์ด๋ก ์ธํด Gradient Vanishing ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.