出品 | AI科技大本营(ID:rgznai100)

导语:在CVPR 2020上,商汤研究院链接与编译组和北京航空航天大学刘祥龙老师团队提出了一种旨在优化前后向传播中信息流的实用、高效的网络二值化新算法IR-Net。不同于以往二值神经网络大多关注量化误差方面,本文首次从统一信息的角度研究了二值网络的前向和后向传播过程,为网络二值化机制的研究提供了全新视角。同时,该工作首次在ARM设备上进行了先进二值化算法效率验证,显示了IR-Net部署时的优异性能和极高的实用性,有助于解决工业界关注的神经网络二值化落地的核心问题。

动机

二值神经网络因其存储量小、推理效率高而受到社会的广泛关注 [1]。然而与全精度的对应方法相比,现有的量化方法的精度仍然存在显著的下降。

对神经网络的研究表明,网络的多样性是模型达到高性能的关键[2],保持这种多样性的关键是:(1) 网络在前向传播过程中能够携带足够的信息;(2) 反向传播过程中,精确的梯度为网络优化提供了正确的信息。二值神经网络的性能下降主要是由二值化的有限表示能力和离散性造成的,这导致了前向和反向传播的严重信息损失,模型的多样性急剧下降。同时,在二值神经网络的训练过程中,离散二值化往往导致梯度不准确和优化方向错误。如何解决以上问题,得到更高精度的二值神经网络?这一问题被研究者们广泛关注,本文的动机在于:通过信息保留的思路,设计更高性能的二值神经网络。

基于以上动机,本文首次从信息流的角度研究了网络二值化,提出了一种新的信息保持网络(IR-Net):(1)在前向传播中引入了一种称为Libra参数二值化(Libra-PB)的平衡标准化量化方法,最大化量化参数的信息熵和最小化量化误差;(2) 在反向传播中采用误差衰减估计器(EDE)来计算梯度,保证训练开始时的充分更新和训练结束时的精确梯度。

IR-Net提供了一个全新的角度来理解二值神经网络是如何运行的,并且具有很好的通用性,可以在标准的网络训练流程中进行优化。作者使用CIFAR-10和ImageNet数据集上的图像分类任务来评估提出的IR-Net,同时借助开源二值化推理库daBNN进行了部署效率验证。

方法设计

高精度二值神经网络训练的瓶颈主要在于训练过程中严重的信息损失。前向sign函数和后向梯度逼近所造成的信息损失严重影响了二值神经网络的精度。为了解决以上问题,本文提出了一种新的信息保持网络(IR-Net)模型,它保留了训练过程中的信息,实现了二值化模型的高精度。

前向传播中的Libra Parameter Binarization(Libra-PB)

在此之前,绝大多数网络二值化方法试图减小二值化操作的量化误差。然而,仅通过最小化量化误差来获得一个良好的二值网络是不够的。因此,Libra-PB设计的关键在于:使用信息熵指标,最大化二值网络前向传播过程中的信息流。

根据信息熵的定义,在二值网络中,二值参数Qx(x)的熵可以通过以下公式计算:

如果单纯地追求量化误差最小化,在极端情况下,量化参数的信息熵甚至可以接近于零。因此,Libra-PB将量化值的量化误差和二值参数的信息熵同时作为优化目标,定义为:

在伯努利分布假设下,当p=0.5时,量化值的信息熵取最大值。

因此,在Libra-PB通过标准化和平衡操作获得标准化平衡权重,如图2所示,在Bernoulli分布下,由Libra-PB量化的参数具有最大的信息熵。有趣的是,对权重的简单变换也可以极大改善前向过程中激活的信息流。因为此时,各层的二值激活值信息熵同样可以最大化,这意味着特征图中信息可以被保留。

在以往的二值化方法中,为了使量化误差减小,几乎所有方法都会引入浮点尺度因子来从数值上逼近原始参数,这无疑将高昂的浮点运算引入其中。在Libra-PB中,为了进一步减小量化误差,同时避免以往二值化方法中代价高昂的浮点运算,Libra-PB引入了整数移位标量s,扩展了二值权重的表示能力。

因此最终,针对正向传播的Libra参数二值化可以表示如下:

IR-Net的主要运算操作可以表示为:

反向传播中的Error Decay Estimator(EDE)

由于二值化的不连续性,梯度的近似对于反向传播是不可避免的,这种对sign函数的近似带来了两种梯度的信息损失,包括截断范围外参数更新能力下降造成的信息损失,和截断范围内近似误差造成的信息损失。为了更好的保留反向传播中由损失函数导出的信息,平衡各训练阶段对于梯度的要求,EDE引入了一种渐进的两阶段近似梯度方法。

第一阶段:保留反向传播算法的更新能力。将梯度估计函数的导数值保持在接近1的水平,然后逐步将截断值从一个大的数字降到1。利用这一规则,近似函数从接近Identity函数演化到Clip函数,从而保证了训练早期的更新能力。

第二阶段:使0附近的参数被更准确地更新。将截断保持为1,并逐渐将导数曲线演变到阶梯函数的形状。利用这一规则,近似函数从Clip函数演变到sign函数,从而保证了前向和反向传播的一致性。

各阶段EDE的形状变化如图3(c)所示。通过该设计,EDE减小了前向二值化函数和后向近似函数之间的差异,同时所有参数都能得到合理的更新。

实验结果

作者使用了两个基准数据集:CIFAR-10和ImageNet(ILSVRC12)进行了实验。在两个数据集上的实验结果表明,IR-Net比现有的最先进方法更具竞争力。

Deployment Efficiency

为了进一步验证IR-Net在实际移动设备中的部署效率,作者在1.2GHz 64位四核ARM Cortex-A53的Raspberry Pi 3B上进一步实现了IR-Net,并在实际应用中测试了其真实速度。表5显示,IR-Net的推理速度要快得多,模型尺寸也大大减小,而且IR-Net中的位移操作几乎不会带来额外的推理时间和存储消耗。

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

项目地址:https://github.com/htqin/IR-Net

Reference

[1] Rastegari M, Ordonez V, Redmon J, et al. Xnor-net: Imagenet classification using binary convolutional neural networks[C]//ECCV. Springer, Cham, 2016: 525-542.

[2] Xie B, Liang Y, Song L. Diverse neural network learns true target functions[J]. arXiv preprint arXiv:1611.03131, 2016.

【end】◆有奖征文◆防疫、复工如何并行?天云数据推出人工智能监测方案!到底如何做到事前预防,而不是事后诸葛亮?本周四晚8点,天云数据VP陈勇为各位揭晓答案!扫描下方二维码免费报名~
推荐阅读你的企业在什么情况下需要人工智能?快来看看你需要具备哪些条件与能力吧!64% 的企业未实现智能化,5成公司算法工程师团队规模小于 10人,AI 工程师的机遇在哪里?百度成立互联网医院;钉钉招小学生产品体验师;iOS 13.4 上线 | 极客头条5 亿微博数据疑泄露,Python 爬虫如何避免踩天坑?为什么要在油气行业中应用 IoT?这 8 个应用场景告诉你 IoT 在油气行业中可以做什么自称中本聪的他被法官怒怼:你的证词毫无可信度!你点的每个“在看”,我都认真当成了AI

信息保留的二值神经网络IR-Net,落地性能和实用性俱佳 | CVPR 2020相关推荐

  1. 二值神经网络(Binary Neural Networks)最新综述

    作者|秦浩桐.龚睿昊.张祥国 单位|北京航空航天大学 研究方向|网络量化压缩 本文介绍了来自北京航空航天大学刘祥龙副教授研究团队的最新综述文章 Binary Neural Networks: A Su ...

  2. 神经网络损失函数特别大_二值神经网络(Binary Neural Networks)最新综述

    作者|秦浩桐.龚睿昊.张祥国 单位|北京航空航天大学 研究方向|网络量化压缩 本文介绍了来自北京航空航天大学刘祥龙副教授研究团队的最新综述文章 Binary Neural Networks: A Su ...

  3. 第一次胜过MobileNet的二值神经网络,-1与+1的三年艰苦跋涉

    作者:思 近日,苹果以 2 亿美元左右价格收购初创公司 Xnor.ai 的消息引起了社区极大的关注.作为一家以二值神经网络 Xnor-net 起家的人工智能初创公司,Xnor.ai 被苹果高价收购,也 ...

  4. 二值神经网络重大突破,第一次胜过MobileNet!-1与+1的三年艰苦跋涉

    点击我爱计算机视觉标星,更快获取CVML新技术 近日,苹果以 2 亿美元左右价格收购初创公司 Xnor.ai 的消息引起了社区极大的关注.作为一家以二值神经网络 Xnor-net 起家的人工智能初创公 ...

  5. 【2020年BNN网络的SOTA—— ReActNet 】以简单的操作得到更高精度的二值神经网络

    作者| Cocoon 编辑| 3D视觉开发者社区 导语: 本文是由香港科技大学发布于ECCV 2020的论文,是Bi-Real Net作者对二值化研究领域的最新成果,拥有着69.4%的精度,作者通过简 ...

  6. 不使用先验知识与复杂训练策略,从头训练二值神经网络!

    选自 arxiv 作者:Joseph Bethge.Marvin Bornstein.Adrian Loy.Haojin Yang.Christoph Meinel 机器之心编译 参与:张玺.路 来自 ...

  7. NeurIPS 2021 | 华为诺亚Oral论文:基于频域的二值神经网络训练方法

    ©作者 | 机器之心编辑部 来源 | 机器之心 常规符号函数的梯度几乎处处为零,不能用于反向传播.为此,来自华为诺亚方舟实验室等机构的研究者提出一种在频域中估计原始符号函数梯度的新方法. 二值神经网络 ...

  8. FPGA实现二值神经网络

    写在前面:之前的科研工在是使用RETL实卷机神经网络,其中数据是量化后的8Bit.也就是说还要使用乘法器,但是FPGA的DSP资源很有限.所以有了现在的工作,在FPGA上实现二值神经网络.主要从二值神 ...

  9. 二值神经网络(Binary Neural Network,BNN)

    在我刚刚过去的研究生毕设中,我在ImageNet数据集上验证了图像特征二值化后仍然具有很强的表达能力,可以在检索中达到较好的效果.而Bengio大神的这篇文章,则不止于将特征二值化,而是要将权重和每层 ...

最新文章

  1. 生成html_HTML页面生成器:使用JavaScript和Node创建CLI
  2. 天天用Synchronized,底层原理是个啥?
  3. MFC略缩图控件实现
  4. 世纪大争论:Linux还是GNU/Linux?
  5. 【英语学习】【WOTD】despot 释义/词源/示例
  6. 虚拟机和主机通信的机制
  7. 创建.NET Core程序的Nuget Package
  8. Windows 的驱动程序签名要求
  9. 百度网盘IDM快速下载
  10. 工具类——FileUtils
  11. 记录:汇编语言编译器选择(vscode,永远的神)
  12. 量化交易入门,看这篇就够了
  13. 给Edge添加chrome主题
  14. 半小时漫画股票实战法观看记录,观看更新
  15. matlab vrp 线性规划,VRP算法学习
  16. 用go编写区块链系列之7--网络
  17. 网站流量数据分析技巧【转】
  18. 激活时显示图片上传资源服务器失败,720全景图上传时提示“切图失败”的处理办法...
  19. if-else过多,使用策略模式(Strategy)解决if-else乱象
  20. 2.深入浅出:晶体管共射极、共集电极、共基极接法的特点——参考《模拟电子技术基础》清华大学华成英主讲

热门文章

  1. 数据中心节能大法 —— 尽在上海11月中国数据中心展
  2. [svc]caffe安装笔记-显卡购买
  3. Ubuntu 15.10安装ns2.35+nam
  4. 如何衡量一个项目的交付质量???
  5. 函数05 - 零基础入门学习C语言36
  6. Java常见面试题,2021年及答案汇总
  7. Google Glog使用
  8. Ubuntu16.04运行.run文件
  9. Using unique option prefix myisam-recover instead of myisam-recover-option
  10. 【数学 技巧】2.14计数