文章目录
BASICS
strcutural Inception
Inception架构由Google提出,常规包括Ixception-V1、Ixception-V2、Ixception-V3、Ixception-V4、Ixception-ResNet,版本间差异主要集中在迭代方式上,这里我们以V1为例子,介绍Ixception的结构特点。论文地址
算法思想
对于CNN来说,提升网络性能最好的方式是增加网络的深度和维度,对于深度而言,就是我们常说的将数据集下采样至8倍、16倍、32倍等等;维度便是特征图所包含的通道数。如果我们将改进的点放置在这种方式上,那么会存在一个问题,即参数呈指数倍上涨,并且随着parameter的不断增加,网络所诱发的过拟合现象出现的概率也会随之提高。Inception结构的产生便是针对这一问题,Inception的算法基础思想来源于网络中的网络(Network in Network)和稀疏网络架构,产生则是在GoogLeNet。
算法核心
Inception实质是将全连接甚至一般的卷积结构都转化为稀疏连接,将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能。
算法架构
Inception是一类较为早期的CNN结构,因此模块并不复杂,结构上包含三次conv和一次max_pooling,这种操作在当前的研究中也经常被使用,比如ASPP,他们实质上是想丰富特征图的多尺度信息。作者在对模块设计上的解释大概意思是:当期望焦点分布区域全局化时,大conv_kernel的特征会更加丰富,反之,小conv_kernel的特征会更令人满意。

当然,仅上图的结构并不能支撑Inception封神,在此基础上,Inception还有一个降维版本(dimension reductions),相比较而言,降维版的使用不同尺寸的卷积核可以提取到种类更加丰富的特征,同时,使用稀疏矩阵分解为密集矩阵计算的原理,增加了收敛速度。

Re-Parameter四部曲:ACNet
ACNet在Re-Parameters领域具有重要意义,论文地址,作者提出architecture-neutral结构,不对称卷积块(Asymmetric Convolution Block, ACB),文中指出,CNN定义为architecture-neutral前需要满足两点:首先,没有对特定的体系结构做任何假设;其次便是具备普适性。 ACB作为一种即插即用的结构,对于任意现有的模型,在训练阶段用ACB替换其中的方形卷积核,几乎都可以带来精度的提升,并且没有引入新的超参,无需额外的微调。在推理阶段,通过权重融合将ACB还原成模型原有的结构,这样既获得了精度提升又没有增加推理时间。
ACNet原理
宏观上来看「ACNet分为训练和推理阶段,训练阶段重点在于强化特征提取,实现效果提升。而测试阶段重点在于卷积核融合,不增加任何计算量」。
「训练阶段」:因为卷积是大多数网络的基础组件,因此ACNet的实验都是针对3x3卷积进行的。训练阶段就是将现有网络中的每一个3x3卷积换成1x3卷积+3x1卷积+3x3卷积共三个卷积层,最终将这三个卷积层的计算结果进行融合获得卷积层的输出。因为这个过程中引入的卷积和卷积是非对称的,所以将其命名为Asymmetric Convolution。
「推理阶段」:这部分主要是对三个卷积核进行融合。这部分在实现过程中就是使用融合后的卷积核参数来初始化现有的网络,因此在推理阶段,网络结构和原始网络是完全一样的了,只不过网络参数采用了特征提取能力更强的参数即融合后的卷积核参数,因此在推理阶段不会增加计算量。

本文介绍了Inception架构及其思想,探讨了ACNet的训练和推理阶段的优化策略,RepVGG的训练与推理转换,以及DiverseBranchBlock和OREPA的重参数化方法,旨在提升模型性能的同时,减少计算量和保持推理效率。
PipLine&spm=1001.2101.3001.5002&articleId=128613398&d=1&t=3&u=a3b4dcb18e46483386b0b1eca6bf46e2)
187

被折叠的 条评论
为什么被折叠?



