Deep Learning - Revision ๐Ÿพ๐Ÿฆง๐Ÿ…๐ŸŽ๐Ÿฟ๐Ÿฆ๐Ÿ ๐Ÿ™๐Ÿฆ€๐Ÿš๐Ÿฆ‹๐Ÿœ

ํ™”์ดํ‹ฐ ยท2024๋…„ 1์›” 8์ผ

Deep Learning

๋ชฉ๋ก ๋ณด๊ธฐ
10/24

Revision:

ํ™œ์„ฑํ™”ํ•จ์ˆ˜ (์ค‘๊ฐ„์ธต, ์ถœ๋ ฅ์ธต ํ™œ์šฉ๋„๊ฐ€ ๋‹ค๋ฆ„!)

  • ์ค‘๊ฐ„์ธต ํ™œ์„ฑํ™”ํ•จ์ˆ˜ ์—ญํ•  : ์—ญ์น˜ (ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”)
    • Stepfunction -> sigmoid - > relu (์˜ค์ฐจ์—ญ์ „ํŒŒ ์ง„ํ–‰์‹œ ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค ๋ฌธ์ œ ๋ฐœ์ƒ)
    • ์ถœ๋ ฅ์ธต ํ™œ์„ฑํ™”ํ•จ์ˆ˜ ์—ญํ• : ์ถœ๋ ฅ๋ฐ›๊ณ ์‹ถ์‘ ๋ฐ์ดํ„ฐ ํ˜•ํƒœ ์ง€์ • (units, activation)
      • ํšŒ๊ท€: units = 1, activation = 'linear'
      • ์ด์ง„๋ถ„๋ฅ˜: units = 1 , activation = 'sigmoid'
      • ๋‹ค์ค‘ ๋ถ„๋ฅ˜: units = ํด๋ž˜์Šค์˜ ๊ฐœ์ˆ˜, activation = 'softmax'

-- ํ•™์Šต๋ฐฉ๋ฒ• ๋ฐ ํ‰๊ฐ€๋ฐฉ๋ฒ• ์„ค์ •

  • ํšŒ๊ท€: loss = 'mean_squared_error, metrics = 'mse'
  • ์ด์ง„๋ถ„๋ฅ˜: loss = 'binary_crossentropy' ,metrics = 'accuracy'
  • ๋‹ค์ค‘๋ถ„๋ฅ˜: loss = 'categorical_crossentropy', metric = 'accuracy'
  • ์ •๋‹ต๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ์™€ ์ถœ๋ ฅ์ธต์—์„œ์˜ ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ๋ฅผ ๋งž์ถฐ์ค˜์•ผํ•จ!
  1. ์ •๋‹ต๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•ซ์ธ์ฝ”๋”ฉ (one-hot encoding) - (to_categorical)
  2. keras์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ์•Œ์•„์„œ ๋ณ€๊ฒฝ ํ›„ ๋น„๊ต ํ•ด์ฃผ๋Š” ๋ฒ™๋ฒ•
  • loss = 'sparse_categorical_crossentropy'

1. ํ™œ์„ฑํ™”ํ•จ์ˆ˜ (Activation)

2. compile - loss, optimizer, metrics

3. Dense

  • dense๊ฐ€ ์ฃผ๊ฐ€๋˜๋Š” ๋ชจ๋ธ - mlp

  1. CNN > 2,3์ฐจ์› ๋ฐ์ดํ„ฐ ํ•™์Šตํ•˜๋Š” ๋ชจ๋ธ(์ด๋ฏธ์ง€+csv)
  • Convolution: ํŠน์ง•์„ ์ฐพ๋Š”๋‹ค
  • Pooling: ํŠน์ง•์ด ์•„๋‹Œใ„ด๋ถ€๋ถ„ ์‚ญ์ œ
  • Flatten: ๋ฐ์ดํ„ฐ๋ฅผ 1 ์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ
  • Dense: ํŠน์ง•๋“ค์„ ํ†ตํ•ด์„œ ์‚ฌ๋ฌผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ
  • Dense๋Š” ์ด๋ฏธ์ง€ ํ•™์Šต์ด ์ž˜ ์•ˆ๋˜๋Š”๋ฐ CNN์—์„œ Dense๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  > Conv ์ธต์ด 2์ฐจ์›์˜ ํ‹Ž์ง•์„ ํ•˜๋‚˜์˜ ํ”ฝ์…€์— ์ •๋ฆฌํ•˜๊ธฐ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ํ”ฝ์…€์ด ๋ชจ์–‘์˜ ํŠน์ง•๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ 1์ฐจ์›์„ ํ•™์Šตํ•ด๋„ ๋ชจ์–‘์ด ๊ฐ€์ง€๋Š” ์˜๋ฏธ๋ฅผ ํ•™์Šต
    conv
  • padding

    ์ด๋ฏธ์ง€ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“œ๋Š”๊ฑธ ๋ง‰๋Š” ๋ฐฉ๋ฒ•
    ํ•„ํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ์ค„์–ด๋“œ๋Š” ์ด๋ฏธ์ง€ ๋ฐฉ์ง€

  • stride

    ํ”ฝ์…€์„ ๋ช‡๊ฐœ์”ฉ ๊ฑด๋„ˆ๋›ฐ๋ฉด์„œ ๊ณ„์‚ฐํ• ๊ฑด์ง€ ์ง€์ •

pooling
: conv ๊ฒฐ๊ณผ(ํŠน์ง• ๋ชจ์•„๋†“์€๊ฒƒ)์„ ์ „๋ถ€๋‹ค ๋‹ค์Œ์ธต์œผ๋กœ ๋„˜๊ธฐ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ
๋‹จ์œ„ ํฌ๊ธฐ(2,2) ์ค‘์—์„œ ๊ฐ€์žฅ ํŠน์ง•์˜ ๊ฐ’์ด ํฐ๊ฒƒ๋งŒ ๋„˜๊ธด๋‹ค
ํ”ฝ์…€ ํ•˜๋‚˜๋‹จ์œ„๋กœ ๊ณ„์‚ฐ์ด ๋˜๊ธฐ๋•Œ๋ฌธ์— ์ธ์ ‘ํ•œ ๊ฐ’๋“ค์€ ๋ณดํ†ต ๊ฐ™์€ ํŠน์ง•
2. YOLO > ๊ฐ์ฒด์ธ์‹๋ชจ๋ธ (์ด๋ฏธ์ง€)
3. OpenCV, Mediapipe > ์ด๋ฏธ์ง€ ๋‹ค๋ฃจ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
4. RNN/LSTM > ์‹œ๊ณ„์—ด๋ฐ์ดํ„ฐ(์˜์ƒ, ์‹œ๊ฐ„, ์Œ์„ฑ)
5. Transformer > ์ž์—ฐ์–ด์ฒ˜๋ฆฌ๋ชจ๋ธ

YOLOv5

  1. ์ฝ”๋žฉ > ํ•™์Šต
  • ๋ฐ์ดํ„ฐ์…‹ ์ค€๋น„ (๋ผ๋ฒจ๋ง) > Roboflow
  • github yolo๊ด€๋ จ ํŒŒ์ผ clone
  • yolov5s > 50 epochs
  • ์ตœ์ข… ๊ฐ€์ค‘์น˜ ํŒŒ์ผ = best.pt
  1. jupyter notebook >ํ•™์Šต๋ชจ๋ธ ํ™œ์šฉ
  • ๊ฐ•์•„์ง€/ ๊ณ ์–‘์ด ์‚ฌ์ง„์—์„œ ์–ผ๊ตด ์œ„์น˜ ์ฐพ๊ธฐ
  • ๋™์˜์ƒ์—์„œ ๊ฐ•์•„์ง€/๊ณ ์–‘์ด ์–ผ๊ตด ์ฐพ๊ธฐ
    (yolov5, openCV- ์ด๋ฏธ์ง€ ๊ด€๋ จ ๊ธฐ๋Šฅ)
    anaconda prompt ๋ช…๋ น์–ด
  1. ๊ฐ€์ƒํ™˜๊ฒฝํ™•์ธ
  • conda env list
  1. ํ™˜๊ฒฝ ์ ‘์†
    activate ํ™˜๊ฒฝ์ด๋ฆ„
  2. jupyter notebook ์—ด๊ธฐ
    jupyter notebppk

Open CV ์‚ฌ์šฉํ•˜๊ธฐ

profile
์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ฉ์‹œ๋‹ค! The best is yet to come! ๐Ÿ’œ

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