AlexNet: ImageNet Classification with Deep Convolutional Neural Networks
๐Ÿ’ฌ

AlexNet: ImageNet Classification with Deep Convolutional Neural Networks

Created
Aug 9, 2022
Editor
Tags
CNN
cleanUrl: 'paper/AlexNet'

0. ์ด ๋…ผ๋ฌธ์„ ์„ ํƒํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ

์ง€๋‚œ 1์ฃผ์ผ๊ฐ„ ์ด ์ฑ…์„ ๊ณต๋ถ€ํ–ˆ๋Š”๋ฐ, ๊ฐ€์žฅ ์—ฐ๊ด€์ด ๊นŠ๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๋…ผ๋ฌธ์„ ๊ณจ๋ž์Šต๋‹ˆ๋‹ค.

1. CNN ์ดํ•ด(๋ณต์Šต)

์ฐธ๊ณ )
[๋”ฅ๋Ÿฌ๋‹ ์•„ํ‚คํ…์ฒ˜] ์ž˜ ์„ค๊ณ„๋œ ๋”ฅ๋Ÿฌ๋‹ ์•„ํ‚คํ…์ฒ˜ ํŠน์ง• 1, 2, 3ํŽธ|์ž‘์„ฑ์ž ์ธํ…”๋ฆฌ์ฆˆ
CNN, Convolutional Neural Network ์š”์•ฝ
์ด ๋…ผ๋ฌธ์„ ์ฝ๊ธฐ ์ „ CNN์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๋ฉด ์ด ๊ธ€๋“ค๋ถ€ํ„ฐ ์ฝ๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค!
  • ๊ฐ„๋‹จํ•œ CNN ์„ค๋ช…
notion image
Fully Connected Layer ๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” 1์ฐจ์›(๋ฐฐ์—ด) ํ˜•ํƒœ๋กœ ํ•œ์ •๋ฉ๋‹ˆ๋‹ค. ํ•œ ์žฅ์˜ ์ปฌ๋Ÿฌ ์‚ฌ์ง„์€ 3์ฐจ์› ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ๋ฐฐ์น˜ ๋ชจ๋“œ์— ์‚ฌ์šฉ๋˜๋Š” ์—ฌ๋Ÿฌ ์žฅ์˜ ์‚ฌ์ง„์€ 4์ฐจ์› ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์‚ฌ์ง„ ๋ฐ์ดํ„ฐ๋กœ ์™„์ „์—ฐ๊ฒฐ(FC, Fully Connected) ์‹ ๊ฒฝ๋ง์„ ํ•™์Šต์‹œ์ผœ์•ผ ํ•  ๊ฒฝ์šฐ์—, 3์ฐจ์› ์‚ฌ์ง„ ๋ฐ์ดํ„ฐ๋ฅผ 1์ฐจ์›์œผ๋กœ ํ‰๋ฉดํ™”์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ‰๋ฉดํ™” ์‹œํ‚ค๋Š” ๊ณผ์ •์—์„œ ๊ณต๊ฐ„ ์ •๋ณด๊ฐ€ ์†์‹ค๋  ์ˆ˜๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด๋ฏธ์ง€ ๊ณต๊ฐ„ ์ •๋ณด ์œ ์‹ค๋กœ ์ธํ•œ ์ •๋ณด ๋ถ€์กฑ์œผ๋กœ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์ด ํŠน์ง•์„ ์ถ”์ถœ ๋ฐ ํ•™์Šต์ด ๋น„ํšจ์œจ์ ์ด๊ณ  ์ •ํ™•๋„๋ฅผ ๋†’์ด๋Š”๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์˜ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์ด ๋ฐ”๋กœ CNN(Convolutional Neural Network)์ž…๋‹ˆ๋‹ค.
ย 
CNN(Convolutional Neural Network)์€ ๊ธฐ์กด Fully Connected Neural Network์™€ ๋น„๊ตํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐจ๋ณ„์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ๋ ˆ์ด์–ด์˜ ์ž…์ถœ๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํ˜•์ƒ ์œ ์ง€
  • ์ด๋ฏธ์ง€์˜ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ธ์ ‘ ์ด๋ฏธ์ง€์™€์˜ ํŠน์ง•์„ ํšจ๊ณผ์ ์œผ๋กœ ์ธ์‹
  • ๋ณต์ˆ˜์˜ ํ•„ํ„ฐ๋กœ ์ด๋ฏธ์ง€์˜ ํŠน์ง• ์ถ”์ถœ ๋ฐ ํ•™์Šต
  • ์ถ”์ถœํ•œ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ๋ชจ์œผ๊ณ  ๊ฐ•ํ™”ํ•˜๋Š” Pooling ๋ ˆ์ด์–ด
  • ํ•„ํ„ฐ๋ฅผ ๊ณต์œ  ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ผ๋ฐ˜ ์ธ๊ณต ์‹ ๊ฒฝ๋ง๊ณผ ๋น„๊ตํ•˜์—ฌ ํ•™์Šต ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งค์šฐ ์ ์Œ
    • ย 
CNN์€ ์œ„ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ง• ์ถ”์ถœ ์˜์—ญ์€ Convolution Layer์™€ Pooling Layer๋ฅผ ์—ฌ๋Ÿฌ ๊ฒน ์Œ“๋Š” ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. Convolution Layer๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ํ•„ํ„ฐ๋ฅผ ์ ์šฉ ํ›„ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ํ•„์ˆ˜ ์š”์†Œ์ž…๋‹ˆ๋‹ค. Convolution Layer ๋‹ค์Œ์— ์œ„์น˜ํ•˜๋Š” Pooling Layer๋Š” ์„ ํƒ์ ์ธ ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. CNN ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—๋Š” ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ Fully Connected Layer๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ถ€๋ถ„ ์‚ฌ์ด์— ์ด๋ฏธ์ง€ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋งŒ๋“œ๋Š” Flatten ๋ ˆ์ด์–ด๊ฐ€ ์œ„์น˜ ํ•ฉ๋‹ˆ๋‹ค.
ย 
CNN์€ ์œ„ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ง• ์ถ”์ถœ ์˜์—ญ์€ Convolution Layer์™€ Pooling Layer๋ฅผ ์—ฌ๋Ÿฌ ๊ฒน ์Œ“๋Š” ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. Convolution Layer๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ํ•„ํ„ฐ๋ฅผ ์ ์šฉ ํ›„ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ํ•„์ˆ˜ ์š”์†Œ์ž…๋‹ˆ๋‹ค. Convolution Layer ๋‹ค์Œ์— ์œ„์น˜ํ•˜๋Š” Pooling Layer๋Š” ์„ ํƒ์ ์ธ ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. CNN ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—๋Š” ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ Fully Connected Layer๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ถ€๋ถ„ ์‚ฌ์ด์— ์ด๋ฏธ์ง€ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋งŒ๋“œ๋Š” Flatten ๋ ˆ์ด์–ด๊ฐ€ ์œ„์น˜ ํ•ฉ๋‹ˆ๋‹ค.

2. AlexNet

๋ชจ๋ธ ์†Œ๊ฐœ

notion image
1๋ฒˆ์งธ ๋‘ ๊ฐœ์˜ ๋ ˆ์ด์–ด๋Š” ์ค‘์ฒฉ ์ตœ๋Œ€ ํ’€๋ง ๋ ˆ์ด์–ด(Max Pooling)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”ํ•œ ์š”์†Œ๋“ค๋งŒ ์š”์•ฝํ•˜์—ฌ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ์„ํ•ฉ๋‹ˆ๋‹ค.
3~ 5๋ฒˆ์งธ ๋ ˆ์ด์–ด๋Š” ์ง์ ‘ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ค‘๊ฐ„๋‹ค๋ฆฌ ์—ญํ• ์˜ ๋ ˆ์ด์–ด๋กœ ํŒŒ๋ผ๋งคํ„ฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์–ด๋“ค์ž…๋‹ˆ๋‹ค.
5 ๋ฒˆ์งธ ๋ ˆ์ด์–ด๋Š” ์ค‘์ฒฉ ์ตœ๋Œ€ ํ’€๋ง ๋ ˆ์ด์–ด(Max Pooling)๊ฐ€ ๋’ค๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ด ๋ ˆ์ด์–ด์˜ ์ถœ๋ ฅ์€ ์™„์ „ํžˆ ์—ฐ๊ฒฐ๋œ ๋ ˆ์ด์–ด(Fully Connected Layer)๋กœ ๋‘ ๊ฐœ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ ˆ์ด์–ด์˜ ๊ฒฝ์šฐ 1~5๋ฒˆ์งธ ์ƒ์„ฑ๋˜์–ด ํ•™์Šต๋œ ๋ฐ์ดํ„ฐ๋“ค์„ FC Layer๋กœ ๋ชจ์•„ Categorizedํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•˜๊ณ  ์ตœ์ข…์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰์œผ๋กœ ์™„์ „ํžˆ ์—ฐ๊ฒฐ๋œ(Fully Connected Layer) ๋‘ ๋ฒˆ์งธ ๋ ˆ์ด์–ด๋Š” 1000 ํด๋ž˜์Šค ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” softmax ๋ถ„๋ฅ˜๊ธฐ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.
Raw Input Data์—์„œ ์ „์ฒด์ ์œผ๋กœ ๋’ค๋กœ ํ๋ฅผ ์ˆ˜๋ก ๊ฐ ์š”์†Œ๋“ค์„ Categorized์‹œํ‚ค๊ณ  ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ ์š”์†Œ๋ณ„๋กœ ์ •๋ฆฌํ•œํ›„ ๊ทธ๊ฒƒ์„ ๋˜ํ•œ ๋ถ„๋ฅ˜ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ๊ฐ ๋ถ„ํ• ํ•˜์—ฌ ๋ถ„๋ฅ˜ํ• ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ์ด ์•Œ๋ ‰์Šค๋„ท ์•„ํ‚คํ…์ฒ˜์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

์˜์˜

Top 5 test error ๊ธฐ์ค€ 15.4%๋ฅผ ๊ธฐ๋กํ•ด ๊ธฐ์กด ํ•œ๊ณ„์น˜์ธ(26.2%)๋ฅผ ํฐ ํญ์œผ๋กœ ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

AlexNet์˜ ๊ตฌ์กฐ์  ํŠน์ง• 7๊ฐ€์ง€

  1. ReLU(๋น„์„ ํ˜• ํ™œ์„ฑํ•จ์ˆ˜)
์‹ค์ œ ์ธ๊ฐ„์˜ ๋‡Œ์ฒ˜๋Ÿผ ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์„ฑํ•œ๋‹ค๋ฉด ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋Š” tanh, sigmoid๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ, ์™œ ReLU๊ฐ€ ์„ฑ๋Šฅ์ด ์ข‹์„๊นŒ์š”? ๊ทธ ์ด์œ ๋Š” ReLU๊ฐ€ non-saturationํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋•Œ non-saturation์ด ๋ฌด์—‡์ผ๊นŒ์š”?
saturation(ํฌํ™”)
sigmoid, tanh ํ•จ์ˆ˜๋Š” ์–ด๋– ํ•œ ๊ฐ’์ด ๋“ค์–ด์™€๋„ -1~1, ํ˜น์€ 0~1 ์‚ฌ์ด์˜ ๊ฐ’์„ ๋ฐฐ์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํฐ ๊ฐ’์ด ๋“ค์–ด์™”์„ ๋•Œ๋„, ์ € ์‚ฌ์ด์˜ ๊ฐ’์„ ๋‚ด๋†“์•„ saturation(ํฌํ™”)๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ReLU๋Š” max(0, x)์ด๋ฏ€๋กœ ์–ด๋– ํ•œ ๊ฐ’์ด ๋“ค์–ด์™€๋„ ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด ํฌ๋ฉด ํด์ˆ˜๋ก ๋”ํฐ gradient๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ReLU์˜ non-saturation์ด stochastic gradient descent์™€ ๊ฒฐํ•ฉ๋˜์–ด ๋”์šฑ๋” ํšจ์œจ์ด ์ฆ๋Œ€๋ฉ๋‹ˆ๋‹ค. feature๊ฐ€ ํฐ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ํฐ gradient๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๊ฒฝ์šฐ ๊ด€์„ฑ์ด ์ƒ๊ฒจ ๋”์šฑ๋” ๋„คํŠธ์›Œํฌ๊ฐ€ ๋นจ๋ฆฌ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ReLU๋Š” ๋ฏธ๋ถ„ํ•˜๊ธฐ์—๋„ ๋‹จ์ˆœํ•˜์—ฌ, ์—ฐ์‚ฐ๋Ÿ‰์˜ ๋ฉด์—์„œ๋„ ์ถฉ๋ถ„ํ•œ ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
notion image
์œ„ ๊ทธ๋ฆผ์„ ๋ณด์‹œ๋ฉด ์‹ค์„ ์ด ReLU๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์ด๊ณ  ์ ์„ ์ด tanh์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.
  1. Training on Multiple GPUs (๋‹ค์ค‘ GPU๋ฅผ ์ด์šฉํ•œ ํ•™์Šต)
AlexNet์€ 2012๋…„ ๋‹น์‹œ ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์— ์‚ฌ์šฉ๋œ ๊ธฐ์กด์˜ CNN๋ณด๋‹ค ํ›จ์”ฌ ์ปธ์Šต๋‹ˆ๋‹ค(์˜ˆ: Yann LeCun์˜ LeNet ๋…ผ๋ฌธ 1998). ์ด๋Š” 6์ฒœ๋งŒ ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ 650,000๊ฐœ์˜ ๋‰ด๋Ÿฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ GTX 580 3GB GPU ๋‘ ๊ฐœ์—์„œ ํ•™์Šตํ•˜์—ฌ 5-6์ผ์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์— CPU๋กœ ํ•™์Šตํ•˜์˜€๋”๋ผ๋ฉด 50์ผ 60์ผ์ด ๊ฑธ๋ ธ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค๋งŒ ํš๊ธฐ์ ์œผ๋กœ Mutiple GPUs๋ฅผ ์ด์šฉํ•œ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•์œผ๋กœ ํ•™์Šต์‹œ๊ฐ„์„ ํš๊ธฐ์ ์œผ๋กœ ์ค„์˜€์Šต๋‹ˆ๋‹ค.
  1. Local Response Normalization(์ปค๋„ ์ •๊ทœํ™”) - overfitting ๋ฐฉ์ง€ ๊ธฐ๋ฒ•
Lateral inhibition์ด๋ž€ ๊ฒƒ์„ ์•„์‹ญ๋‹ˆ๊นŒ? ์‹ค์ œ ๋‡Œ ์„ธํฌ์˜ ์ฆ์ƒ์ธ๋ฐ, ๊ฐ•ํ•œ๋‰ด๋Ÿฐ์˜ ํ™œ์„ฑํ™”๊ฐ€ ๊ทผ์ฒ˜ ๋‹ค๋ฅธ ๋‰ด๋Ÿฐ์˜ ํ™œ๋™์„ ์–ต์ œ์‹œํ‚ค๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜ ๊ทธ๋ฆผ์„ ๋ณด์‹œ๋ฉด ๊ฒ€์€ ๋„ค๋ชจ๋“ค ์‚ฌ์ด์— ํšŒ์ƒ‰ ์ ?๋ถ€๋ถ„? ์ด ๋ณด์ผํ…๋ฐ ์ด๋Š” ๊ฒ€์€์ƒ‰ ์‚ฌ๊ฐํ˜•์„ ๋ณด๊ณ  ๋‰ด๋Ÿฐ๋“ค์ด ๊ฐ•ํ•˜๊ฒŒ ๋ฐ˜์‘ํ•˜์—ฌ ํฐ์ƒ‰๋ถ€๋ถ„(์•ฝํ•œ ๋‰ด๋Ÿฐ)์— ๋ฐ˜์‘ํ•˜์—ฌ ํšŒ์ƒ‰์ด ์กฐ๊ธˆ ๋ณด์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์ด๊ฒƒ์ด ์™œ ๋‚˜์™”๋ƒํ•˜๋ฉด, Neural Network์˜ Feature์—์„œ ํ•œ ์„ธํฌ๊ฐ€ ์œ ๋ณ„๋‚˜๊ฒŒ ๊ฐ•ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค๋ฉด, ๊ทผ์ฒ˜์˜ ๊ฐ’์ด ์•ฝํ•˜๋”๋ผ๋„ convolution ์—ฐ์‚ฐ์„ ํ•œ๋‹ค๋ฉด ๊ฐ•ํ•œ feature๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š”๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด over-fitting์ด ์ž˜ ์ผ์–ด๋‚˜๊ฒŒ ๋˜๊ฒ ์ฃ (training dataset์—๋งŒ feature๊ฐ€ ํฌ๊ฒŒ ๋ฐ˜์‘ํ•˜๋‹ˆ๊นŒ)
๊ทธ๋ž˜์„œ ์–ด๋– ํ•œ filter๊ฐ€ ์žˆ์„ ๋•Œ, ๊ทธ ์ฃผ์œ„ ํ˜น์€ ๊ฐ™์€ ์œ„์น˜์— ๋‹ค๋ฅธ channel์˜ filter๋“ค์„ square-sumํ•˜์—ฌ ํ•œ filter์—์„œ๋งŒ ๊ณผ๋„ํ•˜๊ฒŒ activateํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์Šต๋‹ˆ๋‹ค.
์ˆ˜์‹
a^i_x,y๋Š” i๋ฒˆ์งธ kernel์˜ x,y๊ฐ’์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ •๊ทœํ™”๊ฐ€ ์ ์šฉ๋˜์–ด b^i_x,y๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. n์€ ํ•ด๋‹น a์˜ ์œ„์น˜์— spatial positionํ•œ kernel๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. N์€ ์ด kernel ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค. k, alpha, beta๋Š” normalization์„ ์œ„ํ•œ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ์ž…๋‹ˆ๋‹ค.
  1. Overlapping Pooling
์ผ๋ฐ˜์ ์œผ๋กœ max pooling์„ ํ•  ๋•Œ๋Š” ๊ฐ๊ฐ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์˜์—ญ์—์„œ polling ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ AlexNet์€ 3x3 ์˜์—ญ์„ 2ํ”ฝ์…€ ๋‹จ์œ„๋กœ pooling ํ•˜์—ฌ ์กฐ๊ธˆ์”ฉ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋„๋ก pooling ํ•˜์—ฌ, overfitting ํ˜„์ƒ์„ ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  1. Reducing Overfitting(์˜ค๋ฒ„ํ”ผํŒ… ๊ฐ์†Œ)
์•„๋ž˜ ๋‘๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ์˜ค๋ฒ„ํ”ผํŒ…์„ ์ค„์˜€์Šต๋‹ˆ๋‹ค.
ย 
5-1. Data Augmentation(๋ฐ์ดํ„ฐ ํ™•์žฅ)
Over-fitting์„ ๋ง‰๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์€ ๋ฐ์ดํ„ฐ์…‹์˜ ํฌ๊ธฐ๋ฅผ ๋งŽ์ด ๋Š˜์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Data Augmentation์ด๋ž€ ๊ฒƒ์„ ํ†ตํ•ด dataset์„ ๋” ํฌ๊ฒŒ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์‹œํ•˜์˜€์Šต๋‹ˆ๋‹ค.
256x256์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ด๋ฏธ์ง€์—์„œ ๋žœ๋ค์œผ๋กœ 224x224๋กœ ์ด๋ฏธ์ง€๋ฅผ ์—ฌ๋Ÿฌ์žฅ cropํ•˜๊ณ , ์ด๋ฏธ์ง€๋ฅผ filp(์ขŒ์šฐ๋ฐ˜์ „)ํ•œ ์ƒํƒœ์—์„œ๋„ cropํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ 2048๋ฐฐ ๋Š˜์˜€์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ์‹œ์—๋Š” ์ด๋ฏธ์ง€์˜ ๊ฐ€์žฅ์ž๋ฆฌ 4๊ฐœ์™€ ์ •๊ฐ€์šด๋ฐ์—์„œ patch๋ฅผ ๋งŒ๋“ค์–ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ต๊ณผ์‹œํ‚จํ›„ softmax๋ฅผ ํ‰๊ท ๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์— PCA ๋ถ„์„์„ ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์‰ฝ๋„๋ก ๋ณ€ํ™˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
5-2. Dropout(๋„คํŠธ์›Œํฌ ์ƒ๋žต)
Dropout์ด๋ž€ hidden layer์˜ ๋ช‡๋ช‡ ๋‰ด๋Ÿฐ์˜ ๊ฐ’์„ 0์œผ๋กœ ๋ฐ”๊ฟ”๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ neuron์ด "dropped out(ํƒˆ๋ฝ)"๋˜์–ด forward pass, back propagation์‹œ ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด drop out์€ ๋‰ด๋Ÿฐ๋“ค ๊ฐ„์˜ ๋ณต์žกํ•œ ์ƒํ˜ธ์˜์กด๋„๋ฅผ ๋‚ฎ์ถฐ over fitting์„ ๋ง‰์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์‹œ์—๋Š” ๋ชจ๋“  ๋‰ด๋Ÿฐ์„ ์‚ฌ์šฉํ•˜๋˜ output์— 0.5๋ฅผ ๊ณฑํ•˜์—ฌ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
notion image
ย 
[์ฐธ๊ณ ํ•œ ๊ธ€]
๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹1
ย 
ย