1. 引言
视网膜血管分割(Retinal Vessel Segmentation, RVS)是医疗影像分析中的重要分支,在临床诊断中具有重要应用价值。这项技术通过计算机辅助手段实现眼底血管网络的精确提取与量化分析,为眼科疾病的预防和治疗提供了可靠的客观依据。RVS在青光眼、高血压视网膜病变等多种眼底疾病的早期检测中具有显著优势。医学专家通常通过观察眼底微血管的形态特征来判断病情发展阶段及预后情况。鉴于传统人工分析方法效率低下且存在主观差异,基于人工智能的RVS算法开发已成为数字医疗领域的重要研究方向[1]。
在视网膜血管分析的初期阶段,主要采用基于边界识别的技术手段,其核心目标是区分眼底图像中的血管结构与周围组织。传统方法主要包含基于灰度值的分割算法和轮廓匹配策略。尽管梯度检测器如Sobel和Canny在血管识别中表现出一定效果,但往往难以区分真实血管与病灶区域或图像伪影,导致识别准确度受限[2]。轮廓匹配方法通过优化目标函数来拟合血管边缘,例如基于主动轮廓的检测模型,虽然具有较好的抗噪性能,但需要预先设定边缘特征参数和图像处理函数。
近年来,深度学习技术在医学影像分析领域取得突破性进展,逐渐成为血管分割的核心方法。这类方法通过计算每个像素点属于血管的概率来实现精确分割。其中,U型网络及其改进版本凭借优异的特征学习能力成为该领域的标准框架。该网络采用特征压缩与还原的双路径结构,有效融合了图像的全局语义和局部细节信息。研究者们通过多路径特征融合机制提升了模型性能,同时采用跨层连接策略增强了多尺度特征的表达能力[3]。然而,这些模型仍存在明显不足:网络结构依赖人工设计,参数量庞大,且容易过度拟合训练数据,导致泛化性能受限[4]。因此,如何在保证精度的前提下构建轻量化网络成为研究重点,循环卷积结构的引入为解决这一问题提供了新思路。
为减少人工设计网络的工作量,自动化网络结构搜索技术逐渐兴起。基于生物进化原理的优化算法在这一领域得到广泛应用。有研究者率先将该类算法应用于血管分割任务,成功发现了更精简的网络结构;另有学者通过改进的进化策略探索最优网络配置[5]。虽然这类方法展现出巨大潜力,但计算资源消耗大、搜索效率低等问题仍然突出。为此,研究者提出了基于性能预估的加速策略,通过构建替代模型来评估网络性能[6]。其中,图神经网络因其能够直观地表示网络拓扑结构,被广泛用于构建性能预测器,通常采用回归损失进行训练[7]。有研究表明,相比精确预测网络性能,准确评估不同结构的相对优劣更为重要。然而,现有方法多局限于小规模搜索空间,其在实际应用中的有效性仍需进一步验证[8]。
本文提出一种基于GNN代理模型的改进U-Net网络架构搜索方法。具体而言,我们以U-Net架构为基础,运用进化算法搜索块结构和操作。在前人研究基础上,循环卷积操作最大限度减少冗余参数。为快速找到适用于不同RVS任务的最优网络,我们借助基于GNN的代理模型加速进化算法搜索。大量实验表明,算法能在不同数据集中找到参数最少的最优网络。本研究主要贡献如下:
1) 采用基于GNN的代理模型,建立网络拓扑与特征映射关系,通过比较不同网络排名加速进化算法搜索。
2) 通过减少块中节点数量,找到参数最少且与最优算法性能相当的网络。引入递归卷积操作后,F1分数准确性与其他模型相当。
3) 设计改进的自动架构搜索算法,在DRIVE和CHASE DB1两个数据集上与多种先进算法对比,结果表明该算法能快速准确地找到适用于不同RVS任务的最优网络,相关代码已上传至GitHub。
2. 研究方法
在本节中,我们将详细阐述所提出的算法。首先介绍进化算法(EA)的编码方式及各种操作的设计,然后简要介绍图注意力网络(Graph Attention Network, GAT)。接着,我们提取网络架构,并利用GAT作为代理模型来预测网络排名的设计。
2.1. EA设计
我们采用进化算法进行视网膜血管分割(RVS)架构搜索,维护一个包含N个个体的种群
。在整个搜索空间N中,我们用一组二进制数
表示采样个体,目标是确保个体
所代表的网络
为最优网络。
1) 搜索空间和编码
U-Net网络通常由两部分构成:编码器D和解码器E,二者均由若干个块组成。需注意,编码器的块数通常比解码器多一个。U-Net通过跳跃连接(中间块除外)将这些块相连,使解码器能够利用编码器中提取的丰富语义信息重建输出图像。在算法中,解码器采用逐元素相加的方式整合跳跃连接和上采样特征。这种逐元素相加不仅效果良好,还减少了计算参数的数量。
每个块包含若干节点,节点之间的连接由进化算法的编码确定。其中,第一个节点的输入固定为前一个块的输出,最后一个节点的输出则是下一个块的输入。若中间节点无前驱节点,则将其连接到第一个节点;若无后继节点,则连接到最后一个节点;若既无前驱节点也无后继节点,则将该节点丢弃。
操作由基本操作单元构成,包括3 × 3卷积/5 × 5卷积、实例归一化(Instance Normalization, IN)、修正线性单元/米什激活函数(ReLU/Mish)以及循环卷积。ReLU是深度神经网络中广泛使用的激活函数之一,因其简单易用且计算成本低而备受青睐。Mish是一种高性能的非单调、平滑且稳健的激活函数,在图像分类、目标检测和自然语言处理等任务中表现优于ReLU激活函数。实例归一化将图像每个实例的均值和方差归一化到同一水平,有助于模型分割图像中的不同对象。循环卷积在每个尺度上重复卷积,积累特征信息,使特征表示优于标准卷积。不同时间步的卷积将获得更具表现力的特征,有助于提取低级特征。循环卷积在不增加参数的情况下提高了网络的分割性能。
我们利用一组二进制数(即0和1)来表示采样网络,将其划分为若干段,每段代表一个块,如图1所示。相应节点的操作由4位表示,0和1代表选择的基本操作类型。所有基本操作按照位的顺序组合成一个操作(3 × 3卷积/5 × 5卷积→IN→ReLU/Mish)。最后一位表示是否采用循环卷积方法,总共有16种不同的组合。每个段的最后几位表示节点的连接方式,0和1分别表示是否连接到前驱节点。
2) 交叉和变异算子
在进化算法中,交叉操作通过重组不同个体的进化信息来生成具有不同特征的新个体。这些新个体可能对环境变化具有更强的适应性,从而提高种群的稳健性。我们将交叉操作分为不同的粒度:单点交叉、多段交叉和多点交叉。显然,单点交叉生成的个体与父代差异最小,不适合搜索更优秀的个体。多点交叉随机选择多个点进行交叉操作,生成的个体与父代差异最大,可以提高种群的多样性。多段交叉则介于两者之间。根据U-Net网络的结构特征,仅对相应的块进行单点交叉操作,以确保其他未交叉块的完整性。种群中的个体以概率
进行交叉操作。
在算法的早期阶段,我们采用多点交叉,一方面确保种群的多样性,另一方面为代理模型提供更全面的网络架构信息。在算法的后期阶段,采用多段交叉来加速算法的收敛。变异可以防止算法陷入局部最优。个体以
的概率进行变异操作。在变异个体中,每个位以较低的概率
翻转。
Figure 1. Algorithm architecture diagram
图1. 算法架构图
2.2. 代理模型
代理模型旨在无需从头开始训练网络,即可对其性能进行估计。在进化算法中,代理模型可用于引导搜索方向,从而帮助进化算法更迅速地收敛至最优解。代理模型包含特征提取与性能预测两个部分。
1) 图注意力网络
图神经网络(Graph Neural Network, GNN)能够通过提取相应的特征向量进行学习和预测,从而捕捉图数据中节点和边之间的关系。其核心思想是将图数据表示为图结构,然后通过消息传递在图中传播信息。在每次消息传递步骤中,每个节点会聚合来自其相邻节点的信息并更新自身状态。这一过程会不断重复,直到节点的状态稳定,或者达到预设的迭代步数。基于图注意力机制的图神经网络(Graph Attention Network, GAT)是其中一种常见的类型。GAT允许每个节点为其相邻节点的信息分配不同的权重,从而能够更有效地捕捉图中的长程依赖关系。
对于节点i,我们考虑其相邻节点j (
,
表示节点i的一阶相邻节点集)的特征向量
。我们使用注意力权重
来衡量和之间的关联程度。注意力权重通过以下公式计算:
其中
、W是可训练参数。
是带泄漏的修正线性单元激活函数。使用softmax函数对其相邻节点的注意力权重进行归一化,使得所有相邻节点的注意力权重之和为1,表示节点j对节点i的相对重要性。然后,利用计算得到的注意力系数聚合特征,得到节点i新的特征表示:
其中,
表示激活函数。通过重复上述聚合过程,得到最终的节点特征
。随后我们采用平均聚合方法将所有节点的特征表示整合起来,作为整个图的特征表示。
在传统的GNN中,节点特征通常是利用节点标签进行训练的。然而,在代理模型GNN中,我们训练的是整个图的特征。为了更充分地利用节点特征信息,我们采用了嵌入方法来提取节点特征。此外,考虑到网络是以有向无环图的形式呈现的,节点的顺序会对网络的特征表示产生影响。因此,我们引入了类似于Transformer模型中的位置信息:
我们采用绝对位置编码的方式,为每个节点分配一个唯一的位置编码向量。该向量由正弦和余弦函数的线性组合构成,从而为每个节点提供了一个独特的空间位置标识。
2) 代理模型的性能预测
在训练性能预测器时,常用的损失函数(例如均方误差或L1损失)主要目的是最小化预测值与实际值之间的差距。然而,在网络排名的场景下,仅仅减少预测值与实际值的差异并不一定能提升预测器的性能。在网络排名中,网络的相对排名顺序决定了搜索算法选择保留哪些网络。这意味着即使预测器的准确率很高,也可能对排名顺序做出错误的预测,导致更优的网络个体被误淘汰。因此,我们提出了一种新的损失函数来替代传统的均方误差损失,使预测器能够预测网络的排名而非实际值。
3. 研究实验与分析
在本节中,我们首先对基于图注意力网络(GAT)的代理模型的有效性进行验证。之后,我们运用基于代理模型的进化算法(EA),在医学图像上搜索适用于视网膜血管分割任务的最优网络架构,并将其性能与其他最先进的算法进行对比分析。
为确保算法之间的可比性,我们使模型的基本参数与文献1中保持一致。代理模型的启用时间设定为20,块节点的数量设定为5。架构搜索将在NVIDIA GeForce RTX3090上进行。
3.1. 数据集和评估
1) 数据集
NAS-Bench-101:NAS-Bench-101是神经架构搜索领域的一个基准数据集。它由多个单元组成的搜索空间构成,每个单元是一个由所有可能的具有7个节点(其中2个为输入/输出节点)的有向无环图(DAG)构成的网络。每个节点可以执行3种可能的操作(3 × 3卷积、1 × 1卷积、3 × 3最大池化)。研究人员无需自行训练网络,可以直接调用该数据集中相应网络的预训练结果。该数据集将被用于验证代理模型的性能。
RVS数据集:我们将在两个公共数据集DRIVE和CHASE DB1上对我们的算法进行验证。在实验中,我们选取这两个数据集中第一位专家的标注作为真实值的参考标准。DRIVE数据集具备官方既定的训练与测试划分方式,其中20张图像被分配用于训练,另外20张图像则用于测试。而CHASE DB1数据集的划分比例为20:8,即20张图像用于训练,剩余8张图像用于测试。我们计划在DRIVE数据集上开展架构搜索,以确定最优网络架构,并进一步在CHASE DB1数据集上对所确定的最优网络架构的性能进行验证评估。
2) 评估指标
与采用均方误差作为损失函数的传统代理模型不同,我们的代理模型专注于评估网络的排名。鉴于此,我们选用肯德尔等级相关系数(KTau)作为评估指标。KTau是一种广泛应用于衡量排名相关性的统计量,它能够有效量化两个排名之间的相似程度。对于我们的代理模型来说,KTau相较于均方误差更具适用性,因为它能够精准地反映网络在排名方面的表现。
在肯德尔等级相关系数(KTau)的计算中,n表示样本数量。一致对是指在两个排名中,两个变量之间的顺序关系保持一致的情况。KTau的取值范围为[−1, 1],用于评估预测排名的质量。该值越高,表明模型预测排名的准确性越高。
在视网膜血管分割(RVS)任务中,每个图像点被处理为一个二分类问题。因此,每个像素存在四种可能的结果:真正例(True Positive, TP)、假正例(False Positive, FP)、真反例(True Negative, TN)和假反例(False Negative, FN)。基于这些结果,RVS任务为图像生成以下五个评估指标:
准确率(Accuracy, ACC):衡量模型预测正确的比例。
灵敏度(Sensitivity, SE):衡量模型正确识别正例的能力。
特异性(Specificity, SP):衡量模型正确识别反例的能力。
F1分数(F1 Score):综合考虑精确率和召回率的指标。
受试者工作特征曲线下面积(Area Under the Receiver Operating Characteristic Curve, AUROC):衡量模型在不同阈值下的综合性能。
3.2. 代理模型性能
为了验证代理模型的有效性,我们在不同比例的NAS-Bench-101数据集上对代理模型的参数进行了训练。我们随机抽取了200个不同的网络进行评估。可以明显看出,随着训练集比例的增加,我们的模型在测试集上的K-Tau指标呈现出不断上升的趋势。而模型在训练集上的K-Tau指标值出现下降,是因为当数据量过大时,模型难以从中学习到有用的知识。此外,我们的模型在测试集和训练集上的表现均优于Peephole和E2EPP模型。尽管在0.1%的数据集上,我们的模型表现不如ReNAS,但作为代理模型,我们更关注其在少量训练数据下所展现出的高性能优势。显然,在实际应用中,我们不能等到进化算法完成之后才开始使用代理模型。
Figure 2. KTau results at different ratios
图2. 不同比例下的KTau结果
与NAS-Bench-101不同,我们设计的U-Net架构拥有一个更为复杂的搜索空间。我们从这个搜索空间中随机抽取了1000个网络。然后,我们分别使用200个、300个和500个不同数量的数据集来训练代理模型,并利用剩下的500个网络进行测试,测试结果如图2所示。在图2中,每个点的x轴表示所有点的真实排名,而y轴则对应于预测排名。理想情况下,完美的预测结果应该位于直线y = x上,因此,越接近直线y = x的点就表示预测结果越好。从图中可以明显看出,即使使用500个网络进行训练,代理模型的KTau值也仅为0.5530。这表明代理模型并非完美无误,存在一定的误差,这也凸显了设计评估指标的必要性。
3.3. 与最先进的NAS方法的比较
我们在两个公共数据集(DRIVE和CHASE DB1)上,对所提出的算法进行了测试,并将其与其他现有方法进行了比较。实验中,我们使用了在DRIVE数据集上搜索到的最优网络。在不使用代理模型且其他参数保持一致的情况下,整个搜索过程总共需要5.5个GPU天。而采用我们提出的方法,仅需3.7个GPU天。这表明代理模型显著加快了算法的搜索速度。另一方面,在DRIVE数据集上,使用代理模型找到的最优网络在参数数量和F1分数方面均优于不使用代理模型的情况。综合来看,代理模型在加速收敛和指导进化算法搜索方面发挥了重要作用。此外,我们还在另一个数据集上对找到的最优模型的性能进行了验证。结果表明,即使参数数量更少,我们的网络也能与其他最先进的算法相媲美,并且在不同数据集上均取得了最佳性能。
4. 结论
在本研究中,我们提出了一种改进的新型神经架构搜索方法,用于视网膜血管分割任务。算法借助基于图神经网络(GNN)的代理模型来辅助进化算法搜索最优网络架构。我们对基于架构的参数数量进行了限制,使其保持在一个较小的范围内。通过引入循环卷积操作,在不增加额外参数的情况下,有效提升了网络的分割性能。实验结果表明,算法所找到的最优架构在某些关键指标上优于当前主流的视网膜分割方法。这一发现为未来视网膜分割领域中小模型的研究提供了宝贵的参考和领域知识。