
ΠΡΠ½ΠΎΠ²ΠΎ ΠΈΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ° Π·Π° Π΄Π΅ΡΠ΅ΠΊΡΠΈΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ. ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ β ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²Π° ΡΠΎΡΠ½ΠΎΡΡ. ΠΠ·Π΅ΠΌΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° YOLOv3 ΠΈ Π΄ΠΎΠΎΠ±ΡΡΠ°Π²Π°Ρ. Π’ΠΎΡΠ½ΠΎΡΡΡΠ° (mAp75) Π΅ Π½Π°Π΄ 0.95. ΠΠΎ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π½ΠΈΡΠΊΠ°. Π§Π΅ΡΡ.
ΠΠ½Π΅Ρ ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΠΌ ΠΊΠ²Π°Π½ΡΠΈΠ·Π°ΡΠΈΡΡΠ°. Π ΠΏΠΎΠ΄ ΠΊΠ°Ρ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Model Pruning β ΠΎΡΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π·Π° Π΄Π° ΡΠ΅ ΡΡΠΊΠΎΡΠΈ Inference Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΎΡΠ½ΠΎΡΡ. ΠΠ°Π³Π»Π΅Π΄Π½ΠΎ β ΠΎΡΠΊΡΠ΄Π΅, ΠΊΠΎΠ»ΠΊΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ΅ΠΆΠ΅. Π©Π΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΡΡΠ½ΠΎ ΠΈ ΠΊΡΠ΄Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΌΠ΅. Π ΠΊΡΠ°Ρ β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° keras.
ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ° Π² ΠΏΠ΅ΡΠΌΡΠΊΠΈΡ Macroscop, ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΡ Π½Π°Π²ΠΈΠΊΠ° β Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΡΠ»Π΅Π΄Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅. Π Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΈΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌ ΡΡΠ΅Π· ΡΠΈΠ»ΡΡΡ Π·Π° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ state-of-the-art Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΡΠ° Π½Π΅ ΠΌΠΈΠ½Π°Π²Π°Ρ ΡΠΎΠ·ΠΈ ΡΠΈΠ»ΡΡΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Pruning.
Pruning β ΡΡΠ°ΡΠ° ΡΠ΅ΠΌΠ°, Π·Π° ΠΊΠΎΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ
Π° Π² ΠΏΡΠ΅Π· 2017 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ β Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΡΠ΅Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΎΡΠ½ΠΎΡΡ ΡΡΠ΅Π· ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ. ΠΠ²ΡΡΠΈ ΡΡΡΠ°Ρ
ΠΎΡΠ½ΠΎ, Π½ΠΎ ΡΡΠ΄ΠΊΠΎ ΡΡΠ²Π°ΠΌ Π·Π° Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π°Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½ΡΠΌΠ° ΡΡΠ°ΡΠΈΠΈ Π½Π° Π±ΡΠ»Π³Π°ΡΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΈΡΠ°Ρ pruning Π·Π° Π½ΠΎΡ-Ρ
Π°Ρ ΠΈ ΠΌΡΠ»ΡΠ°Ρ.
ΠΠΎ Ρ
Π°ΠΉΠ΄Π΅ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅
ΠΠΎΠ³Π»Π΅Π΄ Π² Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°
ΠΠ±ΠΈΡΠ°ΠΌ, ΠΊΠΎΠ³Π°ΡΠΎ Π² Π΄ΡΠ»Π±ΠΎΠΊΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π²Π»ΠΈΠ·Π°Ρ ΠΈΠ΄Π΅ΠΈ, ΠΈΠ΄Π²Π°ΡΠΈ ΠΎΡ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°. ΠΠΌ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π° Π΅Π²ΠΎΠ»ΡΡΠΈΡΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ²Π° (Π° Π·Π½Π°Π΅ΡΠ΅ Π»ΠΈ, ΡΠ΅ ReLU Π΅ Π΄ΠΎΡΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° ?)
ΠΡΠΎΡΠ΅ΡΡΡ Π½Π° Model Pruning ΡΡΡΠΎ Π΅ Π±Π»ΠΈΠ·ΡΠΊ Π΄ΠΎ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°. Π Π΅Π°ΠΊΡΠΈΡΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΡΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ°Π²Π½ΠΈ Ρ ΠΏΠ»Π°ΡΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠΎΠ·ΡΠΊΠ°. ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² ΠΊΠ½ΠΈΠ³Π°ΡΠ° :
- ΠΠΎΠ·ΡΠΊΡΡ Π½Π° ΠΆΠ΅Π½Π°, ΠΊΠΎΡΡΠΎ Π΅ ΠΈΠΌΠ°Π»Π° ΠΎΡ ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΡΠΈ ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°, Π΅ ΠΏΡΠ΅ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π» ΡΠ°ΠΌ ΡΠ΅Π±Π΅ ΡΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π»ΠΈΠΏΡΠ²Π°ΡΠ°ΡΠ° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°.
- ΠΠΎΠΌΡΠ΅ΡΠΎ Π΅ ΠΎΡΡΡΡΠ°Π½ΠΈΠ»ΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΌΠΎΠ·ΡΠΊΠ° ΡΠΈ, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡΠ° Π·Π° Π·ΡΠ΅Π½ΠΈΠ΅ΡΠΎ. Π‘ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠ°ΡΡΠΈ Π½Π° ΠΌΠΎΠ·ΡΠΊΠ° ΠΏΠΎΠ΅Π»ΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. (Π½Π΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ)
Π’Π°ΠΊΠ° ΠΈ ΠΎΡ Π²Π°ΡΠ°ΡΠ° ΠΌΠΎΠ΄Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ΅ΠΆΠ΅ ΡΠ°ΡΡ ΠΎΡ ΡΠ»Π°Π±ΠΈΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ. Π ΠΊΡΠ°Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° Π·Π°ΠΌΠ΅Π½ΡΡ ΠΈΠ·ΡΡΠ·Π°Π½ΠΈΡΠ΅.
ΠΠ±ΠΈΡΠ°Ρ Transfer Learning ΠΈΠ»ΠΈ ΡΡΠΈΡ ΠΎΡ Π½ΡΠ»Π°?
ΠΠ°ΡΠΈΠ°Π½Ρ Π½ΠΎΠΌΠ΅Ρ Π΅Π΄Π½ΠΎ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Transfer Learning Ρ Yolov3, Retina, Mask-RCNN ΠΈΠ»ΠΈ U-Net. ΠΠΎ ΠΏΠΎ-ΡΠ΅ΡΡΠΎ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌΠ΅ 80 ΠΊΠ»Π°ΡΠ° ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΏΡΠΈ COCO. Π ΠΌΠΎΡΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π΄ΠΎ 1-2 ΠΊΠ»Π°ΡΠ°. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈ, ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π·Π° 80 ΠΊΠ»Π°ΡΠ° ΡΡΠΊ Π΅ ΠΈΠ·Π»ΠΈΡΠ½Π°. ΠΠ·ΠΏΠ»ΡΠ²Π° ΠΌΠΈΡΡΠ»ΡΠ°, ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΡΠΊΠ°ΠΌ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²Ρ Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈ ΡΠ΅Π³Π»Π°.
ΠΠ°ΡΠΈΠ°Π½Ρ Π½ΠΎΠΌΠ΅Ρ Π΄Π²Π΅. ΠΠΎΠΆΠ΅ Π±ΠΈ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΈ Π΅ Π½ΡΠΆΠ½Π° ΡΠ²ΡΡΡ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΠ΅ Π΅ Π²Π°ΠΆΠ½ΠΎ. ΠΠΎ ΠΎΠ±ΡΡΠ°Π²Π°Ρ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΎΡ Π½ΡΠ»Π°ΡΠ°. ΠΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡΡ ΡΠ΅Π΄ Π΅ β ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΠΌΠ΅ ΠΠΠΠΠ¨ΠΠ ΠΏΠΎ ΠΌΠΎΡΠ½ΠΎΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ Π½Π°ΡΠΈΡΠΊΠ°ΠΌΠ΅ Π΄ΡΠΎΠΏΠ°ΡΡΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΡΠ°Π²Π°Π½Π΅. ΠΠΈΠ΄ΡΠ» ΡΡΠΌ Π΄ΡΠΎΠΏΠ°ΡΡΠΈ 0.6, ΠΠ°ΡΠ».
Π Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π°. ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ ΠΌΠ΅ ΡΠ΅. Π‘Π΅Π³Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΎΠ±ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ (pruning).
ΠΠ±Ρ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ
Π Π΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ ΡΠ²ΠΈΠ²ΠΊΠΈΡΠ΅. ΠΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ:

ΠΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠ° ΡΠ²ΠΈΠ²ΠΊΠ° Π΅ ΡΡΡΠ΅Ρ Π·Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΡΡΡ Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ°. ΠΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, ΡΠΎΠ·ΠΈ ΡΡΡΡ Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ° Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΠΌΠ΅ ΡΠ²ΠΈΠ²ΠΊΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΠΎΠ»ΡΠΌ ΡΡΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠΌ Π½Π΅ΡΠΎ Π½Π΅ΡΠ΅Π΄Π½ΠΎ). ΠΠΎ ΠΌΠ°Π»ΡΠΊ ΡΡΡΡ Π΅ ΡΡΠ²ΡΠ΅ΠΌ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ² ΠΈ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° Ρ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ Π»Π΅ΠΊΠΎ Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠ°Π»ΠΊΠ° LR. ΠΠΎΠ±Π°Π²ΡΠΌΠ΅ ΡΡΡΠΏΠΊΠ° Π·Π° Π΄ΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅:

Π‘Π΅Π³Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠΎΠ³Π° ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠΏΡΠ΅ΠΌ ΡΠΈΠΊΡΠ»Π° Learning<->Pruning. Π’ΡΠΊ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°). ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π½Π°ΠΉ-ΡΠ΅ΡΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ β Π΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠΊΡΠ»Π°, Π΄ΠΎΠΊΠ°ΡΠΎ Π³ΡΠ΅ΡΠΊΠ°ΡΠ° Π½Π΅ ΡΡΠ°Π½Π΅ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΎΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°ΡΠ°. ΠΠΎΠ±Π°Π²ΡΠΌΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅:

Π ΡΠ°ΠΊΠ°, Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΡΡΠ°Π²Π° ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ. ΠΡΡΠ°Π²Π° Π΄Π° ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½ΠΈΡΠ΅ ΡΠ²ΠΈΠ²ΠΊΠΈ.
Π’ΡΡΡΠ΅Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½ΠΈ ΡΠ²ΠΈΠ²ΠΊΠΈ
Π’ΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ²ΠΈΠ²ΠΊΠΈ. ΠΠ° Π΄Π΅ΠΉΡΡΠ²Π°ΠΌΠ΅ Π½Π° ΡΠ»ΡΡΠ°Π΅Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΈ Π΄Π° βΡΡΡΠ΅Π»ΡΠΌΠ΅β Π²ΡΡΠΊΠ° β Π΅ Π»ΠΎΡΠ° ΠΈΠ΄Π΅Ρ, ΠΌΠ°ΠΊΠ°Ρ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. ΠΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π³Π»Π°Π²Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠΌΠΈΡΠ»ΠΈΠΌ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΎΡΠΊΡΠΎΠΈΠΌ Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ βΡΠ»Π°Π±ΠΈΡΠ΅β ΡΠ²ΠΈΠ²ΠΊΠΈ. ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°:
- . ΠΠ΄Π΅ΡΡΠ° Π΅, ΡΠ΅ ΡΠ²ΠΈΠ²ΠΊΠΈΡΠ΅ Ρ ΠΌΠ°Π»ΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΡΠ΅Π³Π»ΠΎ Π΄ΠΎΠΏΡΠΈΠ½Π°ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π·Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
- ΠΠ°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° L1-ΠΌΠ΅ΡΠΊΠ°, Π²Π·Π΅ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡΠ΅Π΄Π½ΠΎΡΠΎ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. ΠΠΎΠΏΡΠ»Π²Π° ΡΠ΅ Ρ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ.
- . ΠΠΎ-ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΈ ΡΠ²ΠΈΠ²ΠΊΠΈ, Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΎ.
- ΠΡΡΠ³ΠΈ
ΠΡΠ΅ΠΊΠΈ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΈΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ ΠΈ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. Π’ΡΠΊ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° Ρ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° L1-ΠΌΠ΅ΡΠΊΠ°.
Π ΡΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π·Π° YOLOv3
Π ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠΠΎ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈ Π΄Π° ΡΠ° Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈΡΠ°Π²ΠΈ ΡΠ΅ Π·Π° Π΄ΡΠ»Π±ΠΎΠΊΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ, ΡΠ΅ Π½ΠΈ ΠΏΡΠ΅ΡΠ°Ρ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΅, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΡΡΠΈΠ²Π°ΠΌΠ΅ ΡΠ²ΠΈΠ²ΠΊΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π² ΡΠ΅Π·ΠΈ ΡΠ»ΠΎΠ΅Π²Π΅:

ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΠΈΠΌ ΡΠ»ΠΎΠ΅Π²Π΅ΡΠ΅, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ ΡΠ²ΠΈΠ²ΠΊΠΈ:

Π‘Π΅Π³Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΡΠΈΠΊΡΠ»:
- ΠΠ·Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ
- ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π° ΠΈΠ·ΡΠ΅ΠΆΠ΅ΠΌ
- ΠΠ·ΡΡΠ·Π²Π°ΠΌΠ΅
- ΠΠ±ΡΡΠ°Π²Π°ΠΌΠ΅ 10 Π΅ΠΏΠΎΡ ΠΈ Ρ LR=1e-4
- Π’Π΅ΡΡΠΈΡΠ°ΠΌΠ΅
ΠΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ²ΠΈΠ²ΠΊΠΈ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π·Π° Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΠΊΠ°ΠΊΠ²Π° ΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΡΡΠΈΠ΅ΠΌ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π΅ΡΠ°ΠΏ. ΠΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅:

ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΠΏΠΎΡΡΠΈ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ 5% ΠΎΡ ΡΠ²ΠΈΠ²ΠΊΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΡΠΊΠ° L1-Π½ΠΎΡΠΌΠ° ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΈ ΠΈΠ·ΡΡΠΈΠ΅ΠΌ. ΠΠ° Π²ΡΠ΅ΠΊΠΈ Π΅ΡΠ°ΠΏ ΡΠ°ΠΊΠΎΠ²Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΡ ΠΈ ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° ΠΎΡ ΠΊΠΎΠΈ ΡΠ»ΠΎΠ΅Π²Π΅ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΡΠ΅ΠΆΠ΅ΠΌ.
Π¦Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ ΡΡΠ±ΡΠ° Π² 4 ΡΡΡΠΏΠΊΠΈ (ΡΡΠΊ ΠΈ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ ΡΠΈΡΠ»Π°ΡΠ° Π·Π° RTX 2060 Super):
| Π‘ΡΡΠΏΠΊΠ° | mAp75 | ΠΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΠΌΠ»Π½. | Π Π°Π·ΠΌΠ΅Ρ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΠ | ΠΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π°ΡΠ°, % | ΠΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΌΡ | Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π° ΠΈΠ·ΡΡΠ·Π²Π°Π½Π΅ |
|---|---|---|---|---|---|---|
| 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% ΠΈ Π΄Π° Π½Π΅ Π·Π°Π³ΡΠ±ΠΈΠΌ ΡΠΎΡΠ½ΠΎΡΡ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π·Π° ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ
ΠΠ° ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΈ (Π±Π΅Π· ΡΡΠ»ΠΎΠ²Π½ΠΈ add, concatenate ΠΈ residual Π±Π»ΠΎΠΊΠΎΠ²Π΅) ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ²ΠΈΠ²ΠΊΠΎΠ²ΠΈ ΡΠ»ΠΎΠ΅Π²Π΅ ΠΈ Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ²ΠΈΠ²ΠΊΠΈΡΠ΅.
Π’ΠΎΠ·ΠΈ Π²Π°ΡΠΈΠ°Π½Ρ Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Ρ
.
ΠΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ: ΠΎΡ Π²Π°Ρ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°ΠΌΠΎ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π½Π° Π·Π°Π³ΡΠ±ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π±Π°ΡΡ:
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_standart_deviation_part ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π±ΠΈΡΠ° ΠΎΡ:

ΠΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ ΠΎΡΡΡΡΠΏΠΊΠ° ΠΎΡ 2 ΡΠΈΠ³ΠΌΠ°. ΠΠ»ΠΈ ΠΌΠΎΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° Π½Π΅ ΡΠ΅ Π±Π°Π·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡ, ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ < 1.0.
ΠΠ° ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π·Π°Π³ΡΠ±ΠΈΡΠ΅ ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΡΠ΅ΡΡ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΄ΠΎ 1.0. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π±Π΅ΡΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΏΠΎΡΡΠΈ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ (ΠΌΠ°Π»ΠΊΠ° ΡΠ²ΠΈΠ²ΠΊΠ° Π½Π° 100ΠΊ ΡΠ΅Π³Π»Π°):

Π‘ΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π΅ ΠΏΠΎΠ΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ ΡΠ»ΡΠΊΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»Π°. ΠΠΌΠ° ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ Π·Π° ΡΠΎΠ²Π°:
- ΠΡΠΎΡΡ Π½Π° ΡΠ²ΠΈΠ²ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΎΡ ΡΠ΄ΠΎΠ±Π½ΠΈΡΠ΅ (32, 64, 128) Π΄ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΠΈΡΠ΅ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈ β 27, 51 ΠΈ Ρ.Π½. ΠΠΎΠ³Π° Π΄Π° ΡΠ³ΡΠ΅ΡΠ° ΡΡΠΊ, Π½ΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ²Π»ΠΈΡΠ²Π°.
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π΅ Π΅ ΡΠΈΡΠΎΠΊΠ°, Π½ΠΎ Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½Π°. ΠΠ°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ ΡΠΈΡΠΈΠ½Π°ΡΠ°, Π½Π΅ Π΄ΠΎΠΊΠΎΡΠ²Π°ΠΌΠ΅ Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π°ΡΠ°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ°.
ΠΠ°ΡΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΠΈ Π² Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CUDA ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Ρ 20-30%, Π½ΠΎ Π½Π΅ ΠΈ Π² Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠ³
ΠΠ΅ΠΊΠ° ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΠ°ΠΌΠ΅. Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ 2 Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π° ΡΡΠ·Π°Π½Π΅ β Π·Π° YOLOv3 (ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π½Π°Π»Π°Π³Π° ΡΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ) ΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΈ Ρ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ. Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΎΡΠ½ΠΎΡΡ. Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΡΠ°:
- ΠΠ°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°
- Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ
- ΠΠ°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CUDA
- ΠΠ°ΡΠΎ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, Π΅ΠΊΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΎΡΡ (ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π±ΡΠ΄Π΅ΡΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ. ΠΡΠΊΡΠ΄Π΅ ΡΠ°Π΄Π²Π° Π΅Π΄Π½Π° )
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- Π‘Π»Π΅Π΄ ΡΡΡΠΏΠΊΠ°ΡΠ° Π½Π° ΡΡΠ·Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΈ ΠΊΠ²Π°Π½ΡΠΈΠ·Π°ΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ TensorRT)
- Tensorflow ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° . Π Π°Π±ΠΎΡΠΈ.
- ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌ ΠΈ ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
