[Paper Review] ConvNeXt

msgoยท2026๋…„ 5์›” 25์ผ

๐Ÿ“Œ ๋ณธ ๊ธ€์€ 2023.08 ์— ์ž‘์„ฑํ•œ paper review๋ฅผ ๋‹ค๋“ฌ์–ด ๋ฐœํ–‰ํ•œ ์•„์นด์ด๋ธŒ ๊ธ€์ž…๋‹ˆ๋‹ค.
์ž‘์„ฑ ๋‹น์‹œ ์ปจํ…์ŠคํŠธ: X:AI 4๊ธฐ Adv
์›๋ณธ ๋…ผ๋ฌธ: https://arxiv.org/abs/2201.03545

^o^ ConvNeXt

Abstract

20๋…„๋Œ€๋ฅผ ์•„์šฐ๋ฅด๋Š” ์‹œ๊ฐ์  ์ธ์‹์€ Convolution์„ ์••๋„ํ•˜๋Š” ViT๊ธฐ๋ฐ˜์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ˆœ์ˆ˜ ViT๋Š” ์˜ค๋ธŒ์ ํŠธ ๋””ํ…์…˜์ด๋‚˜ ์‹œ๋ฉ˜ํ‹ฑ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์„ ๋‹ค๋ฃฐ ์ˆ˜๋Š” ์—†๋‹ค. ๊ณ„์ธต์  ํŠธ๋žœ์Šคํฌ๋จธ์ธ Swin Transformer์˜ ๊ฒฝ์šฐ ConvNet์„ ๋‹ค์‹œ ์ œ์‹œํ•˜๋ฉด์„œ ํŠธ๋žœ์Šคํฌ๋จธ๊ฐ€ ์‹ค์งˆ์ ์œผ๋กœ ์‹œ๊ฐ ๋ฐฑ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ๋น„์ ผ ํ…Œ์Šคํฌ์—์„œ์˜ ์„ฑ๋Šฅ์„ ์ž…์ฆํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ์€ ์ปจ๋ณผ๋ฃจ์…˜์˜ ์œ ๋„ ํŽธํ–ฅ ๋ณด๋‹ค๋Š” ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์šฐ์›”์„ฑ์— ๊ธฐ์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ ์šฐ๋ฆฌ๋Š” Convolution์„ ์ƒˆ๋กญ๊ฒŒ ์ œ์ž‘ํ•˜์—ฌ ์ปจ๋ณผ๋ฃจ์…˜์ด ์–ด๋А ์ •๋„์˜ ์„ฑ๋Šฅ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์‹คํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ฐจ์ธฐ ํ‘œ์ค€ ResNet์„ ํ˜„๋Œ€ํ™”์‹œํ‚ต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ช‡๊ฐ€์ง€์˜ ํ•ต์‹ฌ์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ์ข…์ ์ธ ๋ชจ๋ธ์€ ConvNeXt์ž…๋‹ˆ๋‹ค. ConvNeXt๋Š” Convolution๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ๋กœ ViT๊ณ„์—ด์— ์„ฑ๋Šฅ์„ ๋›ฐ์–ด๋„˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Introduction

280

2010๋…„๋Œ€๋ฅผ ๋Œ์•„๋ณด๋ฉด ๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” ๋งŽ์€ ๋ฐœ์ „์ด ์žˆ์—ˆ๊ณ , ํŠนํžˆ Convolution์ด ๋งŽ์ด ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ํ”ผ์ณ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์—์„œ ConvNet model์„ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์œผ๋กœ ์™”์Šต๋‹ˆ๋‹ค. ๋ฐฑํ”„๋กœํŒŒ๊ฒŒ์ด์…˜์˜ ๊ฒฝ์šฐ 1980๋…„๋Œ€์— ์ƒ๊ฒจ๋‚ฌ์ง€๋งŒ ๊ทธ ํšจ๊ณผ๋Š” 2012๋…„ ์ดํ›„์— ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„ AlexNet, VGGNet, Inceptions, ResNe(X)t, DenseNet, MobileNet, EfficientNet, RegNet์ด ์ƒ๊ฒจ๋‚ฌ๊ณ  ์ด๋Š” ์ •ํ™•๋„ ํšจ์œจ์„ฑ ํ™•์žฅ์„ฑ์— ์ง‘์ค‘ํ•˜์˜€๊ณ  ๋งŽ์€ ๋””์ž์ธ์˜ ์›๋ฆฌ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Computer Vision์—์„œ ConvNet์ด ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์€ ๋ช‡๋ช‡ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. sliding window ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ ํฐ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ConvNets ๋‹ค์–‘ํ•œ ์ปดํ“จํ„ฐ ๋น„์ ผ ํ…Œ์Šคํฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” inductive bias๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ translation equivariance์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์œ„์น˜์— ์ƒ๊ด€ ์—†์ด ์ง€์—ญ ๋ณ„ ํฌ์ฐฉ์„ ํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ object detection์— ์œ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ConvNets์€ sliding window์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณต์œ ํ•จ์œผ๋กœ์จ ์ƒ๋‹นํžˆ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ์‹œ๊ฐ„์ด ํ๋ฅด๊ณ  ์ด๋Ÿฌํ•œ ๊ฒƒ์ด ConvNet์˜ ํ‘œ์ค€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ๋ธ”๋ก์„ ํ†ตํ•ด์„œ detection๋„ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ์‹œ๊ธฐ์— NLP๋Š” transformer๋ผ๋Š” ๋‹ค๋ฅธ ๊ธธ์„ ๊ฑธ์—ˆ์Šต๋‹ˆ๋‹ค. CV์™€ NLP๋Š” ๋‹ค๋ฅธ ๊ฐ์ด ์žˆ์ง€๋งŒ ViT๋กœ ์ธํ•ด ๋‘ ํ…Œ์Šคํฌ๋Š” 2020๋…„์— ๋“ค์–ด ํ•ฉ์ณ์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. patch๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” layer๋ฅผ ์ œ์™ธํ•˜๊ณ  ViT๋Š” ๊ธฐ์กด NLP์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅผ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  inductive bias ๋˜ํ•œ ๋„์ž…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ViT๋Š” ๊ธฐ์กด์˜ ResNet์„ ํฐ ๊ฒฉ์ฐจ๋กœ ์„ฑ๋Šฅ์„ ์ด๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ViT๋Š” ๋‹ค์–‘ํ•œ Vision task์— ์ ์šฉํ•˜๊ธฐ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๊ณ  ์ „์ฒด ์ด๋ฏธ์ง€์˜ ๊ด€๊ณ„๋ฅผ ๋ด์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํฐ ํ•ด์ƒ๋„์˜ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ ํฐ ์šฉ๋Ÿ‰์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณ„์ธต์  Transformer โ†’ swin transformer์˜ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. sliding window๋ฐฉ์‹์„ ์žฌ๋„์ž…ํ•˜์—ฌ Convnet๊ณผ ์œ ์‚ฌํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Swin Transformer๋Š” ๋‹ค์–‘ํ•œ Task์˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์ง€๋งŒ, ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ์šฐ๋ฆฌ๋Š” Convolution ๋ฐฉ์‹์€ ๋ณธ์งˆ์ ์ด๋ฉฐ ์‚ฌ๋ผ์ง€์ง€ ์•Š์„ ๊ฒƒ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ด€์ ์—์„œ Transformer์˜ ๋งŽ์€ ๋ฐœ์ „์€ Convolution์˜ ๋ฐฉ์‹์„ ์ฐจ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ sliding window๋ฐฉ์‹์€ ๋งŽ์€ cost๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ๋”ฐ๋ผ์„œ ๋‹ค์–‘ํ•œ sliding๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Š” ๋ณต์žกํ•œ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ๋“ค์œผ๋ฉด Convolution ๋ฐฉ์‹์ด transformer์— ๋ฐ€๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ transformer์˜ ์„ฑ๋Šฅ์€ ๋งŽ์€ ๋ถ„์•ผ์—์„œ ๋›ฐ์–ด๋‚˜๊ณ  ์ด๋Š” transformer์˜ ๋›ฐ์–ด๋‚œ scaling๋ฐฉ์‹๊ณผ multi-head-self-attention์— ๊ธฐ์ธํ•ฉ๋‹ˆ๋‹ค.

ConvNets๊ณผ Swin Transformer๋Š” ๋น„์Šทํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ ์‚ฌํ•œ inductive bias๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ๊ณผ ๋™์‹œ ๋‹ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ๋‘ ์•„ํ‚คํ…์ณ์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ฑ๋Šฅ์„ ํ™•์ธํ•˜๋ฉฐ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ViT์™€ ConvNet์˜ ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œ์‹œํ‚ค๊ณ  ์ˆœ์ˆ˜ ConvNet์˜ ์ตœ๋Œ€ ์„ฑ๋Šฅ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ‘œ์ค€์˜ ResNet์„ ๊ฐœ์„ ๋œ ๋ฐฉ์‹์„ ํ†ตํ•ด ํ•™์Šต์‹œํ‚ต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฐœ์ „์‹œํ‚ค๋ฉฐ ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ์š”์†Œ๋“ค์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ ConvNeXt๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜, ๋””ํ…์…˜, ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์—์„œ ์ด๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ConvNeXt๋Š” transformer์˜ ์„ฑ๋Šฅ๊ณผ ๊ฒฝ์Ÿํ•˜๋ฉฐ Convolution์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด ์‰ฝ๊ฒŒ ํ•™์Šต๊ณผ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์ƒˆ๋กœ์šด ๊ด€์ธก์ด ์‚ฌ๋žŒ๋“ค์ด CV์—์„œ Convolution์˜ ์ค‘์š”์„ฑ์„ ๋‹ค์‹œ๊ธˆ ์ƒ๊ฐํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Modernizing a ConvNet : a Roadmap

187

์šฐ๋ฆฌ๋Š” Transformer์˜ ์„ฑ๋Šฅ์„ ๊ฐ–๊ฒŒ ํ•ด์ฃผ๋Š” ResNet์˜ ๋ฐœ์ „ ๋ฐฉ์‹์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” FLOPs๋ฅผ ํ†ตํ•˜์—ฌ ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ResNet-50 / Swin-T๋Š” 4.5*10^9, ResNet-200 / Swin-B๋Š” 15.0 ร— 10^9์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ConvNet์˜ ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฐœ์ „์‹œ์ผœ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋จผ์ € ๊ธฐ์กด๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ original ResNet-50๊ณผ transformer๋ฅผ ํ•™์Šต ์‹œํ‚ต๋‹ˆ๋‹ค. transformer๋Š” resnet๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด๊ฒŒ ์šฐ๋ฆฌ์˜ ์ถœ๋ฐœ ์ง€์ ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ฐœ์ „์‹œํ‚ฌ ๋ฐฉ์‹์„ ๋ณด์—ฌ์ฃผ์ž๋ฉด

1) macro design 2) ResNeXt 3) inverted bottleneck

4) large kernel size 5) various layer-wise micro designs

์ž…๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ์ •ํ™•์„ฑ์€ ๋ชจ๋ธ์˜ ๋ณต์žก์„ฑ๊ณผ ๊ด€๋ จ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” FLOPs๋ฅผ ํ†ตํ•˜์—ฌ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ์˜ ๋ชจ๋“  ๋ชจ๋ธ์€ ImageNet-1K์—์„œ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

Training Techniques

๋ชจ๋ธ์˜ ๊ตฌ์กฐ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ํ•™์Šต ๊ณผ์ •๋„ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. Vision Transformer๋Š” ๋ชจ๋ธ์˜ ํ˜•์‹ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ํ•™์Šต ๋ฐฉ์‹์—๋„ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๊ณ  ์ด๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด AdamW) ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ์˜ ์ฒซ ๋ฒˆ์งธ ํ•  ์ผ์€ ViT์™€ ํ•™์Šต ๋ฐฉ์‹์„ ๋งž์ถ”๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ResNet์— ์ ์šฉํ•  ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ์˜ค๋ฅด๋Š” ๊ฒƒ์ด ์ฆ๋ช…๋œ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•™์Šต epochs๋ฅผ ๊ธฐ์กด 90์—์„œ 300๊ฐ€์ง€ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค. data augmentation์œผ๋กœ Mixup, Cutmix, RandAugument, Random Erasing, regularization, Label Smoothing์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์€ 2.7%ํฌ์ธํŠธ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ๋‹ค ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์„ฑ๋Šฅ์€ 3๊ฐœ์˜ ๋žœ๋ค ์‹œ๋“œ์˜ ํ‰๊ท ๊ฐ’์œผ๋กœ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค.

Macro Design

์šฐ๋ฆฌ๋Š” ์ด์ œ Swin Transformer์˜ ๋„คํŠธ์›Œํฌ ๋””์ž์ธ์„ ๋ด…์‹œ๋‹ค. ST๋Š” Convnet์˜ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ•ด์ƒ๋„๋ฅผ ๊ฐ€์ง€๋Š” ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง€ ์ „๋žต์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ์ ์€ ์Šคํ…Œ์ด์ง€ ๋น„์œจ ๊ณ„์‚ฐ, ๊ทธ๋ฆฌ๊ณ  ์ด์–ด์ง€๋Š” ๊ตฌ์กฐ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ๋ชจ๋ธ์˜ ์Šคํ…Œ์ด์ง€ ๊ณ„์‚ฐ ๋ฐฉ์‹์€ ๋Œ€๊ฐœ ๊ฒฝํ—˜์ ์ž…๋‹ˆ๋‹ค. res4 ๋ ˆ์ด์–ด๋Š” ์˜ค๋ธŒ์ ํŠธ ๋””ํ…์…˜๊ณผ ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ๋ฌด๊ฑฐ์šด 14*14 ํ•ด์ƒ๋„์˜ ์Šคํ…Œ์ด์ง€์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, Swin-T๋Š” ์œ ์‚ฌํ•œ ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฅด์ง€๋งŒ ๋น„์œจ์ด 1:1:9:1์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” block์„ 3, 4, 6, 3์—์„œ 3, 3, 9, 3์œผ๋กœ ๋ณ€ํ˜•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” 0.6%p์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ด๋ค„๋ƒˆ์Šต๋‹ˆ๋‹ค.

sliding window๋ฅผ ๋ณด๋ฉด ์ค‘๋ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์ด๋Š” ์ธํ’‹ ์ด๋ฏธ์ง€๋ฅผ ์ ์ ˆํ•œ ํฌ๊ธฐ๋กœ ๋‹ค์šด ์ƒ˜ํ”Œ์„ ์œ ๋„ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. convolution์€ 77 ๋ ˆ์ด์–ด ๊ฐ€ 2stride๋กœ max pooling๊ณผ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” 4๋ถ„์˜ 1๋กœ ๋‹ค์šด์ƒ˜ํ”Œ๋งํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ vision transformer์—์„œ๋Š” ํŒจ์น˜ ๋‹จ์œ„์˜ ์ „๋žต์„ ํ†ตํ•ด์„œ ์ค‘๋ณต convolution์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋„ 44 conv๋ฅผ 4stride๋ฅผ ์‚ฌ์šฉํ•ด ์ค‘๋ณต์„ ์—†์• ๊ณ  ์ด๋Š” 0.1%p์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

ResNeXt-ify

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” FLOPs์™€ accuracy๊ฐ„ ์ตœ์ ์˜ trade-off๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ResNeXt์˜ ์•„์ด๋””์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ ์š”์†Œ๋Š” convolution filter๊ฐ€ ๋‹ค๋ฅธ ๊ทธ๋ฃน์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” grouped conv์ž…๋‹ˆ๋‹ค. ResNeXt์˜ ์•„์ด๋””์–ด๋Š” ๋” ๋งŽ์€ ๊ทธ๋ฃน์„ ๋งŒ๋“ค์–ด ๋„ˆ๋น„๋ฅผ ํ™•์žฅ์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋” ์ž์„ธํžˆ ๋ณด๋ฉด 33conv๋ฅผ ๊ฐ€์šด๋ฐ์— ์ ์šฉ์‹œํ‚ต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ depthwise convolution์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๊ทธ๋ฃน์„ ์ฑ„๋„์˜ ์ˆ˜๋งŒํผ ํ‚ค์›๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์ด self-attention์˜ sum aggregation๊ณผ ์œ ์‚ฌํ•œ ๊ฒƒ์œผ๋กœ ๋ด…๋‹ˆ๋‹ค. depthwise convolution๊ณผ 11 convolution์˜ ์กฐํ•ฉ์€ ๊ณต๊ฐ„๊ณผ ์ฑ„๋„์˜ ํ˜ผํ•ฉ์„ ๋ถ„๋ฆฌ๋ฅผ ์ด๋„๋Š”๋ฐ ์ด๋Š” ํŠธ๋žœ์Šคํฌ๋จธ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ๋„คํŠธ์›Œํฌ์˜ FLOPs๋ฅผ ๊ฐ์†Œ์‹œํ‚ค์ง€๋งŒ ์„ฑ๋Šฅ์€ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” visionTransformer์™€ ์ฑ„๋„์„ ๋งž์ถฐ์ฃผ๊ธฐ ์œ„ํ•ด channel์„ 64 โ†’ 96์œผ๋กœ ์ฆ๊ฐ€์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ์ด๋Š” 1%p์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ FLOPs์˜ ์ฆ๊ฐ€๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

Inverted Bottleneck

344

Transformer block์˜ ์ค‘์š”ํ•œ ๋””์ž์ธ์€ bottleneck์ž…๋‹ˆ๋‹ค MLP block์˜ ์ฐจ์›์€ 4๋ฒˆ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ ๋‹ค์‹œ ๊ฐ์†Œ์‹œํ‚ต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ธฐ์กด์˜ ์‚ฌ์šฉํ–ˆ๋˜ A์˜ ๋ฐฉ์‹์—์„œ B๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” FLOPs๋ฅผ ๊ฐ์†Œ์‹œ์ผฐ์œผ๋ฉฐ ๋†€๋ž๊ฒŒ๋„ ์„ฑ๋Šฅ์ด 0.1%p๊ฐ€ ์ฆ๊ฐ€ํ–ˆ๊ณ  ResNet-200/ Swin-B์—์„œ๋Š” 0.7%p์˜ ์„ฑ๋Šฅ์ด ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

Large Kernel Sizes

1*1 convolution์˜ ๊ฒฝ์šฐ, MLP์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ–ˆ์„ ๊ฒฝ์šฐ transformer๋Š” self-attention์ด๋ผ๋Š” ๊ณต๊ฐ„์  ์ •๋ณด๋ฅผ ํ•ด๊ฒฐํ•œ ๋‹ค์Œ MLP block์ด ์˜ค๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” ์œ„์˜ C์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด FLOPs๋Š” ๊ฐ์†Œํ–ˆ์œผ๋‚˜ ์„ฑ๋Šฅ์€ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.

Transformer๋Š” ํฐ ์‚ฌ์ด์ฆˆ์˜ ์ปค๋„ ํŒจ์น˜๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ 77์‚ฌ์ด์ฆˆ์˜ ํŒจ์น˜๋ฅผ ๊ทธ๋Ÿฌ๋‚˜, Convolution์˜ ๊ฒฝ์šฐ ๊ณผ๊ฑฐ์—๋Š” ํฐ ์ปค๋„์„ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์œผ๋‚˜ VGG์˜ 33 kernel์ด ๊นŠ๊ฒŒ ์Œ“์˜€์„ ๋•Œ ์ข‹์€ ํšจ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์„ ๋ณด๊ณ  33์˜ kernel์ด ๋งŽ์ด ์‚ฌ์šฉ๋์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” 3, 5, 7, 9, 11์˜ kernerl size ์‹คํ—˜์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ 33์ผ ๋•Œ๋Š” 79.9% โ†’ 7*7์ผ ๋•Œ๋Š” 80.6%์˜ ์„ฑ๋Šฅ ์ฆ๊ฐ€๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. FLOPs๋Š” ๊ฑฐ์˜ ์œ ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํฐ ์ปค๋„์˜ ์žฅ์ ์€ 7๊นŒ์ง€์˜€์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Micro Design

  • ReLU๋ฅผ GELU๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.
    GELU๋Š” RELU๋ณด๋‹ค ๋” ๋ถ€๋“œ๋Ÿฌ์šด ๋ณ€ํ™”๋ฅผ ์ผ์œผํ‚ค๋ฉฐ ์ตœ์‹ ์˜ transformer์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์€ ๊ฐ™์•˜์œผ๋‚˜ GELU๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ๊ฐ์†Œ
    Transformer์˜ ๊ฒฝ์šฐ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋Š” ๋‘๊ฐœ์˜ layer๊ฐ€ ์žˆ๋Š” MLP blocks์—์„œ ํ•œ๋ฒˆ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ Conv์—์„œ๋Š” ๋ชจ๋“  layer์—์„œ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” 1*1layers๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ GELU ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” 0.7%p์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ๋‹ค ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ •๊ทœํ™” ๋ ˆ์ด์–ด ๊ฐ์†Œ
    Transformer๋Š” ์ ์€ ์ •๊ทœํ™” ๋ ˆ์ด์–ด๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” 1*1 layer ์ด์ „์— ํ•œ๊ฐœ์˜ ๋ ˆ์ด์–ด๋งŒ ๋‚จ๊ธฐ๊ณ  ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” 0.1%p์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ๋‹ค ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฐ์น˜ ์ •๊ทœํ™”๋ฅผ ๋ ˆ์ด์–ด ์ •๊ทœํ™”๋กœ ๊ต์ฒด
    ๋ฐฐ์น˜ ์ •๊ทœํ™”๋Š” Convnet์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณผ๋Œ€์ ํ•ฉ์„ ๊ฐ์†Œ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฐ์น˜ ์ •๊ทœํ™”๋Š” ๋งŽ์€ ์™ธ๋ถ€ ์š”์ธ์— ์˜ํ•ด ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Transformer์—์„œ๋Š” ๋ ˆ์ด์–ด ์ •๊ทœํ™”๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ ๋˜ํ•œ ๊ต์ฒดํ•˜์˜€๊ณ  0.1%p์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ๋‹ค ์ค๋‹ˆ๋‹ค.

  • downsampling layer ๋ถ„๋ฆฌ
    ResNet์—์„œ, ๊ฐ ์Šคํ…Œ์ด์ง€ ์‹œ์ž‘ ์ „ residual block์— ์˜ํ•œ ๋‹ค์šด์ƒ˜ํ”Œ๋ง์€ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. Swin Trnasformer์—์„œ๋Š” ์Šคํ…Œ์ด์ง€ ์‚ฌ์ด์— ๋‹ค์šด์ƒ˜ํ”Œ๋ง ๋ ˆ์ด์–ด๋ฅผ ๋”ํ•ด์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ ๋˜ํ•œ ์ด์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์ด๋Š” 0.5%p์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์‹œ์ผฐ์œผ๋ฉฐ ์ด๋Š” Swin-Transformer์˜ ์„ฑ๋Šฅ์„ ์ด๊ธฐ๋Š” ์ˆ˜์น˜์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์šฐ๋ฆฌ์˜ ์ตœ์ข…์ ์ธ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

261

์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” Swin-Transformer์—์„œ ์‚ฌ์šฉํ•œ ๋ฐฉ์‹์„ ์ฐจ์šฉํ•˜์—ฌ ResNet์„ ๋ณ€๊ฒฝํ•˜์˜€์Šต๋‹ˆ๋‹ค. Convolution๋„ ๋งŽ์€ ๋ฐœ์ „์ด ์žˆ์—ˆ์œผ๋‚˜ ์ด๋Š” ์ „๋ถ€ ๊ฐœ๋ณ„์ ์œผ๋กœ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ๋ฐœ์ „์„ ํ•ฉ์ณค๊ณ , Swin-Transformer์— ๋ฐฉ์‹์„ ์ฐจ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํŠน๋ณ„ํ•œ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Convolution์ด Transformer๋ฅผ ์ด๊ธด ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Empirical Evaluations on ImageNet

174

์šฐ๋ฆฌ๋Š” ์ตœ์ข…์ ์œผ๋กœ Swin-Transformer๋ฅผ ๋„˜์–ด์„œ๋Š” ์„ฑ๋Šฅ์˜ Convolution network์ธ ConvNeXt๋ฅผ ์ œ์‹œํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์…‹๊ณผ Task์—์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

Conclusions

2020๋…„๋Œ€์— ๋“ค์–ด, transformer ๊ณ„์—ด์ด backbone model๋กœ ์„ ํ˜ธ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ๋” ์ •ํ™•ํ•˜๋ฉฐ, ํšจ์œจ์ ์ด๋ฉฐ, ํ™•์žฅ ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ConvNeXt๋ฅผ ์ œ์•ˆํ•˜์—ฌ sota์˜ transformer์™€ ๋‹ค์–‘ํ•œ benchmarks์—์„œ ๊ฒฝ์Ÿํ•ฉ๋‹ˆ๋‹ค. Convolution์€ ๋งŽ์€ ๋ฐœ์ „์ด ์žˆ์—ˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ฐœ์ „์ด ์ข…ํ•ฉ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ข…ํ•ฉ์ ์œผ๋กœ ํ•˜์˜€์„ ๊ฒฝ์šฐ Convolution์€ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ด๋ฉฐ CV๋ถ„์•ผ์—์„œ์˜ Convolution์— ๋Œ€ํ•ด์„œ ์‚ฌ๋žŒ๋“ค์ด ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด์•˜์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ”— ๊ด€๋ จ ๊ธ€

0๊ฐœ์˜ ๋Œ“๊ธ€