この論文は、重みと活性化の両方が2進数であるバイナリニューラルネットワークの改善されたトレーニングアルゴリズムを提案します。 XNOR-Netの現在の最先端の方法の重要ではあるがかなり見落とされている機能は、バイナリ畳み込みの出力を再重み付けするために分析的に計算された実数値のスケーリング係数を使用することです。これらの要因の分析計算は最適ではないと主張します。代わりに、この作業では、以下の貢献を行います。(a)活性化係数と重みスケーリング係数を、バックプロパゲーションによって識別的に学習される単一の係数に融合することを提案します。 (b)さらに重要なことは、計算予算を固定したまま、スケールファクターの形状を構築するいくつかの方法を検討することです。 (c)近似の精度を経験的に測定し、分析的に計算されたものよりもはるかに正確であることを示します。 (d)ImageNet分類の困難なタスクでテストすると、同じアプローチでXNOR-Netを大幅に上回るパフォーマンスを示し、最大6 \%の精度向上を実現します。
This paper proposes an improved training algorithm for binary neural networks in which both weights and activations are binary numbers. A key but fairly overlooked feature of the current state-of-the-art method of XNOR-Net is the use of analytically calculated real-valued scaling factors for re-weighting the output of binary convolutions. We argue that analytic calculation of these factors is sub-optimal. Instead, in this work, we make the following contributions: (a) we propose to fuse the activation and weight scaling factors into a single one that is learned discriminatively via backpropagation. (b) More importantly, we explore several ways of constructing the shape of the scale factors while keeping the computational budget fixed. (c) We empirically measure the accuracy of our approximations and show that they are significantly more accurate than the analytically calculated one. (d) We show that our approach significantly outperforms XNOR-Net within the same computational budget when tested on the challenging task of ImageNet classification, offering up to 6\% accuracy gain.