[๋ ผ๋ฌธ์ ๋ฆฌ๐] Going Deeper with Convolutions
Going deeper with convolutions
-GoogLeNet(Inception-v1)-
๋ ผ๋ฌธ์๋ณธ๐
GoogLeNet ์ฝ๋๊ตฌํ ํ์ด์ง. => GoogLeNet
0. ์์ฝ
- โinceptionโ ์ด๋ผ๋ deep convolution neural network๋ฅผ ์ ์ํ๋ค. ์ด inception์ ํน์ง์ ๋คํธ์ํฌ ์์์ ์ปดํจํฐ ๋ฆฌ์์ค์ ํ์ฉ์ ํฅ์์ํจ๋ค. ์ด๊ฒ์ผ๋ก ๊ณ์ฐ ๋น์ฉ์ ์ ์งํ๋ฉด์ ๋คํธ์ํฌ์ ๊น์ด์ ๋์ด๋ฅผ ์ฆ๊ฐ์ํจ๋ค.
- ILSVRC 2014์ ์ ์ถ ๋ ๋ชจ๋ธ์
22-layer๋ก ์ด๋ฃจ์ด์ง GoogLeNet
์ผ๋ก, classification๊ณผ detection ๋ถ์ผ์์ ๊ทธ ์ฑ๋ฅ์ ํ๊ฐํ๋ค.
1. ๊ฐ์
-
์ต๊ทผ ๋ฅ๋ฌ๋๊ณผ convolutional networks์ ๋ฐ์ ์ผ๋ก ์ด๋ฏธ์ง ์ธ์๊ณผ ๋ฌผ์ฒด์ธ์์ ์ฑ๋ฅ์ด ์์ฒญ๋๊ฒ ํฅ์๋์์ผ๋ฉฐ ์ด๊ฒ์ (1)์๋ก์ด ์์ด๋์ด๋ (2)์๋ก์ด ์๊ณ ๋ฆฌ์ฆ, (3)๊ฐ์ ๋ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ก๋ถํฐ ์ป์ด์ง ๊ฒฐ๊ณผ๋ค์ด๋ค.
-
inception์ย NIN๋ ผ๋ฌธ๊ณผ ํจ๊ป, โwe need to go deeperโ๋ผ๋ ์ ๋ช ํ ์ธํฐ๋ท ๋ฐ์์ ์ ๋ํ ์ด๋ฆ์ด๋ค. ์ด ๋ ผ๋ฌธ์์๋ โdeepโ์ด๋ผ๋ ๋จ์ด๋ฅผ (1) Inception module์ด๋ผ๋ ์๋ก์ด ๊ตฌ์กฐ์ ๋์ ์ด๋ผ๋ ์๋ฏธ์ (2) Network์ depth๊ฐ ๋์ด๋ ๊ฒ ์ด๋ผ๋ ์๋ฏธ๋ก 2๊ฐ์ง์ ๋ป์ผ๋ก ์ฌ์ฉํ๋ค.
-
์ผ๋ฐ์ ์ผ๋ก Inception ๋ชจ๋ธ์ย NIN์ ๋ ผ๋ฆฌ๋ก๋ถํฐ ์๊ฐ์ ์ป์์ผ๋ฉฐ,ย Arora์ ์ด๋ก ์ ์ฐ๊ตฌ๊ฐ ์ง์นจ์ด ๋์๋ค. Inception ๊ตฌ์กฐ์ ์ด์ ์ ILSVRC 2014 classification ๋ฐ detection ๋ถ์ผ์์ ์คํ์ ์ผ๋ก ๊ฒ์ฆ๋์ผ๋ฉฐ, ๋น์์ state-of-the-art๋ณด๋ค ํจ์ฌ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์๋ค.
๐ธ NIN(Network-in-Network)
2. Related Work
์ด ํ์ด์ง์์๋ ์ธ ๊ฐ์ง ์ฃผ๋ชฉํ ๋ด์ฉ์ ์๋์ ๊ฐ๋ค.
โCNN์ ์ ํ์ ์ธ ๊ตฌ์กฐโ
- Convolution layer๋ค์์ contrast normalization์ด๋ max-pooling layer๊ฐ ์ ํ์ ์ผ๋ก ๋ค๋ฐ๋ฅด๋ฉฐ, ํ๋ ์ด์์ FC layer๊ฐ ๋์ค๋ ํํ์ด๋ค.
- ์ด ๊ตฌ์กฐ๋ฅผ ๋ณํํ ๋ชจ๋ธ๋ค์ ์ด๋ฏธ์ง ๋ถ๋ฅ๋ถ์ผ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ MNIST, CIFAR, ImageNet ๋ถ๋ฅ ์ฑ๋ฆฐ์ง์์ ์ข์ ์ฑ๊ณผ๋ฅผ ์ป์๋ค.
โImageNet๊ณผ ๊ฐ์ ํฐ dataset์ ๊ฒฝ์ฐโ
- layer ์์ layer-size ๋๋ฆฌ๋ฉด์ dropout์ ์ฌ์ฉํด์ overfitting์ ํผํ๋ ๊ฒ์ด ์ต๊ทผ์ ์ถ์ธ์๋ค. ๋ํ, Maxpooling layer๊ฐ ๊ณต๊ฐ์ ๋ณด์ ์ ํ์ฑ์ ์์ค์ํจ๋ค๋ ๊ฑฑ์ ์๋ AlexNet์ CNN๊ตฌ์กฐ๋ localization, object detection, human pose estimation๋ถ์ผ์์ ์ฑ๊ณต์ ์ธ ์ฑ๋ฅ์ ๋ณด์๋ค.
โNINโ์
-
์ ๊ฒฝ๋ง์ ํํ๋ ฅ์ ๋์ด๊ธฐ ์ํด Lin et al. ์ด ์ ์ํ ๋ฐฉ์์ด๋ค. ย GoogLeNet์ ๊ฒฝ์ฐ์๋ Inception layer๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต๋์ด 22-layer deep model๋ก ๊ตฌํ๋๋ค. ์ด ๋ชจ๋ธ์ 1x1 conv layer๊ฐ ๋คํธ์ํฌ์ ์ถ๊ฐ๋์ด depth๋ฅผ ์ฆ๊ฐ์ํจ๋ค. 1x1 convolution์ด ๊ฐ์ง๋ ๋ชฉ์ ์ ๋ค์ ๋ ๊ฐ์ง๊ฐ ์๋ค.
- ๋ณ๋ชฉํ์์ ์ ๊ฑฐํ๊ธฐ ์ํ ์ฐจ์์ ์ถ์
- ํฐ ์ฑ๋ฅ์ ์ ํ์์ด ๋คํธ์ํฌ์ width์ depth๋ฅผ ์ฆ๊ฐ์ํค๊ธฐ ์ํด
1x1 convolution๊ณผ ๋ณ๋ชฉํ์(bottleneck) ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ ๋๋ณด๊ธฐ๐ ์ฐธ๊ณ !!
๋๋ณด๊ธฐ๐
๋จผ์ , ๋ณ๋ชฉํ์์ด๋?
์ฌ๋ฌ ํ์์์ ์ฐ์ด๋ ๋จ์ด๋ก ์ปดํจํฐ์ชฝ ์ฉ์ด๋ก๋, ๋ณ์ ๋ชฉ ๋ถ๋ถ์ฒ๋ผ ๋์ ๊ธธ์ด ์ข์์ง์ผ๋ก์จ ์ปดํจํฐ ์ฑ๋ฅ์ด ์ ํ๋๋ ํ์์ ๋งํ๋ค. ์ฝ๊ฒ ๋งํ์๋ฉด, ์์ฉ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์๋ฐ ํ๊บผ๋ฒ์ ๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ์ ์ ๋จ์ผ๋ก์จ ์ปดํจํฐ๊ฐ ๋๋ ค์ง๋ ํ์์ ๋งํ๋ค.
์ด ํ์์ CPU์ GPU๋ก๋ถํฐ ๋ฐ์ํ๋ค. ๊ฐ ํ์์ ๋ํด ์์๋ณด์!
1. CPU bottleneck
cpu bottlenec ํ์์ ํ๋ก์ธ์๊ฐ ์ถฉ๋ถํ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ง ๋ชปํ๊ฑฐ๋ ์ ์กํ์ง ๋ชปํ ๋ ๋ฐ์ํ๋ค. ์ฆ, ๋ฐ์ดํฐ์ ์ ์ก์๋๋ฅผ CPU์ ์ฒ๋ฆฌ์๋๊ฐ ๋ฐ๋ผ๊ฐ์ง ๋ชปํ๋ ๊ฒฝ์ฐ์ ๋ณ๋ชฉํ์์ด ๋ฐ์ํ๋ค.
2. GPU bottleneck
gpu bottleneck ํ์์ entry-level์ ๊ทธ๋ํฝ์นด๋๋ฅผ ๋น ๋ฅธ ํ๋ก์ธ์๋ฅผ ์ ๋ชฉํด ์ฌ์ฉํ๋ฉด ์ผ์ด๋๋ค๊ณ ํ๋ ์ฃผ์ฅ๋ ์๊ณ , ๊ธฐ๋ณธ์ ์ผ๋ก CPU ์ฒ๋ฆฌ๋ฅ๋ ฅ์ด ๋ถ์กฑํ์ฌ GPU ๋ก๋์จ์ด 90%์ดํ๋ก ๋จ์ด์ง๊ณ ํ๋ ์์ด ๊ธ๊ฒฉํ ํ๋ฝํ๋ ์ ๋์ ์ํฉ์ด ๋ฐ์ํ๋ ์ ๋๊ฐ ๋์ผ ๋ณ๋ชฉํ์์ด ๋ฐ์ํ๋ค๊ณ ํ ์ ์๋ค๊ณ ๋ณด๋ ์ฌ๋๋ ์๋ค.
๊ทธ๋ ๋ค๋ฉด 1x1 convolution์ ์์ ๋ณ๋ชฉํ์์ ์ด๋ป๊ฒ ์ ๊ฑฐํ ์ ์์๊น?
๋จผ์ , ์ปจ๋ณผ๋ฃจ์ ์ฐ์ฐ์ ๊ณ์ฐํ๋ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค. (ํ๋ผ๋ฏธํฐ ์๋ ๊ฒฐ๊ณผ๊ฐ ํฌ๊ธฐ๋ฅผ ์๋ฏธํ๋ค)
Convolution Parameters = Kernel Size x Kernel Size x Input Channel x Output Channel
์ด๋ ๊ฒ Channel ๊ฐ์ด ๋ง์์ง๋ ๊ฒฝ์ฐ ์ฐ์ฐ์ ๊ฑธ๋ฆฌ๋ ์๋๋ ๊ทธ๋งํผ ์ฆ๊ฐํ ์ ๋ฐ์ ์๋๋ฐ, ์ด๋ Channel(์ฐจ์)์ ์ถ์ํ๋ ๊ฐ๋ ์ด Bottleneck layer ์ด๋ค.
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค๊ฐ์ 1x1 convolution์ ์ถ๊ฐํจ์ผ๋ก์จ channel์ ์๊ฐ ์ค๋ฉด์ ์ฐ์ฐ๋์ด ํ์ฐํ ๊ฐ์ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. channel์ ์กฐ์ ์ ์ง์ ์ ์ธ ์ฐ์ฐ๋ ๊ฐ์๋ก ์ด์ด์ง๋ฉด์ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํ ๋ ๋ ๊น๊ฒ ๊ตฌ์ฑํ ์ ์๋๋ก ๋์์ ์ค๋ค.(1x1 conv ๋๋ฒ์งธ ๋ชฉ์ ํฐ ์ฑ๋ฅ์ ์ ํ์์ด ๋คํธ์ํฌ์ width์ depth๋ฅผ ์ฆ๊ฐ์ํค๊ธฐ ์ํด) ๋, ์ด๋ ๊ฒ channel์๋ฅผ ์ค์๋ค๊ฐ ๋ค์ ๋๋ฆฌ๋ ๋ถ๋ถ์ bottleneck ๊ตฌ์กฐ๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค.
3. Motivation and High Level Consideration!
GoogLeNet์ด ๋์ค๊ฒ ๋ ๋ฐฐ๊ฒฝ
- DNN์ ํฅ์์ํค๊ธฐ ์ํ ๊ฐ์ฅ ์์ฌ์ด ๋ฐฉ๋ฒ์ โํฌ๊ธฐโ๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฝ๊ณ ๊ฐ๋จํ๋ ๋ ๊ฐ์ง ๋ฌธ์ ๊ฐ ์๋ค.
(1) ๋คํธ์ํฌ์ ํฌ๊ธฐ๊ฐ ์ปค์ ธ parameter๊ฐ ๋์ด๋๋ฉด์ ํ์ต๋ฐ์ดํฐ๊ฐ ์ ์ ๊ฒฝ์ฐ overfitting์ด ์ฝ๊ฒ ์ผ์ด๋๋ค.
(2) ์ปดํจํฐ ์์์ ์ฌ์ฉ๋์ด ๋์ด๋๋ค. -> ์ปดํจํฐ ์์์ ์ ํํ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ ์ฌ์ด์ฆ๋ฅผ ๋๋ฆฌ๋ ๊ฒ๋ณด๋ค๋ ์ปดํจํ ์์์ ํจ์จ์ ์ผ๋ก ๋ถ๋ฐฐํ๋ ๊ฒ์ด ๋ ์ค์ํ๋ค.
๐ ์ด ๋ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ fully connected์์ sparsely connected ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ
ํ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง, ํ์ฌ์ ํ๋์จ์ด๋ก๋ sparseํ ๋งคํธ๋ฆญ์ค ์ฐ์ฐ์ ๋นํจ์จ์ ์ด๋ค. ๋ฐ๋ผ์ ๋ง์ ๋ฌธํ์์๋ sparse ํ๋ ฌ์ ํด๋ฌ์คํฐ๋งํด ์๋์ ์ผ๋ก ๋ฐ๋๊ฐ ๋์ ํ์ dense ํ๋ ฌ๋ก(submatrix)๋ง๋๋ ๊ฒ์ ์ ์
(=> ์ด ๋ถ๋ถ์ ์ฃผ๋ชฉํ์! ๐ก) ํ๋ฉฐ ์ด๊ฒ์ ์ข์ ์ฑ๋ฅ์ ๋๋ค.
4. Architectural Details
Inception๊ตฌ์กฐ์ ์ฃผ ์์ด๋์ด๋ CNN์์ ๊ฐ ์์๋ฅผ ์ต์ ์ local sparce structure๋ก ๊ทผ์ฌํํ๊ณ , ์ด๋ฅผ dense component๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์ด๋ค.
์์ ๋งํ ๊ฒ๊ณผ ๊ฐ๋ค! -> sparse ํ๋ ฌ์ ํด๋ฌ์คํฐ๋งํ์ฌ ์๋์ ์ผ๋ก ๋ฐ๋๊ฐ ๋์ ํ์ dense ํ๋ ฌ๋ก(submatrix)๋ง๋๋ ๊ฒ!
Inception ๊ตฌ์กฐ๋ 1x1, 3x3, 5x5๋ก ์ ํํ์ผ๋ฉฐ module์ ์๋์ ๊ฐ๋ค.
๋จผ์ (a)๋ฅผ ๋ณด๋ฉด 5x5 convolution์ด๋ผ๋ ๋ง์ filter๊ฐ ์์ธ๋ค๋ฉด ๊ณ์ฐ ๋น์ฉ์ด ์ปค์ง๋ค๋ ๋จ์ ์ด ์๋ค.
๋ฐ๋ผ์ (b)์ ๊ฐ์ด 1x1์ ํตํด ์ฐจ์์ ์ถ์ํ์๋ค. 1x1 convolution์ 3x3๊ณผ 5x5 convolution์ด์ ์ ์ฌ์ฉํด ์ฐ์ฐ ๋์ ๊ฐ์์ํจ๋ค.
๐ ์ด ๊ตฌ์กฐ์ ์ด์ ์ ์ฐ์ฐ ๋์ ํฌ๊ฒ ๋๋ฆฌ์ง ์์ผ๋ฉด์ ๋คํธ์ํฌ์ ํฌ๊ธฐ๋ฅผ ๋๋ฆด ์ ์๊ณ convolution ์ฐ์ฐ ์ดํ์ ReLU๋ฅผ ํตํด ๋น์ ํ์ ํน์ง์ ์ถ๊ฐํ ์ ์๋ค.
5. GoogLeNet
์ ์ฒด ๊ตฌ์กฐ์ scheme view
- ์ฐจ์ ์ถ์๋ฅผ ์ํ 1x1 convolution๊ณผ ReLUํจ์
- 1024์ ๋์ ๊ฐ์ง fully-connected layer๊ณผ ReLUํจ์
- Dropout layer๋ drop๋ ๊ฒฐ๊ณผ๋ฌผ์ 70%์ ๋น์จ์ ๊ฐ๋๋ค.
- ๋ถ๋ฅ๊ธฐ๋ก๋ softmax๋ฅผ ์ฌ์ฉํ๋ ์ ํ layer์ ์ฌ์ฉํ๋ค.
Inception module ๋ด๋ถ๋ฅผ ํฌํจํ ๋ชจ๋ Convolution layer์๋ ReLU๊ฐ ์ ์ฉ๋์ด ์๋ค. ๋ํ receptive field์ ํฌ๊ธฐ๋ 224 x 224๋ก RGB ์ปฌ๋ฌ ์ฑ๋์ ๊ฐ์ง๋ฉฐ, mean subtraction์ ์ ์ฉํ๋ค.
์ด์ googlenet์ ๊ตฌ์กฐ๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์์๋ณด์! ํฌ๊ฒ 3๊ฐ์ง์ ๊ตฌ์กฐ๋ก ๋ถ์ํด ๋ณผ ์ ์๋ค.
(1) architecture part 1
๋ฎ์ ๋ ์ด์ด๊ฐ ์์นํ ๋ถ๋ถ์ผ๋ก Inception module์ด ์ฌ์ฉ๋์ง ์์.
ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ํด ๋ฎ์ layer์์๋ ๊ธฐ๋ณธ์ ์ธ CNN ๋ชจ๋ธ์ ์ ์ฉํ๊ณ , ๋์ layer์์ Inception module์ ์ฌ์ฉํ๋ค.
(2) architecture part 2
Inception module์ด๋ฉฐ ๋ค์ํ ํน์ง์ ์ถ์ถํ๊ธฐ ์ํด 1x1, 3x3, 5x5 convolution์ด ๋ณ๋ ฌ์ ์ผ๋ก ์ฐ๊ฒฐ ๋์ด ์์ผ๋ฉฐ 3x3๊ณผ 5x5 convolution ์ด์ ์ 1x1์ ํตํด ์ฐจ์์ ์ถ์ํ๋ ๊ตฌ์กฐ์ด๋ค. Architectural details์์ ์ธ๊ธํ ๊ฒ๊ณผ ๊ฐ๋ค.
(3) architecture part 3
auxiliary classifier๊ฐ ์ ์ฉ๋ ๋ถ๋ถ์ด๋ค.
๋ชจ๋ธ์ ๋ ์ด์ด๊ฐ ๋ง์์ง๋ฉด ์ญ์ ํ๋ฅผ ์ํ ํ ๋ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ผ๋ก ์๋ ดํ๋ gradient vanishing ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๊ฐ layer์ auxiliary classifier๋ฅผ ์ถ๊ฐํ์ฌ, ์ค๊ฐ์ค๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด ์ถ๊ฐ์ ์ธ ์ญ์ ํ๋ฅผ ์ผ์ผ์ผ gradient๊ฐ ์ ๋ฌ๋ ย ์ ์๊ฒ ํ๋ฉด์๋ย ์ ๊ทํ ํจ๊ณผ๊ฐ ๋ํ๋๋๋ก ํ์๋ค.
์ง๋์น๊ฒ ์ํฅ์ ์ฃผ๋ ๊ฒ์ ๋ง๊ธฐ ์ํดย auxiliary classifier์ loss์ 0.3์ ๊ณฑํ์๊ณ ,ย ์ค์ ํ ์คํธ ์์๋ auxiliary classifier๋ฅผ ์ ๊ฑฐย ํ, ์ ์ผ ๋๋จ์ softmax๋ง์ ์ฌ์ฉํ๋ค. ย
(4) architecture part 4
Output์ด ๋์ค๋ ๊ตฌ๊ฐ์ด๋ค. ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด ์ต์ข classifier์ด์ ์ average pooling layer๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ ์ด๋ย GAPย (Global Average Pooling)๊ฐ ์ ์ฉ๋ ๊ฒ์ด๋ค.
GAP๋ย ์ด์ layer์์ ์ถ์ถ๋ feature map์ ๊ฐ๊ฐ ํ๊ท ๋ธ ๊ฒ์ ์ด์ด 1์ฐจ์ ๋ฒกํฐ๋ก ๋ง๋ค์ด ์ค๋ค. (1์ฐจ์ ๋ฒกํฐ๋ก ๋ง๋ค์ด์ค์ผ ์ต์ข ์ ์ผ๋ก ์ด๋ฏธ์ง ๋ถ๋ฅ๋ฅผ ์ํ softmax layer์ ์ฐ๊ฒฐํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.)
6. Training Methodology
์ด ๋ ผ๋ฌธ์ ์๋ asynchronous stochastic gradient descent(SGD)๋ฅผ ์ฌ์ฉํ์์ผ๋ฉฐ momentum = 0.9, learning rate๋ ๋งค 8๋ฒ์ epoch ๋ง๋ค 4% ์ฉ ๊ฐ์ํ๋ ๊ณ ์ ์ค์ผ์ ๊ฐ์ง๋ค.
asynchronous SGD
๋, Polyak averaging์ด inference time์ ์ฌ์ฉ๋๋ final model์ ๋ง๋๋๋ฐ ์ฌ์ฉ๋์๋ค.
Polyak averaging๐
์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ํก๋จํ๋ ํ๋ผ๋ฏธํฐ ๊ณต๊ฐ์ ์ฌ๋ฌ ํฌ์ธํธ๋ค์ ํ๊ท ํ์ํจ๊ฒ์ ํฌํจํ๋ ํ๊ท ์์ด๋ค.
๋ฐ๋ผ์ ๋ง์ฝ ์ต์ ํ ๋์ค ์๊ณ ๋ฆฌ์ฆ์ด $\theta(1), \theta(2), โฆ$๋ฅผ ๋ง๋๊ฒ ๋๋ฉด Polyak averaging์ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค.
ย ย ย ย ย ย ย ย ย ย ย ย $\hat{\theta}^{(t)} = \frac{1}{t} \sum_i \theta^{(i)}$
์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ minima์ ๋๋ฌํ์ง ๋ชปํ ์ฑ valley๋ฅผ ๋ฐ๋ผ ์๋ค๋ก ์ง๋(์ด๋ฆฌ์ ๋ฆฌ ์์ง์)ํ ์ ์๋ค. ํ์ง๋ง ์ด ํฌ์ธํธ๋ค์ ํ๊ท ๊ฐ์ผ๋ก valley์ ํ๋จ,์ฆ minima์ ๊ฐ๊น๊ฒ ๋๋ค. ์์ $\theta(1), \theta(2), โฆ$ ํฌ์ธํธ๋ค์ ํ๊ท ํ๋ ์์ ํฌํจํ๋ค
์ฌ๊ธฐ๋ ์ถ๊ฐ๋ก...
๋ฅ๋ฌ๋์ ์์ด ๋๋ถ๋ถ์ ์ต์ ํ ๋ฌธ์ ๋ ๋ฐ๋ก (1) ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ํด ์ฑํ๋ ๊ธธ์ด ๊ฝค ๋ณต์กํด ๋ณผ๋กํ์ง ์์(non-convex)๊ฒ๊ณผ ๋จผ ๊ณผ๊ฑฐ์ ๋ฐฉ๋ฌธํ ํฌ์ธํธ๊ฐ ํ๋ผ๋ฏธํฐ ๊ณต๊ฐ์ ์ต๊ทผ ํฌ์ธํธ๋ก๋ถํฐ ๊ฝค ๋ฉ์ง๋ ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ด๋ค..
๋ฐ๋ผ์ ๋จผ ๊ณผ๊ฑฐ์ ์ด์ ๊ฐ์ ํฌ์ธํธ๋ฅผ ํฌํจ์ํค๋ ๊ฒ์ ์ค์ฉ์ ์ด์ง ์์์ง๋ ๋ชจ๋ฅธ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ polyak average๋ณด๋ค๋ exponentially decaying running average๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ด๋ Polyak-Ruppert Averaging์ด๋ผ๊ณ ํ๋ค.
Inference Time๐
์ง์ญํ์๋ฉด ์ถ๋ก ์๊ฐ์ด๋ผ๋ ๊ฒ์ธ๋ฐ, ํ๋์ frame์ detectionํ๋๋ฐ ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์ inference time
์ด๋ผ๊ณ ํ๋ค.
์์์ image๋ค์ ์ฐ์์ ์ธ ์งํฉ์ด๋ค. FPS๋ ์ด๋น detectionํ๋ ๋น์จ์ ์๋ฏธํ๋ค. ๋ง์ฝ, ์ด๋น 20๊ฐ์ frame์ ๋ํด detection์ ์ํํ๋ฉด 20fps ๋ผ๊ณ ํ๋ค. ์ฌ๋๋ค์ด ์์ฐ์ค๋ฝ๊ฒ ์ธ์ํ๋ ์์์ fps๋ 30fps์ด๋ค. ๋ฐ๋ผ์ ์ด๋น ์ฐ์์ ์ธ frame์ 30๊ฐ ์ด์ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉด ๋๊ธฐ์ง ์๋ ์์ฐ์ค๋ฌ์ด ์์์ด๋ผ๊ณ ์ธ์ํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ Object Detection๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ ๋ (m)AP๊ฐ๋ ๋ ์ค์ํ์ง๋ง inference time๋ ์ค์ํ๊ฒ ์๊ฐํ๋ค. ๊ทธ๋์ ์ฌ๊ธฐ์ ๋ง์ง๋ง ๋ชจ๋ธ๋ก inference time์ ์ธก์ ํ๋๋ณด๋ค!
GoogLeNet์ ์ฝ๋๋ก ๊ตฌํํ๊ฒ์ ์ ๋ฆฌํ ํ์ด์ง์ด๋ค. => GoogLeNet
์ฐธ๊ณ
[1] https://sike6054.github.io/blog/paper/second-post/
๋๊ธ๋จ๊ธฐ๊ธฐ