『算法』北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?( 二 )


『算法』北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
本文插图
在伯努利分布假设下 , 当p=0.5时 , 量化值的信息熵取最大值 。
因此 , 在Libra-PB通过标准化和平衡操作获得标准化平衡权重 , 如图2所示 , 在Bernoulli分布下 , 由Libra-PB量化的参数具有最大的信息熵 。 有趣的是 , 对权重的简单变换也可以极大改善前向过程中激活的信息流 。 因为此时 , 各层的二值激活值信息熵同样可以最大化 , 这意味着特征图中信息可以被保留 。
在以往的二值化方法中 , 为了使量化误差减小 , 几乎所有方法都会引入浮点尺度因子来从数值上逼近原始参数 , 这无疑将高昂的浮点运算引入其中 。 在Libra-PB中 , 为了进一步减小量化误差 , 同时避免以往二值化方法中代价高昂的浮点运算 , Libra-PB引入了整数移位标量s , 扩展了二值权重的表示能力 。
因此最终 , 针对正向传播的Libra参数二值化可以表示如下:

『算法』北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
本文插图
IR-Net的主要运算操作可以表示为:
『算法』北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
本文插图
反向传播中的Error Decay Estimator(EDE)
由于二值化的不连续性 , 梯度的近似对于反向传播是不可避免的 , 这种对sign函数的近似带来了两种梯度的信息损失 , 包括截断范围外参数更新能力下降造成的信息损失 , 和截断范围内近似误差造成的信息损失 。 为了更好的保留反向传播中由损失函数导出的信息 , 平衡各训练阶段对于梯度的要求 , EDE引入了一种渐进的两阶段近似梯度方法 。
第一阶段:保留反向传播算法的更新能力 。 将梯度估计函数的导数值保持在接近1的水平 , 然后逐步将截断值从一个大的数字降到1 。 利用这一规则 , 近似函数从接近Identity函数演化到Clip函数 , 从而保证了训练早期的更新能力 。
第二阶段:使0附近的参数被更准确地更新 。 将截断保持为1 , 并逐渐将导数曲线演变到阶梯函数的形状 。 利用这一规则 , 近似函数从Clip函数演变到sign函数 , 从而保证了前向和反向传播的一致性 。
各阶段EDE的形状变化如图3(c)所示 。 通过该设计 , EDE减小了前向二值化函数和后向近似函数之间的差异 , 同时所有参数都能得到合理的更新 。
『算法』北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
本文插图

『算法』北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
本文插图
实验结果 作者使用了两个基准数据集: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.