0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

没有乘法的神经网络,你敢想象吗?

倩倩 来源:数据集 2020-03-27 15:11 次阅读

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

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

去年年底,来自北京大学、华为诺亚方舟实验室、鹏城实验室的研究人员将这一想法付诸实践,他们提出了一种只用加法的神经网络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等顶会收录。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4789

    浏览量

    101597
  • 加法器
    +关注

    关注

    6

    文章

    183

    浏览量

    30336
收藏 人收藏

    评论

    相关推荐

    BP神经网络与卷积神经网络的比较

    BP神经网络与卷积神经网络在多个方面存在显著差异,以下是对两者的比较: 一、结构特点 BP神经网络 : BP神经网络是一种多层的前馈神经网络
    的头像 发表于 02-12 15:53 173次阅读

    人工神经网络的原理和多种神经网络架构方法

    在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。在本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。 01 人工神经网络   人工神经网络模型之所
    的头像 发表于 01-09 10:24 543次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法

    卷积神经网络与传统神经网络的比较

    在深度学习领域,神经网络模型被广泛应用于各种任务,如图像识别、自然语言处理和游戏智能等。其中,卷积神经网络(CNNs)和传统神经网络是两种常见的模型。 1. 结构差异 1.1 传统神经网络
    的头像 发表于 11-15 14:53 1014次阅读

    BP神经网络和卷积神经网络的关系

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种在人工智能和机器学习领域
    的头像 发表于 07-10 15:24 1857次阅读

    BP神经网络和人工神经网络的区别

    BP神经网络和人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中一个基础且重要的话题。本文将从定义、结构、算法、应用及未来发展等多个方面,详细阐述BP
    的头像 发表于 07-10 15:20 1579次阅读

    rnn是递归神经网络还是循环神经网络

    RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络,能够处理序列数据,具有记忆功能。以下是关于循环
    的头像 发表于 07-05 09:52 739次阅读

    递归神经网络是循环神经网络

    递归神经网络(Recurrent Neural Network,简称RNN)和循环神经网络(Recurrent Neural Network,简称RNN)实际上是同一个概念,只是不同的翻译方式
    的头像 发表于 07-04 14:54 1035次阅读

    循环神经网络和卷积神经网络的区别

    循环神经网络(Recurrent Neural Network,RNN)和卷积神经网络(Convolutional Neural Network,CNN)是深度学习领域中两种非常重要的神经网络
    的头像 发表于 07-04 14:24 1614次阅读

    深度神经网络与基本神经网络的区别

    在探讨深度神经网络(Deep Neural Networks, DNNs)与基本神经网络(通常指传统神经网络或前向神经网络)的区别时,我们需要从多个维度进行深入分析。这些维度包括
    的头像 发表于 07-04 13:20 1211次阅读

    卷积神经网络与循环神经网络的区别

    在深度学习领域,卷积神经网络(Convolutional Neural Networks, CNN)和循环神经网络(Recurrent Neural Networks, RNN)是两种极其重要
    的头像 发表于 07-03 16:12 4131次阅读

    反向传播神经网络和bp神经网络的区别

    反向传播神经网络(Backpropagation Neural Network,简称BP神经网络)是一种多层前馈神经网络,它通过反向传播算法来调整网络中的权重和偏置,以达到最小化误差的
    的头像 发表于 07-03 11:00 957次阅读

    bp神经网络是深度神经网络

    BP神经网络(Backpropagation Neural Network)是一种常见的前馈神经网络,它使用反向传播算法来训练网络。虽然BP神经网络在某些方面与深度
    的头像 发表于 07-03 10:14 1033次阅读

    bp神经网络和卷积神经网络区别是什么

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种不同类型的人工神经网络,它们在
    的头像 发表于 07-03 10:12 1558次阅读

    卷积神经网络和bp神经网络的区别

    卷积神经网络(Convolutional Neural Networks,简称CNN)和BP神经网络(Backpropagation Neural Networks,简称BPNN)是两种
    的头像 发表于 07-02 14:24 5122次阅读

    神经网络架构有哪些

    神经网络架构是机器学习领域中的核心组成部分,它们模仿了生物神经网络的运作方式,通过复杂的网络结构实现信息的处理、存储和传递。随着深度学习技术的不断发展,各种神经网络架构被提出并广泛应用
    的头像 发表于 07-01 14:16 997次阅读