【CNN】——对硬件优化的AdderNet加法网络简读

code:https://github.com/huawei-noah/AdderNet
来自:华为

摘要:
为了降低计算复杂度和能量负担,我们提出了一种新的使用加法器卷积神经网络(AdderNet)的极简硬件结构,其中原始的卷积只被加法器核替换。为了最大限度地挖掘潜在的能源消耗,我们探索了具有共享尺度因子方法的AdderNet的低位量化算法,并为AdderNet设计了特定的和通用的硬件加速器。结果表明,具有int8/int16量化的加法器核也表现出较高的性能,同时消耗较少的资源(理论上∼为81%)。此外,我们还在FPGA(现场可编程门阵列)平台上部署了量化的AdderNet。在相同的电路架构下,整个AdderNet实际上可以使速度提高16%,67.6%-71.4%降低逻辑资源利用率,47.85%-77.9%降低能耗。综合比较性能、功耗、硬件资源消耗和网络泛化能力,我们得出结论AdderNet能够超越所有其他竞争对手包括经典CNN,novel memristor network,XNORNet和shift-kernel网络,表明其在未来高性能和高效人工智能应用。

不同卷积核的比较

卷积核的主要作用是:通过计算滤波器和输入之间的相似性。常见的卷积核有:传统卷积核(b),移位卷积核©,模拟记忆内核(d),逻辑运算核(e),和本文提出的加法核。
在这里插入图片描述
加法网络采用L1范数来表示两个特征之间的相似度,而不是传统卷积的乘法。

加法核和其他卷积核的对比

在imagenet图像分类任务上精度的对比。
在这里插入图片描述
同时,加法网络因为在硬件上可以全用加法实现,所以比传统的CNN网络计算更快,更节能。
在这里插入图片描述

加法网络的量化

量化是用低位值表示权重和特征的一种重要技术。为了实现高精度和低功耗之间的平衡,经常采用8位或16位的量化方案。在CNN网络中,输入的特征和权值通常用不同的比例因子进行量化,因此特征和权值的小数点也是不同的。而且这也不会给低端MAC操作带来麻烦。而在AdderNet中,如果用不同的比例因子压缩特征和权重,卷积参数必须在加法器操作前先与移位操作进行点对齐,从而增加了硬件的功耗和逻辑消耗。
在这里插入图片描述
图3(a)和3(b)分别显示了AdderNet中输入特征和权值的分布,其中不同的颜色代表了ResNet18中不同的卷积层。可以看出,输入特征的大多数(>90%)范围为 2 − 4 ∼ 2 2 2^{-4}\sim 2^{2} 2422,权重范围为 2 − 2 ∼ 2 3 2^{-2} \sim 2^{3} 2223。相对较小的差异可以将feature和weight用同样的scale,最后选定的范围为 2 − 5 ∼ 2 3 2^{-5} \sim 2^{3} 2523,96%的特征信息可以保留,从而保证高性能。
量化的比特位宽和精度图如d所示。
经过8位量化后,Top-1和Top-5的精度分别保持在68.8%和88.5%,精度损失几乎为零。然后,我们进一步研究了在更低位下的压缩性能。如图3(d)所示,在5位精度下,Top-1和Top-5的精度仍可分别达到65.5%和86.2%。而4位量化表现出相对较大的性能下降,这与上述关于参数分布的讨论相一致。

addrnet在其他任务上的效果

  • 超分
    在这里插入图片描述
  • 目标检测
    在这里插入图片描述

可能问题

  • 按知乎上的测试反馈,训练的时候收敛比较慢,或者网络不好收敛。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值