华为开源只用加法的神经网络:实习生领衔打造,效果不输传统CNN | CVPR 2020 Oral...

晓查 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

没有乘法的神经网络,你敢想象吗?无论是单个神经元的运算还是卷积运算,都不可避免地要使用乘法。

然而乘法对硬件资源的消耗远大于加法。如果不用乘法,全部改用加法应该可以让运算速度大大提升。

去年年底,来自北京大学、华为诺亚方舟实验室、鹏城实验室的研究人员将这一想法付诸实践,他们提出了一种只用加法的神经网络AdderNet(加法器网络)。一作是华为诺亚方舟实习生,正在北大读博三。

如今,这篇文章已经被CVPR 2020收录(Oral),官方也在GitHub上开放了源代码。有兴趣的同学不妨前往一试究竟。

加法器网络简介

加法器网络的核心在于:用L1距离代替欧氏距离

L1距离是求两点之间坐标差值的绝对值之和,因此全程不涉及乘法。

在这种新的定义下,反向传播中用到的求偏导数运算也变成了求减法。梯度下降的优化过程也被叫做符号SGD(signSGD)。

在加法器网络的新定义下,特征向量的空间分布也和CNN有很大的不同。

那么AdderNet的实际效果如何呢?

在CIFAR-10的图像分类任务中,AdderNet相比当初Bengio等人提出的加法神经网络BNN性能有大幅提升,并且已经接近了传统CNN的结果。

开源代码

官方的AdderNet基于Python3和PyTorch。

先按照PyTorch的官方文档准备ImageNet数据集,运行程序评估它在验证集上的效果:

python test.py —data_dir 'path/to/imagenet_root/'

AdderNet可以在ImageNet数据集上达到74.9%的Top-1准确度和91.7%的Top-5准确度。

或者将CIFAR-10数据集下载到本地,测试一下它在CIFAR-10上的效果

python test.py —dataset cifar10 —model_dir models/ResNet20-AdderNet.pth —data_dir 'path/to/cifar10_root/'

不过AdderNet仍需自己训练,官方表示将很快发布预训练模型。

现阶段的AdderNet并非没有缺陷,作者在项目主页中说,由于AdderNet是用加法过滤器实现的,因此推理速度较慢,需要用CUDA编写才能提高速度。

这与作者希望提高神经网络运算速度的初衷还有一段距离。

但这篇论文的作者表示,今后还会继续加法器神经网络的研究,发表更多的成果,让我们一起期待这项研究取得新的进展吧。

华为诺亚实验室实习生领衔打造

AdderNet这篇文章的一作名叫陈汉亭,毕业于同济大学数学系,现在在北京大学信息科学技术学院攻读博士学位,同时在华为诺亚方舟实验室实习。

在硕博连读的前三年中,他已经以一作身份发表了5篇论文,其中一篇《Data-Free Learning of Student Networks》被ICCV 2019收录,另外它参与多篇论文还被NeurIPS、IJCAI、ICML等顶会收录。

传送门

源代码:
https://github.com/huawei-noah/AdderNet

论文地址:
https://arxiv.org/abs/1912.13200

作者系网易新闻·网易号“各有态度”签约作者

北京时间3月21日早10:30,线上首次云试乘无人车!急寻众多监工们,跟随轻舟智航L4级无人车应对硅谷晚高峰。此外更有两位轻舟智航顶级技术专家、前Waymo核心工程师拆解其创新技术路径以及大规模智能仿真系统的具体应用

戳二维码,备注“无人车”即可报名、加交流群与同好讨论交流无人车进展~

高能直播 | 云体验无人车试乘+顶级技术专家拆解仿真系统

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值