没有合适的资源?快使用搜索试试~ 我知道了~
41260C2FNAS:用于3D医学图像分割的粗到细的神经架构搜索0Qihang Yu 1 � Dong Yang 2 Holger Roth 20Yutong Bai 1 Yixiao Zhang 1 � Alan L. Yuille 1 Daguang Xu 201 约翰霍普金斯大学 2 NVIDIA0摘要03D卷积神经网络(CNN)在解析3D医学图像中的器官或肿瘤方面已经被证明非常成功,但是在不同的任务背景下选择或设计合适的3D网络仍然复杂且耗时。最近,提出了神经架构搜索(NAS)来自动搜索最佳的网络架构。然而,由于内存限制和庞大的搜索空间,NAS算法中的搜索阶段和部署阶段之间的不一致性经常存在,当将NAS应用于一些内存和时间消耗较大的任务(如3D医学图像分割)时,这种不一致性可能变得更加严重。在本文中,我们提出了一种粗到细的神经架构搜索(C2FNAS),以便在网络大小或输入大小上没有不一致性的情况下自动搜索3D分割网络。具体而言,我们将搜索过程分为两个阶段:1)粗阶段,在这个阶段我们搜索网络的宏观拓扑结构,即每个卷积模块如何与其他模块连接;2)细阶段,在这个阶段我们根据先前搜索到的宏观拓扑结构在微观层面上搜索每个单元的操作。粗到细的方式将搜索过程分为两个连续的阶段,同时解决了不一致性问题。我们在来自医学分割挑战赛(MSD)的10个公共数据集上评估了我们的方法,并使用一个数据集搜索到的网络实现了最先进的性能,这证明了我们搜索模型的有效性和泛化性。01. 引言0医学图像分割是计算机辅助诊断(CAD)的重要前提,已经应用于广泛的临床应用。随着深度学习的出现,在这个领域取得了巨大的成就。然而,仍然非常困难0� 在NVIDIA实习期间完成的工作。0图1.MSD任务的图像和掩膜示例(从左到右,从上到下):脑肿瘤、肺肿瘤、海马、肝血管和肿瘤、胰腺肿瘤和肝肿瘤。异常、纹理变化和各向异性特性使得实现令人满意的分割性能非常具有挑战性。红色、绿色和蓝色分别对应每个数据集的标签1、2和3。0为了获得对一些具有挑战性的结构的令人满意的分割,这些结构可能相对于整个体积来说非常小,或者在位置、形状和外观方面变化很大。此外,异常情况会导致纹理发生巨大变化和各向异性特性(不同的体素间距),使得分割任务更加困难。图1中展示了一些例子。同时,手动设计高性能的3D分割网络需要充足的专业知识。大多数研究人员都是在现有的3D网络(如3D U-Net [8]和V-Net[19])的基础上进行改进。在某些情况下,设计了一个单独的网络,只对特定任务有效。为了解决这个问题,[42]提出了神经架构搜索(NAS)技术,旨在自动发现比人工设计的网络在性能、参数数量或计算成本方面更好的神经网络架构。从NASNet [43]开始,出现了许多新颖的搜索空间41270粗阶段搜索0良好的阶段搜索0图2.C2FNAS的示意图。从最左边的节点到最右边的节点的每条路径都是一个候选架构。每种颜色代表一类操作,例如深度卷积、扩张卷积或2D/3D/P3D卷积,在医学图像领域更常见。虚线表示从编码器到解码器的跳跃连接。宏观拓扑结构由粗阶段搜索确定,而微观层面的操作则在细阶段搜索中进一步选择。0已经提出了许多基于搜索的方法[2, 9, 15, 16,24]。然而,只有少数工作将NAS应用于医学图像分割[13,33,40],而且它们与手动设计的网络相比只能达到可比较的性能。受到ResNet[11]和MobileNet[28]等成功的手工设计架构的启发,许多NAS工作专注于搜索网络构建块。然而,这样的工作通常在浅层网络中进行搜索,而在部署时使用更深的网络。搜索阶段和部署阶段之间存在网络大小的不一致性[6]。[3]和[10]通过在每次迭代中仅激活一条路径来避免这个问题,[6]提出逐步减小搜索空间并扩大网络的方法以减小性能差距。然而,当网络拓扑结构涉及到搜索空间时,情况变得更加复杂,因为网络大小不允许不一致性。[15]将网络拓扑结构纳入搜索空间,并通过牺牲批量大小和裁剪大小来缓解内存紧张问题。然而,在3D医学图像分割等内存消耗大的任务中,通过降低批量大小或裁剪大小无法解决内存不足的问题,因为它们与2D任务相比已经非常小了。将它们减小到更小的数值会导致性能更差,甚至无法收敛。为了避免搜索阶段和部署阶段之间的网络大小或输入大小不一致,我们提出了一种用于3D医学图像分割的粗到精的神经架构搜索方案(见图2)。具体而言,我们将搜索过程分为粗糙阶段和精细阶段。在粗糙阶段,搜索在一个较小的搜索空间中进行,拓扑结构有限,因此每个网络都可以负担得起从头训练。此外,为了减小搜索空间并使搜索过程更加高效,我们根据成功的医学分割网络设计了特定的搜索空间和搜索方法:(1)U形编码器-解码器结构;(2)下采样路径和上采样路径之间的跳跃连接。这两个先验条件大大减小了搜索空间。然后,我们应用基于拓扑相似性的进化算法,考虑到搜索空间的特性,使搜索过程集中在有前景的架构拓扑上。在精细阶段,目标是在每个单元内找到最佳操作。受[40]的启发,我们让网络自己选择2D、3D和伪3D(P3D)之间的操作,以便它可以从不同的视角捕捉特征。由于拓扑结构已经由粗糙阶段确定,我们以单路径一次性NAS的方式缓解了内存压力[10]。为了验证,我们将所提出的方法应用于MSD挑战赛[30]的十个分割任务,并取得了最先进的性能。网络是使用胰腺数据集进行搜索的,这是10个任务中最大的数据集之一。我们在这个代理数据集上的结果在胰腺和胰腺肿瘤上超过了以前的最先进水平1%和2%。然后,我们在其他任务中应用相同的模型和训练/测试超参数,展示了搜索到的网络的鲁棒性和可迁移性。我们的贡献可以总结为3个方面:(1)我们以粗到精的方式从头搜索了一个3D分割网络,而不会牺牲网络大小或输入大小;(2)我们根据医学图像分割的先验条件为每个阶段设计了特定的搜索空间和搜索方法;(3)我们的模型在MSD挑战赛的10个数据集上取得了最先进的性能,并展示了很强的鲁棒性和可迁移性。02.2. 医学图像分割02. 相关工作02.1. 医学图像分割0基于深度学习的方法在自然图像识别[11]、检测[25]和分割[5]方面取得了巨大的成功,近年来它们也在医学图像分割任务中占据主导地位。自从U-Net首次引入生物医学图像分割[26]以来,已经提出了几种修改版。[8]将2DU-Net扩展为3D版本。随后,V-Net[19]提出了残差块和软骰子损失的结合。[21]引入了注意力模块来增强U-Net模型。研究人员还尝试研究除U-Net之外的其他可能的架构。例如,[27, 38,39]将3D体积切割成2D切片,并使用2D分割网络处理它们。[17]设计了一个混合网络,使用ResNet50作为2D编码器,并在后面附加3D解码器。在[35]中,通过3D网络融合2D预测,以获得具有上下文信息的更好预测。41280然而,到目前为止,基于U-Net的架构仍然是该领域中最强大的模型。最近,[12]引入了nnU-Net,并在医学分割挑战赛(MSD)中获得第一名[30]。他们集成了2D U-Net、3DU-Net和级联3DU-Net。该网络能够通过分析数据属性和调整超参数来动态适应任何给定的分割任务。通过给定不同任务的各种组合,可以获得最佳结果。02.2. 神经架构搜索0神经架构搜索(NAS)旨在自动发现比人工设计的神经网络架构更好的架构。在开始阶段,大多数NAS算法基于强化学习(RL)[1, 42, 43]或进化算法(EA)[24,36]。在基于RL的方法中,控制器负责生成新的架构进行训练和评估,控制器本身通过验证集上的架构准确性作为奖励进行训练。在基于EA的方法中,通过变异架构产生更好的后代,后代也通过验证集上的准确性进行评估。自从[23]提出参数共享方案以来,提出了更多的搜索方法,如可微分的NAS方法[16]和一次性NAS方法[2],将搜索成本降低到几个GPU天甚至几个GPU小时。除了在自然图像识别方面取得的成功,研究人员还尝试将其扩展到其他领域,如分割[15]、检测[9]和注意机制[14]。此外,还有一些将NAS应用于医学图像分割领域的工作。[40]设计了一个由2D、3D和伪3D(P3D)操作组成的搜索空间,并让网络自己在每一层选择这些操作。[20,37]使用策略梯度算法自动调整超参数和数据增强。在[13,33]中,使用预定义的3D U-Net拓扑结构来探索细胞结构。03. 方法03.1. 不一致问题0NAS的早期工作[1, 24, 36, 42,43]通常使用基于EA或RL的控制器从搜索空间中选择网络候选项,然后对所选的架构进行训练和评估。这种方法需要从头开始训练大量模型,因此搜索成本很高。最近的研究[2,16]提出了一种可微分的搜索方法,显著降低了搜索成本,其中每个网络被视为超级网络的子网络。然而,一个关键问题是超级网络无法适应内存。对于这些方法,通过在搜索阶段牺牲网络大小并构建0部署时使用更深的网络,导致了不一致问题。[3]提出在每次迭代中激活超级网络的单个路径以减少内存成本,[6]提出逐渐增加网络大小并减少近似搜索空间的方法。然而,当网络拓扑结构包含在搜索中时,这些方法也面临问题。例如,渐进的方式无法处理网络拓扑结构。至于单路径方法,由于网络拓扑结构中存在非法路径,某些层相对于其他层自然训练更多次,导致严重的公平性问题[7]。解决这个问题的一种直接方法是分别从头开始训练每个候选项,然而考虑到搜索空间的规模可能包含数百万个或更多个候选项,搜索成本太高。Auto-DeepLab[15]将网络拓扑结构引入到搜索空间中,并在训练阶段牺牲输入大小而不是网络大小,其中使用更小的批量大小和裁剪大小。然而,它引入了一个新的输入大小不一致来解决网络大小的旧问题。此外,对于内存消耗大的任务,如3D医学图像分割,牺牲输入大小是不可行的。已经很小的输入大小需要进一步减小到不合理的程度才能适应模型的内存,这通常会导致收敛方面的不稳定训练问题,并且该方法最终只产生一个随机的架构。03.2. 从粗到细的神经架构搜索0为了解决网络大小和输入大小的不一致性,并将NAS与医学图像分割相结合,我们开发了一种粗到细的神经架构搜索方法,用于自动设计3D分割网络。不失一般性,架构搜索空间A包括拓扑搜索空间S,由有向无环图(DAG)表示,以及细胞操作空间C,由DAG中每个节点的颜色表示。每个网络候选是一个子图s ∈ S,具有颜色方案c ∈C和权重w,表示为N(s, c,w)。因此,搜索空间A分为两部分:拓扑结构S的小搜索空间和操作C的巨大搜索空间:0A = S × C. (1)0拓扑搜索空间通常很小,通过从头开始训练每个候选者来处理不一致性是可以接受的。例如,拓扑搜索空间S对于具有12个细胞的网络最多只有2.9×10^4个候选者[15]。操作搜索空间C可能有数百万个候选者,但由于给定了拓扑结构s,自然地将NAS中的技术(例如,在每次迭代中仅激活一条路径)用于解决内存限制。因此,通过将神经架构搜索视为构建着色DAG的过程,我们将搜索过程分为两个阶段:(1)粗糙阶段:在宏观级别搜索网络拓扑结构,(2)细化阶段:搜索每个节点的最佳着色方式,即找到最合适的操作配置。我们首先定义宏观级别和微观级别。每个网络由多个细胞组成,每个细胞由多个卷积层组成。在宏观级别上,通过定义每个细胞如何连接到彼此,网络拓扑结构被唯一确定。确定拓扑结构后,我们需要定义每个节点表示的操作。在微观级别上,我们为每个节点分配一个操作,该操作表示细胞内的操作,例如标准卷积或扩张卷积。通过这个两阶段的过程,我们首先构建一个表示网络拓扑结构的DAG,然后通过着色图中的相应节点为每个细胞分配操作。因此,网络以粗到细的方式从头构建。通过分离宏观级别和微观级别,我们减轻了内存压力,从而解决了搜索阶段和部署阶段之间的不一致性问题。from scratch as a process of constructing a colored DAG,we divide the search procedure into two stages: (1) Coarsestage: search at macro-level for the network topology and(2) Fine stage: search for the best way to color each node,i.e. finding the most suitable operation configuration.We start with defining macro-level and micro-level.Each network consists of multiple cells, which are com-posed of several convolutional layers. On macro level, bydefining how every cell is connected to each other, the net-work topology is uniquely determined. Once the topologyis determined, we need to define which operation each noderepresents. On micro-level, we assign an operation to eachnode, which represents the operation inside the cell, such asstandard convolution or dilated convolution.With this two-stage procedure, we first construct a DAGrepresenting network topology, then assign operations toeach cell by coloring the corresponding node in the graph.Therefore, a network is constructed from scratch in acoarse-to-fine manner. By separating the macro-level andmicro-level, we relieve the memory pressure and thus re-solve the inconsistency problem between search stage anddeployment stage.0.050.100.150.200.250.300.350.400.4501234567s∗ = arg maxs ∈ S′Accval(N(s, c0, ws)).(5)41290图3.展示了引入先验知识如何帮助减少搜索空间。灰色节点完全从图中消除。此外,许多非法路径也被剪枝掉。橙色线路径和绿色线路径分别表示非法路径和合法路径的示例。03.3. 粗糙阶段:宏观级别搜索0在这个阶段,我们主要关注网络的拓扑结构搜索。本文中,每个细胞被分配一个默认操作,具体来说是标准的3D卷积,并且细胞被用作构建网络的基本单元。由于内存限制和公平性问题,使用权重共享方法训练超级网络并评估候选者是不可行的,这意味着每个网络都需要从头开始训练。宏观级别的搜索被形式化为具有权重优化和拓扑优化的双层优化:0w s = arg min w L train ( N ( s, c0, w )),(2)0s� = arg max s ∈ S Acc val ( N ( s, c0, ws)),(3)0其中 s 表示当前拓扑结构,c0表示默认的着色方案,例如标准的3D卷积020 30 40 50 60 评估的网络数量0集群比例0图4.粗糙阶段搜索时采样的聚类比例。该图说明了所提出的进化搜索算法的有效性。不同的聚类以不同的颜色表示。x轴标签“评估的网络数量”表示训练和评估的网络总数,而y轴标签“聚类比例”表示属于特定聚类的网络数量与评估的网络总数之比。结果显示,该算法逐渐集中在最有希望的聚类1上,使搜索过程更加高效。0其中,L train 是训练阶段使用的损失函数,Acc val是验证集上的准确率。这个过程非常耗时,特别是考虑到3D网络与2D模型相比具有更重的计算要求。因此,有必要减少搜索空间,使搜索过程更加集中和高效。我们重新审视了成功的医学图像分割网络,发现它们都有一些共同点:(1)U形编码器-解码器拓扑结构;(2)下采样路径和上采样路径之间的跳跃连接。我们将这些先验知识纳入到我们的方法中,并相应地剪枝搜索空间。图3展示了先验知识如何帮助剪枝搜索空间的示意图。因此,搜索空间S被剪枝为S',拓扑优化变为:0S' = PriorPrune(S), (4)0为了进一步提高搜索效率,我们提出了一种基于拓扑相似性的进化算法,利用宏观级别的特性。其思想是,在假设拓扑搜索空间连续放松的前提下,两个相似的网络也应该具有相似的性能。具体而言,我们用一个编码来表示每个网络拓扑,并将网络相似性定义为两个编码之间的欧氏距离。距离越小,两个网络越相似。基于距离测量,我们使用K-means算法[18]将所有网络候选划分为若干个簇,基于其编码进行分类。1: population ← all topologies2: P = {p1, p2, . . . , pk} ← Cluster(population)3: history H ← ∅4: set of trained models M = {m1, m2, . . . , mk} ← {∅}k5: for i = 1 to k do6:model.topology ← RandomSample(pi)7:model.accuracy ← TrainEval(model.topology)8:add model to H and mi9: while |H| ≤ l do10:while HasIdleGPU() do11:model for compare D ← ∅12:for i = 1 to k do13:add RandomSample(mi) to D14:rank P based on corresponding accuracy in D15:model.topology ← SampleUntrained(prank1)16:model.accuracy ← TrainEval(model.topology)17:add model to H and mrank118: return highest-accuracy model in H41300算法1 基于拓扑相似性的进化0编码。进化过程以簇为单位进行。具体而言,在生成下一代时,我们从每个簇中随机抽样一些网络,并通过比较这些网络的性能对簇进行排序。排名越高的簇,下一代中来自该簇的比例越高。如图4所示,我们算法提出的拓扑逐渐落入最有希望的簇中,证明了其有效性。为了更好地利用计算资源,我们进一步以异步方式实现了这个EA算法,如算法1所示。03.4. 精细阶段: 微观级别搜索0确定网络拓扑后,我们进一步在细粒度级别上搜索模型,通过替换每个单元内的操作来实现。每个单元是一个小的全卷积模块,它接受1或2个输入张量并输出1个张量。由于拓扑在粗糙阶段已经确定,单元i简单地由其操作Oi表示,它是可能操作集合O的子集。与[15]相比,我们的单元结构更简单,这是因为单元复杂性和单元数量之间存在权衡。考虑到3D模型的紧张内存需求,我们更喜欢更多的单元而不是更复杂的单元结构。可能的操作集合O包括以下3种选择:(1)3×3×3的3D卷积;(2)3×3×1后跟1×1×3的P3D卷积;(3)3×3×1的2D卷积。考虑到细粒度阶段搜索空间的规模,从头开始训练每个候选模型是不可行的。因此,为了解决内存限制问题并使搜索高效,我们采用了单路径一次性NAS0我们采用均匀采样[10]作为我们的搜索方法。具体而言,我们构建了一个超级网络,其中每个候选项都是其子网络,并且在训练过程的每个迭代中,从超级网络中均匀采样一个候选项并进行训练和更新。训练过程结束后,我们对最终的操作配置进行随机搜索。也就是说,在搜索阶段,我们随机采样K个候选项,每个候选项都使用训练好的超级网络的权重进行初始化。所有这些候选项按照验证性能进行排名,最高准确率的候选项最终被选择。因此,精细阶段的优化是以均匀采样的单路径一次NAS方式进行的,其形式化表示为:0w = arg min w E c ∈ C [ L train ( S ( s� , c, w ))],(6)0c� = arg max c Acc val ( S ( s� , c, w )),(7)0其中C是精细阶段的搜索空间,即所有可能的操作组合。粗阶段完成后,获得拓扑s�。操作配置c�来自精细阶段。因此,最终的网络架构N(s�, c�, w)被构建。04. 实验0在本节中,我们首先介绍了C2FNAS的实现细节,然后报告了我们在所有10个MSD数据集[30]上的语义分割结果找到的架构(在MSD胰腺数据集上进行搜索),这是一个公共的综合性基准,用于通用算法验证和测试,涵盖了许多挑战,如小数据、不平衡标签、大范围的目标尺度、多类别标签和多模态成像等。它包含10个分割数据集,即脑肿瘤、心脏、肝脏肿瘤、海马、前列腺、肺肿瘤、胰腺肿瘤、肝血管、脾脏、结肠癌。04.1. 实现细节0粗阶段搜索。在粗阶段搜索中,网络总共有12个细胞,其中3个是下采样细胞,3个是上采样细胞,因此模型大小适中。根据第3节中介绍的先验知识,搜索空间从2.9×10^4大大减少到9.24×10^2。对于网络架构,我们在网络开头定义了一个起始模块,以及一个结束模块。起始模块由两个3D3×3×3卷积层组成,步幅分别为1和2。结束模块由两个3D3×3×3卷积层和两个卷积层之间的三线性上采样层组成。每个413102D 3x3x103D 3x3x30P3D 3x3x1 + 1x1x30起始 3x3x301x1x1卷积 2D\3D\P3D 1x1x1卷积 x01x1x1卷积 2D\3D\P3D x 101x1x1卷积0+ 3D步幅为2的卷积0三线性上采样0图5. 左:C2FNAS-Panc的最终架构。红色、绿色和蓝色分别表示具有2D、3D、P3D操作的细胞。右:具有单输入和两个输入的细胞结构。0细胞将其前一个细胞的输出作为输入,并且如果满足以下条件之一,则还会接受另一个输入:(1)在相同特征分辨率级别上有一个前前细胞,或者(2)它是下采样后的第一个细胞。在情况(1)中,细胞将其前前细胞的输出作为附加输入。在情况(2)中,它将上一次下采样之前的最后一个细胞的输出作为另一个输入,这作为从编码器部分到解码器部分的跳跃连接。卷积核大小为1×1×1的卷积用作输入的预处理。两个输入分别经过卷积处理,然后相加,然后对输出应用1×1×1卷积。滤波器数量从32开始,在下采样层后加倍,在上采样层后减半。所有下采样操作都通过3×3×3的3D卷积实现,上采样通过缩放因子为2的三线性插值后加上1×1×1卷积实现。此外,在粗阶段,我们还将所有细胞中的操作设置为标准的3D卷积,内核大小为3×3×3。对于进化算法部分,我们首先用一个代码表示每个网络拓扑,该代码是一个数字列表,长度与细胞数量相同。数字从0开始,每次下采样后增加1,每次上采样后减少1。我们使用K-means算法根据相应代码的欧几里德距离将所有候选项分为8个簇。开始时,从每个簇中随机抽取两个网络。之后,每当有一个空闲的GPU时,从每个簇中随机抽取一个训练好的网络,并选择最佳网络所属的簇,并从该簇中随机抽取一个新网络进行训练。同时,该算法还以0.2的概率随机选择一个簇以增加随机性并避免局部最小值。评估了50个网络后,算法终止并返回找到的最佳网络拓扑。我们在MSD胰腺肿瘤数据集上进行粗阶段搜索,该数据集包含282个用于训练和139个用于测试的3D体积。该数据集标有胰腺肿瘤和正常胰腺区域。我们将训练数据顺序分为5个折叠,前4个折叠用于训练,最后一个折叠用于验证。0为了解决各向异性问题,我们对所有案例进行重新采样,将各个轴的各向异性分辨率重新采样为1.0毫米。在训练阶段,我们使用8个GPU的批量大小为8,并且裁剪的补丁大小为[96, 96,96],每次迭代从每个体积中随机裁剪两个补丁。所有补丁都会随机旋转[0°,90°,180°,270°]并翻转以进行数据增强。我们使用学习率为0.02的SGD优化器,动量为0.9,权重衰减为0.00004。此外,还有一个多步学习率调度,它在迭代[8000,16000]时以0.5的因子衰减学习率。我们使用1000次迭代进行热身阶段,其中学习率从0.0025线性增加到0.02,然后进行20000次迭代进行训练。损失函数是DiceLoss和交叉熵损失的总和,并且我们采用了实例归一化和ReLU激活函数。我们还使用Horovod来加速多GPU训练过程。在验证阶段,我们以滑动窗口的方式测试网络,其中所有轴的步长为16。使用Dice-Sørensen系数(DSC)指标来衡量性能,其公式为DSC(Y,Z)= 2×|Y∩Z| /(|Y| +|Z|),其中Y和Z分别表示前景类别的预测和真实标签体素集合。DSC的范围为[0,1],1表示完美预测。0细粒度阶段搜索。在细粒度阶段搜索中,我们主要从每个单元中选择操作 [2D,3D,P3D ] 。这个搜索空间可能很大,达到 5.3 ×10^5。由于搜索空间很多,我们采用基于超级网络的单路径一次性NAS方法,该方法通过均匀采样进行训练。数据预处理、数据划分和训练/验证设置与我们在粗粒度阶段使用的完全相同,只是我们将迭代次数加倍以确保超级网络的收敛。在每次迭代中,选择一个随机路径进行训练。超级网络训练完成后,我们从搜索空间中随机选择2000个候选,并使用超级网络权重初始化这些候选。由于验证过程需要很长时间,因此为了解决各向异性问题,我们对所有案例进行重新采样,将各个轴的各向异性分辨率重新采样为1.0毫米。在训练阶段,我们使用8个GPU的批量大小为8,并且裁剪的补丁大小为[96, 96,96],每次迭代从每个体积中随机裁剪两个补丁。所有补丁都会随机旋转[0°,90°,180°,270°]并翻转以进行数据增强。我们使用学习率为0.02的SGD优化器,动量为0.9,权重衰减为0.00004。此外,还有一个多步学习率调度,它在迭代[8000,16000]时以0.5的因子衰减学习率。我们使用1000次迭代进行热身阶段,其中学习率从0.0025线性增加到0.02,然后进行20000次迭代进行训练。损失函数是DiceLoss和交叉熵损失的总和,并且我们采用了实例归一化和ReLU激活函数。我们还使用Horovod来加速多GPU训练过程。在验证阶段,我们以滑动窗口的方式测试网络,其中所有轴的步长为16。使用Dice-Sørensen系数(DSC)指标来衡量性能,其公式为DSC(Y,Z)= 2×|Y∩Z| /(|Y| +|Z|),其中Y和Z分别表示前景类别的预测和真实标签体素集合。DSC的范围为[0,1],1表示完美预测。CerebriuDIKU [22]69.5243.1166.7459.7994.2757.2575.7671.2324.9848.1169.1186.3477.73Lupin66.1541.6364.1557.3194.7961.4078.1075.9921.2448.6272.7387.6280.18NVDLMED [34]67.5245.0068.0160.1895.0671.4083.2378.4238.4858.4569.3686.6678.01K.A.V.athlon66.6346.6267.4660.2494.7461.6578.2074.9743.2059.0973.4287.8080.61nnU-Net [12]67.7147.7368.1661.2095.2473.7184.4879.5352.2765.9075.8189.5982.70C2FNAS-Panc67.6248.5669.0961.7694.9171.6383.2780.5952.8766.7373.1187.4380.27C2FNAS-Panc*67.6248.6069.7261.9894.9872.8983.9480.7654.4167.5974.8888.7581.82CerebriuDIKU [22]58.7189.4789.6888.3189.0059.0038.0048.5095.0028.0067.0166.40Lupin54.6191.8689.6688.2688.9660.0047.0053.5094.009.0065.6165.89NVDLMED [34]52.1592.4687.9786.7187.3463.0064.0063.5096.0056.0072.7371.66K.A.V.athlon60.5691.7289.8388.5289.1862.0063.0062.5097.0036.0071.5170.89nnU-Net [12]69.2092.7790.3788.9589.6663.0069.0066.0096.0056.0076.3975.00C2FNAS-Panc69.4792.1386.8785.4486.1663.7869.4166.6096.6055.6875.8774.42C2FNAS-Panc*70.4492.4989.3787.9688.6764.3071.0067.6596.2858.9076.9775.493D U-Net [8]19.07825.30V-Net [19]45.59301.88VoxResNet [4]6.92173.02ResDSN [41]10.03188.37Attention U-Net [21]103.881162.75C2FNAS-Panc17.02150.78C2FNAS-C-Lung71.7480.2652.5166.39C2FNAS-C-Panc69.0580.3953.3266.86C2FNAS-F-Panc69.7780.3756.3668.3741320任务 大脑 肝脏 胰腺 前列腺0类别 1 2 3 平均 1 2 平均 1 2 平均 1 2 平均0任务 肺 心 海马 肝血管 脾 结肠 平均(任务) 平均(类别)0类别 1 1 1 2 平均 1 2 平均 1 10表1.在MSD挑战测试集上与最先进方法的比较(来自MSD排行榜上的数字),使用Dice-Sørensen系数(DSC)进行测量。*表示5折模型集成。来自其他团队的肝脏血管、脾脏和结肠任务的数量已四舍五入。我们还分别报告了所有任务和所有目标的平均值,以进行整体比较。0模型参数(M) FLOPs(G)0表2.与其他3D网络的参数和FLOPs的比较。FLOPs是基于输入尺寸96×96×96计算的。0滑动窗口方法,我们将所有轴上的步长增加到48,以加快搜索阶段的速度。粗略搜索阶段使用64个NVIDIA V100GPU和16GB内存,耗时5天。在精细阶段,超级网络训练耗时10小时,使用8个GPU进行搜索过程,在验证集上评估了2000个候选模型,耗时1天,使用8个GPU。较大的搜索成本主要是因为训练和评估一个3D模型本身非常耗时。0部署阶段。基于在粗略阶段搜索的拓扑结构和在精细阶段搜索的操作,最终的网络架构如图5所示。在部署这个网络架构时,我们保持了相同的训练设置,也就是说我们的方法中不存在不一致性。我们使用了粗略阶段中提到的相同训练设置,迭代次数为40000次,在[16000,32000]次迭代时进行多步衰减。模型是基于每个数据集从头开始使用相同的设置进行训练的,只是前列腺数据集在Z轴(轴向)上的尺寸非常小,海马数据集在每个轴上的形状只有50左右。因此,我们将前列腺的补丁尺寸更改为128×128×32,步长为[16, 16,4],将所有数据上采样到96×96×96的形状。04.2. 分割结果0我们报告了在MSD挑战的所有10个任务上的测试集结果,并与其他最先进的方法进行比较。0任务 肺 胰腺0类别 1 1 2 平均0表3. 在5折交叉验证上与不同阶段和不同代理数据集的比较。0我们在表1中总结了我们的测试集结果。我们注意到其他方法采用多模型集成来增强性能,例如,nnU-Net使用5个或10个模型进行集成,基于5折交叉验证使用一个或两个模型,NVDLMED和CerebriuDIKU使用从不同视角训练的模型进行集成。因此,除了单模型结果,我们还报告了使用5折交叉验证模型集成的结果,这意味着在5折交叉验证设置下训练了5个模型,并且最终的测试结果是通过这5个模型的多数投票融合得到的。0我们的模型在大多数任务上表现出优越的性能,尤其是具有挑战性的任务,同时与大多数流行的3D模型相比,模型大小更轻(见表2)。我们在任务/类别的平均性能方面也更高。值得注意的是,之前的最先进方法nnU-Net使用各种数据增强和测试时增强来提升性能,而我们只采用简单的旋转和翻转数据增强,并且没有应用测试时增强。像心脏和海马等小数据集更依赖于增强,而强大的架构容易过拟合,这解释了为什么我们在这些数据集上的性能不如竞争对手。此外,nnU-Net为每个任务使用不同的网络和超参数,而我们为所有任务使用相同的模型和超参数,表明我们的模型不仅更强大,而且更加健壮和通用。图6中提供了一些可视化比较。NVDLMEDnn-UNetC2FNAS-Panc0.2572.3279.2440.0259.6380.2979.8180.050.5073.8980.5146.3463.4380.7480.8480.790.7576.1581.4047.5064.4580.8881.7281.301.0074.2680.7449.9465.3481.8282.1081.961.2576.9481.4548.0364.7482.1382.2482.191.5075.3781.4048.8765.1481.0281.3981.211.7575.9881.8549.0365.4481.5281.3181.422.0077.7582.1850.6166.4082.5782.3482.4641330Pancreas_079: 胰腺: 67.99% 肿瘤: 70.09%0Colon_087: 结肠癌: 84.62%0Lung_067: 肺肿瘤: 52.73%0图6.MSD测试集上最先进方法(第1和第2名)与C2FNAS-Panc的可视化比较。我们分别展示了三个最具挑战性任务的一个案例:胰腺和胰腺肿瘤、结肠癌和肺肿瘤。红色分别表示异常胰腺、结肠癌和肺肿瘤,绿色表示胰腺肿瘤。案例ID和C2FNAS-Panc的Dice分数显示在底部。05. 消融研究05.1. 粗阶段与细阶段0为了验证这个两阶段设计的改进,我们比较了粗阶段网络和细阶段网络的性能。其中,“C2FNAS-C-Panc”表示在胰腺数据集上搜索的粗阶段网络,拓扑结构是通过搜索得到的,所有操作都是标准的3D方式;而“C2FNAS-F-Panc”是细阶段网络,操作配置是通过搜索得到的。我们在胰腺和肺部数据集上进行了5折交叉验证来比较它们的性能。结果如表3所示。值得注意的是,细阶段搜索不仅改善了目标数据集(胰腺)上的性能,还增加了模型的通用性,从而在其他数据集(肺部)上获得更好的性能。05.2. 在不同数据集上进行搜索0我们的模型是在MSD胰腺数据集上进行搜索的,该数据集包含282个案例,是MSD挑战赛中最大的数据集之一。为了验证数据数量对我们方法的影响,我们还在MSD肺部数据集上搜索了一个模型拓扑,该数据集包含64个案例,作为消融研究。搜索方法和超参数与我们在胰腺数据集上使用的相同。结果总结在表中。0任务 肺 胰腺 海马0类别 1 1 2 平均 1 2 平均0表4.模型缩放的影响,第一列中的数字表示应用于模型C2FNA
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功