动态卷积:提升神经网络性能的利器

发布于:2025-03-20 ⋅ 阅读:(24) ⋅ 点赞:(0)

摘要:本文介绍动态卷积,它通过动态聚合多个卷积核提升模型表征能力,计算成本增加极少。文章阐述其原理、与相关工作差异,在ImageNet分类和COCO关键点检测实验中效果显著。
关键词:动态卷积;卷积神经网络;注意力机制;图像分类;人体姿态估计

一、引言

在深度学习领域,卷积神经网络(CNNs)是众多任务的核心技术。随着移动设备和边缘计算的兴起,轻量级CNNs的研究变得愈发重要。然而,轻量级CNNs常因计算预算低,限制网络深度和宽度,导致性能下降。本文提出的动态卷积,为解决这一问题提供了新思路,在不增加网络深度和宽度的情况下,有效提升模型复杂度和性能。

二、相关工作

2.1 高效CNNs

为设计高效CNNs,研究者提出多种方法。SqueezeNet利用1×1卷积减少参数;MobileNet系列通过深度可分离卷积等优化计算量;ShuffleNet采用通道混洗降低1×1卷积计算量;ShiftNet用移位操作和逐点卷积替代空间卷积。这些方法从不同角度优化网络结构,但在极低计算约束下,性能仍受影响。

2.2 模型压缩和量化

模型压缩和量化方法,如剪枝、量化等,可减小模型大小、降低计算量,与动态卷积方法互补,能进一步优化模型性能。

2.3 动态深度神经网络

动态神经网络专注于根据输入图像跳过模型部分内容。但现有工作多为静态卷积核、动态网络结构,且需额外控制器。动态卷积则是动态卷积核、静态网络结构,无需额外控制器,可端到端训练,效率和性能更优。

2.4 神经架构搜索

神经架构搜索(NAS)能寻找高精度和硬件感知的高效网络架构。动态卷积可用于NAS找到的先进架构,还能丰富搜索空间,提升网络性能。

三、动态卷积神经网络

3.1 预备知识:动态感知器

在这里插入图片描述
传统静态感知器公式为 y = g ( W T x + b ) y = g(W^{T}x + b) y=g(WTx+b) ,动态感知器则通过聚合多个线性函数定义:
y = g ( W ~ T ( x ) x + b ~ ( x ) ) y = g(\tilde{W}^{T}(x)x+\tilde{b}(x)) y=g(W~T(x)x+b~(x))

W ~ ( x ) = ∑ k = 1 K π k ( x ) W ~ k \tilde{W}(x)=\sum_{k = 1}^{K}\pi_{k}(x)\tilde{W}_{k} W~(x)=k=1Kπk(x)W~k

b ~ ( x ) = ∑ k = 1 K π k ( x ) b ~ k \tilde{b}(x)=\sum_{k = 1}^{K}\pi_{k}(x)\tilde{b}_{k} b~(x)=k=1Kπk(x)b~k

s . t . 0 ≤ π k ( x ) ≤ 1 s.t.0\leq\pi_{k}(x)\leq1 s.t.0πk(x)1

∑ k = 1 K π k ( x ) = 1 \sum_{k = 1}^{K}\pi_{k}(x)=1 k=1Kπk(x)=1

其中, π k ( x ) \pi_{k}(x) πk(x)是注意力权重,使聚合后的模型成为非线性函数,增强了表征能力。与静态感知器相比,动态感知器模型尺寸更大,但计算注意力权重和聚合参数的额外计算量,在卷积层中可忽略不计。

3.2 动态卷积

在这里插入图片描述

动态卷积是满足计算约束的特殊动态感知器。它有 K K K个相同大小和输入/输出维度的卷积核,通过注意力权重 π k \pi_{k} πk聚合。在构建动态卷积层时,会在聚合卷积后使用批量归一化和激活函数。

计算注意力时,应用挤压激励模块,先全局平均池化,再经两个全连接层和softmax函数生成归一化注意力权重。与SENet不同,动态卷积在卷积核上计算注意力,计算成本低。聚合卷积核时,因卷积核尺寸小,计算效率高,额外计算量可忽略不计,且不增加输出维度。动态卷积可直接替代现有CNN架构中的各类卷积,与其他算子和激活函数互补。

四、训练深度DY-CNNs的两个见解

4.1 见解1:注意力和为1

训练深度DY-CNNs需联合优化卷积核和注意力模型。将注意力输出约束为 ∑ k π k ( x ) = 1 \sum_{k}\pi_{k}(x)=1 kπk(x)=1,能使聚合后的卷积核在卷积核空间的凸包内,简化注意力模型 π k ( x ) \pi_{k}(x) πk(x)的学习,softmax是实现该约束的常用选择。在这里插入图片描述
对约束条件 ∑ k π k ( x ) = 1 \sum_{k}\pi_{k}(x) = 1 kπk(x)=1的说明。它将聚合卷积核 ∑ k π k W ~ k \sum_{k}\pi_{k}\tilde{W}_{k} kπkW~k的空间从两个棱锥(在CondConv [37]中使用)压缩为一个三角形。通过对注意力总和进行归一化,一条红线被压缩成一个点。

4.2 见解2:训练初期接近均匀的注意力

在训练初期,接近均匀的注意力有助于更多卷积核同时优化。但传统softmax输出接近one-hot,不利于多卷积核优化。通过在softmax中引入较大温度参数 τ \tau τ,可使注意力更均匀,提升训练效率。温度退火策略,即训练前10个epoch将 τ \tau τ从30线性减到1,还能进一步提高准确率。

4.3 与同期工作的关系

与同期的CondConv相比,动态卷积的注意力计算方式不同。CondConv使用sigmoid计算注意力,卷积核空间大,学习注意力模型困难。动态卷积每层卷积核更少、模型更小、计算量更低,但准确率更高。

五、实验:ImageNet图像分类

5.1 实现细节

在ResNet、MobileNetV2和MobileNetV3三种架构上评估动态卷积,除第一层外,每层使用 K = 4 K = 4 K=4个卷积核,批量大小设为256。不同架构训练设置不同,包括学习率调整策略、权重衰减、优化器和随机失活率等。

5.2 研究DY-CNN

通过改变卷积核聚合方式和跨图像打乱注意力,验证DY-CNN的动态特性。实验表明,改变聚合方式会使性能显著下降,说明卷积核具有多样性;跨图像打乱注意力后准确率降低,证明注意力与输入相关。此外,研究发现注意力在低层级平坦、高层级稀疏,影响不同层的性能。

5.3 消融研究

对DY-MobileNetV2和DY-MobileNetV3进行多项消融实验。研究卷积核数量 K K K发现, K K K增大模型表示能力增强,但超过4后准确率不再提升,且易过拟合。在不同层使用动态卷积实验中,使用动态卷积的层越多,准确率越高,最后一个1×1卷积使用动态卷积效果最佳。Softmax温度实验显示, τ = 30 \tau = 30 τ=30时性能最好,温度退火可进一步提高准确率。对比动态卷积与挤压激励(SE),发现两者可协同提升性能。

5.4 主要结果

在三种CNN架构中,动态卷积均显著优于静态卷积,仅增加约4%计算量,就能大幅提升Top-1准确率。如DY-MobileNetV3-Small比MobileNetV3-Small准确率高2.9%,展示了动态卷积的有效性。

Network #Param MAdds Top-1 Top-5
MobileNetV2 × 1.0 3.5M 300.0M 72.0 91.0
DY-MobileNetV2 × 1.0 11.1M 312.9M 75.2 (3.2) 92.1 (1.1)
MobileNetV2 × 0.75 2.6M 209.0M 69.8 89.6
DY-MobileNetV2 × 0.75 7.0M 217.5M 73.7 (3.9) 91.3 (1.7)
MobileNetV2 × 0.5 2.0M 97.0M 65.4 86.4
DY-MobileNetV2 × 0.5 4.0M 101.4M 69.9 (4.5) 89.0 (2.6)
MobileNetV2 × 0.35 1.7M 59.2M 60.3 82.9
DY-MobileNetV2 × 0.35 2.8M 62.0M 65.9 (5.6) 86.4 (3.5)
MobileNetV3-Small 2.9M 66.0M 67.4 86.4
DY-MobileNetV3-Small 4.8M 68.5M 70.3 (2.9) 88.7 (2.3)
ResNet-18 11.1M 1.81G 70.4 89.7
DY-ResNet-18 42.7M 1.85G 72.7 (2.3) 90.7 (1.0)
ResNet-10 5.2M 0.89G 63.5 85.0
DY-ResNet-10 18.6M 0.91G 67.7 (4.2) 87.6 (2.6)

表格中,“#Param”表示模型参数数量,“MAdds”表示乘加运算量,“Top-1”和“Top-5”分别代表在ImageNet分类任务中预测结果排名前1和前5的准确率。括号内的数值是与对应静态模型相比,动态卷积模型在Top-1或Top-5准确率上的提升幅度 。

六、DY-CNNs在人体姿态估计中的应用

6.1 实现细节

使用COCO 2017数据集评估动态卷积在单人关键点检测任务中的性能。实现两种网络类型,类型A在头部用反卷积,类型B在头部用上采样和瓶颈残差块。每个动态卷积层用 K = 4 K = 4 K=4个卷积核,训练时进行多种数据增强,使用Adam优化器和特定学习率调整策略。

6.2 主要结果和消融实验

在骨干网络和头部使用动态卷积,均能提升关键点检测的AP值。类型A中,动态卷积在不同骨干网络上AP值有明显提升;类型B中,动态卷积同样优于静态卷积。消融实验表明,骨干网络和头部的动态卷积都对性能有帮助,且骨干网络贡献更大。

七、结论

动态卷积通过动态聚合卷积核,有效提升模型表征能力,计算成本增加极少。在图像分类和人体姿态估计任务中表现出色,可轻松集成到现有CNN架构。希望动态卷积成为高效网络架构的重要组件,推动深度学习技术发展。

八、展望

未来,动态卷积有望在更多领域应用,如目标检测、语义分割等。进一步优化动态卷积的计算效率和训练方法,探索其与其他先进技术结合的可能性,将为深度学习发展带来更多机遇。