(AlexNet) ImageNet Classification with Deep Convolutional Neural Networks
(AlexNet) ImageNet Classification with Deep Convolutional Neural Networks
๐ ์ ๋ฆฌ
๐ ์ ๋ชฉ
ImageNet Classification with Deep Convolutional Neural Networks
๐ ์ด๋ก
- 1000-way softmax : 1000๊ฐ์ cls.๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์, output์ 1000๊ฐ์ vec.์ผ๋ก ๋ง๋ค์๋ค.
- Top-1 error: ๊ฐ์ฅ ํฐ ํ๋ฅ ์ด ์ ๋ต์ด ์๋ ๋.
- Top-5 error: ๊ฐ์ฅ ํฐ ํ๋ฅ 5๊ฐ ์์ ์ ๋ต์ด ์์ ๋.
- saturating neuron : ๋ด๋ฐ์ ํ์ฑํ ํจ์์ค์์ ์ ๋ ฅ๊ฐ์ด ์ปค์ง๊ฑฐ๋ ์์์ง๋ฉด ํฌํ๋๋ ํ์์ผ๋ก, sigmoid, tanh์ ํด๋น โ ๊ฒฝ์ฌ์์ค ๋ฌธ์ ๋ฐ๋ผ์ AlexNet์์๋ ReLU ์ฑํ
ํญ๋ชฉ ๋ด์ฉ ๋ฐ์ดํฐ์ ImageNet LSVRC-2010 (120๋ง ์ฅ, 1000 ํด๋์ค), ILSVRC-2012 ๋ํ ์ฐธ๊ฐ ๋ชจ๋ธ ๊ท๋ชจ 60M ํ๋ผ๋ฏธํฐ, 650k ๋ด๋ฐ ์ํคํ ์ฒ 5๊ฐ convolutional layer + 3๊ฐ fully-connected layer + softmax(1000-way) ํต์ฌ ๊ธฐ๋ฒ ReLU(non-saturating neuron), GPU ๊ธฐ๋ฐ ํจ์จ์ ํ์ต, Dropout ์ ๊ทํ ์ฑ๋ฅ ILSVRC-2010: top-1 37.5%, top-5 17.0% / ILSVRC-2012: top-5 15.3% (1๋ฑ) ๊ธฐ์ฌ CNN์ ๋๊ท๋ชจ ๋ฐ์ดํฐยทGPU์ ๊ฒฐํฉ โ ๊ธฐ์กด feature-engineering ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ณด๋ค ํ๊ธฐ์ ์ผ๋ก ์ฐ์ํ ์ฑ๋ฅ ๋ฌ์ฑ
๐ก ๊ฒฐ๋ก & ๊ณ ์ฐฐ
ํญ๋ชฉ ๋ด์ฉ ILSVRC-2010 CNN: top-1 37.5%, top-5 17.0% (๊ธฐ์กด ์ต๊ณ : 47.1%, 28.2%) ILSVRC-2012 ๋จ์ผ CNN: top-5 18.2% โ 5๊ฐ ์์๋ธ: 16.4% โ ์ฌ์ ํ์ต+์์๋ธ: 15.3% (2์๋ 26.2%) ImageNet 2009 (10k ํด๋์ค) CNN: top-1 67.4%, top-5 40.9% (๊ธฐ์กด 78.1%, 60.9%) Qualitative ๋ถ์ CNN์ ์์ยท๋ฐฉํฅยท์ฃผํ์ selective kernel ํ์ต / GPU๋ณ specialization ๋ฐ์ Feature space 4096์ฐจ์ feature vector๋ก ์ด๋ฏธ์ง ๊ฐ semantic similarity ๋ฐ์, raw pixel distance๋ณด๋ค ์๋ฏธ ์๋ ๊ฒ์ ๊ฐ๋ฅ ์ถ๊ฐ ์ ์ auto-encoder๋ก feature vector ์์ถ โ ํจ์จ์ ์ด๋ฏธ์ง ๊ฒ์(Image retrieval)
- ๋คํธ์ํฌ๋ฅผ ๊น๊ฒ ๋ง๋ ๋ค๋ฉด ํจ๊ณผ๊ฐ ๋ ํด๊ฒ์ผ๋ก ์์๋์ด ์ง๋ค. ๋ํ unsupervised pretraining๋ ํจ๊ณผ์ ์ผ๋ก ์๋ํ ๊ฒ์ผ๋ก ํ๋จ๋๋ค.
- CNN์ ๊น์ด๊ฐ ์ฑ๋ฅํฅ์์ ๊ธฐ์ฌํ๋ค.
ํญ๋ชฉ ๋ด์ฉ ๊น์ด์ ์ค์์ฑ convolution layer ํ๋๋ง ์ ๊ฑฐํด๋ top-1 ์ฑ๋ฅ ์ฝ 2% ์ ํ โ ๊น์ ๊ตฌ์กฐ๊ฐ ํต์ฌ ๋น์ง๋ ์ฌ์ ํ์ต ๋ณธ ๋ ผ๋ฌธ์์๋ ์ฌ์ฉํ์ง ์์์. ํ์ง๋ง ๋ ํฐ ๋คํธ์ํฌยท๋ผ๋ฒจ ๋ถ์กฑ ํ๊ฒฝ์์ ์ ์ฉํ ๊ฒ์ผ๋ก ์์ ์ฑ๋ฅ ์ค์ผ์ผ๋ง ๋คํธ์ํฌ๋ฅผ ํฌ๊ฒ ํ๊ณ ํ์ต ์๊ฐ์ ๋๋ฆฌ๋ฉด ์ฑ๋ฅ์ด ๊ณ์ ํฅ์๋จ (scale-up ํจ๊ณผ) ํ๊ณ ์ธ๊ฐ ๋์ ์๊ฐ ํผ์ง(infero-temporal pathway)์ ๋นํ๋ฉด ์์ง ๋ฉ์๋ค๊ณ ์ธ๊ธ ๋ฏธ๋ ๋ฐฉํฅ ์ ์ ์ด๋ฏธ์ง๊ฐ ์๋ ๋น๋์ค ํ์ต์ผ๋ก ํ์ฅ โ ์๊ณ์ด์ ๋จ์(temporal structure) ํ์ฉ
๐๏ธ ๋ฐ์ดํฐ
- Amazon Mechanical Turk : ์์ ์ ์๊ฒ ์ชผ๊ฐ์ด(HITs, Human Intelligence Tasks) ์จ๋ผ์ธ์ผ๋ก ๋ค์์ ์ฌ๋(worker)์๊ฒ ํ ๋น, ์์ก ๋ณด์์ผ๋ก ์ฒ๋ฆฌํ๊ฒ ํ๋ ์์คํ . ์ ์ ๋ฐ์ดํฐ์ ์ผ๋ก ๋๊ท๋ชจ๋ฐ์ดํฐ์ ๊ตฌ์ฑ๊ฐ๋ฅ
- CNN๋ชจ๋ธ์ input์ผ๋ก ๋ฃ๊ธฐ ์ํด์, 256x256์ผ๋ก ๋ค์ด์ํ๋ง ์งํ
- ์ง์ฌ๊ฐํ์ ๊ฒฝ์ฐ์๋ ์ด๋ฏธ์ง๊ฐ ์งง์๋ณ์ 256์ผ๋ก resizingํ ํ, ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์์ ์ค์ 256x256ํจ์น๋ฅผ ์๋ผ๋
- ์ ์ฒ๋ฆฌ๋ ํ์ง ์๊ณ , ํ๋ จ์ ์ ์ฒด์์ ํฝ์ ๋จ์ ํ๊ท ๊ฐ์ ๋นผ๋ ์์ ๋ง ์ํํด์, ๋คํธ์ํฌ๋ ์ค์ฌํ๋ ์์ RGB๊ฐ์ผ๋ก ํ์ต๋์ด์ง
ํญ๋ชฉ ๋ด์ฉ ์๋ณธ ๋ฐ์ดํฐ์ ImageNet (15M+ ์ด๋ฏธ์ง, 22k ํด๋์ค) ILSVRC ๋ฒ์ 2010/2012 ๋ํ์ฉ ํ์์ (1000 ํด๋์ค, ์ฝ 120๋ง train, 50k val, 150k test) ํน์ง ILSVRC-2010๋ง test ๋ผ๋ฒจ ๊ณต๊ฐ (์คํ ๊ฒ์ฆ์ฉ) ์ค๋ฅ ์งํ Top-1 (์ต๊ณ ํ๋ฅ ์์ธก์ด ํ๋ฆฐ ๊ฒฝ์ฐ), Top-5 (์์ 5๊ฐ ์์ธก ์์ ์ ๋ต ์์) ์ ์ฒ๋ฆฌ ๋ชจ๋ ์ด๋ฏธ์ง๋ฅผ 256ร256์ผ๋ก ๋ฆฌ์ฌ์ด์ฆ ํ ์ค์ crop / train set ํฝ์ ํ๊ท ๊ฐ์ ๋นผ๊ณ raw RGB ์ฌ์ฉ ์์ ๋น์๋ก์๋ unprecedented(์ ๋ก ์๋) ๋๊ท๋ชจ labeled dataset. CNN ํ์ต ๊ฐ๋ฅ์ผ ํ ๊ธฐ๋ฐ.
๐ ์๋ก
1) Stationarity of statistics (ํต๊ณ์ ํน์ฑ์ ๋ถ๋ณ์ฑ)
- ์๋ฏธ: ์ด๋ฏธ์ง์ ํต๊ณ์ ํจํด(๊ฒฝ๊ณ, ์ง๊ฐ, ์ ๋ถํฌ ๋ฑ)์ ๊ณต๊ฐ ์ ์ฒด์์ ๋น์ทํ๋ค๋ ๊ฐ์ .
- ์: ๊ณ ์์ด์ ๊ท(edge ํจํด)๋ ์๋์ฐจ์ ๋ฐํด(circle-like edge)๋ , ์ด๋ฏธ์ง์ ์ด๋ ์์น์ ์๋๋ผ๋ ๊ฐ์ ํน์ง ๊ฒ์ถ๊ธฐ๊ฐ ์ ์ฉ ๊ฐ๋ฅํด์ผ ํจ.
- CNN์์ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐฉ์:
- ๊ฐ์ค์น ๊ณต์ (weight sharing) โ ๊ฐ์ convolution filter(์ปค๋)๋ฅผ ์ด๋ฏธ์ง ์ ์ญ์ ์ ์ฉ.
- ๋๋ถ์ ํ๋ผ๋ฏธํฐ ์๊ฐ ๊ธ๊ฒฉํ ์ค๊ณ , ํ์ต๋ ํน์ง์ ์์น์ ๋ฌด๊ดํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ (translation invariance).
2) Locality of pixel dependencies (ํฝ์ ๊ฐ ์์กด์ฑ์ ์ง์ญ์ฑ)
- ์๋ฏธ: ํฝ์ ์ ๋ฉ๋ฆฌ ๋จ์ด์ง ๊ฒ๋ณด๋ค ๊ฐ๊น์ด ํฝ์ ๋ผ๋ฆฌ ๋ ๊ฐํ ์๊ด๊ด๊ณ๋ฅผ ๊ฐ์ง๋ค๋ ๊ฐ์ .
- ์: ์ด์ํ ํฝ์ ์ ๊ฐ์ ๋ฌผ์ฒด(๊ณ ์์ด์ ํธ, ์๋์ฐจ ํ๋ฉด)์ ์ํ ํ๋ฅ ์ด ๋์. ๋ฐ๋ฉด, ์ผ์ชฝ ์ ํฝ์ ๊ณผ ์ค๋ฅธ์ชฝ ์๋ ํฝ์ ์ ๋ ๋ฆฝ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ํผ.
- CNN์์ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐฉ์:
- ์ง์ญ์ ์ฐ๊ฒฐ(local receptive field) โ ๊ฐ ๋ด๋ฐ์ ์ด๋ฏธ์ง ์ ์ฒด๊ฐ ์๋ **์์ ์์ญ(์: 3ร3, 5ร5)**๋ง ๋ณธ๋ค.
- ์ด ์ง์ญ์ ํน์ง๋ค์ด ๊ณ์ธต์ ์ผ๋ก ์กฐํฉ๋๋ฉด์, ์ ์์ค(edge) โ ์ค๊ฐ์์ค(texture, parts) โ ๊ณ ์์ค(object) ํํ์ผ๋ก ๋ฐ์ .
3) CNN์ ์ฅ์ ์ผ๋ก ์ฐ๊ฒฐ
- ์ ๋ ๊ฐ์ง ๊ฐ์ ๋๋ถ์:
- ์ ์ ํ๋ผ๋ฏธํฐ๋ก๋ ํฐ ๋ชจ๋ธ ํํ๋ ฅ ํ๋ณด (weight sharing์ผ๋ก ์ ์ฝ).
- ํ์ต ํจ์จ์ด ๊ฐ์ โ ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ ๋ค ๋ณด์ง ์์๋, ์์ ํํฐ๋ก ๊ตญ์ ํน์ง์ ์ก์๋ด๊ณ , ์ด๊ฑธ ์ ์ฒด ์ด๋ฏธ์ง์ ๋ฐ๋ณต ์ ์ฉ.
- ์ผ๋ฐํ ์ฑ๋ฅ ํฅ์ โ ๋ชจ๋ธ์ด ๋ฐ์ดํฐ์ ์๋ง ํนํ๋์ง ์๊ณ , ์์นยท๋ฐฐ๊ฒฝ ๋ณํ์๋ ๊ฐ์ธ.
- ์ต๊ทผ๊น์ง ๋ผ๋ฒจ๋ง๋ ๋ฐ์ดํฐ๋ ๊ท๋ชจ๊ฐ ์๋ค. ๋ํ ์ด๋ฌํ ๊ท๋ชจ์ ๋ฐ์ดํฐ์ ์ ๋จ์ํ ๋ฌธ์ ๋ก ์ถฉ๋ถํ๋ฉฐ ์ธ๊ฐ์ ์ฑ๋ฅ์ ๊ทผ์ ํ๋ค.
- ๊ทธ๋ฌ๋ ์ค์ ํ๊ฒฝ์ ํฐ ๋ณํ๋ฅผ ๋ณด์ด๋ฏ๋ก ํฐ ๋ฐ์ดํฐ์ ์ด ํ์ํ๊ณ ImageNet๊ฐ์ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ผ๋ก ์ธํด ๊ฐ๋ฅํด์ก๋ค.
- ํฐ ๋ฐ์ดํฐ์ ์ ํ์ตํ๋ ค๋ฉด ํฐ ์ฉ๋์ ๊ฐ์ง ๋ชจ๋ธ์ด ํ์ํ๋ฐ, CNN์ ์ด๋ฏธ์ง์ ํน์ฑ์ ๋ฐ์ํ์ฌ ์ฌ๋ฐ๋ฅธ ๊ฐ์ ์ ๊ฐ์ง๋ฉฐ, ๊น์ด์ ํญ์ ์กฐ์ ํ ์ ์๊ณ , ์ผ๋ฐ์ ์ธ ๋ ์ด์ด์ ๋น๊ตํ๋ฉด ํ๋ผ๋ฏธํฐ์๊ฐ ์ ์ด ํจ์ฌ ํ์ต์ด ์ฉ์ดํ๋ค.
- ์ด๋ฌํ ์ฅ์ ์๋ ๋ถ๊ตฌํ๊ณ , ์์ง๊น์ง๋ CNN์ ๊ณ์ฐ๋น์ฉ์ด ํฌ๋ GPU์ ๋ฐ์ ๊ณผ CNN 2D์ ๊ณ ๋๋ก ์ต์ ํ๋ ๊ตฌํ์ผ๋ก ํ์ต์ด ๊ฐ๋ฅํด์ก๊ณ , ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ๋๋ถ์ ๋ชจ๋ธ์ ๊ณผ์ ํฉ์์ด ํ๋ จ์ํฌ ์ ์๊ฒ ๋์๋ค.
ํญ๋ชฉ ๋ด์ฉ ๊ธฐ์กด ํ๊ณ MNIST, CIFAR ๋ฑ ์๊ท๋ชจ ๋ฐ์ดํฐ์ โ ๋จ์ ๊ณผ์ ์๋ ์ถฉ๋ถํ์ง๋ง, ์ค์ ์ฌ๋ฌผ ์ธ์์ ๋ถ๊ฐ๋ฅ ๋๊ท๋ชจ ๋ฐ์ดํฐ ImageNet (15M+ ์ด๋ฏธ์ง, 22k ํด๋์ค) โ ๋ณธ๊ฒฉ์ ์ธ CNN ํ์ต ๊ฐ๋ฅ ํ์ํ ๋ชจ๋ธ ํน์ฑ ํฐ ์ฉ๋(capacity), ์ฌ์ ์ง์ ๋ด์ฅ(translation invariance, locality ๋ฐ์) CNN ์ฅ์ ์ ์ ํ๋ผ๋ฏธํฐ, ์ง์ญ์ ์ฐ๊ฒฐ, ์ด๋ฏธ์ง ํต๊ณ ๊ฐ์ ํ์ฉ โ ์ผ๋ฐ ์ ๊ฒฝ๋ง ๋๋น ํจ์จ์ ๊ธฐ์ ์ ๋ํ๊ตฌ GPU + ๊ณ ์ 2D convolution ๊ตฌํ โ ๋๊ท๋ชจ CNN ํ๋ จ ํ์คํ ๋ ผ๋ฌธ ๊ธฐ์ฌ - ๋๊ท๋ชจ CNN ํ์ต ์ฑ๊ณต
๐ฌ ์คํ๊ณผ์
๐ 3. The Architecture
- ReLU : ํฌํ ๋น์ ํ ํจ์๋ ๊ฒฝ์ฌํ๊ฐ๋ฒ์์ ๋นํฌํํจ์์ ๋นํด ํจ์ฌ ๋๋ฆฌ๋ค. ReLU๋ ๊ฐ์ ๊น์ด์ Tanh์ ๋นํด ๋ช๋ฐฐ๋ ํ์ต์๋๊ฐ ๋น ๋ฅด๋ค.
ํญ๋ชฉ ๋ด์ฉ ๋คํธ์ํฌ ๊ณ์ธต ์ด 8๊ฐ ํ์ต ๊ณ์ธต โ 5 convolution + 3 fully-connected ์ถ๋ ฅ ๋ง์ง๋ง fully-connected layer โ 1000-way softmax (ImageNet ํด๋์ค ํ๋ฅ ) ReLU ์ ์ f(x) = max(0, x) (๋นํฌํํ ๋น์ ํ ํจ์) ๊ธฐ์กด ๋ฐฉ์ sigmoid, tanh โ ํฌํ ์์ญ์์ gradient โ 0 โ ํ์ต ๋๋ฆผ (๊ฒฝ์ฌ ์์ค ๋ฌธ์ ) ์ฅ์ ReLU๋ ์์ ์์ญ์์ gradient=1 โ ํ์ต ์๋ ์๋ฐฐ ํฅ์ ์คํ ๊ทผ๊ฑฐ CIFAR-10 ์คํ์์ tanh ๋๋น 6๋ฐฐ ๋น ๋ฅธ ์๋ ด ์๋ ํ์ธ ์์ GPU + ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ๊ณผ ๊ฒฐํฉํ์ฌ, โ์ค์ ๋ก ํ๋ จ ๊ฐ๋ฅํโ ๋๊ท๋ชจ CNN์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ํต์ฌ
- columnar
- โColumnโ = ๋ ๋ฆฝ์ ์ผ๋ก ํ์ต๋ ํ๋์ CNN.
- ์ฌ๋ฌ ๊ฐ column์ ๋ณ๋ ฌ๋ก ๋๊ณ , ๊ฐ๊ฐ์ CNN์ด ๊ฐ์ ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌ.
- ๋ง์ง๋ง์ ๊ฐ column์ softmax ์ถ๋ ฅ(probability distribution)์ ํ๊ท ํ๊ฑฐ๋ ํฌํํ์ฌ ์ต์ข ์์ธก.
- ์ฅ์ : ๋จ์ผ CNN๋ณด๋ค ์ผ๋ฐํ ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ณ , ๊ณผ์ ํฉ์ ์ค์ผ ์ ์์.
- ๋จ์ : ๊ฐ column์ด ์์ ํ ๋ ๋ฆฝ์ ์ด๋ฏ๋ก, ๊ณ์ฐ๋์ด ํฌ๊ณ column ์์ ๋น๋กํด ์์์ด ํ์.
- GPU๋ ์๋ก๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ง์ ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ํธ์คํธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๊ต์ฐจ GPU๋ฅผ ์ ์ง์ํ๋ค.
- GPU 2๊ฐ์ ๋ํด ์ ๋ฐ์ ์ปค๋์ ์์น์์ผ ์ฌ์ฉํ๋ฉฐ ํน์ ์ธต์์๋ gpu๊ฐ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋ค. 2-3๋ฒ layer๊ฐ ํด๋น๋ถ๋ถ์ผ๋ก 3๋ฒ layer๋ 2๋ฒ์ ๋ชจ๋ gpu์ ๋ํด์ ์ ๋ ฅ์ ๋ฐ์ง๋ง, 4๋ฒ layer๋ ๊ฐ์ gpu๋ด์์๋ง ์ ๋ ฅ์ ๋ฐ๋๋ค.
- ์ด๋ฌํ ํจํด์ cross-validation์ผ๋ก ์กฐ์ ํ๋ค. ์ฑ๋ฅ์ด ํฅ์๋์์ผ๋ฉฐ, ์๊ฐ๋ํ ์ฝ๊ฐ ์งง์์ก๋ค.
- columnar == ๋ ๋ฆฝ๊ตฌ์กฐ, AlexNet == ํ๋ ฅ๊ตฌ์กฐ(featuremap์ ๋๋)
- Local Response Normalization์ ์ฌ์ฉํ์์
- ๋ด๋ฐ๊ฐ ๊ฒฝ์์ ์ ๋(์๋ฌผํ์ ๋ด๋ฐ์ ์ธก๋ฉด์ต์ ์์ ์๊ฐ์ ๋ฐ์, ์๋ก ๋ค๋ฅธ ์ปค๋ ์ถ๋ ฅ๊ฐ์ ๊ฒฝ์์ ์ ๋)
- CNN โ ReLU โ LRN (๋ช๋ช ์ธต์ ์ฌ์ฉ)
ํญ๋ชฉ ๋ด์ฉ GPU ๋ณ๋ ฌ ํ์ต 2 GPU์ ์ ๋ฐ์ฉ ์ปค๋ ๋ถ์ฐ, ํน์ ๊ณ์ธต๋ง ๊ต์ฐจ ์ฐ๊ฒฐ โ ์ฑ๋ฅ ํฅ์, ํ์ต์๊ฐ ๋จ์ถ ๋น๊ต ๋จ์ผ GPU ๋๋น top-1 ์ค๋ฅ์จ 1.7%โ, top-5 1.2%โ ๊ตฌ์กฐ์ ํน์ฑ Cireลan et al.์ columnar CNN ์ ์ฌ, ํ์ง๋ง column ๊ฐ ์์ ํ ๋ ๋ฆฝX ์ ๊ทํ ์์ด๋์ด Local Response Normalization (LRN), lateral inhibition์์ ์๊ฐ ์ ๊ทํ ์ bแตข = aแตข / (k + ฮฑ ฮฃโฑผ (aโฑผยฒ))^ฮฒ, ํ์ดํผํ๋ผ๋ฏธํฐ (k=2, n=5, ฮฑ=1e-4, ฮฒ=0.75) ํจ๊ณผ ILSVRC top-1 1.4%โ, top-5 1.2%โ / CIFAR-10 ์ค๋ฅ์จ 13%โ11%
- overlapping pooling์ ์งํํ์๋ค. ์ด๋ฌํ ๊ธฐ๋ฒ์ผ๋ก ์ผ๋ฐํ ์ฑ๋ฅ์ ํฅ์์์ผฐ๋ค.
ํญ๋ชฉ ๋ด์ฉ Pooling ์ ์ ์ผ์ ํ ์์ญ์ ๋ด๋ฐ ์ถ๋ ฅ์ ์์ฝ (๋ํ์ ์ผ๋ก max-pooling) ์ ํต ๋ฐฉ์ non-overlapping (s = z) โ ๊ฒฉ์ ์์ญ์ด ๊ฒน์น์ง ์์ AlexNet ๋ฐฉ์ overlapping pooling (s < z) ์ฌ์ฉ โ s=2, z=3 ํจ๊ณผ top-1 ์ค๋ฅ์จ 0.4%โ, top-5 ์ค๋ฅ์จ 0.3%โ ์ถ๊ฐ ๊ด์ฐฐ ๊ฒน์น๋ pooling์ ๋คํธ์ํฌ๊ฐ ํ์ต ๋ฐ์ดํฐ์ ๊ณผ์ ํฉ๋๊ธฐ ์กฐ๊ธ ๋ ์ด๋ ค์
- ํฐ ํํฐ์ ํฐ stride๋ก ์์ โ ์ ์ฐจ ์์ ํํฐ๋ก ๊น์ด ์๊ฒ ์ฐ๊ฒฐ โ fully-connected layer์์ high-level representation ํ์ฑ โ softmax ์ถ๋ ฅ
- Conv3๋ ๋ GPU ๋ชจ๋ ์ฐ๊ฒฐ, Conv4ยท5๋ ๊ฐ์ GPU ๋ด๋ถ ์ฐ๊ฒฐโ ์ ๋๋ฅผ ํ์ ๋ฃ์ด์ฃผ๋ฉด ๋ ์์ฑ๋๊ฐ ๋์ต๋๋ค.
ํญ๋ชฉ ๋ด์ฉ ์ ์ฒด ๊ตฌ์กฐ 5 convolutional + 3 fully-connected โ ๋ง์ง๋ง softmax(1000-way) ์ ๋ ฅ 224ร224ร3 RGB ์ด๋ฏธ์ง Conv1 96๊ฐ์ 11ร11ร3 ํํฐ, stride=4 Conv2 256๊ฐ์ 5ร5ร48 ํํฐ (์ด์ layer ์ถ๋ ฅ ์ผ๋ถ๋ง ์ฐ๊ฒฐ, GPU ๋ถ์ฐ ๊ตฌ์กฐ) Conv3 384๊ฐ์ 3ร3ร256 ํํฐ (์์ชฝ GPU ๋ชจ๋ ์ฐ๊ฒฐ) Conv4 384๊ฐ์ 3ร3ร192 ํํฐ (GPU ๋ด๋ถ ์ฐ๊ฒฐ) Conv5 256๊ฐ์ 3ร3ร192 ํํฐ (GPU ๋ด๋ถ ์ฐ๊ฒฐ, ์ดํ pooling) FC1โ2 ๊ฐ๊ฐ 4096 ๋ด๋ฐ (dropout ์ ์ฉ) FC3 1000 ๋ด๋ฐ โ softmax ReLU ๋ชจ๋ conv, FC layer์ ์ ์ฉ Normalization/Pooling Conv1, Conv2 ๋ค์ LRN + pooling, Conv5 ๋ค์ pooling
๐ 4. Reducing Overfitting
4.1. ๋ฐ์ดํฐ ์ฆ๊ฐ (Data Augmentation)
- ์ด๋ฏธ์ง crop ๋ฐ ์ข์ฐ ๋ฐ์ : 256x256 ์ด๋ฏธ์ง์์ ์์์ 224x224 ํจ์น ๋ฐ ๊ทธ ์ข์ฐ ๋ฐ์ ๋ณธ์ ์๋ผ๋ด์ด ํ์ต์ ์ฌ์ฉ
- ์ฝ 2048๋ฐฐ์ ๋ฐ์ดํฐ ์ฆ๊ฐ ํจ๊ณผ. ํ ์คํธ ์์๋ ๋ค ๊ตฌ์ + ์ค์ 5๊ฐ ํจ์น์ ๊ฐ ์ข์ฐ ๋ฐ์ ๋ณธ์ ํฌํจํด ์ด 10๊ฐ ํจ์น์ softmax ์ถ๋ ฅ์ ํ๊ท ํ์ฌ ์ต์ข ์์ธก
- RGB ์ฑ๋ ๊ฐ๋ ๋ณํ : ํ๋ จ์ ์ ์ฒด ํฝ์ ๊ฐ์ ๋ํด PCA๋ฅผ ์ํํ์ฌ, ๊ฐ ์ด๋ฏธ์ง ํฝ์ ๊ฐ์ PCA์ ์ฃผ์ฑ๋ถ ๋ฒกํฐ๋ฅผ ์ผ์ ๋น์จ๋ก ๋ํจ (๋์ ํ์ฉ)
- ์ด ํจ๊ณผ๋ฅผ ํตํด ์กฐ๋ช ์ธ๊ธฐ๋ ์์ด ๋ฌ๋ผ์ ธ๋ ๋ฌผ์ฒด ์ ์ฒด์ฑ์ด ์ ์ง๋๋ ์์ฐ ์ด๋ฏธ์ง์ ์ฑ์ง์ ๋ชจ๋ฐฉ
4.2. ๋๋กญ์์ (Dropout)
- ํ์ต ์ ๊ฐ hidden neuron์ ์ถ๋ ฅ์ ํ๋ฅ 0.5๋ก 0์ผ๋ก ๋ง๋ค์ด๋ฒ๋ฆผ. ๋ฐ๋ผ์ ์ ํ ๋ฐ ์ญ์ ํ์ ์ผ์ ๋ด๋ฐ๋ค์ด ์ฐธ์ฌํ์ง ์์.
- ๋งค๋ฒ ์ ๋ ฅ์ ๋ค๋ฅธ ์ํคํ ์ณ๋ฅผ ๊ฐ์ง๋ ํจ๊ณผ๋ฅผ ๊ฐ์ง (but ๊ฐ์ค์น๋ ๊ณต์ ).
- ์ฆ, ํน์ ๋ด๋ฐ์ด ๋ค๋ฅธ ๋ด๋ฐ์ ์กด์ฌ์ ์ง๋์น๊ฒ ์์กด(co-adaptation)ํ์ง ๋ชปํ๊ฒ ํ์ฌ ์ผ๋ฐํ ์ฑ๋ฅ์ ๋์ธ๋ค.
- ํ ์คํธ ์์๋ ๋ชจ๋ ๋ด๋ฐ์ ์ฌ์ฉํ๋, ์ถ๋ ฅ์ 0.5๋ฅผ ๊ณฑํด์ค.
- ์ฒซ ๋ fully-connected layer์ ์ ์ฉ. Dropout์ด ์์ ๋ ๋คํธ์ํฌ๊ฐ ์ฌ๊ฐํ๊ฒ ๊ณผ์ ํฉ๋์์ผ๋ฉฐ, ์ ์ฉ ์ ํ์ต ์๋ ด ์๋๊ฐ ์ฝ ๋ ๋ฐฐ ๋๋ ค์ง์ง๋ง ๊ณผ์ ํฉ์ ํฌ๊ฒ ์ค์ด๋ฆ.
์ ๋ฆฌ
ํญ๋ชฉ ๋ด์ฉ ๋ฌธ์ ํ๋ผ๋ฏธํฐ 60M โ ๋ฐ์ดํฐ(120๋ง ์ฅ)๋ก๋ ๊ณผ์ ํฉ ์ฌ๊ฐ ํด๊ฒฐ์ฑ 1 Data Augmentation โ ๋ฌด์์ crop & ์ข์ฐ ๋ฐ์ (ํ๋ จ ๋ฐ์ดํฐ 2048๋ฐฐ ํ์ฅ) ย โ PCA ๊ธฐ๋ฐ ์์ ์ฆ๊ฐ (์กฐ๋ช ยท์ ๋ณํ ๋ถ๋ณ์ฑ ๋ฐ์) ย ํจ๊ณผ1 crop ์์ผ๋ฉด ๊ณผ์ ํฉ ์ฌ๊ฐ / ์์ ์ฆ๊ฐ ์ top-1 ์ค๋ฅ์จ 1%โ ํด๊ฒฐ์ฑ 2 Dropout โ ํ์ต ์ ๋ด๋ฐ์ ํ๋ฅ 0.5๋ก ์ ๊ฑฐ ย โ ๋ด๋ฐ ๊ฐ ๊ณต์ ์(co-adaptation) ๋ฐฉ์ง ย โ ์ผ๋ฐํ ์ฑ๋ฅ โ, ํ์ง๋ง ์๋ ด ์๋ ์ฝ 2๋ฐฐ ๋๋ ค์ง ย ์ ์ฉ ์์น Fully-connected 1, 2์ธต
๐ 5. Details of learning
5. ํ์ต ์ธ๋ถ์ฌํญ
- **ํ๋ฅ ์ ๊ฒฝ์ฌํ๊ฐ๋ฒ(SGD)**์ผ๋ก ํ์ต. ๋ฐฐ์น ํฌ๊ธฐ 128, ๋ชจ๋ฉํ 0.9, ๊ฐ์ค์น ๊ฐ์ (weight decay) 0.0005๋ก ์ค์ .
- ์์ weight decay๋ ๋จ์ํ ์ ๊ทํ ์ด์์ ์ญํ ์ ํ์์ โ ๋ชจ๋ธ์ด ์ค์ ๋ก ํ์ต์ ํ๋๋ก ๋์์ฃผ์์.
- ๊ฐ์ค์น ์ด๊ธฐํ: ๊ฐ ๊ณ์ธต์ ๊ฐ์ค์น๋ ํ๊ท 0, ํ์คํธ์ฐจ 0.01์ Gaussian ๋ถํฌ์์ ์ํ๋ง.
- Bias ์ด๊ธฐํ: ๋ ๋ฒ์งธ, ๋ค ๋ฒ์งธ, ๋ค์ฏ ๋ฒ์งธ convolutional layer์ fully-connected hidden layer์ ๋ด๋ฐ bias๋ ์์ 1๋ก ์ด๊ธฐํ. (bias = 1 : ReLU ๋ด๋ฐ์ด ์ด๊ธฐ ํ์ต ๋จ๊ณ์์ ์์ ์ ๋ ฅ์ ๋ ์ ๋ฐ๊ฒ ๋์ด ํ์ต์ด ๋นจ๋ผ์ง๋ ํจ๊ณผ). ๋๋จธ์ง layer์ bias๋ 0์ผ๋ก ์ด๊ธฐํ.
- ํ์ต๋ฅ ์ค์ผ์ค: ๋ชจ๋ layer์ ๋์ผํ ํ์ต๋ฅ ์ ์ฌ์ฉํ์ผ๋ฉฐ, ํ์ต ์ค ์๋์ผ๋ก ์กฐ์ . ๊ฒ์ฆ ์ค๋ฅ(validation error)๊ฐ ๊ฐ์ ๋์ง ์์ผ๋ฉด ํ์ต๋ฅ ์ 10๋ฐฐ ๋ฎ์ถค. ์ด๊ธฐ ํ์ต๋ฅ ์ 0.01์ด์๊ณ , ์ข ๋ฃ ์ ๊น์ง ์ด ์ธ ๋ฒ ๋ฎ์ถค.
- ์ ์ฒด ํ์ต์ ์ฝ 120๋ง ์ฅ์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ์ 90 epoch ์ํํ๋ ๋์ ์งํ๋์์ผ๋ฉฐ, 3GB ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง NVIDIA GTX 580 GPU ๋ ์ฅ์์ 5~6์ผ์ด ์์๋จ.
This post is licensed under CC BY 4.0 by the author.





