用于图像复原的基础二值卷积单元
本文分享 ICLR 2023 论文Basic Binary Convolution Unit For Binarized Image Restoration Network
,介绍用于图像复原的基础二值卷积单元。
-
论文链接:https://arxiv.org/pdf/2210.00405.pdf
-
项目链接:https://github.com/Zj-BinXia/BBCU
01. 二值网络对于复原任务的意义
虽然目前模型的量化以8bit 4bit比较多,但随着大模型的兴起,以及图像复原任务在移动端部署的重要需求,我们需要一种更加强大的模型压缩方案。二值网络(Binary Neural Network, BNN, 1bit网络)就是实现这一目标的不二之选。二值网络是部署模型到资源受限的设备上最有前途的神经网络压缩方法之一(配合特定的芯片以及框架,可以实现32x的内存压缩和高达64x的计算量减少)。事实上,在8bit 4bit压缩方案趋于成熟以后,各方也在积极地探索二值网络的落地。这篇论文全面的探索了二值网络对于复原网络的影响,经过大量实验以及分析以后,提出了一种用于图像复原的基础二值卷积单元(Basic binary convolurion unit, BBCU)以及二值化方案,相较于之前的二值复原网络在超分,去噪,去压缩等任务上均有了显著的性能提升(比如超分任务上维持相同性能的情况下,还能加速10倍)。图1. BBCU在不同复原任务上高效地取得了SOTA的性能
02 二值网络简介
与全精度(32位)CNN模型相比,二值神经网络(BNN)可以实现高达32倍的内存节省。此外,由于激活也是二值化的,因此可以通过按位XNOR操作和位计数操作实现二值卷积运算。图2描述了一个简单的二值卷积示例。与需要浮点运算的全精度卷积不同,二值卷积依赖于位运算,可以获得高达64倍的计算节省。图2. 二值卷积中的同或(XNOR)和位计数(bit counting)算子的示意图
03 摘要
图像复原(Image Restoration, IR)旨在从受各种退化因素破坏的低质量(Low Quality, LQ)图像中恢复高质量 (High Quality, HQ)图像。典型的IR任务包括图像去噪、超分辨率(SR)和去除压缩伪影。
由于其不适定性和高实用价值,图像恢复是计算机视觉中一个活跃而具有挑战性的研究课题。最近,深度卷积神经网络(Convolutional Neural Network, CNN)通过学习从LQ到HQ图像块的映射,获得了出色的性能。
然而,大多数图像复原任务需要密集的像素预测,而基于CNN的模型的强大性能通常依赖于增加模型大小和计算复杂度,这需要大量的计算和内存资源。因此,大大降低CNN模型的计算和内存成本同时保持模型性能对于推广图像复原模型是非常重要的。
二值神经网络(Binary Neural Network, BNN,也称为1bit CNN)已被认为是部署模型到资源受限的设备上最有前途的神经网络压缩方法之一。在特殊设计的处理器上,BNN可以实现32x的内存压缩和高达64x的计算量减少。
目前,BNN的研究主要集中在高级视觉任务,特别是图像分类,但尚未完全探索低级视觉任务,例如图像超分辨率。考虑到BNN对于部署图像复原深度网络的重要性以及高级和低级视觉任务之间的差异,我们迫切需要探索BNN在低级视觉任务中的特性,并为后续研究和部署提供简单、强大、通用和可扩展的基线。
实验表明,我们的BBCU在多个复原任务上均获得了显著的效果提升。
04 用于图像复原的基础二值卷积单元设计是绝对权重值的平均值,作为缩放因子以最小化二值卷积权重和全精度卷积权重之间的差异。
接下来,我们使用RPReLU作为激活函数,其定义如下:然而,EDSR证明了BN会改变图像的分布,这对于超分辨率中精确的像素预测是不利的。那么,我们是否可以直接删除BBCU-V1中的BN以获得BBCU-V2(图3(b))呢?在BBCU-V1(图3(a)) 中,可以看到二值卷积的bitcount操作倾向于输出大的值域(从-15到15)。相比之下,残差连接保留了全精度信息,其值范围是从约-1到1的小值域,这是从图像复原网络的最开始输入图像(值域0到1)传递来的。添加BN后,BN的可学习参数可以缩小二值卷积的值域,并使二值卷积的值域接近残差连接的值域,以避免全精度信息被覆盖。该过程可以表示为:
此外,我们发现使用RA去除BN后还具有两个主要优点:(1) 与全精度复原网络类似,去除BN后,二值化的IR网络性能也更好。(2) BBCU的结构变得更加简单、高效、强大。
基于上述发现,我们意识到BBCU-V3(图3(c)中的激活函数会缩小残差连接的负值范围,这意味着它会丢失负的全精度信息。因此,我们进一步开发了BBCU-V4,通过将激活函数移入残差连接中,避免丢失负的全精度信息。实验结果(请见实验章节)表明我们的设计是有效的。因此,我们将BBCU-V4作为BBCU的最终设计。图3. BBCU 改进过程中网络结构和激活分布的展示图
05 用于复原网络
06 消融实验
为了验证二值图像复原网络中BBCU的有效性 ,我们将SRResNet的主体部分分别用四种BBCU的变体(图3)进行二值化。结果如表1所示。 whaosoft aiot http://143ai.com
-
与BBCU-V1相比,BBCU-V2在Urban100和Manga109上分别降低了0.14dB和0.24dB。这是因为BBCU-V2仅仅去除了BatchNorm(BN),使得二值卷积的值域比残差连接大得多,并覆盖了全精度信息(图3)。
-
BBCU-V3在BBCU-V2的基础上添加了残差对齐方案,解决了二值卷积和残差连接之间的值域不平衡问题,并去除了BN。由于BN对图像复原网络不利,因此BBCU-V3在Set5、Urban100和Manga109上分别超过BBCU-V1 0.17dB、0.16dB和0.29dB。
-
BBCU-V4将激活函数移入残差连接中,保留了残差连接中的全精度负值信息(图3)。因此,BBCU-V4的表现优于BBCU-V3。
表1 在SRRestNet 的4 个不同部分分别装备四种不同的BBCU 的PSNR(dB)指标比较结果
表2 在Set14 数据集上对图像超分网络中不同部分进行二值化的实验结果( 全精度图像超分网络的PSNRf为28.60dB)
更多实验 请见论文
07 实验结果表3 在图像超分辨率上进行二值神经网络(BNNs)方法的定量比较结果
图5 BNN 方法在4 倍图像超分辨率上的视觉结果比较
表4 在图像去噪上二值神经网络(BNNs)方法的定量比较结果
图6 BNN 方法在图像去噪上的视觉比较
表5 JPEG 压缩伪影去除上二值神经网络(BNNs)方法的定量比较结果