ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

๋˜ ๋‹ค๋ฅธ ๊ฐ์ฒด ๊ฐ์ง€ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„๋Š” ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ž‘์—… ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. YOLOv3 ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ ธ์™€ ๋‹ค์‹œ ํ•™์Šต์‹œํ‚ต๋‹ˆ๋‹ค. ์ •ํ™•๋„(mAp75)๋Š” 0.95 ์ด์ƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹คํ–‰ ์†๋„๋Š” ์—ฌ์ „ํžˆ ๋А๋ฆฝ๋‹ˆ๋‹ค. ์  ์žฅ.

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

์†Œ๊ฐœ

์ด์ „ ์ง์žฅ์ธ Perm Macroscop์—์„œ ์ €๋Š” ํ•œ ๊ฐ€์ง€ ์Šต๊ด€์„ ๋“ค์˜€์Šต๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹คํ–‰ ์‹œ๊ฐ„์„ ํ•ญ์ƒ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ ์‹คํ–‰ ์‹œ๊ฐ„์€ ์ ์ ˆ์„ฑ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ํ•ญ์ƒ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” ์ตœ์ฒจ๋‹จ ๊ธฐ์ˆ ์ด ์ด ํ•„ํ„ฐ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— Pruning์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

์ƒ๋ฌผํ•™์— ๋Œ€ํ•œ ๊ณ ์ฐฐ

์ƒ๋ฌผํ•™์—์„œ ์–ป์€ ์•„์ด๋””์–ด๊ฐ€ ๋”ฅ๋Ÿฌ๋‹์— ์ ‘๋ชฉ๋˜๋Š” ๊ฑธ ์ •๋ง ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ™”๋ก ์ฒ˜๋Ÿผ ๋”ฅ๋Ÿฌ๋‹๋„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ ์š”. ReLU๊ฐ€ ๋‡Œ์˜ ์‹ ๊ฒฝ์„ธํฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ?)

๋ชจ๋ธ ๊ฐ€์ง€์น˜๊ธฐ ๊ณผ์ •์€ ์ƒ๋ฌผํ•™๊ณผ๋„ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ด€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋„คํŠธ์›Œํฌ์˜ ๋ฐ˜์‘์€ ๋‡Œ์˜ ๊ฐ€์†Œ์„ฑ์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์—๋Š” ๋ช‡ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ์‚ฌ๋ก€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋จผ ๋„์ด์ง€:

  1. ๋‡Œ์˜ ์ ˆ๋ฐ˜๋งŒ ๊ฐ€์ง€๊ณ  ํƒœ์–ด๋‚œ ์—ฌ์„ฑ์˜ ๋‡Œ๊ฐ€ ์†์ƒ๋œ ์ ˆ๋ฐ˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์Šค์Šค๋กœ๋ฅผ ์žฌํ”„๋กœ๊ทธ๋žจํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. ๊ทธ ๋‚จ์ž๋Š” ์‹œ๊ฐ์„ ๋‹ด๋‹นํ•˜๋Š” ๋‡Œ ๋ถ€์œ„๋ฅผ ์ ˆ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ๋‡Œ์˜ ๋‹ค๋ฅธ ๋ถ€์œ„๋“ค์ด ๊ทธ ๊ธฐ๋Šฅ์„ ๋Œ€์‹ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (๋‹ค์‹œ ๋ฐ˜๋ณตํ•˜์ง€๋Š” ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค.)

๋”ฐ๋ผ์„œ ๋ชจ๋ธ์—์„œ ์•ฝํ•œ ๋ฒˆ๋“ค ์ค‘ ์ผ๋ถ€๋ฅผ ์ž˜๋ผ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทน๋‹จ์ ์ธ ๊ฒฝ์šฐ์—๋Š” ๋‚จ์€ ๋ฒˆ๋“ค๋กœ ์ž˜๋ฆฐ ๋ฒˆ๋“ค์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „์ดํ•™์Šต์„ ์ข‹์•„ํ•˜์‹œ๋‚˜์š”, ์•„๋‹ˆ๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ณ  ๊ณ„์‹ ๊ฐ€์š”?

์˜ต์…˜ 1๋ฒˆ. Yolov3, Retina, Mask-RCNN ๋˜๋Š” U-Net์—์„œ ์ „์ด ํ•™์Šต์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ COCO์ฒ˜๋Ÿผ 80๊ฐœ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ธ์‹ํ•  ํ•„์š”๋Š” ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์ œ ์‹ค์Šต์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์„ 1~2๊ฐœ ํด๋ž˜์Šค๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. 80๊ฐœ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์•„ํ‚คํ…์ฒ˜๋Š” ์—ฌ๊ธฐ์„œ ์ค‘๋ณต๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ค„์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, ๊ธฐ์กด์˜ ์‚ฌ์ „ ํ•™์Šต๋œ ๊ฐ€์ค‘์น˜๋ฅผ ์žƒ์ง€ ์•Š๊ณ  ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ์˜ต์…˜. ๋ฐ์ดํ„ฐ์™€ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŽ๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด ์•„์ฃผ ํŠน๋ณ„ํ•œ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฑด ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šต์‹œํ‚ค๋Š” ๊ฒ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ ˆ์ฐจ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๊ณ , ์„ฑ๋Šฅ์ด ์ค‘๋ณต๋˜๋Š” ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ ํƒํ•˜๊ณ , ๊ณผ์ ํ•ฉ์œผ๋กœ ์ธํ•œ ๋“œ๋กญ์•„์›ƒ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์นผ, ์ €๋Š” 0.6๊ฐœ์˜ ๋“œ๋กญ์•„์›ƒ์„ ๋ดค์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ๋„คํŠธ์›Œํฌ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™๊ธฐ ๋ถ€์—ฌ. ์ด์ œ ๊ฐ€์ง€์น˜๊ธฐ๊ฐ€ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ฐ€์ง€์น˜๊ธฐ์ธ์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์šฐ๋ฆฌ๋Š” ์ฃผ๋ฆ„์„ ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฝค ๊ฐ„๋‹จํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

ํ•ฉ์„ฑ๊ณฑ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์€ ๋„คํŠธ์›Œํฌ์— ๋ถ€๋‹ด์„ ์ฃผ๋ฉฐ, ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์–ด๋А ์ •๋„ ์˜ค์ฐจ ์ฆ๊ฐ€๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ํ•œํŽธ์œผ๋กœ, ์ด๋Ÿฌํ•œ ์˜ค์ฐจ ์ฆ๊ฐ€๋Š” ํ•ฉ์„ฑ๊ณฑ์„ ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํ•˜๊ฒŒ ์ œ๊ฑฐํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ค์ฐจ๊ฐ€ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•˜๋ฉด ์ž˜๋ชป ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค). ํ•˜์ง€๋งŒ ์•ฝ๊ฐ„์˜ ์˜ค์ฐจ ์ฆ๊ฐ€๋Š” ์ถฉ๋ถ„ํžˆ ์šฉ์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ž‘์€ LR์„ ์‚ฌ์šฉํ•œ ํ›„์†์ ์ธ ๊ฐ€๋ฒผ์šด ์žฌํ•™์Šต์„ ํ†ตํ•ด ์ข…์ข… ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์žฌํ•™์Šต ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

์ด์ œ Learning<->Pruning ๋ฃจํ”„๋ฅผ ์–ธ์ œ ์ข…๋ฃŒํ• ์ง€ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํฌ๊ธฐ์™€ ์‹คํ–‰ ์†๋„๋ฅผ ํŠน์ • ์ˆ˜์ค€์œผ๋กœ ์ค„์—ฌ์•ผ ํ•  ๋•Œ(์˜ˆ: ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ)์—๋Š” ํŠน๋ณ„ํ•œ ์˜ต์…˜์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์˜ต์…˜์€ ์˜ค์ฐจ๊ฐ€ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€๋ณด๋‹ค ๋†’์•„์งˆ ๋•Œ๊นŒ์ง€ ๋ฃจํ”„๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

์ด์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ช…ํ™•ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ œ๊ฑฐํ•  ํ•ฉ์„ฑ๊ณฑ์„ ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ• ์ง€ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ์ด ๋‚จ์•˜์Šต๋‹ˆ๋‹ค.

์‚ญ์ œ ๊ฐ€๋Šฅํ•œ ๋ฒˆ๋“ค ๊ฒ€์ƒ‰

๋ฒˆ๋“ค ์ค‘ ์ผ๋ถ€๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฒˆ๋“ค์ด๋“  ๋šซ๊ณ  "์˜๋Š”" ๊ฒƒ์€ ์ข‹์ง€ ์•Š์€ ์ƒ๊ฐ์ด์ง€๋งŒ, ํšจ๊ณผ๋Š” ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋จธ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋ฉด, "์•ฝํ•œ" ๋ฒˆ๋“ค์„ ๊ณจ๋ผ ์‚ญ์ œํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ฐ€์žฅ ๋‚ฎ์€ L1 ์ธก์ • ๋˜๋Š” low_magnitude_pruning. ์ž‘์€ ๊ฐ€์ค‘์น˜ ๊ฐ’์„ ๊ฐ–๋Š” ํ•ฉ์„ฑ๊ณฑ์€ ์ตœ์ข… ๊ฒฐ์ •์— ๊ฑฐ์˜ ๊ธฐ์—ฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ƒ๊ฐ
  2. ํ‰๊ท ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ๋ฅผ ๊ณ ๋ คํ•œ ๊ฐ€์žฅ ์ž‘์€ L1 ์ธก์ •๊ฐ’์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋ถ„ํฌ์˜ ํŠน์„ฑ์— ๋Œ€ํ•œ ํ‰๊ฐ€๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ตœ์ข… ์ •ํ™•๋„์— ๊ฐ€์žฅ ์ ์€ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ถ€๋ถ„์„ ์ปจ๋ณผ๋ฃจ์…˜ ๋งˆ์Šคํ‚นํ•˜๊ณ  ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.. ์ค‘์š”ํ•˜์ง€ ์•Š์€ ํ•ฉ์„ฑ๊ณฑ์„ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๊ณ  ๋ฆฌ์†Œ์Šค๋„ ๋งŽ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ธฐํƒ€

๊ฐ ์˜ต์…˜์€ ์กด์žฌํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ณ ์œ ํ•œ ๊ตฌํ˜„ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” L1 ์ธก์ •๊ฐ’์ด ๊ฐ€์žฅ ์ž‘์€ ์˜ต์…˜์„ ๊ณ ๋ คํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

YOLOv3์— ๋Œ€ํ•œ ์ˆ˜๋™ ํ”„๋กœ์„ธ์Šค

์›๋ž˜ ์•„ํ‚คํ…์ฒ˜์—๋Š” ์ž”์—ฌ ๋ธ”๋ก์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋”ฅ๋Ÿฌ๋‹ ๋„คํŠธ์›Œํฌ์—์„œ๋Š” ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์ด์ง€๋งŒ, ์•ฝ๊ฐ„์˜ ๋ฐฉํ•ด ์š”์†Œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊นŒ๋‹ค๋กœ์šด ์ ์€ ์ด๋Ÿฌํ•œ ๋ ˆ์ด์–ด์—์„œ ๊ต์ฐจ ์ธ๋ฑ์Šค ๋น„๊ต๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

๋”ฐ๋ผ์„œ ๊ฒ€์‚ฌ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด์–ด๋ฅผ ์„ ํƒํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

์ด์ œ ์ž‘์—… ์ฃผ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ์–ธ๋กœ๋”ฉ ํ™œ์„ฑํ™”
  2. ์–ผ๋งˆ๋‚˜ ์ž˜๋ผ์•ผ ํ• ์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค
  3. ์šฐ๋ฆฌ๋Š” ์ž˜๋ผ๋ƒˆ๋‹ค
  4. ์šฐ๋ฆฌ๋Š” LR=10e-1๋กœ 4๊ฐœ์˜ ์—ํฌํฌ๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  5. ํ…Œ์ŠคํŠธ

ํด๋“œ ์–ธ๋กœ๋”ฉ์€ ํŠน์ • ๋‹จ๊ณ„์—์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ํด๋“œ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ถ”์ •ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ธ๋กœ๋”ฉ์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

๊ฑฐ์˜ ๋ชจ๋“  ํ•ฉ์„ฑ๊ณฑ์˜ 5%๊ฐ€ ๋งค์šฐ ๋‚ฎ์€ L1-norm์„ ๊ฐ–๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ์ด๋Ÿฌํ•œ ์–ธ๋กœ๋”ฉ์„ ๋ฐ˜๋ณตํ•˜๊ณ  ์–ด๋–ค ๊ณ„์ธต์„ ์–ผ๋งˆ๋‚˜ ๋งŽ์ด ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ „์ฒด ๊ณผ์ •์€ 4๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค(์—ฌ๊ธฐ์™€ ๋ชจ๋“  ๊ณณ์˜ ์ˆซ์ž๋Š” RTX 2060 Super์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค).

๋‹จ๊ณ„MAP75๋งค๊ฐœ๋ณ€์ˆ˜ ์ˆ˜, ๋ฐฑ๋งŒ๋„คํŠธ์›Œํฌ ํฌ๊ธฐ, MB์›๋ณธ์—์„œ %์‹คํ–‰ ์‹œ๊ฐ„(ms)ํ• ๋ก€ ์กฐ๊ฑด
00.965660241100180-
10.96225521891175์ „์ฒด์˜ 5%
20.96255019783168์ „์ฒด์˜ 5%
30.9633391556415515๊ฐœ ์ด์ƒ์˜ ํ•ฉ์„ฑ๊ณฑ์ด ์žˆ๋Š” ๋ ˆ์ด์–ด์˜ ๊ฒฝ์šฐ 400%
40.9555311245114610๊ฐœ ์ด์ƒ์˜ ํ•ฉ์„ฑ๊ณฑ์ด ์žˆ๋Š” ๋ ˆ์ด์–ด์˜ ๊ฒฝ์šฐ 100%

2๋‹จ๊ณ„์—์„œ๋Š” ๊ธ์ •์ ์ธ ํšจ๊ณผ ํ•˜๋‚˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์น˜ ํฌ๊ธฐ 4๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ํ•ฉํ•ด์ ธ ์ถ”๊ฐ€ ํ•™์Šต ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ๋‹นํžˆ ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
4๋‹จ๊ณ„์—์„œ๋Š” ์žฅ๊ธฐ๊ฐ„์˜ ์ถ”๊ฐ€ ํ›ˆ๋ จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  mAp75๊ฐ€ ์ด์ „ ๊ฐ’์œผ๋กœ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ ๊ฒฐ๊ณผ ์šฐ๋ฆฌ๋Š” ์ถ”๋ก  ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. 15%, ํฌ๊ธฐ๋ฅผ ์ค„์ด์„ธ์š” 35% ์ •ํ™•๋„๋ฅผ ์žƒ์ง€ ๋งˆ์„ธ์š”.

๋” ๊ฐ„๋‹จํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์œ„ํ•œ ์ž๋™ํ™”

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

๋‚˜๋Š” ์ด ์˜ต์…˜์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค ์—ฌ๊ธฐ์—.
๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์†์‹ค ํ•จ์ˆ˜, ์ตœ์ ํ™” ํ”„๋กœ๊ทธ๋žจ, ๋ฐฐ์น˜ ์ƒ์„ฑ๊ธฐ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

import pruning
from keras.optimizers import Adam
from keras.utils import Sequence

train_batch_generator = BatchGenerator...
score_batch_generator = BatchGenerator...

opt = Adam(lr=1e-4)
pruner = pruning.Pruner("config.json", "categorical_crossentropy", opt)

pruner.prune(train_batch, valid_batch)

ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

{
    "input_model_path": "model.h5",
    "output_model_path": "model_pruned.h5",
    "finetuning_epochs": 10, # the number of epochs for train between pruning steps
    "stop_loss": 0.1, # loss for stopping process
    "pruning_percent_step": 0.05, # part of convs for delete on every pruning step
    "pruning_standart_deviation_part": 0.2 # shift for limit pruning part
}

๋˜ํ•œ, ํ‘œ์ค€ ํŽธ์ฐจ์— ๊ธฐ๋ฐ˜ํ•œ ์ œํ•œ์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ์ด๋ฏธ "์ถฉ๋ถ„ํ•œ" L1 ์ธก์ •๊ฐ’์„ ๊ฐ–๋Š” ํ•ฉ์„ฑ๊ณฑ์„ ์ œ์™ธํ•˜๊ณ  ์ œ๊ฑฐ๋œ ๋ถ€๋ถ„๋งŒ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

์ด๋Ÿฐ ์‹์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์•ฝํ•œ ํ•ฉ์„ฑ๊ณฑ๋งŒ ์˜ค๋ฅธ์ชฝ๊ณผ ๋น„์Šทํ•œ ๋ถ„ํฌ์—์„œ ์ œ๊ฑฐ๋˜๋„๋ก ํ—ˆ์šฉํ•˜๊ณ  ์™ผ์ชฝ๊ณผ ๋น„์Šทํ•œ ๋ถ„ํฌ์—์„œ ์ œ๊ฑฐ๋˜๋Š” ๊ฒƒ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

๋ถ„ํฌ๊ฐ€ ์ •๊ทœํ™”๋˜๋ฉด ๊ณ„์ˆ˜ pruning_standard_deviation_part๋ฅผ ๋‹ค์Œ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•
2์‹œ๊ทธ๋งˆ๋กœ ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ด ํŠน์„ฑ์„ ๋ฌด์‹œํ•˜๊ณ  ๊ฐ’์„ 1.0 ๋ฏธ๋งŒ์œผ๋กœ ๋‘˜ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ๋ ฅ์€ ์ „์ฒด ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ํฌ๊ธฐ, ์†์‹ค, ๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ ์‹คํ–‰ ์‹œ๊ฐ„์„ 1.0์œผ๋กœ ์ •๊ทœํ™”ํ•œ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 2๋งŒ ๊ฐœ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์ง„ ์ž‘์€ ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์˜ ๊ฒฝ์šฐ, ๋„คํŠธ์›Œํฌ ํฌ๊ธฐ๋Š” ํ’ˆ์งˆ ์ €ํ•˜ ์—†์ด ๊ฑฐ์˜ ๋‘ ๋ฐฐ๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ์ œ๋‹ค์ด ๊ธฐ๋ฒ•

์‹คํ–‰ ์†๋„๋Š” ์ •์ƒ์ ์ธ ๋ณ€๋™์„ ๋ณด์ด๋ฉฐ ๊ฑฐ์˜ ๋ณ€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์„ค๋ช…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ํ•ฉ์„ฑ๊ณฑ์˜ ์ˆ˜๋Š” ํŽธ๋ฆฌํ•œ 32, 64, 128์—์„œ ๋น„๋””์˜ค ์นด๋“œ์— ๊ฐ€์žฅ ํŽธ๋ฆฌํ•˜์ง€ ์•Š์€ 27, 51 ๋“ฑ์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ‹€๋ ธ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์•„๋งˆ๋„ ํšจ๊ณผ๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  2. ์•„ํ‚คํ…์ฒ˜๋Š” ๋„“์ง€๋Š” ์•Š์ง€๋งŒ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋น„๋ฅผ ์ค„์ž„์œผ๋กœ์จ ๊นŠ์ด์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋ฉด์„œ๋„ ์†๋„๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐœ์„ ์€ ์‹คํ–‰ ์ค‘ CUDA ๋ถ€ํ•˜๊ฐ€ 20~30% ๊ฐ์†Œํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ฌ์ง€๋งŒ, ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ฐ์†Œํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ

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

  • ํฌ๊ธฐ ์ค„์ด๊ธฐ
  • ๊ฐ€์† ์ฃผํ–‰
  • CUDA ๋ถ€ํ•˜ ๊ฐ์†Œ
  • ๊ทธ ๊ฒฐ๊ณผ, ์นœํ™˜๊ฒฝ์„ฑ(์ปดํ“จํŒ… ์ž์›์˜ ๋ฏธ๋ž˜ ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋”˜๊ฐ€์—์„œ ๊ธฐ๋ปํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ˆํƒ€ ํˆฐ ๋ฒ„๊ทธ)

์ถฉ์ˆ˜

  • ๊ฐ€์ง€์น˜๊ธฐ ๋‹จ๊ณ„ ํ›„์— ์–‘์žํ™”๋ฅผ ์กฐ์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: TensorRT ์‚ฌ์šฉ)
  • Tensorflow๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ €๊ทœ๋ชจ ๊ฐ€์ง€์น˜๊ธฐ. ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ์ €์žฅ์†Œ ์ €๋Š” ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ๊ณ  ๊ธฐ๊บผ์ด ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster