๐งโ๐ซ Lecture 14
Vision Transformer (ViT) for TinyML
์ด๋ฒ ์๊ฐ์ Transformer ๋ชจ๋ธ์์๋ Vision์ ์ฃผ๋ก ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๊ฒฝ๋ํํ๊ฑฐ๋ ๊ฐ์ํํ๋ ๊ธฐ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์ ํ๋ ๋ฆฌ์์ค์์ ์ด๋ป๊ฒ ์ ํ์ฉํ ์ ์์์ง ์์๋ด ์๋ค.
1. Basics of Vision Transformer (ViT)
Vision Transformer๋ ๋ญ๊น์? LLM์ผ๋ก ๋ง์ด ์ฌ์ฉํ๋ Language ๋ชจ๋ธ์ ๊ฒฝ์ฐ, ์ ๋ ฅ์ผ๋ก ํ ํฐ์ด ๋ค์ด์ Transformer ๋ชจ๋ธ ๊ตฌ์กฐ๋ก Encoder, Decoder ๊ตฌ์กฐ์ ๋ฐ๋ผ BERT(Encoder), GPT(Decoder) ๊ทธ๋ฆฌ๊ณ BART, T5(Encoder - Decoder) ๊ตฌ์กฐ๋ก ์ฌ์ฉํ์ฃ . ๊ทธ๋ผ Vision์์๋ ์ด ๊ตฌ์กฐ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ ๊น์?
์๊ฐ๋ณด๋ค ๊ฐ๋จํด์. ์ด๋ฏธ์ง๊ฐ ๋ง์ฝ 96x96์ด ์๋ค๋ฉด ์ด๋ฆ 32x32 ์ด๋ฏธ์ง 9๊ฐ๋ก ๋๋๋๋ค. ๋๋ ์ด๋ฏธ์ง๋ฅผ Patch๋ผ๊ณ ๋ถ๋ฅผ๊ฒ์. ๊ทธ๋ผ ์ด Patch๋ฅผ Linear Projection์ ํตํด์ ํ ํฐ์ฒ๋ผ 768๊ฐ์ Vision Transformer(ViT)์ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋๋ค. ์ค์ ๋ก ์์ด๋์ด๋ฅผ ๊ตฌํํ ๋๋ 32x32 Convolution ๋ ์ด์ด์ stride 32, padding 0, ์ ๋ ฅ ์ฑ๋ 3, ์ถ๋ ฅ ์ฑ๋ 768๋ก ์ฐ์ฐํฉ๋๋ค. ๊ทธ ๋ค์์, ์ ๋ ฅ์ด ๋์ผํด ์ก์ผ๋ ๋ชจ๋ธ ๊ตฌ์กฐ๋ ํํ ๋ณด๋ ์๋ ๊ทธ๋ฆผ์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฃ .
์ฌ๊ธฐ์ Patch ์ ํฌ๊ธฐ ๋ํ ํ๋ผ๋ฏธํฐ๋ก ํ ์ ์์ต๋๋ค. ์์ผ๋ก ViT๋ฅผ ๋งํ ๋๋ Patch๋ ์ ์ฌํ ๋ณด์ ์ผํ ๊ฒ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ Vision Transformer๋ฅผ ์ธ๊น์? ๊ธฐ์กด์ CNN ๊ตฌ์กฐ์ ResNet์ด๋ MobileNet์ ๊ตฌ์กฐ๋ ์ถฉ๋ถํ ์ฑ๋ฅ์ด ๊ด์ฐฎ์ง ์๋์? CNN๊ณผ Transformer๋ฅผ Vision task์์ ๋น๊ตํด๋ณด๋ฉด ํ๋ จ ๋ฐ์ดํฐ์๊ฐ ์ ์ ๋๋ ํ์คํ CNN์ด ๊ฐ์ธ๋ฅผ ๋ณด์ด์ฃ .
ํ.์ง.๋ง. ๋ฐ์ดํฐ์๊ฐ 300M์ธ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์์ฃ . ViT๋ ๋ฐ์ดํฐ์๊ฐ ๋ง์ผ๋ฉด ๋ง์ ์๋ก CNN์ ๋นํด์ ํจ์ฌ ๊ฐ์ธ๋ฅผ ๋ณด์ด๋ ๊ฒ์ ํ์ธํ ์ ์์ฃ ? ์ด ๋๋ฌธ์, ์ ํฌ๋ ViT์ ๋งค๋ฃ๋ ์ ๋ฐ์ ์์์ต๋๋ค.
Vision์ ๋ํ Application์ผ๋ก Medical Image Segmentation, Super Resolution, Autonomous Driving, Segmentation๋ก์จ ์ฃผ๋ก ์ฌ์ฉํด์.
๋ฌธ์ ๋ ์ด ์ดํ๋ฆฌ์ผ์ด์ ๋ค์ ๋ชจ๋ High resolution์ prediction์ ์๊ตฌํ์ง๋ง, ViT๋ Input resolution์ด ๋์์ง ๋๋ง๋ค ์ฐ์ฐ๋์ด ์ด๋ง์ด๋งํด์ง๋๋ค. ์ ํ์ ์ด๋ผ๊ธฐ ๋ณด๋จ ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๋ ๊ฒ ์ฒ๋ผ ๋ณด์ด๋ค์. ๋ฐ๋ก ์ด ๋ฌธ์ ๋๋ฌธ์, ์ฐ๋ฆฌ๊ฐ โEfficient and Accelerationโ์ ๋ํด์ ๊ณ ๋ฏผํ ์ ๋ฐ์ ์๊ฒ ๋ฉ๋๋ค.
*mIoU: mean Intersection of Union, GMAC: Giga Multiply and Add Computation
2. Efficient ViT & acceleration techniques
2.1 Window attention
์ฒ์์ผ๋ก ์๊ฐํ ๊ธฐ์ ์ Window attention ์ ๋๋ค. ๊ธฐ์กด์ attention์ ๋ ์ด์ด๋ง๋ค patch์ ํฌ๊ธฐ๊ฐ ๋์ผํ๊ฒ ๋ค์ด๊ฐ๊ฒ ์ฃ . ํ์ง๋ง Window attention์ ๋ ์ด์ด๋ง๋ค patch์ ํฌ๊ธฐ๋ฅผ ๋ค๋ฅด๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ทธ.๋ฆฌ.๊ณ . ์ฌ๊ธฐ์ ์ค์ํ ๊ฑด Window attention์ ๊ทธ Patch์์ ๋ค์ Patch๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ํตํด ๋ณ๋ ฌ์ฐ์ฐ์ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฑฐ์ฃ .
ํ์ง๋ง ์ ๋ ๊ฒ ์ฐ์ฐํ๋ฉด ๋ฌธ์ ์ ์ด Window๊ฐ ์ ๋ณด๊ตํ์ด ์๋ค๋ ์ ์ธ๋ฐ์. ์ด๋ ๋ ์ด์ด๋ณ๋ก โShift Windowโ๋ฅผ ํตํด ํด๊ฒฐํฉ๋๋ค.
2.2 Linear attention
๋ ๋ฒ์งธ ์๊ฐํ ๊ธฐ์ ์ Linear attention ์ ๋๋ค. ๊ธฐ์กด์ Attention ์ฐ์ฐ์ค์ Softmax๊ฐ ์์์ฃ ? exponential ์ฐ์ฐ์ ์ง์ ๊ตฌํํด๋ณด๋ฉด ์ฐ์ฐ๋์ด ์ชผ๊ธ ํ๋ญ๋๋ค. ๊ทธ๋์ ์ด๋ฅผ Linear ๋ ์ด์ด์ธ Relu๋ก ๋์ฒด๋ฅผ ํ๋๋ฐ์. ์ฌ๊ธฐ์ ์๊ณ ๋ฆฌ์ฆ ๋ณต์ก๋๊ฐ O(\(n^2\))์ธ ๋ถ๋ถ๊น์ง ํ๋ ฌ์ ๊ณฑ์ ์์ ๊ฒฐํฉ๋ฒ์น์ด ๊ฐ๋ฅํ๋ค๋ ๋ถ๋ถ์ ์ด์ฉํด O(\(n\))์ผ๋ก ์ค์ฌ๋ฒ๋ฆฝ๋๋ค. ๋ง์ง๋ง ๋ณต์ก๋๊ฐ ์ค์ด๋๋ ๊ฒ์ด ์ดํด๊ฐ ์๊ฐ์ ๋ค๋ฉด, Scale์ดํ์ ๋์ค๋ ๋ ์ด์ด๊ฐ \(n \times d\) ์ธ ์ ๊ณผ n-์ฐจ์๊ณผ d-์ฐจ์์ ๋ํด์ ๋น๊ตํด๋ณด์๋ฉด ๋น ๋ฅด๊ฒ ๋ฉ๋์ด ๊ฐ์ค๊ฒ๋๋ค!
ํ์ง๋ง ์ฌ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. attention์์ ์ฑ๋ฅ์ ๋ณด๋ ๋ฐฉ๋ฒ์ค์ attention map์ ํตํด ๋ณด๋ฉด Linear Attention์ด ์ฌ์ง์ ํน์ง์ ์ ๋ชป์ก์ ๋ ๋๋ค.
๋น์ฐํ Softmax ๋ณด๋ค distribution์ด ๋ ์นด๋กญ์ง ์๊ธฐ ๋๋ฌธ์ ํน์ง์ ์์๋ ๋๋๋ฌ์ง์ง ์๋๊ฒ ๋ฌธ์ ์ฃ . ์ฑ๋ฅ๋, ๋์ค์ง ์์ ๊ฒ์ด๊ตฌ์. โMulti-scaleโ learning์ ํ๊ธฐ๊ฐ ์ด๋ ค์ธ ๊ฒ๋๋ค.
ํด๊ฒฐํด์ผ๊ฒ ์ฃ ? ๋ฐฉ๋ฒ์ ๋ ์ด์ด๋ฅผ ํ๋ ๋ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. ์ฑ๋ฅ๋ ์คํ๋ ค ์ ๋ณด๋ค ํจ์ฌ ์ข์์ก๋ค์.
2.3 Sparse attention
์ธ ๋ฒ์งธ ๊ธฐ์ ์ ์๊ฐ๋๋ฆฌ๊ธฐ ์ ์, Vision Application์ ํ๋ค ๋ณด๋ฉด ์๋์ ๊ฐ์ ์ํฉ์ด ๋ง์ต๋๋ค. ์ด๋ฏธ์ง์ ํด์๋๋ฅผ ์ค์ด๊ฑฐ๋, Pruning์ ํตํด ์ด๋ฏธ์ง๊ฐ ํน์ ๋ถ๋ถ๋ง ๋ค์ด์ค๊ฒ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ฃ .
๊ทธ๋์, Sparse attention์ด๋ผ๋ ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค. ์ด ๊ธฐ์ ์ Pruning ๊ณผ ๋น์ทํ๊ฒ Patch๋ง๋ค Importance๋ฅผ ๊ณ์ฐํด ์ค์ ์ธ์๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค์ ์ธ์ด Patch์์ N๋ฒ์ ๋ฐ๋ณตํ๋ fine-tuning์ ํตํด ๋ชจ๋ธ์ ์ฌํ์ต์ํค์ฃ .
์ฌ๊ธฐ์ Constraint์ ๋ง์กฑํ๋ ์กฐํฉ์ ์ฐพ๊ธฐ ์ํด Evolutionary Search๋ฅผ ์ด์ฉํฉ๋๋ค(Evolutionary Search๋ Lab 3๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์).
์ฑ๋ฅ์ด ๊ถ๊ธํ๋ค๋ฉด ์ด ๋ ผ๋ฌธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์ :)
3. Self-supervised learning for ViT
Efficient + Acceleration์ ๋ํ ๊ธฐ์ ์ ์ฌ๊ธฐ๊น์ง์ ๋๋ค. ๊ทธ๋ผ ๋ค์ ์ฒ์์ผ๋ก ๋์๊ฐ์, ํน์ Vision Transformer ์ฒซ ์ฑ๋ฅ ๊ทธ๋ํ ๊ธฐ์ตํ์๋์? ๋ฐ์ดํฐ๊ฐ ์ด๋ง์ด๋งํ๊ฒ ๋ง์์ผ ํ๋ ๋ถ๋ถ์ด์(์๋์ ๊ฐ์ ธ์ ๋ดค์ต๋๋ค). ๊ทธ๋ฐ๋ฐ, ์ด๋ ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ง์ด ๊ตฌํ๋ ๊ฑด ํ์ค์ ์ผ๋ก ๋ง์ด ์ด๋ ค์ธ ์ ๋ฐ์ ์์ต๋๋ค. ๋ํ์ ์ธ ์์๋ก ์๋ฃ๋ฐ์ดํฐ๊ฐ ๊ทธ๋ ์ฃ . ๊ทธ๋ผ ์ด ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑํ ๊ฑด ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น์?
3.1 Contrastive learning
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ Contrastive learning ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ TinyML์์ ๋ฟ ์๋๋ผ ๋ง์ด ์ฐ์ด๋ ๋ฐฉ๋ฒ์ธ๋ฐ, Positive Sample๊ณผ Negative Sample์ ๊ฐ์ง๊ณ embedding vector๋ฅผ ๋ฉ๊ฒ ํ๋ ๋ฐฉ์์ ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ณ ์์ด ์ฌ์ง์ ๊ตฌ๋ถํ๋ ํ ์คํฌ์์ Positive Sample์ ๊ณ ์์ด ์ฌ์ง์ด ๋ ๊ฒ์ด๊ณ , Negative Sample์ ์ฌ๊ธฐ์ ๊ฐ์์ง ์ฌ์ง์ด ๋ ๊ฒ๋๋ค.
์คํ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด Supervised ๋ฐฉ๋ฒ์ผ๋ก๋ CIFAR-100, Oxford Flowers-102, Oxford-IIIT Pets ๋ฐ์ดํฐ ์ ์์๋ ๋ชจ๋ธ ์ฑ๋ฅ์ด ๋์ค์ง ์์ง๋ง, ์ ๋ฐฉ๋ฒ์ ์ ์ฉํ ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ์ด๋์ ๋ ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
Contrastive Learning์ผ๋ก Multi-Modal์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ์๋ ๋ ผ๋ฌธ์ ํ ์คํธ์ ์ด๋ฏธ์ง๋ฅผ ๋ชจ๋ ๋ฐ๋ ํํ๋ก ๋์์ธ๋ผ ์์ต๋๋ค.
3.2 Masked image modeling
๋๋ฒ์งธ ๋ฐฉ๋ฒ์ Mask ์ ๋๋ค. ์๋ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋ณด์์ฃ .
BERT ๋ชจ๋ธ์ ๋๋ค. Mask๋ฐฉ๋ฒ์ ์ ๋ ฅ ํ ํฐ์ ๋ง์คํฌ๋ฅผ ์์ ์ถ๋ ฅ์์ ์ด๋ฅผ ๋ง์ถ๋ ํ ์คํฌ๋ก ๋ชจ๋ธ์ ํ๋ จ์ํค๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ทธ๋ผ Vision์ ์ด๋ป๊ฒ ํ ๊น์?
LLM๊ณผ ํ๋ จํ๋ ๋ฐฉ์์ Mask๋ฅผ ์์ฐ๊ณ ์ด๋ฅผ ์์ธกํ๋๋ก ํ๋ ํ๋ จ์ธ ๊ฒ์ ๋น์ทํฉ๋๋ค. ๋ค๋ง ViT์ ๊ฒฝ์ฐ Encoder์ Decoder๊ฐ ๊ฐ์ด ์์ผ๋ฉด์ Encoder๋ณด๋ค๋ Decoder์ ๋ชจ๋ธํฌ๊ธฐ๊ฐ ๋ ์๋ค๋ ๊ฑธ ๊ฐ์กฐํฉ๋๋ค. ํฅ๋ฏธ๋ก์ด ๋ถ๋ถ์ Masking ratio๊ฐ BERT์ ๊ฒฝ์ฐ 15%์ธ ๋ฐ๋ฉด, ์๋ ์คํ๊ฒฐ๊ณผ์์ ViT์ ๊ฒฝ์ฐ๋ ๋ฌด๋ ค 75%๋ ๋ฉ๋๋ค. ๊ฐ์๋ ธํธ์์๋ โ์ด๋ฏธ์ง๊ฐ ์ธ์ด๋ณด๋ค ๋ information density๊ฐ ๋ฎ์์ ๊ทธ๋ ๋ค.โ๋ผ๊ณ ๋งํฉ๋๋ค.
4. Multi-modal LLM
๋ง์ง๋ง์ผ๋ก Multi-modal LLM์ ๋ํด์ ์ธ๊ธ์ ํ๋๋ฐ, ์์ธํ ๋ด์ฉ์ ๋ค๋ฃจ์ง ์์ ๊ถ๊ธํ์ ๋ถ๋ค์ ์ํด ๋ ผ๋ฌธ์ ๋งํฌ๋ก ๋ฌ์๋๊ณ ์ค๋ช ์ ๋์ด๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ๊น์ง Vision Transformer ์์ต๋๋ค. LLM๊ณผ ๋น์ทํ๋ฉด์๋ ๋ชจ๋ธํฌ๊ธฐ๊ฐ ๋๊ฐ๋ค๋ฉด ์ฐ์ฐ๋ ๋์ ๊ฒ๊ณผ ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑํ ๊ฒ์ ์ด๋ป๊ฒ ํด๊ฒฐํ๋๊ฐ๊ฐ ์ค์ ์ธ ๊ฐ์์์ต๋๋ค. ๋ค์ ์๊ฐ์๋ GAN, Video, and Point Cloud๋ก ๋์์ค๊ฒ ์ต๋๋ค :D