北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
cac55 2024-10-11 11:01 17 浏览 0 评论
【CSDN编者按】在CVPR 2020上,商汤研究院链接与编译组和北京航空航天大学刘祥龙老师团队提出了一种旨在优化前后向传播中信息流的实用、高效的网络二值化新算法IR-Net。不同于以往二值神经网络大多关注量化误差方面,本文首次从统一信息的角度研究了二值网络的前向和后向传播过程,为网络二值化机制的研究提供了全新视角。同时,该工作首次在ARM设备上进行了先进二值化算法效率验证,显示了IR-Net部署时的优异性能和极高的实用性,有助于解决工业界关注的神经网络二值化落地的核心问题。
出品 | AI科技大本营(ID:rgznai100)
动机
二值神经网络因其存储量小、推理效率高而受到社会的广泛关注 [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.
相关推荐
- 三星电视通过VGA端口接连笔记本教程
-
科技的发达不仅仅表现于智能电视的功能有多全面,手机、笔记本、电视盒子有多智能,而是这些电子产品是否能够相互连接、多屏互动进而进行多媒体播放与数据传输等。目前,三星电视早已可以实现多项设备间的连接与使用...
- KVM210UA 2口USB电脑切换器VGA KVM切换器 键鼠控制2台电脑 免电源
-
登昌恒KVM210UA2口USB电脑切换器VGAKVM切换器键鼠控制2台电脑免外接电源即时切换显示画面不延迟热插拔免驱动适合MAC苹果电脑笔记本和台式电脑...
- 大神自己将老旧笔记本改装成多方面强悍的“超极本”
-
文/自己建房子亲戚有个03年的清华紫光笔记本,配置是奔腾1.8G,XP勉强运行,亲戚今年帮了非常大的忙,无以回报,把他这个垃圾本改一下略为回报新配置:CPU是i53470t的,内存是4G两条组成双...
- 正点原子开拓者FPGA开发板资料连载第二十二章RGBTFT-LCD彩条显示
-
1)实验平台:正点原子开拓者FPGA开发板2)摘自《开拓者FPGA开发指南》关注官方微信号公众号,获取更多资料:正点原子3)全套实验源码+手册+视频下载地址:http://www.openedv.c...
- 显卡引出故障现象及排除(造成显卡故障的原因有哪些)
-
故障现象一:显示器黑屏故障排除:1、先确定是否是显卡有问题。判断的方法是听PC喇叭的叫声,一长两短声肯定是显卡发生了致命错误,只能更换。2、如果无法断定显卡的好坏,可以换一块试试,还不行的话则有几种情...
- 用FPGA/树莓派RP2040驱动HDMI的资源
-
如果能够用FPGA能够驱动显示器,就可以做不少与视频相关的实验,很多FPGA开发板使用了比较简单的VGA接口,连接非常简单,如下图:然后我们就可以用FPGA的逻辑来做各种游戏了:然而,现在的显示器基本...
- STM32+A3P125 图形控制器方案,多参数监护仪数据采集模块深度解析
-
一、生理信号采集与转换架构多参数监护仪数据采集模块是将人体生理信号转化为数字信号的核心单元,其架构遵循“传感器感知→信号调理→模数转换→数字处理”的标准化流程:1.传感器类型与生理信号转换传感器...
- 电脑重启都提示AMD显卡错误“No AMD graphics driver is..”解决方法
-
电脑重装完系统后,每次重启都提示AMD显卡错误“NoAMDgraphicsdriveris......”怎么办?网上相关问题解决很多人方法是打驱动,可是有些是驱动打好了还是反复出现NoAM...
- ipad1改造显示器之拆解篇(ipadair改显示器)
-
闲来无事,翻出来家里12年前的初代ipad,除了能正常充电开机盖泡面之外,好像啥也干不了……上网一搜有许多改成显示器的案例,按耐不住的激动的小手也想跃跃欲试一番,说干就干,先从拆解开始。注意,以hom...
- 老电脑显卡驱动装不上?降级旧版驱动一招解决!
-
老电脑显卡驱动装不上?降级旧版驱动一招解决!今天给家里的老台式机重装系统遇到了麻烦:i34130处理器配上HD7770显卡,装完Win7后,显卡驱动死活装不对!问题表现:最初状态:设备管理器“显...
- 想淘汰VGA 先得知道这些门道(vga是不是淘汰了)
-
不要说新显卡,就是在主板上,VGA接口也越来越少,眼看就被彻底淘汰了。当然小伙伴们的显示器应该早就不是只有VGA接口的旧型号了,彻底淘汰VGA就换个接口或者弄个转接呗,可是……真的这么简单吗?小编今天...
- IMX258摄像头驱动(摄像头最新驱动)
-
IMX25813MPOISUSBCamera(A)说明IMX25813MPOISUSBCamera(A)功能简介特性USB通用摄像头1300万像素接口USB...
- 朗强科技:VGA视频信号分配原理分析
-
VGA分配器的主要功能是把一个视频信号重新分配成多个信号。高分辨率的视频分配放大器的作用是在接收一个来自计算机视频端口的信号后将其进行放大处理,并且在保持原有信号质量的情况下,将其信号分配到多个高分辨...
- 视频矩阵的应用及分类(视频矩阵的应用及分类)
-
视频矩阵-基本功能和要求视频矩阵-基本功能和要求 一个矩阵系统通常还应该包括以下基本功能:字符信号叠加;解码器接口以控制云台和摄像机;报警器接口;控制主机,以及音频控制箱、报警接口箱、控制键盘等附件...
- 告别蓝屏烦恼,Windows系统崩溃急救指南!
-
Windows系统蓝屏(BlueScreenofDeath,简称BSoD)是Windows操作系统在无法从系统错误中恢复时显示的屏幕图像,通常会伴随一个或多个错误代码,这些代码是诊断问题的关键线...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 三星电视通过VGA端口接连笔记本教程
- KVM210UA 2口USB电脑切换器VGA KVM切换器 键鼠控制2台电脑 免电源
- 大神自己将老旧笔记本改装成多方面强悍的“超极本”
- 正点原子开拓者FPGA开发板资料连载第二十二章RGBTFT-LCD彩条显示
- 显卡引出故障现象及排除(造成显卡故障的原因有哪些)
- 用FPGA/树莓派RP2040驱动HDMI的资源
- STM32+A3P125 图形控制器方案,多参数监护仪数据采集模块深度解析
- 电脑重启都提示AMD显卡错误“No AMD graphics driver is..”解决方法
- ipad1改造显示器之拆解篇(ipadair改显示器)
- 老电脑显卡驱动装不上?降级旧版驱动一招解决!
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)