2023. 10. 6. 23:16ใArtificialIntelligence/2023GoogleMLBootcamp
Why look at case studies?
Classic Networks
LeNet
- ํ์ฌ๋ 1000๋ฐฐ ์ด์ ๋ ๋ง์ params
- layer๊ฐ ์งํ๋ ์๋ก nh, nw๋ ์ค์ด๋ค๊ณ , nc (์ฑ๋์ ์)๋ ์ฆ๊ฐํ๋ ๊ตฌ์กฐ
- conv์ pooling์ด ๋ฒ๊ฐ์๊ฐ๋ฉด์ ์ํ๋๋ค. (ํ๋ง ์งํํ ๋๋ ์ฑ๋ ์ ์ ์ง)
- ์ฑ๋์ ์ == ์ด์ ๋ ์ด์ด์ ํํฐ ์
- ๋๋จ์ softmax activation func์ ํ์ฉํ์ฌ y' target ์์ธก
AlexNet
- LeNet๊ณผ ์ ์ฌํ ๊ตฌ์กฐ์ด๋, ํจ์ฌ ๋ ํฌ๋ค (params 1000๋ฐฐ ์ฆ๊ฐ)
- ReLU activation func ํ์ฉ
- multiple GPU ๋ณ๋ ฌ์ฒ๋ฆฌ
- Local Response Normalization (LRN) ํ์ฉ -> ํ pixel ์ก์์, ์ฑ๋ (256) ๋ฐฉ๋ฉด์ผ๋ก ๊ธธ๊ฒ normalization
-> ํ์ฌ๋ ์ ์ฌ์ฉํ์ง ์๋ ๋ฐฉ๋ฒ
+ CV ๋ถ์ผ, ๋ฐ ์ฌ๋ฌ ๋ถ์ผ์์ ๋ฅ๋ฌ๋์ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฌ์ค AlexNet
VGG
- simpleํ ๊ตฌ์กฐ์ด๋, layer๋ฅผ ๊น๊ฒ ์์๋ค.
- 138M parameters
- ๊น์ด์ง์๋ก H, W๋ ์ค์ด๋ค๊ณ , C๋ ๋์ด๊ฐ๋ ๊ฒ์ด conv์ ๊ตฌ์กฐ!
ResNets
skip connection / short cut ์ฐ๊ฒฐ
input์ ํ๋ฐ๋ถ์ ๊ทธ๋๋ก ๋ค์ ๋ํด์ค์ผ๋ก์จ
gradient vanishing ๋ฌธ์ ๋ฅผ ๊ฐ์ + ํจ์ฌ ๋ ๋ง์ด ์์ ์ ์๊ฒ ๋์๋ค.
g๋ activation func์ผ๋ก ReLU๋ฅผ ๋งํ๋ค.
์ฆ, skip connection์ input ๊ฐ์ ReLU ํต๊ณผ ์ ์ ๋ํด์ง
์ด์ฒ๋ผ short cut ์ฐ๊ฒฐ์ด ๋ํด์ง๋ฉด residual block์ด ๋จ
์์ ๊ฒฝ์ฐ 5๊ฐ์ residual block์ด ์๋ ๊ฒ
ResNet์ ๊ฒฝ์ฐ, ๋งค์ฐ ๋ง์ layer๋ฅผ ์์์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ค.
Deeper Network -> doing well
Why ResNets Work?
๋ง์ residual block์ ์์๋, ๋คํธ์ํฌ์ ์ฑ๋ฅ์ ํด์น์ง ์๋ ์ด์
identity func์ ๋ํ๋ ๊ฒ๊ณผ ์ ์ฌํ ๊ธฐ๋ฅ์ ํ๊ธฐ ๋๋ฌธ์
์ฆ ์ด์ ์ a[l]๊ณผ ์ ์ฌํ a[l+1]์ด ๋์ด, ๋คํธ์ํฌ์ ๋ถ๋ด์ด X
(weight์ bias๊ฐ 0์ ๊ฐ๊น์ด ์์ ๊ฐ์ด๋ผ๋ ๊ฐ์ ํ์)
a[l] ์ฐจ์๊ณผ, a[l+2]์ ์ฐจ์์ ๋ง์ถฐ์ฃผ๊ธฐ ์ํ์ฌ
๋ง์ฝ์ ๋์ ์ฐจ์์ด ๋ค๋ฅด๋ค๋ฉด, a[l]์ ์ ์ ํ ์ฐจ์์ W๋ฅผ ๊ณฑํ์ฌ
๋์ ์ฐจ์์ ๋์ผํ๊ฒ ๋ฐ๊พธ์ด์ค๋ค
๋ง์ง๋ง์ FC -> for softmax
Networks in Networks and 1x1 Convolutions
1 X 1์ ์ฌ์ฉํ๊ฒ ๋๋ฉด, ํ ํฝ์ ์ ๋ํ์ฌ ์ฑ๋ ๋ฐฉํฅ์ผ๋ก,
ํ๋์ ๋ด๋ฐ์ผ๋ก ์ฐ์ฐํ์ฌ, ๊ฐ์ ๋์ถํ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋ค.
์ด 1 X 1์ ํํฐ ์๊ฐ ์ถ๋ ฅ์ ๋ง์ง๋ง ์ฐจ์์ด ๋๋ ๊ฒ
๋ง์ฝ์ ๋ด๋ฐ์ด ์ฌ๋ฌ๊ฐ์๋ค๋ฉด (1๊ฐ๊ฐ ์๋๋ผ)
์ฐ๋์ ์ฐจ์ ๋ฐฉํฅ์ผ๋ก ๋ ์ด์ด๊ฐ ์์ด๊ฒ ๋๋ค.
์ด๊ฒ์ด 1 X 1 conv (Network in network)์ concept
shrink number of channel
์ฐจ์์ ์ค์ฌ์ฃผ๋ ์ญํ ์ ํ ์ ์๋ค.
1 X 1 ํํฐ์ ์๋ฅผ ํตํด ์ฐจ์ ์ถ์ ๊ฐ๋ฅ
Inception Network Motivation
์ฌ๋ฌ conv layer๋ค์ ๊ฒฐ๊ณผ๋ฅผ concatํ์ฌ output
๊ฐ size๋ง๋ค channel ์์ ๋ฐ๋ผ, 64, 128, 32, 32๊ฐ์ output์ด ๋์ค๊ณ
์ด๊ฑธ ๋ค ๋ํด์ 256๊ฐ์ layer๋ฅผ ๊ฐ๋ next layer๊ฐ ๋์ถ๋๋ค.
+ 28 * 28๋ก ์ ์ง / ๋ฐ๋ผ์ ๋ชจ๋ same conv
์ด cost๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๋๊ฐ?
์ด๊ฑฐ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ
output dim * conv * ์ด์ layer ์ฑ๋ ์ (192)
28 28 32 * 5 5 * 192
1 X 1 ์ ํ์ฉํ์ฌ bottle neck ๊ตฌ์กฐ
์ค๊ฐ์ ํํฐ์๋ก ์ฐจ์์ ํ ์ฃฝ์ธ๋ค
parameter ์๋ฅผ ํ๊ธฐ์ ์ผ๋ก ์ค์ผ ์ ์๋ค
Inception Network
max pooling์ ๊ฒฝ์ฐ, same -> 28 * 28 * 192 (channel์๋ ์ ์ง๋จ)
input๊ณผ ๋์ผํ ๋งค์ฐ ํฐ ์ฐจ์์ด output
์ด๋, 1 X 1 conv layer๋ฅผ ํ์ฉํ์ฌ ์ฑ๋ ์๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ฐจ์์ ์ถ์์ํจ๋ค.
์ ํ๋ง๋ง ๋์ค์ 1 X 1์ ์ ์ฉ์ํค๋๊ฑธ๊น . . ? (conv๋ ์ ์ฒ๋ฆฌ์ฒ๋ผ ์ฐ์๋๋ฐ)
inception block ๊ตฌ์กฐ๊ฐ ๋ฐ๋ณต๋๋ ํํ์ ๋คํธ์ํฌ
๋ณด์กฐ ํ์ต๊ธฐ๊ฐ ๋ถ๋๋ค
์ ์ด๋ฆ์ด ์ธ์ ์ net์ธ๊ฐ?
์ธ์ ์ ์ํ ๋ฐ์ ๊ฐ์ ธ์๋ค! :)
์ ์ธ์ ์ ๋ณด๊ณ ์ถ๋ค. . .
MobileNet
๋ ์ ํ์ ์ธ ํ๊ฒฝ์์๋ ๋์ ๊ฐ๋ฅํ NN
์ผ๋ฐ์ ์ธ conv์ ๊ฒฝ์ฐ
์ด๋ค ๋ฐฉ์์ผ๋ก computational cost๊ฐ ๋ฐ์ํ ๊น? ์ ๋ํ ๊ณ ์ฐฐ
์ด๋ป๊ฒ ์ด ๋ step์ผ๋ก ๋๋๋๊ฐ?
R G B ํํฐ ๋ณ ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง๋ ๊ณผ์
pointwise conv๊ฐ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๋๊ฐ?
ํํฌ์ 1 X 1 ๋ ๋์ผํ๊ฒ ์ฐ์ฐ์ด ๋๋ค
์ด๋ป๊ฒ ์ฐจ์์ 3 -> 5๋ก ๋๋ฆฌ๋๊ฐ?
ํํฌ์ ์ฐจ์ ์ !
ํํฌ์์ 5๊ฐ ์ฐ๋ฉด -> ๊ฒฐ๊ณผ ์ฑ๋ dim์ด ๋๋ ๊ฒ
๋ ๋์ ์ถ๋ก ์๊ฐ์ ๊ฐ์ง ์ ์๋ ์ด์
depthwise์ pointwise๋ก ๋๋์ด, ๋ํด์ง๋ฉด์
computational cost๊ฐ ํ๊ธฐ์ ์ผ๋ก ์ค์ด๋ ๋ค (30%)
MobileNet Architecture
depthwise์ pointwise๋ก ๋๋์ด
computational cost๋ฅผ ํ๊ธฐ์ ์ผ๋ก ์ค์ธ๊ฒ์ด key
bottlenet block ๊ตฌ์กฐ์ ์ฅ์
- expansion์ ํตํด ๋ ์ข์ representation
- memory ๊ด์ ์์
EfficientNet
1. ๋ณด๋ค ๋ ๋์ ํด์๋
resolution์ ๋์ด๊ธฐ
2. depth๋ฅผ ๋ ์์
๋ ๊น์ ๋คํธ์ํฌ
3. width๋ฅผ ๋๋ฆฐ๋ค
๋ธ๋ญ size๋ฅผ ํค์ฐ์
์ ๋ค ๋๋ ค๋ณด๊ธฐ scale up
์ฃผ์ด์ง computational cost ์์์
์ต์ ์ r, d, w๋ฅผ ์ฐพ๊ธฐ ์ํด ์กฐ์ ํ๋ค
'ArtificialIntelligence > 2023GoogleMLBootcamp' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GoogleML] Face Recognition (0) | 2023.10.09 |
---|---|
[GoogleML] Object Detection (1) | 2023.10.09 |
[GoogleML] Convolutional Neural Networks (1) | 2023.10.04 |
[GoogleML] Structuring Machine Learning Projects ์๋ฃ (0) | 2023.10.01 |
[GoogleML] Transfer Learning & End-to-end Deep Learning (0) | 2023.09.30 |