conv函数用法(convet函数)

conv函数用法(convet函数)题目 EMF former An Efficient and Memory Friendly Transformer for Medical Image Segmentation EMF former 一种用于医学图像分割的高效且内存友好的 Transformer 作者 Zhaoquan Hao Hongyan Quan and Yinbin Lu 深度可分离混洗卷积模块 DSPConv 作者提出了一个新颖的卷积模块 称为 DSPConv 它通过结合深度可分离卷积 DWConv



题目:EMF-former: An Efficient and Memory-Friendly Transformer for Medical Image Segmentation

EMF-former:一种用于医学图像分割的高效且内存友好的Transformer

作者:Zhaoquan Hao, Hongyan Quan, and Yinbin Lu

  1. 深度可分离混洗卷积模块(DSPConv):作者提出了一个新颖的卷积模块,称为DSPConv,它通过结合深度可分离卷积(DWConv)、通道混洗和逐点卷积(PWConv)来减少卷积操作中的参数数量。这种设计不仅降低了模型的计算复杂度,还保证了不同通道间信息的交互,从而在减少参数的同时保持了特征提取的准确性。
  2. 向量聚合注意力(VAA):为了降低自注意力机制中的计算复杂度,作者引入了一种高效的向量聚合注意力机制。VAA通过将两个向量广播后的元素级乘法替代传统的矩阵乘法,再通过一个全连接层来计算注意力分数,显著降低了计算复杂度,同时保持了全局依赖性的捕捉能力。
  3. 串行多头注意力模块(S-MHA):针对多头注意力中存在的特征冗余问题,作者设计了一种串行多头注意力模块。S-MHA通过串行计算注意力,并且在计算过程中忽略某些头部,从而减少了内存使用量和计算冗余。这种方法不仅节省了计算资源,还鼓励了模型在不同头部之间学习更丰富的特征表示。
医学图像分割对于计算机辅助诊断具有重要意义。在这项任务中,基于卷积神经网络(CNNs)的方法在提取局部特征方面表现出色。然而,它们无法捕获全局依赖性,这对于医学图像至关重要。另一方面,基于Transformer的方法可以通过自注意力建立全局依赖性,为局部卷积提供补充。然而,普通Transformer中的自注意力的昂贵矩阵乘法和内存使用量仍然是一个瓶颈。在这项工作中,我们提出了一个名为EMF-former的分割模型。通过结合DWConv、通道混洗和PWConv,我们设计了一个深度可分离混洗卷积模块(DSPConv),以减少卷积的参数数量。此外,我们采用了一种高效的向量聚合注意力(VAA),用元素级乘法替换了两个向量广播后的键值交互,以降低计算复杂性。此外,我们用串行多头注意力模块(S-MHA)替换了并行多头注意力模块,以减少多头注意力中的内存使用量和特征冗余。结合上述模块,EMF-former能够在保持分割精度的同时,以更少的参数数量、更低的计算复杂性和更低的内存使用量高效执行医学图像分割。我们在ACDC和Hippocampus数据集上进行了实验评估,分别达到了80.5%和78.8%的mIOU值。
Transformer · 轻量级 · 医学图像分割
EMF-former的整体架构如图2(a)所示。
在这项工作中,我们提出了一个名为DSPConv的卷积模块,通过结合DWConv、通道混洗和PWConv。这个卷积模块旨在减少卷积操作中的参数数量和特征冗余,同时确保准确的特征提取。受到Chen等人[6]的启发,我们将自然图像领域的方法应用于医学图像领域,并尝试改进这种方法,选择性地仅对特征图中的一部分通道应用DWConv。与常规Conv相比,DSPConv的参数更少,并且可以通过通道混洗和PWConv确保不同通道之间的信息交换。具体来说,所提出的DSPConv模块如图2(b3)所示。在获得输出O ∈ RH×W ×C1的过程中,首先,我们的DSPConv模块使用核大小为K的DWConv对第一个1/4的通道C1进行操作。此外,为了确保不同通道之间的信息交互,我们采用了通道混洗,在DWConv卷积操作后混洗通道,并在剩余的3/4通道C1上执行PWConv以促进信息交换。因此,我们的DSPConv所需的参数数量为

/span>

span style="font-size: 15px;">这比常规Conv的

要少。而FLOPs为

/span>

span style="cursor: pointer;font-size: 15px;">

/embed>

svg xmlns="http://www.w3.org/2000/svg" role="img" focusable="false" viewbox="0 -833.9 9395.4 1083.9" aria-hidden="true" style="vertical-align: -0.566ex;width: 21.257ex;height: 2.452ex;">

/svg>

g data-mml-node="math">

/g>

其中,Qα可以被理解为聚合了每个令牌的所有维度的特征,而Kα可以被理解为将所有令牌聚合成一个单一的令牌。随后,我们执行广播操作以获得两个具有相同维度RN×d的矩阵。然后这些矩阵逐元素相乘,并通过线性层计算全局注意力,如下所示:
因此,我们提出的VAA避免了直接在Q矩阵和K矩阵上执行矩阵乘法,并降低了计算复杂度到O(N)。L是线性层,它替换了V矩阵。
同时,多头注意力在不同头部之间存在特征冗余[12]、[10]。这导致了多头注意力不仅占用了任何内存和计算资源,而且它的许多组件被用来提取冗余的全局特征,这限制了整体效率。为了解决这个问题,我们设计了串行多头注意力模块(S-MHA),如图2(d)所示,并且每个头部的两个不同头部被组合成一个头部组。然后不同头部组的计算结果被连接到下一个头部组进行求和,并且再次执行注意力计算。此外,我们尝试将Chen等人[6]的工作引入Transformer。具体来说,而不是在每个头部组中对第二个头部执行注意力计算,我们直接将第一个头部的计算结果求和。原因是我们假设由于多头注意力中存在特征冗余,我们可以避免对某些头部执行注意力计算。随后的实验证明了我们的概念是正确的。我们设置多头注意力最多有8个头(n=8),正式地,这种注意力可以被表述为:
其中Xi表示第i个头的注意力输出(i是奇数)。HGi表示第i个头部组的输出。值得注意的是,由于对Headi(i是偶数)没有执行注意力计算,输出可以被认为是Headi本身,因此Yi表示第i个头的输出(i是偶数)。为了减少头部之间的冗余并鼓励Q、K层在具有更丰富信息的特征上学习投影。我们将头部组的输出添加到后续头部:
Head_{2i+1}将被用作第(2i+1)个头的新输入特征。最终,我们连接头部组的输出以获得输出:
总的来说,通过上述操作,可以节省内存和计算资源,因为串行多头注意力模块不需要同时在多头上进行计算。也有可能在不同头部之间学习更丰富的特征,以提高模型性能。
本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。

编程小号
上一篇 2025-04-03 17:17
下一篇 2025-10-11 19:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/5312.html