์ต์ ๋ฅ๋ฌ๋ ๊ธฐ์ Vision Transformer ๊ฐ๋ ๋ถํฐ Pytorch ๊ตฌํ๊น์ง
๋ฅ๋ฌ๋ ์ต์ ๊ธฐ์ ์ค ํ๋์ธ Vision Transformer๋ฅผ ๊ณต๋ถํ๊ณ Pytorch๋ฅผ ์ด์ฉํ์ฌ ๋ ผ๋ฌธ์ ๊ตฌํํ๋ ๊ฐ์์ ๋๋ค. ๋น์ ๋ถ์ผ์ ์๋ก์ด ๋ฏธ๋๋ฅผ ์ ์ ํจ๊ป ๊ฒฝํํด ๋ด์!
์๊ฐ์ 1,181๋ช
๋์ด๋ ์ค๊ธ์ด์
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
mean attention distance
vit ๊ฒฐ๊ณผ ๋ถ๋ถ์์ mean attention distance๊ฐ ๋ฉ๋ค๋๊ฒ ์ ์ ์ฒด์ ์ผ๋ก ๋ณธ๋ค๋๊ฑธ ์๋ฏธํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformer์ด๋ธ๋ธ
ใป
0
199
2
- ํด๊ฒฐ
์๋ ํ์ธ์, vit์ ๊ด์ฌ์ด ๋ง์ ์ฌ๋์ ๋๋ค.
vit.ipynb ํ์ผ์์, ์ฝ๋ !python <a target="_blank" rel="no
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformerํ๋ํ
ใป
1
233
1
- ํด๊ฒฐ
positional embedding ํ์ต์ด ์ ์๋๋ ๋ฌธ์
cifar10 ๋ง๊ณ ๋ค๋ฅธ ์ด๋ฏธ์ง์ ์ ๊ฐ์ง๊ณ ํ์ต์ ์์ผ๋ณด์๋๋ฐ, ์๊ฐํ๋ฅผ ํด ๋ณด๋ ์์ ์์ ๋ณด์ฌ์ฃผ์ จ๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ positional embedding ํ์ต์ด ์ ์๋์์ต๋๋ค. ์ด๋๋ฅผ ๋ด์ผํ ์ง ์กฐ์ธ์ ๋ถํ๋๋ ค๋ ๋ ๊น์?
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformerjinyoung.jun
ใป
1
365
1
- ํด๊ฒฐ
ํ๋ ฌ ์ฐจ์ ์ ์ง๋ฌธ
์๋ ํ์ธ์.'๋น์ ํธ๋์คํฌ๋จธ-์ต์ ๋ชจ๋ธ' ๊ฐ์ 11:36 ๊ทผ์ฒ ์ฌ๋ผ์ด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ง๋ฌธ๋๋ฆฌ๊ฒ ์ต๋๋ค. (์ฌ์ค ๊ทธ ์ดํ๋ถํฐ ๊ณ์ ์ง์์ ์ผ๋ก ์ฐจ์ ํผ๋์ด ์๋ ๊ฒ ๊ฐ์์, ํ๋๋ฅผ ๊ธฐ์ค์ผ์์ ์ง๋ฌธ๋๋ฆฌ๋ฉด ๋๋จธ์ง๊ฐ ์ ์ ๋ก ํด๊ฒฐ๋ ๊ฒ ๊ฐ์ต๋๋ค.)&n
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformerํธ๋ชฐ๋ก์ง์์ฝํธ๋ชฐ๋ก์ง
ใป
0
315
1
- ํด๊ฒฐ
Self Attention ์ง๋ฌธ ์์ต๋๋ค.
1.q์ k๋ฅผ ๋ด์ ํ๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค. ์ด๋ ์ ๋ ฅ์ ์ ์ฌ๋ ํ๋ ฌ์ ์ป๊ธฐ ์ํจ์ผ๋ก ์๊ณ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด q์ k๊ฐ ์๋ q์ q์ ํธ๋์คํฌ์ฆ๋ก ๋ด์ ํ๋ฉด ์๋๋๊ฑธ๊น์?์ ...์ ๋ฐ์ดํธ ํ ๋ q์ k๊ฐ ๋น์ทํ๊ฒ ํ์ต๋์๋ค๋ ๊ฐ์ ์ ๊ฐ์ง๊ณ ๋ด์ ํ๊ฑธ
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformerkokp
ใป
0
325
1
- ํด๊ฒฐ
Multi-Head Attention ๋ชจ๋ธ ๊ตฌ์กฐ์์ ๊ถ๊ธํ๊ฒ ์์ต๋๋ค.
์๋ ํ์ธ์. ์ฝ๋ ๊ณต๋ถํ๋ฉด์ ๊ถ๊ธํ ์ ์ด ์๊ฒจ ์ง๋ฌธ๋จ๊น๋๋ค.์์ ์ด๋ก ๊ฐ์์์ ์ดํดํ ๋ฐ๋ก๋ MSA๊ณผ์ ์์ Attention*value๋ฅผ ํตํด [๋ฐฐ์น์, ํค๋์, ํจ์น์+1, Dh] ์ฐจ์์ ๊ฒฐ๊ณผ๋ค์ด ๋์ค๊ณ Linear Projection์ ํตํด [๋ฐฐ์น
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformer๊น๋จ์ฑ
ใป
0
555
1
- ํด๊ฒฐ
์ ์ฒ๋ฆฌ ๊ด๋ จํด์ ์ง๋ฌธ์ด ์์ต๋๋ค
์๋ ํ์ธ์ ๊ฐ์ฌ๋. ํญ์ ์ข์ ๊ฐ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ์ ๋ํด์ 2๊ฐ์ง ๊ถ๊ธ์ ์ด ์์ด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.RandomCrop ์ด๋ Flip ๊ฐ์ ์ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ ์ฆ๊ฐ์ ์ํด์๋ ์ฌ์ฉ๋๋ค๊ณ ์๊ณ ์๋๋ฐ ํด๋น ์ ์ฒ๋ฆฌ๋ฅผ ์ ์ฉํด์ฃผ๋ฉด
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformer๊น๋จ์ฑ
ใป
1
362
1
- ํด๊ฒฐ
๋ต๋ณ์ ๋ํ ์ถ๊ฐ์ง๋ฌธ์ด ์์ต๋๋ค.
๋ต๋ณ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!๊ฐ์๋ฅผ ํตํด Head ์์ ๋ฐ๋ผ ๋ค์ํ ์์ญ์ ๋ํ Attention ์ด ๊ฐ๋ฅํ๋ค๊ณ ์ดํดํ์ต๋๋ค. ์ด์ ๋ฐ๋ฅธ ์ถ๊ฐ์ ์ธ ๊ถ๊ธํ ๋ถ๋ถ์ด ์์ต๋๋ค. (์๋ ์ง๋ฌธ์ ๋ฐฐ์น ์ฌ์ด์ฆ๋ฅผ ๋ฐฐ์ ํ๊ณ ์ง๋ฌธ๋๋ฆฝ๋๋ค.)Um
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformer๊น๋จ์ฑ
ใป
1
301
1
- ํด๊ฒฐ
ํท๊ฐ๋ฆฌ๋๊ฒ ๋ช๊ฐ ์์ต๋๋คใ ใ
์๋ ํ์ธ์ ๊ฐ์ฌ๋.Transformer ์ ๋ํด ์ฒ์ ๊ณต๋ถํด๋ณด๋ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ๋ค์ด ์์ด์ ์ง๋ฌธ๋จ๊น๋๋ค.1) k ๊ฐ์ Multi-Head๋ฅผ ๋ง๋ ํ์ Linear๋ฅผ ํด์ฃผ๋ ์ด์ ๊ฐ ๋ฐ๋ก ์๋์ง ๊ถ๊ธํฉ๋๋ค. ๋จ์ํ Residual Connect
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformer๊น๋จ์ฑ
ใป
1
375
1
- ํด๊ฒฐ
Positional Encoding, KQV ์ง๋ฌธ์ ๋๋ค!
์๋ ํ์ธ์!์ ๊ฐ ์ฌ์ญ๊ณ ์ถ์ ์ง๋ฌธ์ด 2๊ฐ์ง ์์ต๋๋ค. Positional Encoding์ ์ด๋ฏธ์ง๋ฅผ ํจ์น๋ก ๋ฐ๊ฟ์ฃผ์์ ๋ ์์ ์ ์ง๋ฅผ ๋ชฉ์ ์ผ๋ก ์์๋ฅผ ๊ธฐ์ตํ๋ ์ฉ๋๋ก ์ดํด๋ฅผ ํ์๋๋ฐ, ์ฝ๋์์ ๋๋คํ ๊ฐ
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ vision-transformer๊ฐํ๊ตฌ
ใป
2
622
1
- ๋ฏธํด๊ฒฐ
๊ฐ์ ์๋ฃ ์ฌ๋ผ์ด๋
๊ฐ์ ์๋ฃ์ ์ฌ๋ผ์ด๋๋ ์๋์??
๋ฅ๋ฌ๋vision-transformer์ปดํจํฐ-๋น์ ๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ arokim37
ใป
0
737
2
- ํด๊ฒฐ
๋น์ ํธ๋์คํฌ๋จธ - ์ต์ ๋ชจ๋ธ ๊ฐ์์์ positional embedding
์๋ ํ์ธ์!๋น์ ํธ๋์คํฌ๋จธ - ์ต์ ๋ชจ๋ธ ๊ฐ์์์์์๋ก ์ค๋ช ํด์ฃผ์ R^65*128์ Epos ์ธ positional embedding์ ๋ํ๋๋ฐ๋ R^65*128์ ํฌ๊ธฐ์๋ ๋ณํ๊ฐ ์๋์?? ์ด์ ์ ํด๋์ค ์ ๋ณด๋ฅผ ๋ํ์ ๋๋ 64์
๋ฅ๋ฌ๋vision-transformer์ปดํจํฐ-๋น์ ๋ฅ๋ฌ๋์ปดํจํฐ-๋น์ pytorcharokim37
ใป
2
468
1
- ๋ฏธํด๊ฒฐ
๋น์ ํธ๋์คํฌ๋จธ - ์ต์ ๋ชจ๋ธ' ๊ฐ์์์ B*N*K ์ 1*K*D ๋ฅผ ์ฐ์ฐ
์๋ ํ์ธ์! ํญ์ ์ข์ ๊ฐ์ ํด์ฃผ์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.'๋น์ ํธ๋์คํฌ๋จธ - ์ต์ ๋ชจ๋ธ' ๊ฐ์์์ B*N*K ์ 1*K*D ๋ฅผ ์ฐ์ฐํ๋ฉด B*N*D ๊ฐ ๋๋ค๊ณ ํ์ จ๋๋ฐ ์ด๋ค ์ฐ์ฐ์ ํตํด์ ์ด๋ป๊ฒ B*N*D๋ก ๋ณํ๋๋์ง ๊ถ๊ธํฉ๋๋ค. ๊ทธ๋ฅ B*N*K์์
๋ฅ๋ฌ๋pytorch์ปดํจํฐ-๋น์ ์ปดํจํฐ-๋น์ ๋ฅ๋ฌ๋vision-transformerpytorchvision-transformerarokim37
ใป
1
401
1
- ๋ฏธํด๊ฒฐ
'์ดํ ์ ๊ธฐ๋ฒ - ํค, ์ฟผ๋ฆฌ, ๋ฐธ๋ฅ๋ ๋ฌด์์ธ๊ฐ?' ๊ฐ์์์ (QK^T)
์๋ ํ์ธ์!'์ดํ ์ ๊ธฐ๋ฒ - ํค, ์ฟผ๋ฆฌ, ๋ฐธ๋ฅ๋ ๋ฌด์์ธ๊ฐ?' ๊ฐ์์์ (QK^T)์ฟผ๋ฆฌ์ ํค transposeํ ๊ฒ์ด ์ด๋ป๊ฒ ์ฟผ๋ฆฌ์ ํค์ ์ ์ฌ๋๋ฅผ ๋ํ๋ด๋์ง ์ ์ดํด๊ฐ ๊ฐ์ง ์์ต๋๋ค.
๋ฅ๋ฌ๋pytorch๋ฅ๋ฌ๋์ปดํจํฐ-๋น์ ์ปดํจํฐ-๋น์ vision-transformerarokim37
ใป
1
717
1
- ๋ฏธํด๊ฒฐ
training
์๋ ํ์ธ์ ์์ ์ ๋ฃ๊ณ ์์ต๋๋ค. ์ input ํ์ผ๋ค (์ด๋ฏธ์ง, annotated file)๋ก Vision transformer๋ฅผ colab์์ ํ๋ จํด๋ณด๋ ค๊ณ ์๋ํด๋ณด์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ, RuntimeError:CUDA out of memory๊ฐ ๋จ๋๋ผ๊ตฌ์. ์
pytorch์ปดํจํฐ-๋น์ ๋ฅ๋ฌ๋vision-transformerjiyo1119
ใป
1
288
1
- ๋ฏธํด๊ฒฐ
Image๊ฐ ์ ๋ ฅ์ผ ๋ Cross Attention ๊ฒฐ๊ณผ๊ฐ ๊ถ๊ธํฉ๋๋ค.
์๋ ํ์ธ์. ์ ์๋Cross Attention์ ๋ํ ์ง๋ฌธ์ ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. Flatten ๋ฐ embedding๋ ์ด๋ฏธ์ง A(784xC), ์ด๋ฏธ์ง B(1024รC)๊ฐ ์์ ๋, ์ด๋ฏธ์ง A๋ฅผ Cross Attention์ Key
pytorch์ปดํจํฐ-๋น์ ๋ฅ๋ฌ๋vision-transformergodsome_28
ใป
0
888
1
- ํด๊ฒฐ
Transformer์ input์ ๋ํด ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. Transformer์ ๋ํด ๊ณต๋ถํ๋ฉด์ ๊ถ๊ธํ ์ ?์ด ์์ด ์ง๋ฌธ ๊ธ์ ์ฌ๋ฆฌ๊ฒ ๋์์ต๋๋ค.<
์ปดํจํฐ-๋น์ pytorch๋ฅ๋ฌ๋vision-transformeralsdn2530
ใป
1
415
1
- ๋ฏธํด๊ฒฐ
ViT์ ๋ํ ์ ๋ฐ์ ์ธ ์ง๋ฌธ ๋๋ฆฝ๋๋ค!
์ ์๋ ์๋ ํ์ธ์, ๋๋ถ์ ์ข์ ๊ฐ์ ์ ๋ค์์ต๋๋ค! ์กฐ๊ธ ๊ธฐ์ด์ ์ธ? ์ง๋ฌธ์ด ์๋๋ฐ์, ์ดํ ์ ์ key, query, value๋ฅผ ์ฌ์ฉํด์ key์ query๊ฐ์ ์ ์ฌ๋๋ฅผ ๋์ถํ๊ณ ๊ทธ ๊ฐ์ value๊ฐ์ ๊ณฑํด์ค์ผ๋ก์จ ์ด๋ฏธ์ง ์
์ปดํจํฐ-๋น์ pytorch๋ฅ๋ฌ๋vision-transformervecum0814
ใป
1
394
1
- ํด๊ฒฐ
Key query value๊ด๋ จ ์ง๋ฌธ
์๋ ํ์ธ์ ๊ฐ์ฌ๋. ๋น์ ํธ๋์คํฌ๋จธ๋ฅผ ์ด์ฌํ ๋ฃ๊ณ ์๋ ํ
ํธ๋์คํฌ๋จธ์ ํ์ดํ ์ ์ปดํจํฐ-๋น์ pytorch๋ฅ๋ฌ๋vision-transformer์ด์์
ใป
1
567
2
- ๋ฏธํด๊ฒฐ
Fine tuning ๊ด๋ จํ์ฌ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์! ํญ์ ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค! ๋ค๋ฆ์ด ์๋๋ผ ํ์ฌ ํ์ผ์ ํฌํจ๋ vit.ipynb ํ์ผ์์๋ train ๋ถ๋ถ์์ pretrain์ด 1๋ก ์ค์ ๋์ด ์์ด์ ์ ๊ณต๋ model.pth์ ์ฌ์ฉํ์ฌ ํ์ธ ํ๋ํ๊ฒ ๋๋๋ฐ ํด๋น ๋ชจ๋ธ์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ด
๋ฅ๋ฌ๋์ปดํจํฐ-๋น์ pytorchvision-transformervecum0814
ใป
1
647
1






