Playdata_data_analysis_33๊ธฐ/์ˆ˜์—…๋ณต์Šต

CNN-1

parkjiu 2023. 10. 27. 17:36

CNN

  • ํŠน์ง•์ถ”์ถœ
    • Convolution Layer
      • ์ด๋ฏธ์ง€ ํŠน์ง• ์ถ”์ถœ์— ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.
      • ์ด๋ฏธ์ง€์™€ ํ•„ํ„ฐ ๊ฐ„ ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์„ ํ•ด์„œ ์ด๋ฏธ์ง€ ํŠน์ง•์„ ์ถ”์ถœ. ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ์œ„์น˜๊ฐ€ ๋‹ฌ๋ผ๋„ ๊ฐ™์€ ๊ฒƒ์ด๋ผ๊ณ  ์ธ์‹.๊ทธ๋ž˜์„œ ๊ทธ๋ž˜์„œ ์œ„์น˜๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์ด๋ฏธ์ง€ ์‹๋ณ„ ๊ฐ€๋Šฅ.
      • ๊ฐ’์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์€ ํ•„ํ„ฐ๊ฐ€ ํ‘œํ˜„ํ•˜๋Š” ์ด๋ฏธ์ง€ ํŠน์„ฑ์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ.
      • ๋™์ผํ•œ index ๊ฐ’๋ผ๋ฆฌ ๊ณฑํ•ด์„œ ๋”ํ•ด์คŒ. weight
      • ์˜ˆ์‹œ

      0x1 + 1x0 + 7x1 + 5x1 + 5x2 + 6x0 +5x3 + 3x0 + 3x1 = 40

      ์ด ๋„ค๋ฒˆ ์‹ค์‹œํ•ด์„œ ๊ฒฐ๊ณผ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ.

  • ์ถ”๋ก 
    • Dense Layer
      • ์ด๋ฏธ์ง€์˜ ๊ณต๊ฐ„์  ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•˜๋Š”๋ฐ ์–ด๋ ค์›€. (์œ„์น˜๋งŒ ๋ฐ”๋€Œ์–ด๋„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์ธ์‹)
      • weight๊ฐ€ ๋งŽ์•„ ํ•™์Šต์— ์–ด๋ ค์›€์ด ์žˆ์Œ.
  • Handcraft ๋ฐฉ์‹์˜ filter
    • ์˜์ƒ์œผ๋กœ๋ถ€ํ„ฐ ์œค๊ณฝ์„  ํŠน์„ฑ์„ ์ฐพ๊ธฐ.
    • sobel ํ•„ํ„ฐ
      • X-Direction Kernel : ์ˆ˜ํ‰ ์œค๊ณฝ์„ 
      • Y-Direction Kernel: ์ˆ˜์ง ์œค๊ณฝ์„ 
      • ์ด ํ•„ํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด์„œ ํŠน์„ฑ์„ ์ถ”์ถœํ•˜๊ณ , ์ด ํŠน์„ฑ์„ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ์–ด ํ•™์Šต.
  • Deep learing(CNN)์—์„œ์˜ Filter
    • ์—ฌ๋Ÿฌ ์ธต์„ ์Œ“๋Š”๋‹ค. ์ž‘์€ ์˜์—ญ์—์„œ์˜ ํŠน์ง•โ†’ ํฐ ์˜์—ญ์—์„œ์˜ ํŠน์ง• โ‡’ ๊ฒฐ๊ณผ

Convolution Layer ํด๋ž˜์Šค ๋ฐ ์ž‘๋™ ๋ฐฉ์‹

  • torch.nn.Conv2d
    • Hyper parameter
      • in_channels: ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ channel size.
        • ์ฑ„๋„ ํฌ๊ธฐ๋Š” ์ •ํ•ด์ฃผ์–ด์•ผํ•จ.
        • ์ž…๋ ฅ ์ฑ„๋„ ์ˆ˜๋งŒํผ ํ•„ํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช…์‹œํ•˜๋Š” ๊ฒƒ.
      • out_channels: ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ์˜ channel size
      • kernel_size: filter์˜ ํฌ๊ธฐ
      • padding: ์—ฌ๋ฐฑ์˜ ํฌ๊ธฐ
        • same: input์˜ height์™€ width์™€ ๋™์ผํ•œ output์ด ๋‚˜์˜ค๋„๋ก ํ•˜๋Š” padding (๋ณดํ†ต ์ด๊ฒƒ์„ ์‚ฌ์šฉ)
        • valid: padding์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • input shape
    • ๋ฐ์ดํ„ฐ ์ˆ˜, channel height width ์ˆœ์„œ
  • feature ์ถ”์ถœ ์—ฐ์‚ฐ
    • ํ•„ํ„ฐ์˜ ํฌ๊ธฐ(height, width)๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ •ํ•จ.
    • output์€ ํ•˜๋‚˜์˜ feature map.
  • padding
    • ํŠน์ง•
      • ๊ฐ€์žฅ์ž๋ฆฌ ํ”ฝ์…€์€ convolution ๊ณ„์‚ฐ์— ์ ๊ฒŒ ๋ฐ˜์˜.
      • ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด zero padding. ๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ 0์œผ๋กœ ๋‘˜๋Ÿฌ์‹ธ๋Š” ๊ฒƒ.
      • feature map์˜ ํฌ๊ธฐ ์กฐ์ • ์—ญํ• .
    • Strids
      • filter๊ฐ€ ํ•œ ๋ฒˆ convolution ์—ฐ์‚ฐ์„ ํ•˜๊ณ  ์–ผ๋งˆ๋‚˜ ์ด๋™ํ• ์ง€ ์„ค์ •. ๋ณดํ†ต 1
    • ์ฐธ๊ณ 
      • 3x3์— padding 1์ด๋ฉด ์›๋ณธ๊ณผ ๊ฐ™์ด ๋‚˜์˜ด.

Max Pooling Layer

  • pooling Layer
    • feature map์—์„œ ์˜์—ญ ๋Œ€ํ‘œ ๊ฐ’ ํ•˜๋‚˜ ์ถ”์ถœ.
    • size ์ถ•์†Œ ํšจ๊ณผ.
    • Max, Average pooling์ด ์žˆ์Œ.
  • torch.nn.MaxPool2d
    • ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๊ณ ๋ฅด๋Š” ๊ฒƒ โ†’ weight ํ•„์š” ์—†์Œ.(Average Pooling๋„ ํ•„์š”x)
    • ๊ฐ•์ œ downsampling ํšจ๊ณผ. ๊ณ„์‚ฐ์†๋„ ๋นจ๋ผ์ง.
  • ์ถ”๋ก ๊ธฐ
  • CNN architecture ์˜ˆ์‹œ

  • ์ผ๋ฐ˜์ ์œผ๋กœ convolution layer์™€ pooling layer ๊ตฌ์กฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์Œ“์Œ. ์ด๋ฅผ Layer block์ด๋ผ๊ณ  ํ•จ. ๋งˆ์ง€๋ง‰์—๋Š” Fully connected layer๋ฅผ ์ด์šฉํ•ด ์ถ”๋ก .

Uploaded by N2T

'Playdata_data_analysis_33๊ธฐ > ์ˆ˜์—…๋ณต์Šต' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Object Detection  (5) 2023.11.06