TL;DR
EfficientNet ์ 2๋ฒ์งธ ๋ ผ๋ฌธ์ด ๋์๋ค์. ์ ์๋ EfficientNet ์ ์ด ๋ ๋ถ์ด ์ฐ์ จ๋ค์.
์ด๋ฒ์ ๋์จ ๋ ผ๋ฌธ์ ํจ์จ์ฑ์ ๋ชฉํ๋ก ํ ์ฐ๊ตฌ์ธ๋ฐ, NAS๋ก ๋ชจ๋ธ ํ๋ จ ์๋์ ํ๋ผ๋ฉํฐ ์๋ฅผ ์์ฒญ๋๊ฒ ์ค์ด๋ฉด์ ์ฑ๋ฅ๋ comparable ํ๊ฑฐ๋ ๋ ์ข์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ค๊ณ ํฉ๋๋ค.
paper : arXiv
code : github
Related Work
์ ๋ ผ๋ฌธ๊ณผ ๊ด๋ จ๋์ reference
- EfficientNet : paper
Introduction
์ต๊ทผ์ ๋์จ convolution ๊ธฐ๋ฐ architectures ๋ฅผ ๋ณด๋ฉด (e.g. ResNet-RS, NFNet), ์ฑ๋ฅ์ ์ข์ง๋ง, ๋ชจ๋ธ ํ๋ผ๋ฉํฐ๊ฐ ๋๋ฌด ๋ง๊ณ FLOPs ๋ ์์ฒญ๋๊ฒ ์ปค์ ์ฌ๋งํ ์ฅ๋น ์๋๋ฉด ํ๋ จํ๊ธฐ๋ ๋นก์ผ ๋ฌธ์ ๊ฐ ์์ด์.
Training Efficiency
Training with very large image sizes is slow
ํฐ ํฌ๊ธฐ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ฉด ์์ batch size๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ ์ด ์๋ ์ ํ์ ์์ธ์์ ์ธ๊ธํ๋ฉด์, ํ๋ จ ์์ progressively ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๋ฐฉํฅ์ผ๋ก ์ด๋ฐ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๋ค๊ณ ํฉ๋๋ค.
Depthwise Convolutions are slow in early layers
EfficientNet architecture์๋ MBConv ๋ผ๋ block ์ด ์๋๋ฐ, depth-wise convolution ์ด ์ฌ์ฉ๋์ฃ . ๊ทธ๋ฐ๋ฐ, ์ ์ฐ์ฐ์ด tpu/gpu ์์ ์ ๋๋ก ๊ฐ์์ ๋ชป ๋ฐ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ convolution ์ฐ์ฐ๋ณด๋ค ํ๋ผ๋ฉํฐ๋ FLOPs ๋ ์์ง๋ง ์๋๊ฐ ๋๋ ค์.
์ต๊ทผ ์ฐ๊ตฌ๋ค์๋ ์ด๋ฐ ๋ฌธ์ ๋๋ฌธ์ Fused-MBConv ๋ผ๋ ๊ฑธ ๋ง๋ค์๋๋ฐ,
์๋ ๊ทธ๋ฆผ์ฒ๋ผ Conv 1x1 + depthwise Conv 3x3
-> Conv 3x3
์ผ๋ก replace ํ๊ฒ ๋ ์ข๋ค๋ ์ฐ๊ตฌ๋ฅผ ์ธ๊ธํ๋ฉด์
EfficientNet-B4 ์ gradually Fused-MBConv ๋ฅผ ์ ์ฉํด ๋ดค๋๋ฐ, early layers (1 ~ 3 stages) ์๋ง ์ ์ฉํ๋๊ฒ, ์๋๋ ๋น ๋ฅด๋ฉด์ ์ฑ๋ฅ๋ ์ ์ผ ์ข๊ฒ ๊ฐ์ ธ๊ฐ ์ ์์๋ค๊ณ ํฉ๋๋ค.
Equally scaling up every stage is sub-optimal
EfficinetNet ์์ compound scaling rule ์ ๋ฐ๋ผ์ scaling ํ๋๋ฐ, ๋ง์ฝ depth coef ๊ฐ 2๋ผ๋ฉด, ๋ชจ๋ stages ์์ 2๋ก scaling ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ, ๊ฐ stages ์์ ํ๋ จ ์๊ฐ๊ณผ ํ๋ผ๋ฉํฐ ์๋ equally contributed ์ํ๋ ๋ฌธ์ ์ ์ ๋ค๋ฉด์, non-uniform ํ scaling ์ ๋ต์ ์ ํํ๊ฒ ๋ค๊ณ ํฉ๋๋ค.
์ด๋ฏธ์ง ์ฌ์ด์ฆ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ๋ จ ์๊ฐ๊ณผ memory ์ ํฐ ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์, (image size์ ๋ํ) scaling rule ๋ ๋ณ๊ฒฌํ๋ค๊ณ ํฉ๋๋ค.
Training-Aware NAS and Scaling
NAS Search
๋ชจ๋ธ ํ๋ จ ์๋๋ฅผ ์ํ best combination ์ ์ฐพ๊ธฐ์ํด, training-aware NAS ์ ์ ์ํฉ๋๋ค.
EfficientNet์์ ์ฌ์ฉํ NAS ๊ธฐ๋ฐ์ ํ๋๋ฐ, ์๋์ ๊ฐ์ ๋ชฉํ๋ฅผ joinly optimize ํ๋ค๊ณ ํฉ๋๋ค.
- accuracy
- parameter-efficiency
- training-efficiency (on modern accelerators)
๊ตฌ์ฒด์ ์ธ settings ์ ๋ ผ๋ฌธ์
EfficientNetV2 Architecture
NAS๋ฅผ ์ฌ์ฉํด์ ์ฐพ์ architecture (EfficientNetV2-S, baseline) ๊ฐ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ผ ํฉ๋๋ค. EfficientNet ๊ณผ ํฌ๊ฒ 4๊ฐ์ง ์ฐจ์ด์ ์ด ์๋ค ํ๋๋ฐ,
- MBConv ์ Fused-MBConv ๋ฅผ ์์ด์ ์
- ๋ ์์ expansion ratio (for MBConv) ๋ฅผ ์ฌ์ฉ -> ๋ ์ ์ overhead ๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ
- 3x3 kernel sizes ๋ฅผ ์ ํธ. (ํ์ง๋ง ์์ receptive field๋ฅผ ์ฌ์ฉํ๋ ๋งํผ layer๋ฅผ ๋ ์๊ฒ ๋จ)
- EfficientNet ์ ์๋ ๋งจ ๋ง์ง๋ง stride-1 stage ๋ฅผ ์ ๊ฑฐ. -> ์ด๊ฒ๋ ๋ฉ๋ชจ๋ฆฌ ๋๋ฌธ์
EfficientNetV2 Scaling
์์์ ๋ง๋ EfficientNetV2-S ๊ธฐ๋ฐ์ผ๋ก M/L ๋ฒ์ ๋ ๋ง๋ค์๋๋ฐ, ๋ช ๊ฐ์ง ์ ํ์ ๋๊ณ scaling ํ๋ค๊ณ ํฉ๋๋ค.
- maximum inference image size to 480
- add more layers to later stages (stage 5, 6)
Progressive Learning
ํ๋ จ ์ image size ๋ฅผ dynamic ํ๊ฒ ์ฌ์ฉํ๋๋ฐ, ์ด์ ์ฐ๊ตฌ๋ค์ accuracy drop ์ด ๋ฐ์ํ๋ค๊ณ ํฉ๋๋ค. ์ด๋ฒ ๋ ผ๋ฌธ์์ ๊ทธ๋ฐ accuracy drop์ด imbalanced regularization (๋ค๋ฅธ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ก ํ์ตํ๋ฉด ๊ฑฐ๊ธฐ์ ๋ง๋ regularization strength๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค)์์ ์ค์ง ์์๊น ์ถ์ธกํฉ๋๋ค.
์๋์ ๊ฐ์ด regularization strength๋ฅผ ์คํํด ๋ณธ ๊ฒฐ๊ณผ, ์ถ์ธกํ ๋๋ก image size ๊ฐ ์์ ๋ weak augmentations, ํด ๋ strong augmentations์ด ์ฑ๋ฅํฅ์์ ๋ ๋์๋๋ค๊ณ ํฉ๋๋ค.
Progressive Learning ์ ํ๊ธฐ ์ํด์ fomulation์ ์ธ์ ๋๋ฐ, ์๋์ ๊ฐ์ต๋๋ค.
์ ์ฒด ํ๋ จ์ steps๋ฅผ ํ๊ณ ํ๋ จ ๊ณผ์ ์ stages๋ก ๋๋ด๊ณ , ๋ regularizations ์ข ๋ฅ (e.g. RandAugment, MixUp, Dropout, ...)
๊ฐ ๋ชจ๋ธ์ ์๋์ ๊ฐ์ recipes ๋ก ํ๋ จํ๋ค๊ณ ํฉ๋๋ค.
Benchmark
ImageNet
accuracy, training speed ์ธก๋ฉด์์ EfficientNet ๋๋น ๋ค ์ข๋ค์.
Transfer Learning Performance Comparison
๋ค๋ฅธ datasets ์ transfer learning ํ๋๋ฐ, ์ฑ๋ฅ์ด comparable ํ๋ค์.
Conclusion
์๋ก์ด ์์ด๋์ด๋ณด๋จ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ์กฐํฉํ๊ณ training recipe ์คํ์ ๊ฐ๊น์ ์ง๋ง, ๊ฐ ์ ์ผ๋ก ์ด๋ฐ ํ๋ ์ฑ๊ฒฉ์ ์ฐ๊ตฌ๋ ์ข์ํ๊ณ , ์์ฒญ๋ ๊ฐ์ ์ด ์์ด์ ์ฌ๋ฐ๊ฒ ์ฝ์์ต๋๋ค.
๊ฒฐ๋ก : ๊ตณ๊ตณ