论文阅读-DDFN: Decoupled Dynamic Filter Networks解耦的动态卷积

一、论文信息

论文名称:Decoupled Dynamic Filter Networks

论文:https://thefoxofsky.github.io/files/ddf.pdf

代码:https://github.com/theFoxofSky/ddfnet

主页:https://thefoxofsky.github.io/project_pages/ddf

作者团队:

 会议:CVPR2021

前期工作:

DFN

二、动机与创新

动机

  • 标准卷积局限:内容不可知、计算量大

  • 深度卷积局限:是标准卷积的轻量级变体,但会导致CNN性能下降,需要更多的通道

创新

 (1)对于道路、车辆、建筑使用相同的卷积核,这样会导致一个问题:sub-optimal feature learning,影响结果的准确性。(特征学习算法得到的特征表示不是最优的情况)

(2)动态卷积,每一个像素都使用不同的卷积核,道路、车辆、建筑使用的卷积核就不一样了,有助于特征学习。但是会引入一个新的问题:参数量大大增加。

  • 提出了DDF解耦动态滤波器,将一个深度动态滤波器解耦成空间通道动态滤波器

  • 分解之后大大减少了参数的数量,计算成本与深度卷积相同。

可以看出,动态卷积的参数量从普通静态卷积的 (c × c × k × k ) 提升为 (c × c × k × k × h × w),参数量显著增加,计算复杂。为了降低计算量,作者提出了解耦的思路,把 (c × h × w) 分解成 (h × w + c),即先计算空间位置的动态卷积,再计算通道上的动态卷积。

三、模型结构

 如图所示,包含两个步骤:

  1. 在 spatial 维度上,首先用 1x1 的卷积将 channel 数变成 k2,reshape后,就是每个空间位置上的卷积核,参数量是 k × k × h × w ;

  2. 在 channel 维度上,通过 GAP + SE 操作,每个 channel 得到一个 k2向量,即每个 channel 分配一个卷积核,参数量是k × k × c 。

  3. 每个空间位置上有一个卷积核,每个 channel 上有一个卷积核,为把卷积核作用到 ( c , h , w )的三维矩阵中的每个像素上,即每个像素找到与它 对应位置的卷积核对应通道的卷积核 ,这两个卷积核进行 逐像素相乘 ,得到新的卷积核再对这个点进行卷积。

  4. 为了提升性能,卷积核归一化时,作者设计了一个 Filter-Norm,性能会优于使用 Batch-Norm 和 Sigmoid。

四、实验

1.计算成本更小,更小的内存占用

 2. DDF用于图像分类

 3. 消融实验

 4. 性能更优越

猜你喜欢

转载自blog.csdn.net/qq_43687860/article/details/129123299