深度卷积神经网络在计算机视觉任务中有着广泛的应用。然而由于神经网络常常具有较大的计算量,其无法被直接应用在例如手机、无人车等移动设备上。于是,如何压缩神经网络使得他们可以被应用在资源受限的设备上已成为研究的热点。
图1:不同比特乘法和加法的运算代价对比
加法,减法,乘法和除法是数学中最基本的四个运算。众所周知,乘法的运算速度比加法慢。图1展示了加法和乘法在45nm元器件上的运算代价,可以看到,乘法的运算代价大大高于加法。然而现有的深度卷积神经网络包含着大量的乘法运算,带来了极大的运算代价。实际上,CNN中的卷积运算是计算特征和卷积核之间的互相关性。卷积被作为看作是从视觉数据中提取特征的默认操作,以往的工作引入各种方法来加速卷积。但是,几乎没有研究者尝试用另一种更有效的相似性度来量代替卷积。由于加法的计算复杂度比乘法低得多。因此,我们研究卷积神经网络中用加法代替乘法的可行性。
在本论文中,我们提出了AdderNet,一种几乎不包含乘法的神经网络。不同于卷积网络,我们使用L1距离来度量神经网络中特征和滤波器之间的相关性。由于L1距离中只包含加法和减法,神经网络中大量的乘法运算可以被替换为加法和减法,从而大大减少了神经网络的计算代价。此外,我们设计了带有自适应学习率的改进的梯度计算方案,以确保滤波器的优化速度和更好的网络收敛。在CIFAR和ImageNet数据集上的结果表明AdderNet可以在分类任务上取得和CNN相似的准确率。