百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

CVPR 2020 | IR-Net: 信息保留的二值神经网络

cac55 2024-10-11 11:02 12 浏览 0 评论

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

作者 | 商汤

编辑 | 丛末



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

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


1、动 机

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


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


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


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


2、方法设计


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


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


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


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

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

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


因此,在Libra-PB通过标准化和平衡操作获得标准化平衡权重\hat{W}_{std},如图2所示,


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


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


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


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


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


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


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


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


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


3、实验结果

作者使用了两个基准数据集: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中的位移操作几乎不会带来额外的推理时间和存储消耗。


参考资料:

[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.

相关推荐

PDF转Excel后,转出的表格全是乱码是怎么回事?

日常工作中经常会用到将各种办公文档不同格式进行互转,比如将PDF转成Excel,这种转换非常简单,工具也很多,但是有时PDF文档是正常的,转出来的表格却全是乱码是怎么回事呢?在PDF转Excel时,你...

Python CSV 模块通关秘籍:数据表格处理不求人

对话实录小白:(苦恼)我导出的CSV用Excel打开全是乱码!专家:(递上秘籍)(掏出魔法书)**编码问题!用utf-8-sigma保存!CSV格式初体验CSV后缀的文件是标准文件格式,可以通过文本编...

ArcMap碎碎念(常见使用问题集锦)(arcgis细碎小班)

这几日,由于工作原因,频繁使用ArcMap,期间也碰到了些许问题,因而攒了这篇文章,以作记录。1.数据转换:mxd转mpk格式后缀为mxd的文件类型在ArcGIS的使用过程中较为常见,也即为常见的地图...

Excel常用技能分享与探讨(4-经常遇到的问题点汇总②)

一、文件异常问题Excel文件损坏无法打开现象:提示“文件已损坏”“无法读取内容”或直接闪退。解决:使用【文件】→【打开】→选择文件→点击右下角【打开】下拉箭头→选择【打开并修复】。若失败,尝...

解决Excel“#”乱码的方法来了(excel表格嵌入图片别人打开是乱码怎么解决)

小编本人是个表格控,没有excel可能分分钟就会焦虑,刚用excel大概半年多的时间,随着数据传递的频繁和增多,发现了一个奇怪的问题。做好的表格保存后再打开会变成“###”还有时,会出现这样的日期这时...

如何修复损坏的 Excel 文件?3 个方法救回重要数据

有没有遇到这种情况:打开Excel提示“文件已损坏,无法打开”明明很重要的数据,却打不开了…别急!今天分享3个实用方法,帮你修复Excel文件,拯救重要数据!方法一:用Excel自带...

为什么你的 GIS 数据总是出现乱码?

你肯定遇到过这种情况:把GIS文件拖进BigemapPro,但为啥文字就变成了乱码?例如这样:遇到这种情况呢,你也别急,我来教你怎么处理。一、三调数据文件乱码我们通常拿到的三调数据文件是GDB格式的,...

Excel表格数字乱码怎么办?推荐四种简单方法

我们经常利用Excel表格录入数据,在录入数据的时候我们经常会遇到这种情况:因为录入的数字的数位较多导致数字乱码。这种情况真的很影响我们的工作进程。那么Excel表格数字乱码该怎么办呢?推荐大家使用这...

使用Excel时经常遇到的问题,别担心,轻松告诉你解决方案

Excel打开CSV文件为乱码的解决方法!Excel中外部数据链接无法删除怎么办?Excel打开CSV文件为乱码的解决方法!从网页上导出数据文件存储为CSV格式的文件,使用记事本打开文字显示没有问题,...

解决数据恢复软件——恢复的excel文件乱码问题

恢复的excel文件出现乱码通常与原始文件损坏有关,为了解决数据恢复后excel乱码问题,建议使用数据恢复软件的深度恢复扫描,再次扫描需要恢复的excel文件所在磁盘,该扫描方式能对硬件设备进行碎片文...

Excel表格中怎么删除乱码?一秒搞定

随着我们越来越多的使用Excel,我们会发现很多情况下Excel会返回一串乱码似的字符。这些其实并不是乱码。Excel执行公式运算时都会自动对单元格中输入的公式进行检查,当公式如果不能正确地计算时返回...

EXCEL打开CSV等数据文件是乱码怎么办?

使用Data.olllo数据助手解决EXCEL打开CSV、TXT数据乱码的问题计算机存储的文件是有不同的编码方式,而有时候EXCEL打开CSV或TXT文件的时候,发现是乱码,这时候应该怎么办呢?工具:...

Excel表格出现乱码,怎么办?只需要7步,就能完美解决问题

当打开表格时出现乱码,首先需要检查文件的编码格式,确认文件编码格式是否与本地编码格式一致。如果编码格式不一致,可以在打开表格时选择正确的编码格式。如果不确定编码格式,可以试着把文件保存为ANSI或者...

我的Excel打开后是一堆乱码,如何解决?

Excel文件内容变成乱码,可能由于文件编码、文件格式或Excel程序设置的问题导致。以下是一些有效的解决方案,可以帮助你解决Excel乱码问题1.确认文件编码是否正确如果文件是从外部导入的(例如C...

Excel文件打开乱码问题解决方法详解

在日常办公或数据处理中,Excel文件是极为常用的工具。然而,有时当我们尝试打开一个Excel文件时,可能会遇到内容显示为乱码的情况,这不仅影响工作效率,还可能导致重要数据的丢失或损坏。本文将详细介绍...

取消回复欢迎 发表评论: