This paper studies the Binary Neural Networks (BNNs) in which weights and activations are both binarized into 1-bit values, thus greatly reducing the memory usage and computational complexity. Since the modern deep neural networks are of sophisticated design with complex architecture for the accuracy reason, the diversity on distributions of weights and activations is very high. Therefore, the conventional sign function cannot be well used for effectively binarizing full-precision values in BNNs. To this end, we present a simple yet effective approach called AdaBin to adaptively obtain the optimal binary sets $\{b_1, b_2\}$ ($b_1, b_2\in \mathbb{R}$) of weights and activations for each layer instead of a fixed set (i.e., $\{-1, +1\}$). In this way, the proposed method can better fit different distributions and increase the representation ability of binarized features. In practice, we use the center position and distance of 1-bit values to define a new binary quantization function. For the weights, we propose an equalization method to align the symmetrical center of binary distribution to real-valued distribution, and minimize the Kullback-Leibler divergence of them. Meanwhile, we introduce a gradient-based optimization method to get these two parameters for activations, which are jointly trained in an end-to-end manner. Experimental results on benchmark models and datasets demonstrate that the proposed AdaBin is able to achieve state-of-the-art performance. For instance, we obtain a 66.4\% Top-1 accuracy on the ImageNet using ResNet-18 architecture, and a 69.4 mAP on PASCAL VOC using SSD300.
翻译:本文研究了二进制神经网络( Binary Neural Nets), 其中加权和激活被二进制成1位值, 从而大大降低存储用量和计算复杂性。 由于现代深神经网络的设计复杂, 且结构复杂, 准确性原因, 重量和启动量分布的多样性非常高。 因此, 常规信号功能无法很好地用于将BNS 的全部精度值有效二进制。 为此, 我们提出了一个简单而有效的方法, 称为 AdaBin, 以适应方式获得最佳的二进制 $%b_ 1, b_ 2 美元( b_ 2 美元), 从而大大降低存储量使用存储量和计算值的精度。 对于每层的重量和启动量结构, 我们提议一个稳定性地分配方法, 以最小化的硬性能和最小性能方式, 以硬性能方式在硬性平面的平面的平面结构中, 以平面的平面性平面法 。