شبکه عصبی XNOR (XNOR Neural Network - برای سخت افزار)، در ریاضیات (Mathematics)
انواع شبکه های عصبی (Neural Networks) را در آموزش زیر شرح دادیم :
شبکه عصبی XNOR (XNOR Neural Network - برای سخت افزار) :
شبکه عصبی XNOR (یا شبکه دوگانه) یک روش برای دودویی کردن (binarizing) وزن ها و فعال سازی ها به مقادیر +1 و -1 است. این کار توسط Rastegari و همکاران در سال ۲۰۱۶ معرفی شد. در XNOR-Net، وزن ها و فعال سازی ها به مقادیر دودویی تبدیل می شوند و عملیات کانولوشن با عملیات XNOR و Bit-count (تعداد بیت های یکسان) جایگزین می گردد که بسیار سریع تر و کم مصرف تر است.
ایده اصلی: یک فیلتر وزن
\[ W \]با یک اسکیلر
\[ \alpha \]و یک ماتریس دودویی
\[ B \]تقریب زده می شود:
\[ W \approx \alpha B \]. فعال سازی نیز دودویی می شود. سپس کانولوشن
\[ I * W \approx (I \odot B) \alpha \]با عملیات XNOR محاسبه می شود. این کار باعث کاهش ۳۲ برابری حافظه و تا ۵۸ برابر سرعت بیشتر روی CPU می شود.
مزایا: مناسب برای سخت افزارهای کم منابع (FPGA، موبایل)، کاهش چشمگیر حافظه و توان. معایب: کاهش دقت در مسائل پیچیده. انواع بهبودیافته مانند DoReFa-Net و BinaryNet نیز وجود دارند.