RNNPool: تجميع غير خطي فعّال للذاكرة المحدودة في الاستدلال

الشبكات العصبية التلافيفية القياسية (CNNs) المصممة للمهام المرتبطة بمعالجة الرؤية الحاسوبية تميل إلى امتلاك خرائط تنشيط وسطية كبيرة. تتطلب هذه الخرائط ذاكرة عمل كبيرة، مما يجعلها غير مناسبة للنشر على الأجهزة المحدودة الموارد التي تُستخدم عادةً في التنبؤ على الحافة (edge). يمكن تقليل المشكلة من خلال تقليل حجم الصور بشكل مكثف باستخدام تقنيات التجميع (pooling) أو التلافيف المُتنقلة (strided convolutions)، لكن هذا يؤدي إلى انخفاض كبير في الدقة بسبب التجميع المفرط لخرائط الميزات بواسطة مشغلات التجميع القياسية. في هذا البحث، نقدم RNNPool، وهو مشغل تجميع جديد يعتمد على الشبكات العصبية التكرارية (RNNs)، والذي يقوم بتجميع الميزات بكفاءة على مناطق واسعة من الصورة ويخفض بشكل سريع حجم خرائط التنشيط. أظهرت التقييمات التجريبية أن طبقة RNNPool يمكنها استبدال عدة كتل في مجموعة متنوعة من الهياكل المعمارية مثل MobileNets وDenseNet عند تطبيقها على مهام الرؤية القياسية مثل تصنيف الصور وكشف الوجوه. وبعبارة أخرى، يمكن لـ RNNPool تقليل التعقيد الحسابي ومستويات الاستخدام الذروي للذاكرة أثناء التنبؤ بشكل كبير، مع الحفاظ على دقة مماثلة. استخدمنا RNNPool مع الهيكل القياسي S3FD لبناء طريقة كشف وجوه تحقق أفضل أداء مُسجَّل (state-of-the-art) في مقياس MAP على أجهزة ميكرو كونترولر من فئة ARM Cortex-M4 ذات ذاكرة وصول عشوائي (RAM) أقل من 256 كيلوبايت. تم إصدار الشفرة المصدرية على الرابط: https://github.com/Microsoft/EdgeML.