[cs231n] Lecture 9: CNN Architectures

๊ฐ•๋™์—ฐยท2022๋…„ 2์›” 12์ผ
0

[CS231n-2017]

๋ชฉ๋ก ๋ณด๊ธฐ
7/7

๐Ÿ‘จโ€๐Ÿซ ๋ณธ ๋ฆฌ๋ทฐ๋Š” cs231n-2017 ๊ฐ•์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

Syllabus
Youtube Link

๐Ÿคทโ€โ™‚๏ธ ๋ฆฌ๋ทฐ ์ „, 8๊ฐ•์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋Š” ๋”ฐ๋กœ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 8๊ฐ• ๋‚ด์šฉ์€ "Deep Learning Software"์œผ๋กœ ๋”ฅ๋Ÿฌ๋‹์— ๊ด€๋ จ๋œ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "Tensorflow", "PyTorch", "CPU/GPU" ๋“ฑ๋“ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

Today

  • Case Studies
    • AlexNet
    • VGG
    • GoogeLeNet
    • ResNet
  • Also...
    • NiN
    • Wide ResNet
    • ResNeXT
    • Stochastic Depth ....

Case Study: AlexNet

๐Ÿ“Œ AlexNet์€ Image Classification task์—์„œ ์ตœ์ดˆ๋กœ ์‚ฌ์šฉํ•œ CNN network๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ 5๊ฐœ์˜ Conv layer์™€ 3๊ฐœ์˜ FC layer๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ 2๊ฐœ์˜ GPU๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽˆ Input: 227x227x3 images 
๐ŸŽˆ Filter(First layer): 96 11x11 filters with stride 4
๐ŸŽˆ output: 55x55x96 ((227-11)/4 + 1 = 55)
๐ŸŽˆ Paramters: 11*11*3*96 = 35k

๐Ÿ“Œ ์ฒซ๋ฒˆ์งธ ๋ ˆ์ด์–ด์— ๋Œ€ํ•œ ์—ฐ์‚ฐ ๊ณผ์ •์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ๋ฐฐ์› ๋˜ feature size ๊ณ„์‚ฐ๊ณผ parameter ์ˆ˜ ๊ณ„์‚ฐ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์—ฐ์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋‘๋ฒˆ์งธ ๋ ˆ์ด์–ด์ธ Pooling layer์—์„œ๋Š” Depth๋Š” ๋™์ผํ•˜๋ฉฐ feature size์— ๋Œ€ํ•œ ์—ฐ์‚ฐ๋งŒ ์žˆ์„ ๋ฟ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ Pooling layer์€ weight ์—ฐ์‚ฐ์„ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ „๋ฐ˜์ ์ธ network ๊ตฌ์กฐ๋ฅผ ์œ„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์—ฐ์‚ฐ๊ณผ ๋™์ผํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ReLU
  • local response normalization(LRN)(not common anymore)
  • heavy data augmentation(filp, jittering, color...)
  • Dropout(0.5)
  • Batch size 128
  • SGD Momentum(0.9)
  • Learning rate 1e-2, reduced by 10 manually when val accuracy plateaus
  • L2 weight decay 5e-4

๐Ÿ“Œ ๊ณ„๋žต์ ์œผ๋กœ ์œ„์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์€ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•๋“ค์ด๋ฉฐ, LRN ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์ด์ œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ AlexNet์€ 2๊ฐœ์˜ GPU๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ ConV1, 2, 4, 5์—์„œ๋Š” ๊ฐ™์€ GPU๋ผ๋ฆฌ ์—ฐ์‚ฐ์„ ํ–ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ผ๋ถ€์˜ feature map๋งŒ ๋ดค๋‹ค๊ณ  ์ด์•ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด ์™ธ์˜ ๋ ˆ์ด์–ด์—์„œ๋Š” GPU๊ฐ„์˜ ํ†ต์‹ ์„ ํ†ตํ•ด ์ „์ฒด ๋ ˆ์ด์–ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๊ฒฐ๊ณผ์ ์œผ๋กœ ILSVRC'12 ๋Œ€ํšŒ์—์„œ 1๋“ฑ์ด๋ผ๋Š” ์ข‹์€ ์„ฑ๊ณผ๋ฅผ ๋ณด์—ฌ์คฌ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ZFNet์€ ๊ธฐ์กด์˜ AlexNet์˜ ๊ตฌ์กฐ๋Š” ๋™์ผํ•˜์ง€๋งŒ feature map size ๋ฐ channel ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•จ์œผ๋กœ์จ ๊ธฐ์กด์˜ AlexNet๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋งˆ์ง€๋ง‰์œผ๋กœ AlexNet์˜ ๊ตฌ์ฒด์ ์ธ ์ •๋ณด๋Š” ๋…ผ๋ฌธ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Case Study: VGGNet

๐Ÿ“Œ ๋‹ค์Œ์œผ๋กœ๋Š” ILSVRC'14 ๋Œ€ํšŒ์—์„œ 2๋“ฑ์„ ํ•œ VGGNet์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. VGGNet์€ ๋งค์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” network๋ฉฐ classification ์™ธ์—๋„ ๋‹ค๋ฅธ task์—์„œ backbone network๋กœ ๋งค์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ VGG๋Š” ์ž‘์€ ํ•„ํ„ฐ(3x3 filter)์™€ ๊นŠ์€ ๋„คํŠธ์›Œํฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ 8 layers(AlexNet)์• ์„œ 16-19 layers ๊นŒ์ง€ ์ฆ๊ฐ€์‹œ์ผฐ๊ณ , ์˜ค์ง 3x3 filter๋งŒ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์ด์ „์˜ ZFNet๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ VGGNet์—์„œ๋Š” ์™œ 3x3 filter๋งŒ ์‚ฌ์šฉํ–ˆ์„๊นŒ์š”? 3x3 filter 3๊ฐœ๊ฐ€ 7x7 filter์™€ ๊ฐ™์€ receptive field๋ฅผ ๊ตฌ์„ฑํ•˜์ง€๋งŒ, ์˜คํžˆ๋ ค ๋” ์ ์€ ํŒŒ๋ผ๋งˆํ„ฐ ์ˆ˜๊ฐ€ ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์—๋Š” VGG16 ๋„คํŠธ์›Œํฌ์—์„œ์˜ ํ•„์š”ํ•œ memory์™€ parameters ์ˆ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ด๋ฏธ์ง€๋‹น forward pass ๊ธฐ์ค€์œผ๋กœ 96MB๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, 138M ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์œ„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ง•์€ ์ดˆ๊ธฐ Conv layer ์—์„œ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ๋งˆ์ง€๋ง‰ FC layer์—์„œ ๋งŽ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • No Local Response Normalization(LRN)
  • Use VGG16 or VGG19
  • generalize well to other tasks

Case Study: GoogLeNet

๐Ÿ“Œ ๋‹ค์Œ์œผ๋กœ๋Š” ILSVRC'14 ๋Œ€ํšŒ์—์„œ 1๋“ฑ์„ ํ•œ GoogLeNet์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. GoogLeNet์€ Inception module์„ ์‚ฌ์šฉํ•œ Network๋ผ๊ณ  ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ GoogLeNet์€ ๋” ๊นŠ์–ด์ง„ ๋„คํŠธ์›Œํฌ์™€, ์ถ”๊ฐ€์ ์ธ computationmal efficiency๋ฅผ ์ƒ๊ฐํ•œ network๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ GooLeNet์˜ ํ•ต์‹ฌ ๋„คํŠธ์›Œํฌ๋Š” "Inception module"์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ์ด "design a good local network topology"๋ผ๊ณ  ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ "Inception module"์˜ stack์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์—๋Š” Naiveํ•œ Inception module์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ‘๋ ฌ์ ์œผ๋กœ filter์„ ๊ฐ๊ฐ ๋‹ค๋ฅธ filter size๋ฅผ ์—ฐ์‚ฐํ•œ ํ›„์— concatenate(depth-wise) ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ Naiveํ•œ Inception module์—์„œ์˜ ๋ฌธ์ œ๋Š” ๋งค์šฐ ๋น„์‹ผ ์ปดํ“จํŒ… ์—ฐ์‚ฐ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ๋ฐ ์—ฐ์‚ฐ ์ˆ˜๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ๋งŽ์€ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” 1x1 conv layer๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ feature์˜ depth๋ฅผ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ์ด 1x1 filter์„ ์‚ฌ์šฉํ•ด depth๋ฅผ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์™€ ๊ฐ™์ด 1x1 conv layer๋ฅผ ์ถ”๊ฐ€ํ•œ ์ƒˆ๋กœ์šด Inception module๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1x1 conv layer์„ ํ†ตํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์—ฐ์‚ฐ ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ GoogLeNet์˜ ์ดˆ๊ธฐ์—๋Š” Stem Network๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ ์ผ๋ฐ˜์ ์ธ Conv layer์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ดํ›„์—๋Š” Inceptino Modules์˜ Stack์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋˜ํ•œ ์ค‘๊ฐ„์— Auxiliary classification๋ผ๋Š” ๋ณด์กฐ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ด gradient vanishing์„ ์ œ์–ดํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ deepํ•˜๊ฒŒ ๋˜๋ฉด gradient๊ฐ€ ์‚ฌ๋ผ์ง€๋Š”๋ฐ ์ด๋ฅผ ๋ณด์กฐ ๋ถ„๋ฅ˜๊ธฐ์—์„œ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

  • 22 layers
  • Efficient "Inception" module
  • No FC layers
  • 12x less params than AlexNet

๐Ÿ“Œ GoogLeNet์€ ์œ„์™€ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Case Study: ResNet

๐Ÿ“Œ ๋‹ค์Œ์œผ๋กœ๋Š” ILSVRC'15๋…„๋„ 1๋“ฑ์„ ํ•œ ResNet์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋จผ์ € ์ €์ž๋Š” ๋งŒ์•ฝ "plain"ํ•œ CNN์—์„œ ๋งค์šฐ ๊นŠ์€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ•™์Šตํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ๋ผ๋Š” ์˜๋ฌธ์„ ์ œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๊ฐํ•ด๋ณธ๋‹ค๋ฉด Overfitting์ด ๋˜๊ฒ ๋‹ค ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ„์— ๊ทธ๋ž˜ํ”„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ์˜คํžˆ๋ ค ๋‚˜์œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๋ฅผ "degration"์ด๋ผ๊ณ  ๋…ผ๋ฌธ์—์„œ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์„ค๋กœ๋Š” ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์ด ๊นŠ์–ด์งˆ ์ˆ˜๋ก ์ตœ์ ํ™” ํ•˜๊ธฐ์— ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ์œ„์˜ block ๊ตฌ์กฐ๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. H(x)H(x)์„ F(X)+xF(X)+x๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. F(x)=H(x)+xF(x)= H(x) + x๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ 'residual'๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. F(x)F(x)์— input์œผ๋กœ ๋“ค์–ด์˜จ xx๋ฅผ(identity mapping)์„ ๋”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ resnet์˜ ๋ชฉํ‘œ๋Š” residual์„ 0์— ๊ฐ€๊น๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ธฐ์กด์˜ H(x)H(x)๋ฅผ ๊ทผ์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ residual์ธ F(x)F(x)๋ฅผ ๊ทผ์‚ฌํ•œ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ ๋ฐฉ๋ฒ•์€ Overfitting๊ณผ gradient vanishing์— ๋„์›€์ด ๋œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ „์ฒด์ ์ธ ResNet์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์œ„์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ๊ฐœ์˜ residual block์œผ๋กœ ์ด๋ค„์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ResNet์€ ์ตœ๋Œ€ 150 layer ์ •๋„๊นŒ์ง€ ์Œ“์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ๊ธฐ์ ์œผ๋กœ ํ•„ํ„ฐ๋ฅผ ๋‘๋ฐฐ ์”ฉ ๋Š˜๋ฆฌ๊ณ  stride 2๋ฅผ ์ด์šฉํ•ด downsampling์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์ดˆ๋ฐ˜์—๋Š” Conv layer๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ๋ถ™์œผ๋ฉฐ FC layer์€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  GAP๋ฅผ ์‚ฌ์šฉํ•ด 1000๊ฐœ์˜ class๋ฅผ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ResNet์€ 34, 50, 101, 152 depth๋ฅผ ๊ฐ€์ง„ ๋ฒ„์ „๋“ค์ด ์žˆ์œผ๋ฉฐ, 50+์ด๋ฉด ํšจ์œจ์„ฑ์„ ์œ„ํ•ด bottleneck layer๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 1x1 conv lyaer๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๋” ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Batch Normalization after every Conv layer
  • He initialization
  • SGD + Momentum(0.9)
  • lr: 0.1, divided by 10 when valization error plateaus
  • Mini-batch size 256
  • Weight decay of 1e-5
  • No dropout

๐Ÿ“Œ ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋‹ค์–‘ํ•œ CNN ๋„คํŠธ์›Œํฌ๋“ค์˜ ๋น„๊ต ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ๋‹น์—ฐํ•˜๊ฒŒ๋„ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋‚˜์˜จ ResNet์ด ๋‹ค๋ฐฉ๋ฉด์—์„œ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Network in Network(NiN)

๐Ÿ“Œ ์ด ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋ก ๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ, ๊ฐ€์žฅ ๋จผ์ € ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๋Š” ๊ฒƒ์€ NiN ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ Conv layer ์‚ฌ์ด์— micronetwork๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ์ด๋ฅผ MLP๋กœ ๊ตฌ์„ฑํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Improving ResNet

๐Ÿ“Œ ResNet์˜ ๊ฒฝ์šฐ์—๋„ ๊ณ„์†ํ•ด์„œ ์—ฐ๊ตฌ๊ฐ€ ์ด๋ค„์ง€๋Š”๋ฐ ์ด ์ค‘์— ๊ฐ€์žฅ ๋…ผ๋ฌธ์—์„œ ๋งŽ์ด ๋ณด์ด๋Š” RexNeXt์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๊ทธ๋ž˜ํ”„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด residual block์˜ ๋„“์ด ๋ณ‘๋ ฌ์ ์ธ pathways๋กœ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๋Š” inception module๊ณผ ๋น„์Šทํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Beyond ResNet

๐Ÿ“Œ ์ด ์™ธ์—๋„ ResNet์˜ residual๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ชจ๋ธ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์œ„์˜ FractalNet, DenseNet, SqeeuzeNet์€ ๊ฐ๊ฐ์˜ ๊ธ€์„ ์ฝ์–ด๋ณด์‹œ๋ฉด ๋„์›€์ด ๋  ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ๋””ํ…Œ์ผํ•œ ๋ถ€๋ถ„์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๋…ผ๋ฌธ์„ ์ฝ์œผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Summary

๐Ÿ“Œ ์˜ค๋Š˜์€ ๋‹ค์–‘ํ•œ CNN network๋“ค์„ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ์†Œ๊ฐœํ•œ VGG, GoogLeNet, ResNet์€ ๋งค์šฐ ๋‹ค๋ฐฉ๋ฉด์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ผญ ์•Œ์•„์•ผํ•˜๋Š” backbone ๋„คํŠธ์›Œํฌ๋ผ๊ณ  ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค.

profile
Maybe I will be an AI Engineer?

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