3 3卷积+1 3卷积+3 1卷积=白给的精度提升_非对称卷积3×1 和 1×3 的卷积先后顺序是否可以颠倒

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

1. 研究背景

卷积神经网络在视觉理解方面取得了巨大的成功,这使得其可以应用在安全系统,移动电话,汽车等各种应用中。由于前端设备通常受限于计算资源,就要求网络在保证精度的条件下要尽可能轻量。另一方面,随着CNN架构设计的相关研究增多,模型的性能得到了显著改善,但当现有的模型不能满足我们的特定需求时,要定制一种新的架构需要花费极高的成本。最近,研究者们正在寻求与架构无关的新型CNN结构,例如SE块和准六边形内核,它们可以直接和各种网络结构结合使用,以提高它们的性能。最近对CNN结构的研究主要集中在1)层之间是如何相互连接的,例如简单的堆叠在一起,恒等映射,密集连接等;2)如何组合不同层的输出以提高学习表示的质量;本文提出了非对称卷积块(ACB),它是用三个并行的3*3卷积+1*3卷积+3*1卷积=白给的精度提升核来代替原始的3*3卷积+1*3卷积+3*1卷积=白给的精度提升核,如图Figure1所示:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

Figure 1

给定一个网络,我们通过将每个方形卷积核替换为ACB模块并训练网络到收敛。之后我们将每个ACB中非对称核的权值加到方形核的对应位置,将ACNet转换为和原始网络等效的结构。ACNet可以提高基准模型的性能,在CIFAR和ImageNet上优势明显。更好的是,ACNet引入了0参数,因此无需仔细调参就能将其与不同的CNN结构结合起来,并且易于在主流CNN框架上实现以及不需要额外的推理时间开销。

代码开源在:https://github*.com*/ShawnDing1994/ACN。

2. 相关工作

2.1 非对称卷积

非对称卷积通常用于逼近现有的正方形卷积以进行模型压缩和加速,先前的一些工作表明,可以将标准的卷积分解为3*3卷积+1*3卷积+3*1卷积=白给的精度提升3*3卷积+1*3卷积+3*1卷积=白给的精度提升卷积,以减少参数量。其背后的理论相当简单:如果二维卷积核的秩为1,则运算可等价地转换为一系列一维卷积。然而,由于深度网络中下学习到的核具有分布特征值,其内在秩比实际中的高,因此直接将变换应用于核会导致显著的信息损失。Denton等人基于SVD分解找到一个低秩逼近,然后对上层进行精细化以恢复性能。Jaderberg等人通过最小化重构误差,成功学习了水平核和垂直核。Jin等人应用结构约束使二维卷积可分离,在获得相当精度的条件下时间加速了2倍。另一方面,非堆成卷积也被广泛的用来做网络结构设计,例如Inception-v3中,7*7卷积被1*7卷积和7*1卷积代替。语义分割ENet网络也采用这种方法来设计高效的语义分割网络,虽然精度略有下降,但降低了33%的参数量。

2.2 CNN架构中的中性结构

我们不打算修改CNN架构,而是使用一些与架构无关的结构来增强现有的模型。因此,我们的方法对任何网络都是有效的。例如,SE块可以附加到卷积层后,使用学习到的权重重新缩放特征图通道数,从而在合理的附加参数量和计算代价下显著提高精度。作为另一个示例,可以将辅助分类器插入模型中以帮助监督学习过程,这确实可以提高性能,但是需要额外的人为调整超参数。相比之下,ACNet在训练中不会引入任何超参数,并且在推理过程中不需要额外的参数和计算。因此,在实际应用中,开发人员可以使用ACNet来增强各种模型,而无需进行详细的参数调整,并且最终用户可以享受性能提升而又不会减慢推理速度。

3. 方法

3.1 公式

对于一个尺寸为3*3卷积+1*3卷积+3*1卷积=白给的精度提升通道数为D的卷积核,以通道数为C的特征图作为输入,我们使用3*3卷积+1*3卷积+3*1卷积=白给的精度提升表示卷积核,3*3卷积+1*3卷积+3*1卷积=白给的精度提升表示输入,这是一个尺寸为UxV通道数为C的特征图,3*3卷积+1*3卷积+3*1卷积=白给的精度提升代表输出特征图。对于这个层的第j个卷积核,相应的输出特征映射通道是:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

其中*是二维卷积算子。3*3卷积+1*3卷积+3*1卷积=白给的精度提升是M的第k个通道的尺寸为UxV的特征图,3*3卷积+1*3卷积+3*1卷积=白给的精度提升代表3*3卷积+1*3卷积+3*1卷积=白给的精度提升的第k个通道的尺寸为HxW的特征图。在现代CNN体系结构中,批量归一化(BN)被广泛使用,以减少过度拟合,加快训练过程。通常情况下,批量归一化层之后通常会接一个线性变化,以增强表示能力。和公式1相比,输入变成:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

其中,3*3卷积+1*3卷积+3*1卷积=白给的精度提升3*3卷积+1*3卷积+3*1卷积=白给的精度提升是批标准化的通道平均值和标准差,3*3卷积+1*3卷积+3*1卷积=白给的精度提升3*3卷积+1*3卷积+3*1卷积=白给的精度提升是缩放系数和偏移量。

3.2 利用卷积的可加性

我们试图以不对称卷积可以等效地融合到标准方形核层中的方式来使用,这样就不会引入额外的推理时间计算负担。我们注意到卷积的一个有用性质:如果几个大小兼容的二维核在相同的输入上以相同的步幅操作以产生相同分辨率的输出,并且它们的输出被求和,我们可以将这些核在相应的位置相加,从而得到一个产生相同输出的等效核。也就是说,二维卷积的可加性可以成立,即使核大小不同,

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

其中3*3卷积+1*3卷积+3*1卷积=白给的精度提升是一个矩阵,3*3卷积+1*3卷积+3*1卷积=白给的精度提升3*3卷积+1*3卷积+3*1卷积=白给的精度提升是具有兼容尺寸的两个2D核,3*3卷积+1*3卷积+3*1卷积=白给的精度提升是在对应位置的求和操作。注意可能会被裁剪或者执行Padding操作。这里,“兼容”意味着我们可以把较小的内核“修补”到较大的内核上。在形式下,p层和q的下面这种转换是可行的:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

例如,3x1和1x3是和3x3兼容的。通过研究滑动窗口形式的卷积计算,可以很容易地验证这一点,如图Figure2所示:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

Figure 2

对于一个特定的卷积核,一个指定的点y,则输出3*3卷积+1*3卷积+3*1卷积=白给的精度提升可以使用下式计算:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

其中,X是输入M上相应的滑动窗口。显然,当我们将两个滤波器产生的输出通道相加时,如果一个通道上的每个y,其在另一个通道上的对应点共享相同的滑动窗口,则其相加性质(等式3)成立。

3.3 ACB不增加任何推理时间开销

在本文中,我们关注3x3卷积,这在现代CNN体系结构中大量使用。在给定的体系结构下,我们通过简单地将每个3x3卷积层替换为ACB来构建ACNet,该ACB模块包含三个并行层,内核大小分别为3x3,1x3,和3x1。和标准CNN的常规做法类似,在三层中的每一层之后都进行批量归一化,这被成为分子,并将三个分支的输出综合作为ACB的输出。请注意,我们可以使用与原始模型相同的配置来训练ACNet,而无需调整任何额外的超参数。如4.1和4.2节中所示,我们可以训练ACNet达到更高的精度。训练完成后,我们尝试将每个ACB转换为产生相同输出的标准卷积层这样,与经过常规训练的对等方相比,我们可以获得不需要任何额外计算的功能更强大的网络。该转换通过两个步骤完成,即BN融合和分支融合。

BN融合卷积的同质性使得后续的BN和线性变换可以等价的融合到具有附加偏置的卷积层中。从公式2可以看出,对于每个分支,如果我们构造一个新的内核3*3卷积+1*3卷积+3*1卷积=白给的精度提升然后加上偏置3*3卷积+1*3卷积+3*1卷积=白给的精度提升,我们可以产生相同的输出。

分支融合我们通过在平方核的相应位置加入非对称核,将三个BN融合分支合并成标准卷积层。在实际应用中,这种转换是通过建立一个原始结构的网络并使用融合的权值进行初始化来实现的,这样我们就可以在与原始结构相同的计算预算下产生与ACNet相同的输出。更正式地,对于第j个卷积核,3*3卷积+1*3卷积+3*1卷积=白给的精度提升表示融合后的卷积核,3*3卷积+1*3卷积+3*1卷积=白给的精度提升代表偏置,3*3卷积+1*3卷积+3*1卷积=白给的精度提升3*3卷积+1*3卷积+3*1卷积=白给的精度提升分别代表1x3和3x1卷积核的输出,融合后的结果可以表示为:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

然后我们可以很容易地验证对于任意滤波器j,

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

其中,3*3卷积+1*3卷积+3*1卷积=白给的精度提升代表原始3*3卷积+1*3卷积+3*1卷积=白给的精度提升三个分支的输出。Figure3展示了这个过程。

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

Figure 3

值得注意的是,尽管可以将ACB等价地转换为标准层,但是等效值仅在推理时才成立,因为训练动态是不同的,从而导致不同的性能。训练过程的不等价性是由于内核权重的随机初始化,以及由它们参与的不同计算流得出的梯度

4. 实验

4.1节和4.2节,论文在CIFAR10和CIFAR100数据集,ImageNet数据集进行对比测试,结果如Table1,Table2,Table3所示:

3*3卷积+1*3卷积+3*1卷积=白给的精度提升3*3卷积+1*3卷积+3*1卷积=白给的精度提升

4.3节还展示了消融研究,也就是对AlexNet和ResNet在ImageNet图像上进行测试,采用控制变量法控制ACB的三个关键影响因素,同时对比了将图片旋转的测试效果,最终使用了ACB模块全部技巧的网络模型获得了几乎所有测试情况的新SOAT结果,证明了ACB模块能够增加对数据旋转的适应能力。

4.4 节用以说明ACB增强了方形卷积核的骨架信息。论文在训练过程中通过随机丢弃网络中3*3卷积核的骨架权重和边角权重,所谓骨架权重和边角权重的定义如Figure6所示,骨架权重就是和中间位置直接相连的4个位置加上自身,剩下的就是边角部分了。

3*3卷积+1*3卷积+3*1卷积=白给的精度提升

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值