AdderNet: DoWe Really Need Multiplications in Deep Learning?
CVPR2020
https://arxiv.org/abs/1912.13200

当前主流的CNN网络使用了大量的乘法运算来计算 输入特征层和卷积滤波器的相似性(cross-correlation),由于乘法运算耗时明显大于加法运算耗时,所有本文提出一个加法神经网络,使用 l1 范数来计算 输入特征层和卷积滤波器的相似性。这样在计算滤波器的输出响应时基本不用乘法运算。针对该加法神经网络,对网络的训练优化深入分析,根据其实际情况做出相应的调整。最后通过实验数据验证了该加法网络的有效性。

  1. Related works
    2.1. Network Pruning 网络裁剪
    基于裁剪的方法主要思路是去除冗余的网络连接从而实现压缩和加速原始网络

    2.2. Efficient Blocks Design
    该方法主要是针对 传统卷积滤波器 conventional convolution filters 进行优化,设计简洁的模块以降低卷积运算量(降低滤波器数量)

    2.3. Knowledge Distillation
    简单的说就是用一个小网络去逼近一个复杂网络,minimizing the Kullback-Leibler divergence between their outputs

上面各种方法只是减少了乘法运算量,但是还是有很多乘法运算,这里我们提出一个基本没有乘法的加法网络

  1. Networks without Multiplication

    传统卷积模块可以用下面公式表达

    这里的 S 是一个预定义的相似性度量,大多数相似性度量都涉及到乘法,运算量较大。

3.1. Adder Networks
这里我们主要寻找一个不用乘法的相似性度量,l1 距离 没有乘法

l1 距离 和 cross-correlation 具有一定的差异性,主要是输出的取值范围。我们使用 batch normalization 对输出响应进行归一化,这样传统卷积网络中的激活响应函数就可以在加法神经网络中使用 。 batch normalization 虽然也有乘法运算,但是这个乘法运算量和 卷积响应的乘法运算量相比较来说很小。

3.2. Optimization
这里我们采用了 full-precision gradient 进行梯度更新

3.3. Adaptive Learning Rate Scaling
不同的网络层采用了不同的学习率
By using the proposed adaptive learning rate scaling, the adder filters in different layers can be updated with nearly the same step

  1. Experiment 实验数据

希望移动端的CNN模型能够早日得到大规模应用

加法神经网络--AdderNet: DoWe Really Need Multiplications in Deep Learning?相关推荐

  1. 第一门课 神经网络和深度学习(Neural Networks and Deep Learning)

    第一门课 神经网络和深度学习(Neural Networks and Deep Learning) 文章目录 第一门课 神经网络和深度学习(Neural Networks and Deep Learn ...

  2. 吴恩达:神经网络和深度学习(Neural Networks and Deep Learning)

    文章目录 1.1欢迎 1.2 什么是神经网络 1.3 用神经网络进行监督学习 1.4 为什么深度学习会兴起? 2.1 二分分类 2.2 logistic回归 2.3 logistic回归损失函数 lo ...

  3. 深度学习吴恩达老师(一):神经网络和深度学习(Neural Networks and Deep Learning):内容整理 + 习题分享

  4. 华为开源加法神经网络 | CVPR20 Oral

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者王云鹤授权转载,不得擅自二次转载.原文链接:https://zhuanlan.zhihu ...

  5. 【CVPR 2020 Oral】华为开源加法神经网络

    作者:王云鹤 本文转载自知乎,作者已授权,未经许可请勿二次转载. 此前备受大家关注的加法神经网络(AdderNet,ANN)已被CVPR 2020接受,并录用为Oral(接受率约6%).在这篇工作中, ...

  6. Bengio Deep Learning 初探 —— 第6章:前馈神经网络

    基于梯度的学习 1)深度前馈网络(deep feedforward network),又名前馈神经网络或多层感知机(multilayer perceptron,MLP),前馈的意思是指在这个神经网络里 ...

  7. Deep Learning论文笔记之(五)CNN卷积神经网络代码理解

    Deep Learning论文笔记之(五)CNN卷积神经网络代码理解 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但 ...

  8. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  9. 训练softmax分类器实例_CS224N NLP with Deep Learning(四):Window分类器与神经网络

    Softmax分类器 我们来回顾一下机器学习中的分类问题.首先定义一些符号,假设我们有训练集 ,其中 为输入, 为标签,共包括 个样本: 表示第 个样本,是一个 维的向量: 表示第 个样本的标签,它的 ...

最新文章

  1. SAP中破解系统管理员密码
  2. 谈谈JavaScript中编程实现以及使用内置方法实现进制转换
  3. Android FrameWork学习(一)Android 7 0系统源码下载 编译
  4. 体育测试数据绘图软件,原创健身运动体育测试数据统计app界面
  5. 【Sqoop】从MySQL同步数据到Hive的操作参数解析
  6. 癌症精准医疗上市公司泛生子基因 - 内推(名额有限)
  7. mysql删除字段的方法总结
  8. 链上合约(On-chain) 和 链下合约(Off-chain) 是什么 区别
  9. 关于Session、Cookie、Token你知道多少?
  10. 【Python的自学之路】(八):文字游戏分享
  11. 一个特别NB的技术网站
  12. OBS录制的时候黑屏怎么办
  13. 有人设备在工业物联网解决方案中的应用
  14. VS2008下 天龙客户端编译
  15. 构建具有时间依存协变量的Elastic-net Cox模型
  16. 大脑计算机马云,马云对话马斯克:人和机器谁更聪明?两马吵起来了
  17. 服务器私有信息,私有服务器
  18. 《吊打面试官》系列-Redis基础
  19. Window10主硬盘更换及系统重装
  20. python3入门与进阶笔记_Python3入门与进阶【笔记】

热门文章

  1. Excel VBA参考文献中人名与年份格式转换
  2. 网络分析概述之网络基础简介
  3. R语言使用trimws函数:trimws函数去除(删除、remove)字符串头尾的空格
  4. pandas使用dropna函数计算返回dataframe中不包含缺失值的行索引列表list(index of rows without missing values in dataframe)
  5. R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置、str_locate_all函数定位所有位置
  6. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(编写自定义函数添加均值、标准偏差)实战
  7. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(改变分组次序)实战
  8. TSNE算法是什么?该算法有什么缺陷?
  9. oracle元字符,oracle中正则表达式的基本元字符
  10. 新版IntelliJ IDEA Web项目配置完整流程