Binary Neural Networks (BNNs) use 1-bit weights and activations to efficiently execute deep convolutional neural networks on edge devices. Nevertheless, the binarization of the first layer is conventionally excluded, as it leads to a large accuracy loss. The few works addressing the first layer binarization, typically increase the number of input channels to enhance data representation; such data expansion raises the amount of operations needed and it is feasible only on systems with enough computational resources. In this work, we present a new method to binarize the first layer using directly the 8-bit representation of input data; we exploit the standard bit-planes encoding to extract features bit-wise (using depth-wise convolutions); after a re-weighting stage, features are fused again. The resulting model is fully binarized and our first layer binarization approach is model independent. The concept is evaluated on three classification datasets (CIFAR10, SVHN and CIFAR100) for different model architectures (VGG and ResNet) and, the proposed technique outperforms state of the art methods both in accuracy and BMACs reduction.
翻译:二值神经网络(BNNs)采用1比特权重和激活值,在边缘设备上高效执行深度卷积神经网络。然而,第一层的二值化通常被排除在外,因为这会带来较大的精度损失。少数研究针对第一层二值化,通常通过增加输入通道数来增强数据表示;但这种数据扩展会增加运算量,且仅适用于计算资源充足的系统。本文提出一种新方法,直接利用输入数据的8比特表示实现第一层二值化;我们利用标准比特平面编码,通过深度可分离卷积逐比特提取特征;经过重加权阶段后,特征再次融合。最终模型实现完全二值化,且我们的第一层二值化方法与模型无关。该概念在三个分类数据集(CIFAR10、SVHN和CIFAR100)上针对不同模型架构(VGG和ResNet)进行评估,所提方法在精度和BMACs(二值乘法累加操作)缩减方面均优于现有最优方法。