728x90
๋ฐ์ํ
1. overall architecture
2. overall procedure
- encoder์ ๊ฒฝ์ฐ
- input ๋ฌธ์ฅ์ ๋ฃ๊ณ embedding ๋ฒกํฐ๋ก ๋ฐ๊ฟ์ค
- positional encoding์ ๋ํด์ฃผ์ด ๊ฐ ๋จ์ด์ ์์์ ๋ํ ์ ๋ณด๋ฅผ ๋ถ์ฌํจ.
- ๋ํด์ multi-head attention์ ์ํ
- ์ด ๋, ๊ฐ์ embedding์ ๊ฐ์ Q,K,V๋ก ๋ถ๋ฐฐ. (Q,K,V)๋ ์๋ก ๊ฐ์ ๊ฐ.
- ex) head๊ฐ 3๊ฐ๋ฉด, ๊ฐ Q,K,V์ ํด๋นํ๋ ๊ฐ์ค์น 3๊ฐ์ฉ ์กด์ฌํจ (Linear) ⇒ ์ด 9๊ฐ์ ๋ค๋ฅธ ๊ฐ์ด ์๊ธฐ๊ฒ ๋จ
- ์ด๋, V๋ encoding์ embedding์์ ๋์จ ๊ฐ์ ๊ฐ์ค์น ๊ณฑํ ๊ฒ์ ์๋ฏธ.
- ํ๋์ head๋น Q์ K๋ฅผ ๊ณฑํด์ softmax ํจ์๋ฅผ ๊ฑฐ์น ํ, V๊ฐ๊ณผ ๊ณฑํจ
- ์ด ๊ฐ๊ฐ ๊ณฑํ 3๊ฐ์ head ๊ฐ๋ค์ concatํ๊ณ linear๋ฅผ ํตํด ๊ฐ์ ๋.
- 7๋ฒ์ ๋ํ ๊ฐ๊ณผ 2๋ฒ์ ๋ํ ๊ฐ์ ๋ํ ํ ์ ๊ทํ ํจ.
- ์ดํ ์์ ํํ๊ณ ๋ 8๋ฒ ๊ฐ๊ณผ ์์ ํํ ๊ฐ์ ๋ํ๊ณ ์ ๊ทํ
- ๋ฐ๋ณต
- decoder์ ๊ฒฝ์ฐ
- ํ์ต ์) ์ ๋ต ๋ฌธ์ฅ์ embedding์ผ๋ก ๋ฃ์. positional encoding์ ๋ํด์ ๊ฐ ๋จ์ด์ ์์์ ๋ํ ์ ๋ณด ๋ถ์ฌ.
- ๋ํ๊ณ , encoder์ ๊ฐ์ด ๊ฐ Q,K,V ์์ฑ.
- ๋๊ฐ์ด Q์ K๋ฅผ ๊ณฑํจ
- mask๋ฅผ ๊ฑฐ์น๊ฒ ๋๋๋ฐ, ์๋ decoder embedding์ผ๋ก ๋ฐ์ ๋ท๋ถ๋ถ์ ๋จ์ด๋ค์ 0์ผ๋ก ๋ง๋ค์ด์ค.
- ๊ทธ ๋จ์ด๋ง ๋ฝ์ ๊ฐ๊ณผ ๊ทธ ์์ ๋จ์ด๋ค๋ง softmax๋ฅผ ํตํด ํ๋ฅ ๋ก ๋ณํํ๊ณ , V๊ฐ๊ณผ ๊ณฑํด์ค
- ๊ฐ๊ฐ ๋์จ 3๊ฐ์ head ๊ฐ๋ค์ concatํ๊ณ linear์ ํตํด ๊ฐ ์ถ์ถ
- 6๋ฒ์ ๊ฐ๊ณผ 1๋ฒ์ ๊ฐ์ ๋ํ๊ณ ์ ๊ทํ
- ๋๋ฒ์งธ multi head attention์ ๊ฒฝ์ฐ, Q๋ 7๋ฒ์ ๊ฐ์ ํตํด ๋ง๋ค๊ณ , K์ V๋ encoder์ ๋ง์ง๋ง์์ ๋์จ ๊ฐ์ ์ฌ์ฉํจ.
- ์ดํ, ๋๊ฐ์ด K์ Q ๊ณฑํ๊ณ softmax ํตํด ํ๋ฅ ๊ตฌํด์ V๊ฐ๊ณผ ๊ณฑํจ.
- ๋๊ฐ์ด ๋ํ๊ณ ์ ๊ทํ
- FC layer๊ฐ๋ค๊ฐ ๋ FC ์ ์ ๊ฐ๊ณผ ์ดํ ๊ฐ์ ๋ํด์ฃผ๊ณ ์ ๊ทํ.
- ๊ทธ ๋์จ ์์ํ ๊ฐ์ ๋ค์ ์ฒซ๋ฒ์งธ masked ๊ณ์ธต์ผ๋ก ใฑใฑ
- ์ฒซ๋ฒ์งธ ์์ํ๊ณผ decoder embedding ๊ฐ์ ํ์ฉํด ๋ฐ๋ณต.
1. Embedding
- input ๋ฌธ์ฅ์ผ๋ก ๋ค์ด์จ ์ ๋ค์ ์ํซ๋ฒกํฐ๋ก ๋ฐ๊ฟ์ค
- ์ดํ ์ ์ ํ ํฌ๊ธฐ๋ก word embedding ์งํ (์ ์ฌํ ๋จ์ด๋ผ๋ฆฌ๋ ์ ์ฌํ ๊ฐ์ผ๋ก)
2. Positional Encoding
- ์์ ์ ๋ณด๋ฅผ ๊ฐ๋๋ก ํ๋ ๋ฒกํฐ.
- word embedding ๊ณ์ธต๊ณผ ๊ฐ์ ํฌ๊ธฐ์ ๋ฒกํฐ๋ฅผ ์์ฑํ ํ ๋ํด์ค.
3-1. Encoder: Self-Attention(Multi-Attention)
- postional encoding์ ๋ํด์ค ๊ฐ ๋จ์ด์ ๋ฒกํฐ(1x4)์ ๊ฐ๊ฐ์ Q,K,V์ ๊ฐ์ค์น(4x2๋ผ๊ณ ๊ฐ์ )๋ฅผ ๊ณฑํจ. ⇒ ๊ฐ๊ฐ์ ๋ค ๋ค๋ฅธ Q,K,V๊ฐ ๋ง๋ค์ด์ง ๊ฒ์ (1x2) ํฌ๊ธฐ
- Q,K,V์ ๊ฐ์ ๋ง๋ค๊ณ , Q์K๋ผ๋ฆฌ์ ๋ด์ ๊ณฑ์ ํด์ค.
- ์ดํ scaling ํด์ฃผ๊ณ , Softmax ํจ์์ ๋ฃ์ผ๋ฉด ๊ฐ ๋จ์ด์ ๋ํ ๊ฐ์ค์น๊ฐ ๋ง๋ค์ด์ง
- ์ด ๋จ์ด์ ๊ฐ์ค์น ๊ฐ๋ค๊ณผ V๊ฐ์ ๊ณฑํด์ค ⇒ ๊ฐ ๋จ์ด์ ๋ํ output(z) ์์ฑ.
- ๋ฒกํฐ๋ก ๋ด์ ๊ณฑ์ ํํํ๋ฉด ์ ๋ ๊ฒ ๋์ด.
- head ๊ฐ์์ ๋ฐ๋ผ ๊ฐ ํด๋นํ๋ ๊ฐ์ค์น ๊ฐ์๊ฐ ์๊ธฐ๊ฒ ๋จ ⇒ ์๋ก ๋น์ทํ ๊ฐ๋ค์ ๊ฐ์ค์น๋ค์ด ๋ง๋ค์ด์ง๊ธฐ์ ๊ฒฐ๊ตญ, ๊ฐ head์ ํด๋นํ๋ z ๋ฒกํฐ๋ ๊ฐ์ด ๋ค ๋น์ท๋น์ทํ ๊ฑฐ์⇒ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ง๋ง ๋ค๋ฅธ ๊ฐ์ค์น๋ฅผ ๋ฃ์ด ๋ค์์ฑ ๋ฐ์์ ํ ์ ์๋ค.(ํํฐ์ ๊ฐ์ ์ญํ )
- head๊ฐ 8๊ฐ์ด๋ฏ๋ก 8๊ฐ์ output์ด ๋์ค๊ณ , ์ฒ์ embedding ๋ฒกํฐ ํฌ๊ธฐ์ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด W0๋ฅผ ๊ณฑํด์ค ( ๊ทธ๋ฅ ๋์ผํ ์ฐจ์์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ์ญํ ๋ก ์กด์ฌ)
3.2 Encoder: Add+Norm
- z(output) ๊ฐ๊ณผ ๋ค์ด๊ฐ๊ธฐ ์ ์ embedding์ ํด๋นํ๋ ๊ฐ ๋ฒกํฐ๋ฅผ ๋ํด์ค.
3-3. Encoder: Feed Forward Network
- ๊ธฐ์กด residual network(skip connection)์ผ๋ก ๋์จ ๊ฐ์ fc layer์ ๋ฃ์.
- ์ด๋ FC์ ๋ํ ํ๋ฆฌ๋ฏธํฐ ๊ฐ์ ๋ค ๋์ผํจ.
- ํต๊ณผํด์ ๋์จ ๊ฐ๊ณผ FC ํต๊ณผ ์ ๊ฐ์ด๋ ๋ํด์ค.
4-1. Decoder: Masked Self-Attention
- ๋๋ ํ์์ด๋ค์ ๋ฒ์ญ๋ณธ(์ ๋ต)์ embedding ๊ณ์ธต์ ๋ฃ์.
- positional embedding๊ณผ ๋ํด์ค
- encoder๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ํด๋น Q,K,V์ ๋ง๋ ๊ฐ์ค์น๋ฅผ ๊ฐ๊ฐ ๊ณฑํด์ค.
- I ์ ๋ํ output์ ๋ฝ๊ณ ์ ํ ๋ ๊ทธ ๋ค์ ์๋ ๋จ์ด๋ค์ masked๋ฅผ ๊ฑฐ์ณ 0์ผ๋ก ๋ง๋ค์ด์ค.
- I์ ๋ํ output ๋ฝ๊ณ ๋๋ฒ์งธ am๋ ๋ง์ฐฌ๊ฐ์ง
4-2. Decoder: Encoder-Decoder Attention
- am์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด ์ด์ masked ๊ณ์ธต์์ ๋์จ I, am์ ๊ฐ์ ๊ฐ์ ธ์ด. ⇒ Q๊ฐ์ด ๋จ.
- ๊ทธ๋ค์ encoder์์ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋์จ ๊ฒฐ๊ณผ๊ฐ์ ๊ฐ์ ธ์ด. I์ am์ ๊ดํ ์ ๋ณด์ ๋ฒกํฐ๋ฅผ K๊ฐ๊ณผ V๊ฐ์ผ๋ก ์ (K,V)๊ฐ์ ๊ฐ์.
- ๋ง์ฐฌ๊ฐ์ง๋ก multi-head attention ๋๊ฐ์ด ํด์ฃผ๋ฉด ๋จ.
- Q,K,V ๊ฐ ๊ฐ์ ธ์จ๊ฑธ ๊ฐ ๊ฐ์ค์น์ ๊ณฑํด์ head์ ๋ง๋ ๊ฐ์ ์์ฑ ํ Q์ K ๋ด์ ๊ณฑ ํ V์ ๊ณฑํจ.
4-3. Decoder: Feed Forward Network
- Add+Norm ํด์ ๊ฐ ๋จ์ด์ ๋ํ ๊ฐ ์ถ์ถ.
5. Prediction
- ๊ฐ ๋จ์ด์ ๋ํ ๊ฐ์ softmax ํจ์์ ๋ฃ์ด์ ํ๋ฅ ๋ก ๋ณํ์ํด
- ๊ฑฐ๊ธฐ์ ๊ฐ์ฅ ๋์ ์ฐ๊ด์ฑ์ ๋๋ ๊ฐ์ output์ผ๋ก ๋ด๋ณด๋.
6. Model Architecture
+ Positional Encoding๋ ์ด๋ป๊ฒ ๋ง๋ค์ด์ง๊น? (+์ถ๊ฐ ๊ถ๊ธ์ฆ)
1. positional encoding base
2. positional encoding์ ๊ท์น
1. ๋ชจ๋ ์์น ๋ฒกํฐ๋ ๋์ผํ๊ฒ
- ๋ชจ๋ ์์น ๋ฒกํฐ๋ ์ํ์ค ๊ธธ์ด๋ Input์ ์๊ด์์ด ๋์ผํ ์๋ณ์๋ฅผ ๊ฐ์ ธ์ผ ํจ.
- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ํ์ค๊ฐ ๋ฐ๊ปด๋ ์์น ์๋ฒ ๋ฉ์ ๋์ผํ๊ฒ ์ ์ง.
2. ์์น ๋ฒกํฐ ๊ฐ์ ๋๋ฌด ํฌ์ง ์๊ฒ
- ์์น๊ฐ์ด ๋๋ฌด ์ปค์ง๊ฒ ๋๋ฉด ๋จ์ด ๊ฐ์ ์๊ด๊ด๊ณ๋ ์๋ฏธ ์ ๋ณด ๊ฐ์ด ์์์ง๊ฒ ๋จ.
3. ์์น ๋ฒกํฐ ์์ฑ ๋ฐฉ๋ฒ ๋ฐ ๋ฌธ์ ์
1. ์ํ์ค ํฌ๊ธฐ์ ๋น๋กํ ์ ์๊ฐ ๋ถ๊ณผ
- ์ฒซ๋ฒ์งธ ๋จ์ด์ ๊ฒฝ์ฐ: 1, ๋๋ฒ์งธ ๋จ์ด: 2 ๋ฑ๋ฑ์ผ๋ก ๋ถ์ฌ
- ๋ฌธ์ฅ์ด ๊ธธ์ด์ง๋ฉด ๋ฒกํฐ๊ฐ ๋น๋กํด์ ์์ฒญ๋๊ฒ ์ฆ๊ฐํ๊ฒ ๋จ.
- ํน์ ํ ๋ฒ์๋ฅผ ๊ฐ์ง ์์ ์ผ๋ฐํ ๋ถ๊ฐ
- ๋จ์ด ์ ๋ณด์ ๋ํ๊ฒ ๋ ๊ฒฝ์ฐ, ์์น ์ ๋ณด๊ฐ ์ง๋ฐฐ์ ์ด๋ผ ๋จ์ด ์ ๋ณด๊ฐ ํผ์๋ ๊ฐ๋ฅ์ฑ ์์ฑ.
2. ์ฒซ๋ฒ์งธ 0, ๋ง์ง๋ง 1, ์ค๊ฐ 1/๋จ์ด์
- ๋ฌธ์ฅ ๊ธธ์ด์ ๋ฐ๋ผ ๊ฐ์ ์์น ์ ๋ณด์ ํด๋นํ๋ ์์น ๋ฒกํฐ๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋จ.
- ์์ ์์นํ ๋ฒกํฐ ์ฐจ์ด๋ ๋ฌ๋ผ์ง.(๊ฐ๊ฒฉ)
4. Sin&Cos ํจ์ ์ฌ์ฉ
→ ๋ฒกํฐ๊ฐ์ด ๋๋ฌด ํฌ๋ฉด ์๋๊ณ , ํญ์ ๊ฐ์ ์์น์ ๋ฒกํฐ๊ฐ์ ์ง๋ ์ผ ํจ.
⇒ ๊ทธ๋์ ๋์จ ๊ฒ์ด cos&sin ํจ์
1. -1~1์ ๋ฐ๋ณต ์ฃผ๊ธฐํจ์
- sigmoid๋ฅผ ์ฐ๋ฉด ์๋๋ ์ด์ :⇒ ๊ธด ๋ฌธ์ฅ์ด ์ค๊ฒ๋๋ฉด 1์ ์๋ ดํ๊ฒ ๋จ.
- ⇒ ์ฆ, ์์น ๋ฒกํฐ๊ฐ์ ์ฐจ๊ฐ ๋ฏธ๋ฏธํด์ง
- ๊ทธ๋์ sin๊ณผ cos๊ฐ ์ ํฉ.
2. ํญ์ ๊ฐ์ ์์น ๋ฒกํฐ ๊ฐ
- ํ๊ฐ์ง ๋ฌธ์ ์
- ๊ฐ์ ์์น์ ์๋ ๋จ์ด๋ ํญ์ ๊ฐ์ ์์น ๋ฒกํฐ๊ฐ์ ์ง๋ ์ผ ํจ
- ex) I love you์ I like me ์ค์์ love์ like์ ์์น๋ฒกํฐ๋ ๊ฐ์.
- ํ์ง๋ง ์ฃผ๊ธฐํจ์์ด๊ธฐ ๋๋ฌธ์ ์๋ก ๋ค๋ฅธ ์์น์ ๋จ์ด์ ๊ฒฝ์ฐ์๋ ๊ฐ์ ์์น ๋ฒกํฐ๊ฐ์ด ์์ฑ๋จ. (๊ทธ๋ฆผ์ฐธ๊ณ ) → postional encoding์ ์ค์นผ๋ผ๊ฐ ์๋ ๋ฒกํฐ๋ก ์ด๋ฃจ์ด์ ธ์์ด ๋จ์ด ๋ฒกํฐ์ ๊ฐ์ ์ฐจ์์ ์ง๋.
- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐจ์์ด 4๊ฐ๋ก ํํํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ๊ฐ ์์๋ ์๋ก ๋ค๋ฅธ 4๊ฐ์ ์ฃผ๊ธฐ๋ฅผ ๊ฐ๊ฒ ๋จ (์ง์ ํ์)
- ๋ฐ๋ผ์ ๊ฒน์น์ง ์๊ฒ ๋จ.
- ํ๊ฐ์ง ๋ฌธ์ ์
2-1) postional encoding vector ๊ฐ ์ฑ์์ง๋ ์๋ฆฌ
- ์ฒซ๋ฒ์งธ ์ฐจ์์ ๋ฒกํฐ ๊ฐ๋ค์ ์ฐจ์ด๊ฐ ํฌ์ง ์์ ๊ฒฝ์ฐ
- ๋ฒกํฐ ๋ค์ ์ฐจ์์๋ ๋ฒกํฐ๊ฐ ๋ถ์ฌ
- ์ด๋ ๋ค์ ์ฐจ์์๋ sin์ ๋ฃ์ผ๋ฉด ๋ฒกํฐ๋ค ๊ฐ์ ์ฐจ๊ฐ ํฌ์ง ์๊ธฐ์ cos ํ์ฉ.
- ํ์ง๋ง ์์ ์ฌ์ง์ ๋ณด๋ฉด ๋ฒกํฐ๊ฐ ์ฐจ์ด๊ฐ ํฌ์ง ์์
- ์ด๋ด ๊ฒฝ์ฐ, ์๋ก ๋ค๋ฅธ ๋ฒกํฐ ๊ฐ์ ์์น ์ ๋ณด ์ฐจ๊ฐ ๋ฏธ๋ฏธํด์ง (์๋ฏธ ์์ด์ง)
- ์ด ๊ฒฝ์ฐ, cosํจ์์ frequency๋ฅผ ์ด์ sinํจ์๋ณด๋ค ๋ ํฌ๊ฒ ์ค.
- sin&cos ๋ฐ๋ณต
- ๊ฒฐ๋ก ์ ์ผ๋ก ์๋ก ๋ค๋ฅธ positional encoding ๊ฐ์ ์ง๋๊ฒ ๋จ.
5. ์ concat ์ํ๊ณ ๋ํด์คฌ๋๊ฐ
- concat์ ํ๊ฒ ๋๋ฉด ๋จ์ด ์ ๋ณด ๋ฒกํฐ์ ์์น ์ ๋ณด ๋ฒกํฐ ๊ฐ๊ฐ ๋ ๋ฆฝ๋ ์์ฒด ์ฐจ์ ๊ณต๊ฐ๋ง์ ๊ฐ๊ฒ๋จ. ๊ทธ๋ ๊ฒ ๋๋ฉด ์ง๊ต ์ฑ์ง์ ์ํด ์๋ก ์ํฅ์ ์ค ์ ์๊ฒ ๋จ.⇒ ๋ฐ๋ผ์ ๋ํด์ค์ผ๋ก์จ ๋จ์ด ์ ๋ณด์ ์์น ์ ๋ณด๊ฐ์ ๊ท ํ์ ๋ง์ถฐ์ค.
728x90
๋ฐ์ํ
'Deep Learning > [๋ ผ๋ฌธ] Paper Review' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
YOLO: You Only Look Once: Unified, Real-Time Object Detection (1) | 2023.07.06 |
---|---|
Fast R-CNN (0) | 2023.07.06 |
Inception V2/3 (0) | 2023.07.06 |
ELMO (0) | 2023.07.06 |
SegNet (0) | 2023.07.06 |