医图顶会 MICCAI‘24 | EMF-former:一种用于医学图像分割的高效且内存友好的Transformer

论文信息

题目:EMF-former: An Efficient and Memory-Friendly Transformer for Medical Image Segmentation
EMF-former:一种用于医学图像分割的高效且内存友好的Transformer

论文创新点

  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 · 轻量级 · 医学图像分割

2 方法

EMF-former的整体架构如图2(a)所示。

2.1 DSPConv模块

在这项工作中,我们提出了一个名为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所需的参数数量为

这比常规Conv的要少。而FLOPs为

这比常规Conv的要少。此外,随着输入通道大小c的增加,总数的差异变得更加明显。通过实施这种方法,我们可以在实现轻量级结果的同时减少特征冗余。图2(b2)中所示的DSPConv模块用于DSPConv Stem,该模块可以将特征图下采样4倍。另一个是在DSPConv Merge中使用的模块,如图2(b1)所示,其中特征图可以下采样2倍。

2.2 向量聚合注意力

对于注意力计算,Q、K、V∈ RN×d分别表示查询、键和值矩阵(N = H × W,其中H和W分别是特征图的高度和宽度)。注意力函数将每个查询转换为值的加权和,然后乘以V矩阵以获得注意力分数。这个过程需要在Q、K、V之间进行矩阵乘法,它们都有维度RN×d,并且结果的复杂度为O(N^2d),如下所示:

为了降低计算复杂度,在这项工作中,我们引入了一种高效的向量聚合注意力(VAA),受到Shaker等人[23]和Lin等人[16]提出的方法的启发,如图2©所示。我们用两个广播向量的元素级乘法替换了Q和K的矩阵乘法。此外,我们用全连接层替换了键值交互。这种方法不仅能够计算全局注意力,而且与自注意力相比,还降低了计算复杂度。具体来说,在单个头内使用线性层生成Q和K,其中Q和K都是∈ RN×d,N代表令牌的数量,d可以被解释为每个令牌的长度。我们使用两个可学习的向量,Wq ∈ Rd×1和Wk ∈ R1×N,分别与Q和K相乘。这生成了两个全局注意力向量,Qα ∈ RN×1和Kα ∈ R1×d,如下所示:

其中,Qα可以被理解为聚合了每个令牌的所有维度的特征,而Kα可以被理解为将所有令牌聚合成一个单一的令牌。随后,我们执行广播操作以获得两个具有相同维度RN×d的矩阵。然后这些矩阵逐元素相乘,并通过线性层计算全局注意力,如下所示:

因此,我们提出的VAA避免了直接在Q矩阵和K矩阵上执行矩阵乘法,并降低了计算复杂度到O(N)。L是线性层,它替换了V矩阵。

2.3 串行多头注意力模块

同时,多头注意力在不同头部之间存在特征冗余[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)个头的新输入特征。最终,我们连接头部组的输出以获得输出:

总的来说,通过上述操作,可以节省内存和计算资源,因为串行多头注意力模块不需要同时在多头上进行计算。也有可能在不同头部之间学习更丰富的特征,以提高模型性能。

3 实验

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值