ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

ΠŸΡ€Π΅Π΄ вас ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΅ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π΅ скоростта Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²Π° точност. Π’Π·ΠΈΠΌΠ°Ρ‚Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° YOLOv3 ΠΈ я ΠΎΠ±ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ. Вочността (mAp75) Π΅ ΠΏΠΎ-голяма ΠΎΡ‚ 0.95. Но скоростта Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π΅ всС ΠΎΡ‰Π΅ ниска. глупости.

ДнСс Ρ‰Π΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΠΌ ΠΊΠ²Π°Π½Ρ‚ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ. И ΠΏΠΎΠ΄ Ρ€Π°Π·Ρ€Π΅Π·Π° Ρ‰Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ МодСл Π Π΅Π·ΠΈΡ‚Π±Π° β€” изрязванС Π½Π° излишни части ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π·Π° ускоряванС Π½Π° ΠΈΠ·Π²ΠΎΠ΄Π° Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° точност. Ясно Π΅ къдС, ΠΊΠΎΠ»ΠΊΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π° сС Ρ€Π΅ΠΆΠ΅. НСка Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° Ρ€ΡŠΡ‡Π½ΠΎ ΠΈ къдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅. Π’ края ΠΈΠΌΠ° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° keras.

въвСдСниС

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

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

ПоглСд към биологията

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

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

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

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

Π₯арСсватС Π»ΠΈ Transfer Learning ΠΈΠ»ΠΈ ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°?

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

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ Π΄Π²Π΅. МоТС Π±ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ ΠΈ изчислитСлни рСсурси ΠΈΠ»ΠΈ просто сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ супСрпСрсонализирана Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Но Π²ΠΈΠ΅ ΠΈΠ·ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°. ΠžΠ±ΠΈΡ‡Π°ΠΉΠ½Π°Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π΅ Π΄Π° сС Ρ€Π°Π·Π³Π»Π΅Π΄Π° структурата Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, която Π΅ ΠŸΠ Π•ΠšΠΠ›Π•ΠΠ ΠΏΠΎ мощност, ΠΈ Π΄Π° сС натиснат ΠΎΡ‚ΠΏΠ°Π΄Π½Π°Π»ΠΈΡ‚Π΅ ΠΎΡ‚ прСквалификация. Видях 0.6 отпадания, ΠšΠ°Ρ€Π».

И Π² Π΄Π²Π°Ρ‚Π° случая ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°ΠΌΠ°Π»Π΅Π½Π°. ΠœΠΎΡ‚ΠΈΠ²ΠΈΡ€Π°Π½. Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ какъв Π²ΠΈΠ΄ Ρ€Π΅Π·ΠΈΡ‚Π±Π° Π΅ обрязванСто

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

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

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

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

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

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

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

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

Π’ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ

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

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

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

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

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

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

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

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

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

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

Π Π°Π·Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π°Π²ΠΈΠ²ΠΊΠΈ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π·Π° Π΄Π° сС ΠΎΡ†Π΅Π½ΠΈ ΠΊΠΎΠ»ΠΊΠΎ част ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΡΡ‚ΡŠΠΏΠΊΠ°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Ρ€Π°Π·Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

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

ЦСлият процСс бСшС Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ Π² 4 ΡΡ‚ΡŠΠΏΠΊΠΈ (Ρ†ΠΈΡ„Ρ€ΠΈ Ρ‚ΡƒΠΊ ΠΈ навсякъдС Π·Π° RTX 2060 Super):

Π‘Ρ‚ΡŠΠΏΠΊΠ° mAp75 Π‘Ρ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΌΠΈΠ»ΠΈΠΎΠ½ Π Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, mb ΠžΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ, % Π’Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС, Π³-ΠΆΠΎ Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° обрязванС
0 0.9656 60 241 100 180 -
1 0.9622 55 218 91 175 5% ΠΎΡ‚ всички
2 0.9625 50 197 83 168 5% ΠΎΡ‚ всички
3 0.9633 39 155 64 155 15% за слоСвС с 400+ навивки
4 0.9555 31 124 51 146 10% за слоСвС с 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_standart_deviation_part ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π±Ρ€Π°Π½ ΠΎΡ‚:

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС
ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° 2 сигма. Или ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Ρ‚Π΅ Ρ‚Π°Π·ΠΈ функция, оставяйки стойност < 1.0.

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

ДТСдайска Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ - подрязванС

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

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

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

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚

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

  • НамаляванС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°
  • БяганС Π·Π° ускорСниС
  • НамаляванС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CUDA
  • Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° Π΅ΠΊΠΎΠ»ΠΎΠ³ΠΎΡΡŠΠΎΠ±Ρ€Π°Π·Π½ΠΎΡΡ‚ (НиС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π±ΡŠΠ΄Π΅Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ рСсурси. НякъдС Ρ‡ΠΎΠ²Π΅ΠΊ Π΅ щастлив Π“Ρ€Π΅Ρ‚Π° Π’ΡƒΠ½Π±Π΅Ρ€Π³)

АпСндикс

  • Π‘Π»Π΅Π΄ ΡΡ‚ΡŠΠΏΠΊΠ°Ρ‚Π° Π½Π° подрязванС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΊΠ²Π°Π½Ρ‚ΡƒΠ²Π°Π½Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с TensorRT)
  • Tensorflow прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ниско_ΠΌΠ°Π³Π½ΠΈΡ‚ΡƒΠ΄Π½ΠΎ_подрязванС. Π’ΡŠΡ€ΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π°.
  • Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Искам Π΄Π° сС Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌ ΠΈ Ρ‰Π΅ сС Ρ€Π°Π΄Π²Π°ΠΌ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€