华为诺亚加法网络再升级:精度提升,可以逼近任意函数

作者 | Panda

来源 | 机器之心

深度卷积神经网络的计算常常需要巨大的能耗,因此难以在移动设备上实现。为此学界正在探索研究各式各样的新方法,本文要介绍的这项研究提出了使用加法替代 CNN 中的乘法(卷积),从而极大降低神经网络使用时的能耗。

该研究的初步结果已在 CVPR 2020 发表(arXiv:1912.13200)。本文要介绍的是最新的研究成果,在新版本中,AdderNet 的性能已经获得了显著的提升,并且还具有了完善的理论保证。

首先,该研究团队证明了具有单个隐藏层 AdderNet 和宽度有界的 AdderNet 可以近似一个紧集中任意勒贝格可积函数。其结果可与传统神经网络的通用近似结果相媲美。该团队还给出了单隐藏层的 AdderNet 的近似边界。

其次,为了有效地优化 AdderNet,该团队设计了从 L2 到 L1 过渡的训练方案和自适应学习率扩展,以确保参数的充分更新和更优的网络收敛。他们在多个图像分类数据集上测试了新提出的 AdderNet,实验结果表明 AdderNet 的准确率相比于之前版本有着显著地提升,可以在 ImageNet 等大型数据集上取得与传统 CNN 相当的识别准确度。

深度卷积神经网络(CNN)的计算常常需要执行数以十亿计次的乘法,得益于图形处理器(GPU)的迅速发展,这些乘法的执行速度得到了显著提升,进而为大量计算机视觉任务带来了巨大的发展,其中包括图像分类、目标检测、图像分割和人脸验证。

但是,高端 GPU 卡的功耗实在太高(比如 GeForce RTX 2080 Ti 的功耗超过 250W),导致现代深度学习系统无法被部署到智能手机、相机和手表等计算资源有限的移动设备中。而且现有的 GPU 卡体积也较大,很难安装到移动设备上。因此,研究能以可负担的计算能耗运行在移动设备上的高效深度神经网络是很有必要的。

在数学中,加减乘除是四种最基本的运算。众所周知,乘法的速度慢于加法,但是深度神经网络前向推理过程中的计算包含了大量权重和激活函数之间的乘法。因此,许多论文尝试研究了如何减少神经网络中的乘法计算,从而加快深度学习速度。

在这一方向上的开创性研究是 Yoshua Bengio 团队 2015 年提出的 BinaryConnect,其会将网络权重强制设为二值(比如 -1 或 1,这个过程称为二值化),使得卷积网络中的乘加运算可被简单的累加运算替代。在那之后,该团队进一步提出了二值化神经网络(Binarized neural networks,BNN),其不仅会将权重变为二值,而且也会将卷积神经网络运行时的激活也设为二值。 

尽管深度神经网络的二值化可以显著降低计算成本,但往往难以保证原有的识别精度。此外,二值网络的训练过程并不稳定,而且通常需要使用较小的学习率,因此会有更慢的收敛速度。CNN 中的卷积实际上是通过计算互相关(cross-correlation)来测算激活和卷积核之间的相似度。以往的研究已经习惯于使用卷积来提取视觉数据中的有效特征,并且引入各种方法来加快卷积的速度,即便其中可能存在牺牲网络能力的风险。但之前很少有研究者尝试用另一种更高效的相似度度量来替代卷积,例如仅涉及加法的 L1 计算。事实上,相比于乘法,加法的计算复杂度要低得多。

由北京大学、华为诺亚方舟实验室、悉尼大学和香港科技大学联合的团队抓住了这个研究机会,探索了在卷积神经网络中使用加法替代乘法的可行性。

他们的论文提出了加法神经网络(AdderNet),其最大化地使用了加法,同时抛弃了卷积运算,将 L1 距离用作度量函数,从而计算输入特征和滤波器之间的相似度,用于代替原始卷积中的互相关度量。

图 1:可视化 AdderNet 和 CNN 中的特征

如图所示,在 CNN 中,不同类别的特征聚集在不同的角度上。而在 AdderNet 中,特征往往聚集在不同的类别中心,这是因为 AdderNet 使用了 L1 距离来区别不同的类别。这个可视化结果说明 L1 距离和传统的互相关都可被用作度量,来计算深度神经网络中滤波器与输入特征之间距离的相似度。由于减法可使用加法的补码轻松实现,因此仅使用加法的 L1 度量可作为一种对硬件友好的度量,并且在构建神经网络时可以很自然地有效替代卷积。 

 

AdderNet 的设计思路

 

令 F 为深度神经网络的一个中间层中的滤波器,其核大小为 d,输入通道为 c_in,输出通道为 c_out。输入特征定义为 X,特征的高度和宽度分别为 H 和 W。输出特征为 Y,其表明了滤波器与输入特征之间的相似度:

其中 S(·,·) 是一种预定义的相似度度量。如果将互相关用作是距离指标,即 S(x,y)=x×y,那么 (1) 式就是卷积运算。而如果令 d=1, (1) 式就表示全连接层。

 

为了尽可能地使用加法,该团队使用了 L1 距离,即计算两个点的向量表示的绝对差之和,代替了卷积中的互相关计算,这个过程无需乘法。因此,通过计算 L1 距离,可将 (1) 式改写为(注意减法也算是一种形式的加法):

 

可以看到,(2) 式加法器滤波器的输出总是为负。为此,研究者使用了批归一化(Batch Normalization)将加法器层的输出归一化到合适的范围内,然后传统 CNN 中使用的所有激活函数便都可用在新提出的 AdderNet 中。

 

尽管批归一化层会用到乘法,但其计算成本显著低于卷积层的成本,完全可以忽略不计。对于有滤波器 F 的卷积层,如果其输入为 X(其高和宽分别为 H 和 W),输出为 Y(其高和宽分别为 H’ 和 W’),则卷积和批归一化的复杂度分别为 和 ,可以看到差距非常明显。

 

因为批归一化层已经在当前前沿的卷积神经网络中得到了广泛的应用,因此只需简单地将 CNN 的卷积层替换为加法器层,就可以直接将它们变为 AdderNet,从而加快推理速度并降低能耗

 

在提出加法网络的计算方式后,作者进一步对加法网络的通用逼近性能进行了分析,证明了具有单个隐藏层的 AdderNet 可以作为通用函数逼近器。

由于现在的神经网络往往倾向于更深而非更宽,所以作者还证明了宽度有界的加法神经网络也可以作为通用函数逼近器。

 

此外,作者还提供了一个通用逼近的边界。这些证明结果与卷积神经网络的通用近似结果相媲美。由于理论证明的部分较为复杂,本文不详细介绍对 AdderNet 的通用近似能力的理论证明,详情参阅原论文。

除了给加法网络进行理论保障,研究者还在加法网络的优化策略上提出了改进措施:

 

•原始 AdderNet 的梯度更新策略为:

•研究者提出了 L2 到 L1 的训练策略,从而利用 L2 范数引导 L1-AdderNet 的训练。而 Lp-AdderNet (1≤P≤2)的形式为:

其梯度更新策略变为:

简单来说:由于直接训练 L1-AdderNet 难度较大,研究者会在训练开始时先训练 L2-AdderNet。而在训练过程中,p 会从 2 线性地变成 1,最终在训练结束时得到 L1-AdderNet。

•研究者还提出了在 AdderNet 中使用自适应学习率调节,使得不同层中的加法器滤波器能在相近的同一步骤更新。

 

AdderNet 的整体训练过程如下算法 1 所示:

 研究者也通过实验验证了加法器神经网络的有效性

 

作者首先通过在一系列的构造数据集上验证加法网络的通用逼近特性

 

可以看到,对于不同构造的数据点分类,两层加法网络和卷积网络在使用多个隐藏节点的时候都可以顺利逼近不同的分布,证明了它们的通用逼近特性。

接下来,作者在实际的图像分类数据集上进行了一系列实验。

在 CIFAR-10 和 CIFAR-100 数据集上的分类结果,其中 #Mul. 为执行的乘法次数,#Add. 为执行的加法次数,XNOR 为执行的「异或非」运算次数

在 ImageNet 数据集上的分类结果

 

可以看到,在图像分类任务上,AdderNet 的表现与 CNN 相近,且几乎不需要任何乘法计算,在精度上优于二值化神经网络(BNN,不过 BNN 的模型要小得多)。在常用的 ResNet-18 和 ResNet-50 架构上,AdderNet 新版本的精度已经和原始卷积网络十分相似,差距在一个点以内。

研究中提出的各种优化策略也通过控制变量实验得到了验证,结果如下:

AdderNet 中不同训练策略的效果

已经有了理论保证的 AdderNet 能否在移动设备的计算机视觉任务处理上大显神通?让我们拭目以待。

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

???? 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

???? 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值