ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

ΠŸΡ€Π΅Π΄ Ρ‚Π΅Π± ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈΠΌΠ° Π·Π°Π΄Π°Ρ‡Π° Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ β€” скорост Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²Π° точност. Π˜Π·Π±ΠΈΡ€Π°Ρˆ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° YOLOv3 ΠΈ я Π΄ΠΎΠΎΠ±ΡƒΡ‡Π°Π²Π°Ρˆ. Вочността (mAp75) Π΅ Π½Π°Π΄ 0.95. Но скоростта Π½Π° изпълнСниС всС ΠΎΡ‰Π΅ Π΅ ниска. Π§Π΅Ρ€Ρ‚.

ДнСс Ρ‰Π΅ пропуснСм квантизацията. А ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Model Pruning β€” ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡˆΠ½ΠΈΡ‚Π΅ части ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π·Π° ускоряванС Π½Π° инфСрСнцията, Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° точност. НаглСдно β€” ΠΎΡ‚ΠΊΡŠΠ΄Π΅, ΠΊΠΎΠ»ΠΊΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Ρ€Π΅ΠΆΠ΅. Π©Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ€ΡŠΡ‡Π½ΠΎ ΠΈ къдС ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅. Π’ края β€” Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° keras.

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

На ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎΡ‚ΠΎ ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ място, Π² пСрмския Macroscop, ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΡ… Π½Π°Π²ΠΈΠΊΠ° Π΄Π° слСдя Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅. А Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° ΠΌΡ€Π΅ΠΆΠΈΡ‚Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° сС провСрява Ρ‡Ρ€Π΅Π· Ρ„ΠΈΠ»Ρ‚ΡŠΡ€ Π·Π° адСкватност. ОбикновСно state-of-the-art Π² продукция Π½Π΅ ΠΌΠΈΠ½Π°Π²Π°Ρ‚ Ρ‚ΠΎΠ·ΠΈ Ρ„ΠΈΠ»Ρ‚ΡŠΡ€, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Pruning.

Pruning β€” стара Ρ‚Π΅ΠΌΠ°, Π·Π° която Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…Π° Π½Π° стСнфордскитС Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π· 2017 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° идСя Π΅ намаляванС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° точност Ρ‡Ρ€Π΅Π· ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ възли. Π—Π²ΡƒΡ‡ΠΈ яко, Π½ΠΎ рядко Ρ‡ΡƒΠ²Π°ΠΌ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. МоТС Π±ΠΈ липсват ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, няма руски статии ΠΈΠ»ΠΈ просто всички смятат, Ρ‡Π΅ pruning Π΅ Π½ΠΎΡƒ-Ρ…Π°Ρƒ ΠΈ ΠΌΡŠΠ»Ρ‡Π°Ρ‚.
Но Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅

ПоглСд Π² биологията

Π₯арСсва ΠΌΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π² Deep Learning Π²Π»ΠΈΠ·Π°Ρ‚ ΠΈΠ΄Π΅ΠΈ ΠΎΡ‚ биологията. Π’Π΅, ΠΊΠ°Ρ‚ΠΎ Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡΡ‚Π°, заслуТават Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ (Π° Ρ‚ΠΈ знаСшС Π»ΠΈ, Ρ‡Π΅ ReLU Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° функцията Π·Π° активация Π½Π° Π½Π΅Ρ€Π²Π½ΠΈΡ‚Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π² мозъка?)

ΠŸΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° Model Pruning ΡΡŠΡ‰ΠΎ Π΅ близък Π΄ΠΎ биологията. РСакцията Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Ρ‚ΡƒΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС сравни с пластичността Π½Π° мозъка. Има няколко интСрСсни ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π² ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° Π½Π° Норман Π”ΠΎΠΉΠ΄ΠΆΠ°.:

  1. ΠœΠΎΠ·ΡŠΠΊΡŠΡ‚ Π½Π° ΠΆΠ΅Π½Π°, която ΠΎΡ‚ Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΈΠΌΠ°Π»Π° само Π΅Π΄Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°, самопрСпрограмира сСбС си, Π·Π° Π΄Π° изпълнява Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΎΡ‚ΡΡŠΡΡ‚Π²Π°Ρ‰Π°Ρ‚Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°.
  2. ΠœΠΎΠΌΡ‡Π΅ си Π΅ отстранило част ΠΎΡ‚ мозъка, отговаряща Π·Π° Π·Ρ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π‘ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈ части Π½Π° мозъка ΠΏΠΎΠ΅Ρ…Π° Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. (Π½Π΅ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ)

По ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΎΡ‚ вашия ΠΌΠΎΠ΄Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Ρ€Π΅ΠΆΠ΅ част ΠΎΡ‚ слабитС ΡΠ²ΡŠΡ€Ρ‚ΠΊΠΈ. Π’ ΠΊΡ€Π°Π΅Π½ случай, оставащитС ΡΠ²ΡŠΡ€Ρ‚ΠΊΠΈ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° замСстят изрязаното.

Π›ΡŽΠ±ΠΈΡˆ Π»ΠΈ Transfer Learning ΠΈΠ»ΠΈ ΡƒΡ‡ΠΈΡˆ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°?

ΠžΠΏΡ†ΠΈΡ Π½ΠΎΠΌΠ΅Ρ€ Π΅Π΄Π½ΠΎ. Использваш Transfer Learning Π½Π° Yolov3. Retina, Mask-RCNN ΠΈΠ»ΠΈ U-Net. Но Π½Π°ΠΉ-чСсто Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌΠ΅ 80 класа ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ Π² COCO. Π’ моята ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° всичко Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Π΄ΠΎ 1-2 класа. МоТС Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°, Ρ‡Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π·Π° 80 класа Ρ‚ΡƒΠΊ Π΅ излишна. Излиза наявС, Ρ‡Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° трябва Π΄Π° бъдС Π½Π°ΠΌΠ°Π»Π΅Π½Π°. ОсвСн Ρ‚ΠΎΠ²Π°, искам Π΄Π° направя Ρ‚ΠΎΠ²Π° Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈ тСТСсти.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ Π΄Π²Π΅. МоТС Π±ΠΈ имаш ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ ΠΈ изчислитСлни рСсурси ΠΈΠ»ΠΈ просто Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΡΠ²Ρ€ΡŠΡ…ΠΊΡŠΡΡ‚ΠΎΠΌΠΈΠ·ΠΈΡ€Π°Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Но ΡƒΡ‡ΠΈΡˆ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°. ΠžΠ±ΠΈΡ‡Π°Π΅Π½ Ρ€Π΅Π΄ β€” Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° структурата Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΏΠΎΠ΄Π±ΠΈΡ€Π°ΠΌΠ΅ излишна ΠΏΠΎ мощност Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ добавямС Π΄Ρ€ΠΎΠΏΠ°ΡƒΡ‚ ΠΎΡ‚ ΠΏΡ€Π΅Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. Видях Π΄Ρ€ΠΎΠΏΠ°ΡƒΡ‚ ΠΎΡ‚ 0.6, ΠšΠ°Ρ€Π».

Π’ Π΄Π²Π°Ρ‚Π° случая ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС намалява. ΠœΠΎΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΎ. Π‘Π΅Π³Π° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ прСдставлява прСрязванСто pruning.

ΠžΠ±Ρ‰ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

Π Π΅ΡˆΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°ΠΌΠ΅ свСртки. ИзглСТда доста просто:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° всяка свСртка Π΅ стрСс Π·Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΎΠ΄ΠΈ ΠΈ Π΄ΠΎ извСстно ΠΏΠΎΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π°. ΠžΡ‚ Π΅Π΄Π½Π° страна, Ρ‚ΠΎΠ²Π° ΠΏΠΎΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π» Π·Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°ΠΌΠ΅ свСрткитС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, голямото ΠΏΠΎΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈ, Ρ‡Π΅ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ Π½Π΅Ρ‰ΠΎ ΠΊΠ°ΠΊΡ‚ΠΎ трябва). Но ΠΌΠ°Π»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π΅ напълно допустимо ΠΈ чСсто сС Π½Π΅ΡƒΡ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π° с послСдващо Π»Π΅ΠΊΠΎ Π΄ΠΎΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с малък LR. ДобавямС ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° Π΄ΠΎΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

Π‘Π΅Π³Π° трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠΎΠ³Π° искамС Π΄Π° спрСм нашия Ρ†ΠΈΠΊΡŠΠ» Learning<->Pruning. Π’ΡƒΠΊ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ° Π΅ΠΊΠ·ΠΎΡ‚ΠΈΡ‡Π½ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° намалявамС ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ скорост Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ устройства). ΠžΠ±Π°Ρ‡Π΅, Π½Π°ΠΉ-чСстият Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ†ΠΈΠΊΡŠΠ»Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° Π½Π΅ станС ΠΏΠΎ-висока ΠΎΡ‚ допустимата. ДобавямС условиС:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

И Ρ‚Π°ΠΊΠ°, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ става ясСн. ΠžΡΡ‚Π°Π²Π° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½ΠΈΡ‚Π΅ свСртки.

Π’ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½ΠΈ свСртки

Врябва Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ някои свСртки. ΠšΠ°ΠΊΡ‚ΠΎ Π΄Π° сС насочвамС ΠΈ β€žΠΎΡ‚ΡΡ‚Ρ€Π΅Π»Π²Π°ΠΌΠ΅β€œ ΠΊΠ°ΠΊΠ²ΠΈΡ‚ΠΎ ΠΈ Π΄Π° Π΅ β€” Π΅ лоша идСя, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Но Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π³Π»Π°Π²Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° помислим ΠΈ Π΄Π° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ β€žΡΠ»Π°Π±ΠΈΡ‚Π΅β€œ свСртки. Има няколко Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

  1. Най-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° L1-ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ low_magnitude_pruning. Π˜Π΄Π΅ΡΡ‚Π° Π΅, Ρ‡Π΅ свСрткитС с ΠΌΠ°Π»ΠΊΠΈ стойности Π½Π° Ρ‚Π΅Π³Π»Π°Ρ‚Π° допринасят ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.
  2. Най-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° L1-ΠΌΠ΅Ρ€Π° с Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ към срСдното ΠΈ стандартното ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. Π”ΠΎΠΏΡŠΠ»Π²Π°ΠΌΠ΅ ΠΎΡ†Π΅Π½ΠΊΠ°Ρ‚Π° Π½Π° Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  3. ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π·Π° маскиранС Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ влияСщитС Π½Π° ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° точност.. По-Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ°Π»ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ рСсурсоСмко ΠΈ врСмСзависимо.
  4. Π”Ρ€ΡƒΠ³ΠΈ

ВсСки ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈΡ‚Π΅ ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΎΡ‚ΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚ ΠΈ свои особСности Π² рСализацията. Π’ΡƒΠΊ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° с Π½Π°ΠΉ-ниска L1-ΠΌΠ΅Ρ€Π½Π°.

Π ΡŠΡ‡Π΅Π½ процСс Π·Π° YOLOv3.

Π’ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅. Но нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ са Π΄ΠΎΠ±Ρ€ΠΈ Ρ‚Π΅ Π·Π° дълбоки ΠΌΡ€Π΅ΠΆΠΈ, Ρ‚Π΅ Π½ΠΈ затрудняват. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅, Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ индСкси Π² Ρ‚Π΅Π·ΠΈ слоСвС:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

Π—Π°Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ слоСвСтС, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ свободно Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

Π‘Π΅Π³Π° Ρ‰Π΅ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ Ρ†ΠΈΠΊΡŠΠ» Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°:

  1. Π˜Π·Ρ‚Π΅Π³Π»ΡΠΌΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ.
  2. ΠŸΡ€Π΅Ρ†Π΅Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π° ΠΈΠ·Ρ€Π΅ΠΆΠ΅ΠΌ.
  3. Π˜Π·Ρ€ΡΠ·Π²Π°ΠΌΠ΅.
  4. Π£Ρ‡ΠΈΠΌ 10 Π΅ΠΏΠΎΡ…ΠΈ с LR=1e-4.
  5. ВСствамС

ПолСзно Π΅ Π΄Π° изтСглятС ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ, Π·Π° Π΄Π° ΠΏΡ€Π΅Ρ†Π΅Π½ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²Π° част ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π΅Ρ‚Π°ΠΏ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° изтСглянС:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ навсякъдС 5% ΠΎΡ‚ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° ΠΈΠΌΠ°Ρ‚ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ниска L1-Π½ΠΎΡ€ΠΌΠ° ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ. На всСки Π΅Ρ‚Π°ΠΏ Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π»ΠΎ Ρ‚Π°ΠΊΠΎΠ²Π° изтСглянС ΠΈ Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½Π° ΠΎΡ†Π΅Π½ΠΊΠ° ΠΎΡ‚ ΠΊΠΎΠΈ слоСвС ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Ρ€Π΅ΠΆΠ΅ΠΌ.

ЦСлият процСс сС ΠΏΠΎΠ±Ρ€Π° Π² 4 Π΅Ρ‚Π°ΠΏΠ° (Ρ‚ΡƒΠΊ ΠΈ навсякъдС числата са Π·Π° RTX 2060 Super):

Π‘Ρ‚ΡŠΠΏΠΊΠ°mAp75.Π‘Ρ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΌΠ»Π½.Π Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, ΠΌΠ±.ΠžΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π°, %.Π’Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС, мс.УсловиС Π·Π° изрязванС.
00.965660241100180β€”
10.962255218911755% ΠΎΡ‚ всички.
20.962550197831685% ΠΎΡ‚ всички.
30.9633391556415515% Π·Π° слоСвС с 400+ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ.
40.9555311245114610% Π·Π° слоСвС с 100+ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ.

Към втория Π΅Ρ‚Π°ΠΏ сС Π΄ΠΎΠ±Π°Π²ΠΈ Π΅Π΄ΠΈΠ½ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π΅Π½ Π΅Ρ„Π΅ΠΊΡ‚ β€” Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π²Π»Π΅Π·Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ 4, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ускори процСса Π½Π° Π΄ΠΎΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅.
На Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚ΠΈΡ Π΅Ρ‚Π°ΠΏ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ бСшС спратСн, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡ€ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡ‚ΠΎ Π΄ΠΎΠΎΠ±ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π΅ повишавашС mAp75 Π΄ΠΎ старитС стойности.
Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка успяхмС Π΄Π° ускорим инфСрСнса с 15%, Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° с 35% ΠΈ Π΄Π° Π½Π΅ Π·Π°Π³ΡƒΠ±ΠΈΠΌ Π² точността.

Автоматизация Π·Π° ΠΏΠΎ-прости Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ.

Π—Π° ΠΏΠΎ-проститС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠΈ (Π±Π΅Π· условни add, concatenate ΠΈ ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅) Π΅ напълно възмоТно Π΄Π° сС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ към ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° всички ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‰ΠΈ слоСвС ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° процСса Π½Π° изрязванС Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ.

Π’Π°Π·ΠΈ вСрсия я Π²Π½Π΅Π΄Ρ€ΠΈΡ…. Ρ‚ΡƒΠΊ.
Всичко Π΅ просто: ΠΎΡ‚ вас само функция Π½Π° Π·Π°Π³ΡƒΠ±Π°Ρ‚Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ:

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, # броят Π½Π° Π΅ΠΏΠΎΡ…ΠΈΡ‚Π΅ Π·Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅ Π½Π° рязанС
    "stop_loss": 0.1, # Π·Π°Π³ΡƒΠ±Π° Π·Π° спиранС Π½Π° процСса
    "pruning_percent_step": 0.05, # част ΠΎΡ‚ свСрткитС, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ Π½Π° всяка ΡΡ‚ΡŠΠΏΠΊΠ° Π½Π° рязанС
    "pruning_standart_deviation_part": 0.2 # ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π·Π° Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° рязанСто
}

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, основано Π½Π° стандартното ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. Π¦Π΅Π»Ρ‚Π° Π΅ Π΄Π° сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈ частта, която сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°, ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΉΠΊΠΈ свСртки с Π²Π΅Ρ‡Π΅ "Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ" L1 ΠΌΠ΅Ρ€ΠΊΠΈ:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ позволявамС Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ само слабитС свСртки ΠΎΡ‚ разпрСдСлСния, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° дясното ΠΈ Π΄Π° Π½Π΅ влияят Π½Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ разпрСдСлСния, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° лявото:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

ΠŸΡ€ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ към Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ, ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ pruning_standart_deviation_part ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π·Π°Π΄Π°Π΄Π΅Π½ ΠΎΡ‚:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning
ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 2 сигма. Или ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ сС Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, оставяйки стойността < 1.0.

На ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΏΡ€Π΅Π· цСлия тСст, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π΄ΠΎ 1.0. НапримСр, Ρ‚ΡƒΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° качСство (ΠΌΠ°Π»ΠΊΠ° свСртка Π½Π° 100ΠΊ Ρ‚Π΅Π³Π»Π°):

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° намаляванС Π½Π° ΡΠ²Ρ€ΡŠΡ…ΡΠ»ΠΎΠΉΠ½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ β€” pruning

Бкоростта Π½Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π΅ ΠΏΠΎΠ΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π° Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ Ρ„Π»ΡƒΠΊΡ‚Π°Ρ†ΠΈΠΈ ΠΈ практичСски Π½Π΅ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»Π°. Има обяснСниС Π·Π° Ρ‚ΠΎΠ²Π°:

  1. Броят Π½Π° свСрткитС сС промСня ΠΎΡ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΈΡ‚Π΅ (32, 64, 128) Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΈΡ‚Π΅ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ΠΈΡ‚Π΅ β€” 27, 51 ΠΈ Ρ‚.Π½. Π’ΡƒΠΊ ΠΌΠΎΠ³Π° Π΄Π° сС ΠΎΠ±ΡŠΡ€ΠΊΠ°ΠΌ, Π½ΠΎ Π½Π°ΠΉ-вСроятно Ρ‚ΠΎΠ²Π° влияС.
  2. АрхитСктурата Π½Π΅ Π΅ ΡˆΠΈΡ€ΠΎΠΊΠ°, Π° послСдоватСлна. Намалявайки ΡˆΠΈΡ€ΠΈΠ½Π°Ρ‚Π°, Π½Π΅ засягамС Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΠ½Π°Ρ‚Π°. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ намалявамС Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ, Π½ΠΎ Π½Π΅ промСнямС скоростта.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ сС ΠΈΠ·Ρ€Π°Π·ΠΈ Π² намаляванС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CUDA ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅Ρ‚ΠΎ с 20-30%, Π½ΠΎ Π½Π΅ Π² намаляванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅

РСзюмС

Π”Π° Ρ€Π΅Ρ„Π»Π΅ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅. Π Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ 2 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π·Π° рязанС β€” Π·Π° YOLOv3 (ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π½Π° Ρ€ΡŠΠΊΠ°) ΠΈ Π·Π° ΠΌΡ€Π΅ΠΆΠΈ с ΠΏΠΎ-прости Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ. Π’ΠΈΠ΄Π½ΠΎ Π΅, Ρ‡Π΅ ΠΈ Π² Π΄Π²Π°Ρ‚Π° случая ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° постигнСм Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ускорСниС Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° точност. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ:

  • НамалСниС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°
  • УскорСниС Π½Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅Ρ‚ΠΎ
  • НамалСниС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CUDA
  • ΠšΠ°Ρ‚ΠΎ слСдствиС, Скологичност (ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π±ΡŠΠ΄Π΅Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° изчислитСлни рСсурси. НякъдС сС Ρ€Π°Π΄Π²Π° Π΅Π΄Π½Π° Π“Ρ€Π΅Ρ‚Π° Π’ΡƒΠ½Π±Π΅Ρ€Π³)

Appendix

  • Π‘Π»Π΅Π΄ ΡΡ‚ΡŠΠΏΠΊΠ°Ρ‚Π° Π½Π° рязанС ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π΄ΠΎΠ±Π°Π²ΠΈ ΠΈ квантизация (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с TensorRT)
  • Tensorflow ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° low_magnitude_pruning. Π Π°Π±ΠΎΡ‚ΠΈ.
  • Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ искам Π΄Π° Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌ ΠΈ Ρ‰Π΅ сС Ρ€Π°Π΄Π²Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster