动态卷积 Dynamic convolution

这篇具有很好参考价值的文章主要介绍了动态卷积 Dynamic convolution。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

每周汇报,实属不易。近期学习了关于动态卷积的相关内容,写成一个小节,帮助理解什么为动态卷积。内容较为宽泛,若想学习细节知识,可以参考论文。和知乎链接:https://zhuanlan.zhihu.com/p/141868898?from_voters_page=true

首先看到的是这篇ICLR2022年的文章:omni dimensional dynamic convolution
但为了理解这一篇文章,需要了解关于动态卷积的相关工作。因此,阅读了改文章引用的两片最重要的参考文献,因此在这里一起分享学习。

第一篇是:CondConv: Conditionally Parameterized Convolutions for Efficient Inference。发表于2019 NIPS。第二篇是:Dynamic Convolution: Attention over Convolution Kernels。 发表于2020 CVPR。读完这两篇文章,再看Omni dimensional dynamic convolution,理解起来会简单一些。

第一篇算是动态卷积的基础工作。解释了什么是动态卷积,与第二篇基本思路是相同的。这一篇文章中,作者解释了以往的卷积神经网络的特点:静态网络基本的前提是同一个卷积核,会应用到所有的数据集上。此外,之前的卷积神经网络的另一个特点是,通过扩展宽度、深度、分辨率来提升网络模型的表现。作者还提到:在以往的注意力模型中,注意力主要是应用到特征图上。比如在特征图不同的通道上进行加权(SE Net),在特征图不同的空间位置加权(Spatial attention)。但在本文中,作者提出了对卷积核进行加权。也就是说,对于不同的输入,我们使用不同的卷积核。之后对这些不同的卷积核,进行注意力加权。
动态卷积 Dynamic convolution
这里的ROUTE FN是指Routing Function,可以理解为一个注意力机制吧。相当于GAP+FC+Sigmoid。看图1b中,不同的W,相当于不同的权重,不同的卷积核。每一条路径就是一个专家(expert)。然后通过Combine加权操作。但是这样计算量太大了。因此作者提出了图1a的方法。并使用公式证明了两种方法是等效的。如下面公式所示:
动态卷积 Dynamic convolution
左边就是图1a的公式表达,右边是图1b的公式表达。两种表达是等效的。但可以极大减小计算量。之后就是使用了一系列的实验,来验证文章所提到的观点了。先了解细节必须要看论文。实在没空看的话,看上面那个知乎。
之后我就去阅读了第二篇文章:Dynamic Convolution: Attention over Convolution Kernels。这篇文章引用了上一篇文章,并做出了改进。
动态卷积 Dynamic convolution

首先它通过实验证明了,动态卷积层中这个attention模块是非常重要的。在上一篇中就是指那个ROUTE FN模块。这一篇中就是指图3的attention模块。如果没有这个attention,动态卷积层没有作用,并给出了实验数据作为支持。

之后,针对参数约束上,提出了改进观点。他认为:约束注意力输出可以促进注意力模型 π k(x) 的学习。因此设置了 π k(x) 的和为1的约束条件。可以参考图4. 图4使用了三个卷积核构成了三维空间,是为了方便可视化。也可以使用2个构成二维平面。三个参数和为1的话,就构成了 π1+ π2+ π3 = 1的平面。这样缩小了核空间。

此外,注意力机制方面,他提出了改进观点。上一篇中是GAP+FC+Sigmoid,在这一篇中,他提出使用GAP+FC+ReLU+FC+Sofmax的方法。也就是squeeze-and-excitation(SE Net)的方法,只不过SE Net通道注意力分配给了输出的特征图,而这篇文章中提取的注意力分配给不同的卷积核上。在此观点上,作者继续研究了Softmax函数的参数,如何影响训练误差曲线的收敛速度的问题。
这两个改进是该方法与使用 sigmoid 计算内核注意力的 CondConv 之间的主要区别。

现在可以探讨最后一篇文章:Omni dimensional dynamic convolution了。作者总结了前人的关于动态卷积的工作,引入了两篇重要的参考文献,也就是刚才所提到的这两篇。作者认为:最近对动态卷积的研究表明,学习 n 个卷积核的线性组合及其输入相关注意力可以显着提高轻量级 CNN 的准确性,同时保持有效的推理。然而,现有的工作通过内核空间的一维(关于卷积核数)赋予卷积核动态属性,但其他三个维度(关于空间大小、输入通道数和输出通道数) 每个卷积核)都被忽略了。 受此启发,作者提出了全维动态卷积(ODConv)。

也就是说,之前两篇讲到的都只是通过在卷积核个数上进行加权,而 ODConv 利用一种新颖的多维注意力机制和并行策略,在任何卷积层沿内核空间的四个维度学习卷积内核的注意力。 作为常规卷积的替代品,ODConv 可以插入到许多 CNN 架构中。也就是说是的即插即用的模块。下图表示了ODConv与之前两篇文章的区别。
动态卷积 Dynamic convolution

这四个不同的注意力就是:卷积核的输入通道数,卷积核自身的感受野,卷积核的输出通道数,和卷积核的个数。下图可以表示ODConv四种注意力机制的作用。
动态卷积 Dynamic convolution
然后文章的后面就是实验和分析部分了,这里就不讲了。因为实验和分析都是为了证明所提出的理论的,作者通过大量实验,验证了他所提出的卷积不同层面上注意力的有效性。文章来源地址https://www.toymoban.com/news/detail-440902.html

到了这里,关于动态卷积 Dynamic convolution的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 行列可分离卷积 separable convolution

    概述 推导 知识沙漠中的一点扩展 如有纰漏错误,恳请指正:D 行列可分离卷积(separable convolution)主要应用于图像处理算法中,用于将一遍2D离散卷积(也称滤波,下文交替使用)操作分离成2遍1D卷积操作。如果图像像素数为 m m m ,卷积核(也称卷积模板、模板)大小为 k ∗ k k*k k ∗

    2024年02月03日
    浏览(37)
  • Convolutional Neural network(卷积神经网络)

    目录 Why CNN for Image? The whole CNN structure  Convolution(卷积) Max Pooling Flatten  CNN in Keras  What does CNN learn? what does filter do what does neuron do  what about output  Deep Dream Application Playing Go Speech  Text 当我们直接用一般的fully connected的feedforward network来做图像处理的时候,往往会需要太多

    2024年02月05日
    浏览(45)
  • TCN(Temporal Convolutional Network,时间卷积网络)

            实验表明,RNN 在几乎所有的序列问题上都有良好表现,包括语音/文本识别、机器翻译、手写体识别、序列数据分析(预测)等。         在实际应用中,RNN 在内部设计上存在一个严重的问题: 由于网络一次只能处理一个时间步长,后一步必须等前一步处理完才能

    2024年02月01日
    浏览(40)
  • 【论文笔记合集】卷积神经网络之深度可分离卷积(Depthwise Separable Convolution)

    本文作者: slience_me 我看的论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 假设输入为D F ×D F ×M,输出为输入为D F ×D F ×N,卷积核为D K ×D K ×M,共有N个卷积核进行卷积操作 下图为标准的卷积过程,每个卷积核对输入的向量进行卷积操作,得到一个

    2024年01月16日
    浏览(48)
  • 卷积神经网络CNN(Convolutional Neural Network)

    一、CNN与NN的区别 卷积神经网络与传统神经网络的区别: 二、CNN的整体架构 1.输入层;2.卷积层;3.池化层;4.全连接层 三、卷积层做了什么 首先将图形分割成一个个小区域,对于每一个区域特征不同;接下来选择一种特征计算的方法,为每一个区域计算特征值,得到特征图

    2024年02月04日
    浏览(74)
  • AIGC实战——卷积神经网络(Convolutional Neural Network, CNN)

    在深度学习一节中,我们使用 Keras

    2024年02月04日
    浏览(55)
  • CBAM(Convolutional Block Attention Module)卷积注意力模块用法及代码实现

    CBAM( Convolutional Block Attention Module )是一种轻量级注意力模块的提出于2018年。CBAM包含CAM(Channel Attention Module)和SAM(Spartial Attention Module)两个子模块,分别在通道上和空间上添加注意力机制。这样不仅可以节约参数和计算力,而且保证了其能够做为即插即用的模块集成到现

    2024年02月11日
    浏览(36)
  • 深度学习入门——深度卷积神经网络模型(Deep Convolution Neural Network,DCNN)概述

    机器学习是实现人工智能的方法和手段,其专门研究计算机如何模拟或实现人类的学习行为,以获取新的知识和技能,重新组织已有的知识结构使之不断改善自身性能的方法。计算机视觉技术作为人工智能的一个研究方向,其随着机器学习的发展而进步,尤其近10年来,以深

    2024年02月13日
    浏览(45)
  • 一文看懂卷积运算(convolution)与互相关运算(cross-correlation)的区别

    目录 互相关运算定义 互相关运算图示 互相关运算完整计算示例 卷积数学定义 卷积运算图示 卷积与互相关运算区别 深度学习中的卷积为何能用互相关运算代替 在二维互相关运算中,卷积窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑

    2024年02月02日
    浏览(33)
  • 论文阅读:RFAConv: Innovating Spatial Attention andStandard Convolutional Operatio|RFAConv:创新空间注意力和标准卷积操作

      摘要 一、简介 3研究方法 3.1标准卷积操作回顾 3.2空间注意力回顾 3.3 空间注意与标准卷积运算 3.4创新空间注意力和标准卷积操作 入数据 总结 空间注意力被广泛用于提高卷积神经网络的性能。但是,它也有一定的局 限性。 本文提出了空间注意有效性的新视角,即空间注意

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包