Jayden1116
Jayden`s LifeTrip ๐Ÿ”†
Jayden1116
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • Jayden`s (481)
    • ๐Ÿฏ Hello, Jayden (144)
      • ์ผ๊ธฐ (1)
      • ์‹ ๋ฌธ (121)
      • ์Œ์•… (6)
      • ๊ฒฝ์ œ (16)
    • ๐Ÿ’› JavaScript (88)
      • ์ด๋ชจ์ €๋ชจ (4)
      • ๋ฐฑ์ค€ (44)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (40)
      • ๋ฒ„๊ทธ (0)
    • ๐ŸŽญ HTML CSS (6)
      • ํํŠธ๋ฏ€๋ฅด (2)
      • ํฌ์Šค์Šค (4)
    • ๐Ÿ’ป CS (13)
      • ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (1)
      • ๋„คํŠธ์›Œํฌ (9)
      • ์šด์˜์ฒด์ œ (1)
      • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (0)
      • ๋””์ž์ธ ํŒจํ„ด (1)
    • ๐Ÿ Python (71)
      • ๋ฐฑ์ค€ (67)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
    • ๐Ÿ’ฟ Data (156)
      • ์ด๋ชจ์ €๋ชจ (65)
      • ๋ถ€ํŠธ์บ ํ”„ (89)
      • ๊ทธ๋กœ์Šค ํ•ดํ‚น (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ”ด ๋ธ”๋กœ๊ทธ(ํ™ˆ)
  • ๐Ÿฑ Github
  • ๊ธ€์“ฐ๊ธฐ
  • ํŽธ์ง‘
hELLO ยท Designed By JSW.
Jayden1116

Jayden`s LifeTrip ๐Ÿ”†

๐Ÿ’ฟ Data/๋ถ€ํŠธ์บ ํ”„

[TIL] 82. ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง(CNN) ๋ฐ ์ „์ด ํ•™์Šต(Transfer Learning)

2022. 3. 10. 23:10

ํ‚ค์›Œ๋“œ

  • CNN(Convolutional Neural Network)
  • padding, stride, filter
  • Pooling
  • Transfer Learning
  • Image Data Augmentation

CNN(Convolutional Neural Network ; ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง)

  • ์ปดํ“จํ„ฐ ๋น„์ „์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์‹ ๊ฒฝ๋ง
  • ์ด๋ฏธ์ง€์˜ ๊ณต๊ฐ„์ ์ธ ํŠน์„ฑ์„ ์ตœ๋Œ€ํ•œ ๋ณด์กดํ•˜๋ฉฐ ํ•™์Šตํ•˜๊ธฐ์— ์ข‹์Œ

[CNN]๊ตฌ์กฐ

image

ํฌ๊ฒŒ ํŠน์ง• ์ถ”์ถœ ๋ถ€๋ถ„ ๊ณผ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ์‹ ๊ฒฝ๋ง ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[CNN] ํŠน์ง• ์ถ”์ถœ ๋ถ€๋ถ„

[CNN] ํ•ฉ์„ฑ๊ณฑ(Convolution)

  • ๊ฒฉ์ž ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ๊ฒฉ์ž์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ํ•ฉ์„ฑ๊ณฑ์„ ์ง„ํ–‰ํ•ด๋‚˜์•„๊ฐ‘๋‹ˆ๋‹ค.
  • ํ•„ํ„ฐ์˜ ๊ฒฉ์ž ๊ฐฏ์ˆ˜๊ฐ€ ๊ณง ๊ฐ€์ค‘์น˜๋“ค์ด ๋ฉ๋‹ˆ๋‹ค.
  • ex) ํ•„ํ„ฐ (5, 5), ํ•„ํ„ฐ ๊ฐฏ์ˆ˜ 3, ์ฑ„๋„ ์ˆ˜ 3 ์ผ ๋•Œ ์ด ๊ฐ€์ค‘์น˜ ๊ฐฏ์ˆ˜๋Š” 5 * 5 * 3 * 3 = 225 ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

image

[ํ•ฉ์„ฑ๊ณฑ]ํŒจ๋”ฉ(Padding)

  • ์œ„์—์„œ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€๋ฅผ slidingํ•  ๋•Œ, ์ฝ”๋„ˆ์— ์žˆ๋Š” ๊ฒฉ์ž๊ฐ’์€ ๊ทธ ํ™œ์šฉ๋„๊ฐ€ ๋งค์šฐ ๋–จ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด (0, 0)์— ์œ„์น˜ํ•œ ๊ฐ’์€ ์ฒซ๋ฒˆ์งธ ํ•„ํ„ฐ๋ฅผ ๊ฑฐ์น˜๋Š” ๊ฒƒ๋ง๊ณ ๋Š” ๊ฑฐ์ณ๊ฐ€๋Š” ํ•„ํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ํ…Œ๋‘๋ฆฌ์— ์ฃผ๋กœ 0์„ ๋‘˜๋Ÿฌ์ฃผ๊ณ  ํ•ฉ์„ฑ๊ณฑ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ๊ฒฉ์ž๊ฐ’์„ ๋” ์ž˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์ถœ๋ ฅ๋˜๋Š” Feature map์˜ shape ์„ input๊ณผ ๋™์ผํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

[ํ•ฉ์„ฑ๊ณฑ]์ŠคํŠธ๋ผ์ด๋“œ(Stride)

  • ํ•„ํ„ฐ๊ฐ€ sliding ์‹œ ์›€์ง์ด๋Š” ๊ฐ„๊ฒฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • stride์˜ ๊ฐ’์— ๋”ฐ๋ผ์„œ๋„ ์ถœ๋ ฅ๋˜๋Š” Feature map์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Feature map์˜ ํฌ๊ธฐ(ํ•ฉ์„ฑ๊ณฑ output์˜ ํฌ๊ธฐ)

  • ํ•„ํ„ฐ ํฌ๊ธฐ(Filter size), ํŒจ๋”ฉ(Padding), ์ŠคํŠธ๋ผ์ด๋“œ(Stride)์— ๋”ฐ๋ฅธ Feature map ํฌ๊ธฐ ๋ณ€ํ™”

$$
N_{\text{out}} = \bigg[\frac{N_{\text{in}} + 2p - k}{s}\bigg] + 1
$$

$N_{\text{in}}$ : ์ž…๋ ฅ๋˜๋Š” ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ(=ํ”ผ์ฒ˜ ์ˆ˜)
$N_{\text{out}}$ : ์ถœ๋ ฅ๋˜๋Š” ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ(=ํ”ผ์ฒ˜ ์ˆ˜)
$k$ : ํ•ฉ์„ฑ๊ณฑ์— ์‚ฌ์šฉ๋˜๋Š” ์ปค๋„(=ํ•„ํ„ฐ)์˜ ํฌ๊ธฐ
$p$ : ํ•ฉ์„ฑ๊ณฑ์— ์ ์šฉํ•œ ํŒจ๋”ฉ ๊ฐ’
$s$ : ํ•ฉ์„ฑ๊ณฑ์— ์ ์šฉํ•œ ์ŠคํŠธ๋ผ์ด๋“œ ๊ฐ’

[CNN] ํ’€๋ง(Pooling)

  • ์ฃผ๋กœ ํ•ฉ์„ฑ๊ณฑ ๊ณผ์ • ์ดํ›„ ์ง„ํ–‰๋˜๋Š” ๊ณผ์ •
  • ๊ฐ€๋กœ, ์„ธ๋กœ ๋ฐฉํ–ฅ์˜ ๊ณต๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•จ์ด๋ฉฐ Max pooling(์ตœ๋Œ€๊ฐ’ ์„ ํƒ)๊ณผ Average pooling(ํ‰๊ท ๊ฐ’ ์„ ํƒ)์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

image

  • ํ’€๋ง ๋˜ํ•œ stride์˜ ๊ฐœ๋…์ด ์žˆ์ง€๋งŒ ์ฃผ๋กœ ํ’€๋งํ•˜๋Š” ๊ฒฉ์ž์˜ ํฌ๊ธฐ์™€ ๋™์ผํ•˜๊ฒŒ ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ํ’€๋ง ์ธต์—์„œ๋Š” ํ•™์Šตํ•ด์•ผํ•  ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๊ณ  ์ฑ„๋„ ์ˆ˜๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

[CNN] ์™„์ „ ์—ฐ๊ฒฐ ์‹ ๊ฒฝ๋ง(Fully connected Layer) = ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ์‹ ๊ฒฝ๋ง ๋ถ€๋ถ„

  • ํ•ฉ์„ฑ๊ณฑ ๊ณผ์ • ์ดํ›„ ๋ฌธ์ œ์— ๋”ฐ๋ผ ์ •์˜๋˜๋Š” ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋กœ MLP(๋‹ค์ธต ํผ์…‰ํŠธ๋ก ) ์‹ ๊ฒฝ๋ง์œผ๋กœ ๊ตฌ์„ฑ์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ํ’€์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ์— ๋”ฐ๋ผ ์ถœ๋ ฅ์ธต์„ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๊ฐœ๋…

์ธต์ด ๊นŠ์–ด์งˆ์ˆ˜๋ก ํ•„ํ„ฐ๋Š” ๋” ์ „์ฒด์ ์ธ ํŠน์ง•์„ ์žก๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • ์ฒซ๋ฒˆ์งธ ํ•„ํ„ฐ๋ง์„ ํ•  ๋•Œ๋Š”, ํ•„ํ„ฐ 1๋ฒˆ ํ•ฉ์„ฑ๊ณฑ ๊ณผ์ •์—์„œ ์ด๋ฏธ์ง€์˜ ์„ธ์„ธํ•œ ๋ถ€๋ถ„์„ ๋‹ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์ดํ›„ Convolution layer๊ฐ€ ์Œ“์ผ์ˆ˜๋ก ํ•„ํ„ฐ์— ๋‹ด๊ธฐ๋Š” ์ด๋ฏธ์ง€์˜ ์ •๋ณด๋Š” ๋” ํฐ ๋ฒ”์œ„์˜ ์ด๋ฏธ์ง€๊ฐ€ ๋‹ด๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.(์ ์ฐจ ํฌ๊ธฐ๊ฐ€ ์ค„๋ฉด์„œ ์ด๋ฏธ์ง€๊ฐ€ ์••์ถ•๋˜๋‹ˆ๊นŒ)

์ „์ด ํ•™์Šต(Transfer Learning)

  • ์‚ฌ์ „ ํ•™์Šต ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์ ธ์™€์„œ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์ฆ‰, CNN์˜ ํŠน์ง• ์ถ”์ถœ ๋ถ€๋ถ„(๊ฐ€์ค‘์น˜)์„ ๊ฐ€์ ธ์™€์„œ ๋’ค์— ์™„์ „ ์—ฐ๊ฒฐ ์‹ ๊ฒฝ๋ง๋งŒ ์›ํ•˜๋Š” ๋ฌธ์ œ์— ๋”ฐ๋ผ ์„ค๊ณ„ํ•œ ํ›„, ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ์•„๋ผ๊ณ , ๋ณต์žกํ•˜๊ฒŒ ๋”ฐ๋กœ ๋ชจ๋ธ๋งํ•  ๊ฒƒ ์—†์ด ์ž˜ ๋งŒ๋“ค์–ด์ง„ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์ „ ํ•™์Šต ๋ชจ๋ธ(Pre-trained Model)

  • ์„ฑ๋Šฅ์ด ์ข‹์€ ๋ชจ๋ธ์„ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต์‹œ์ผœ๋†“์€ ๋ชจ๋ธ
  • ๋Œ€ํ‘œ์ ์œผ๋กœ VGG, GoogLeNet, ResNet ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•(Image Data Augmentation)

  • ๊ฐ–๊ณ  ์žˆ๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํšŒ์ „, ๋ฐ˜์ „, ์ž๋ฅด๊ธฐ, ๋ฐ๊ธฐ ๋ณ€ํ™”, ์ฑ„๋„ ๋ณ€ํ™” ๋“ฑ์„ ํ†ตํ•ด ๋” ๋‹ค์–‘ํ•œ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋‹ค์–‘ํ•˜๊ฒŒ ๋Š˜๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— Data Augmentation์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค.
  • ex) ๊ณ ์–‘์ด๊ฐ€ ๋Š˜ ๊ท€๊ฐ€ ์œ„์— ๋‹ค๋ฆฌ๊ฐ€ ์•„๋ž˜์— ์žˆ๋Š” ์‚ฌ์ง„๋งŒ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์„ ํ†ตํ•ด ๋” ๋‹ค์–‘ํ•œ ์‚ฌ์ง„์„ ๊ณ ์–‘์ด๋กœ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  : CNN

'๐Ÿ’ฟ Data > ๋ถ€ํŠธ์บ ํ”„' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 84. AutoEncoder  (0) 2022.03.14
[TIL] 83. Image Segmentation, Object Detection/Recognition  (0) 2022.03.12
[TIL] 81. Section4 Sprint2  (0) 2022.03.09
[TIL] 80. Transformer  (0) 2022.03.09
[TIL] 79. ์ธ์ฝ”๋”-๋””์ฝ”๋”, Attention  (0) 2022.03.08
    '๐Ÿ’ฟ Data/๋ถ€ํŠธ์บ ํ”„' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [TIL] 84. AutoEncoder
    • [TIL] 83. Image Segmentation, Object Detection/Recognition
    • [TIL] 81. Section4 Sprint2
    • [TIL] 80. Transformer
    Jayden1116
    Jayden1116
    ์•„๋งˆ๋„ ํ•œ๋ฒˆ ๋ฟ์ธ ์ธ์ƒ์„ ์—ฌํ–‰ ์ค‘์ธ Jayden์˜ ์ผ์ง€๐Ÿ„๐ŸŒŠ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”