代理模型辅助的演化生成对抗网络架构搜索方法和系统

    技术2025-04-03  8


    本发明涉及深度神经网络,具体涉及代理模型辅助的演化生成对抗网络架构搜索方法和系统。


    背景技术:

    1、生成对抗网络于2014年提出,由于其创新性的思想,生成对抗网络对于深度学习和生成模型研究产生了深远的影响。生成对抗网络引入了生成器和鉴别器的对抗学习框架,通过不断优化生成器和鉴别器之间的竞争关系,使得生成器能够生成更逼真的样本。gan具有多方面的优势,使得它成为深度学习中生成模型领域的重要工具。首先,gan不受单一邻域的限制,可以用于多模态数据的生成,例如从文本到图像、从图像到文本。第二,gan具有一定的可控性,可以通过调整生成器和鉴别器的结构以及超参数来影响生成样本的质量和多样性。最后,gan在迁移学习和数据增强方面表现出色,可以通过在源领域上生成样本,然后将生成器用于目标领域任务。然而,gan仍然面临着一些挑战。例如,生成对抗网络在训练过程中易陷入模式崩溃和梯度消失的问题;在一些特殊情况下,生成对抗网络会出现生成低质量图像的问题;在小样本生成任务中,生成图像往往会出现细节缺失和类别不平衡的问题。因此,如何解决这些问题以提高生成对抗网络的性能是一个十分有意义的研究方向。

    2、针对现有生成对抗网络训练过程易陷入模式崩溃和梯度消失的问题,研究人员提出使用演化神经网络架构搜索提升生成对抗网络训练稳定性。神经架构搜索提出用以自动发现高性能的深度神经网络架构。用于神经网络架构搜索的三大最广泛使用的类别是演化算法,强化学习和梯度下降算法。演化神经架构搜索由于其实施不需要关于问题的大量先验知识,可以直接使用,使其成为广泛研究的主题。然而,演化神经架构搜索可能涉及对候选架构的大量性能评估,从而导致计算成本高,需要大量资源。

    3、代理模型是用来加速神经网络架构评估的另一种方法。“代理”模型是一种计算便宜的模型,被训练用来预测/模拟候选架构的准确性,而无需进行架构的计算昂贵的训练。目前在神经网络架构搜索中使用的代理模型可以分为两类:第一类使用回归模型预测架构的准确性,而第二类使用分类模型比较成对的架构,预测两者中哪一个的准确性最高。由于预测误差较小以及可以自然地嵌入到演化算法中,属于第二类的替代模型在这个子领域中逐渐变得突出。因此为了解决现有生成对抗网络训练过程易陷入模式崩溃和梯度消失的问题和演化生成对抗网络架构搜索效率较低的问题,提出代理模型辅助的演化生成对抗网络架构搜索是十分必要的。


    技术实现思路

    1、发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供代理模型辅助的演化生成对抗网络架构搜索方法和系统。所述方法包括如下步骤:

    2、步骤1,构建一个生成对抗网络;

    3、步骤2,初始化生成一定数量的生成对抗网络架构并进行训练,以生成训练数据集,并训练代理模型;

    4、步骤3,初始化粒子种群,设置每个个体的历史最优解,并使用非支配排序挑选出全局最优解;

    5、步骤4,使用代理模型挑选出种群中有潜力的网络架构,并对挑选出的网络架构进行训练,同时使用非支配排序和粒子群算法更新种群;

    6、步骤5,更新代理模型训练数据集并重新训练代理模型;

    7、步骤6,重复步骤4、步骤5直至粒子群算法达到目标代数,并挑选出网络架构进行重训练。

    8、步骤1中,生成对抗网络架构中包含一个全连接层和多个cell组成。每个cell都可以通过一个有向无环图表示,通常由一个输入节点、一个输出节点和若干个中间节点组成。其中,连接不同中间节点的边执行某种操作,将输入节点的数据进行处理,并最终由输出节点输出结果。其中连接输入节点的边将采用上采样操作,通常包含“最近邻插值”,“双线性插值”和“转置卷积”等操作,用于将低分辨率特征图转换为高分辨率图像。而连接两个中间节点或输出节点的边通常采用各种卷积操作,通常包括:3*3卷积、5*5卷积和跳跃连接等操作,以实现有效的特征提取、信息融合和分辨率调整,以提高模型的性能和表现。

    9、为了更清楚表达出生成对抗网络的网络架构,本发明采用1*n的矩阵来表达一个单元cell,n表示每个单元cell中边的个数。每个单元cell进行单独编码,最终构成n*n的矩阵来表达一个网路架构,n为网络架构中单元cell的个数。每条边均从其操作候选池中随机挑选一个操作,构成一个网络架构。

    10、进一步的,步骤1中,所述生成对抗网络的网络架构包括一个全连接层和3个堆叠的单元cell,每个单元cell包含5个节点和7条边,其中所述7条边分为2个上采样边和5个卷积边,上采样边将从3种上采样操作中进行挑选,而卷积边将从7种卷积操作中进行挑选;每一个单元cell看作是一种有向无环图,边表示候选操作,节点表示处理得到的特征图;

    11、第i个单元cell表示为,其中i取值为1~3,、代表两个上采样边对应的操作,代表第一个卷积边对应的操作;将3个单元cell进行堆叠得到生成对抗网络的网络架构的对应编码。

    12、步骤2中,代理模型是一种小型模型,通常来说训练一个大的神经网络需要花费大量的时间和精力,代理模型通过使用已知精度的架构来训练,将架构和它们的性能值进行映射。因此,当生成新的神经网络架构时,其性能可以直接通过已训练的代理模型进行预测。除了使用回归类代理模型直接预测网络架构的准确性,另一种是使用分类模型比较成的网络架构,预测哪一个架构性能会表现会更好。成对比较的方法具有较小的预测误差,且适配演化算法的进程。

    13、本发明采用支持向量机作为代理模型,支持向量机是一种用于分类和回归任务的监督学习模型。它特别擅长处理线性和非线性分类问题,并且能够找到最佳的分类边界来区分不同类别的数据。因此采用其作为代理模型来区分两个网络架构的优劣。为了更好评估生成神经对抗网络,本发明选择生成对抗网络的is和 fid这两个值作为网络评估指标。is通过计算生成图像的类预测分布的熵来评估图像的质量和多样性,而fid通过计算生成图像和真实图像的inception网络特征分布之间的fréchet距离来评估图像质量。is值越高,fid值越低,则说明网络性能越好。

    14、进一步的,步骤2中,随机生成m个生成对抗网络架构,并对m个网络架构进行训练,组成代理模型数据集;nm表示第m个生成对抗网络架构;m一般取值为30;

    15、将数据集set随机划分为训练数据集和测试数据集;

    16、采用如下方法将任意两个生成对抗网络架构进行两两组合:将训练数据集 set train和测试数据集 set test中的网络架构编码以独热编码one-hot编码形式进行重新编码,独热编码one-hot编码后的网络架构为,one-hot编码将每个类别表示为一个长度为l的二进制向量,其中l是类别的总数。在这个向量中,只有与类别对应的位置为1,其他位置为0。以防止机器学习算法误解类别之间的数值关系,从而造成的计算误差。随机抽取训练数据集 set train任意两个生成对抗网络架构和,将和直接拼接,形成代理模型输入数据,通过比较两个生成对抗网络架构和的弗雷歇指数距离fid(frechet inception distance, fid)和图像质量评分is(inceptionscore, is)值,以对输入数据打上标签 label,如果 label值为1,表示第一个网络架构的弗雷歇指数距离fid和图像质量评分is均优于第二个网络架构,如果 label值为0,表示第二个网络架构的弗雷歇指数距离fid和图像质量评分is均优于第一个网络架构;

    17、通过所述方法对训练数据集 set train中的任意两个生成对抗网络架构进行两两组合,并训练支持向量机svm,得到代理模型;对于具有n个网络架构的数据集,通过两两组合一共可以生成共n(n-1)条数据。使用所述方法将测试数据集 set test的数据进行组合对代理模型性能进行测试,如果代理模型分类准确度大于阈值80%,则使用代理模型预测网络架构的性能。否则再生成若各干网络架构并加到代理模型数据集中,重新训练代理模型。

    18、步骤3中,粒子群优化算法为种群中每个个体初始了一个随机速度,因此便可以使用这些数据来确定粒子的飞行方向。每个粒子通过记忆当前最佳粒子位置,同时记录历史中自己到达过的的最优位置,凭借这两点信息在解空间中移动,不断搜索更优的解。初始化粒子种群,ni代表第i个神经网络架构,n为种群个体数量;同时随机初始化的位置和速度,ni的位置表示为,为第i个个体在第d维上的位置;ni的速度,为第i个个体在第d维上的速度;

    19、对初始化的个体进行训练得到适应值,、分别为网络架构对应的fid和is值;

    20、同时第i个神经网络架构ni的历史最优解为 pbest i,初始化为 pbest i= fitness i,由于fid和is为两个优化目标,因此使用非支配排序进行排序,挑选出性能优秀的网络架构。非支配排序是多目标优化中用于分类解集的重要步骤,用于将种群分成不同的非支配前沿,每个前沿代表一组彼此之间不存在支配关系的解。而处于第一前沿的个体则代表了当前适应值表现最好的解的集合。采用非支配排序对粒子种群p0中的个体进行排序,将种群中处于第一前沿的个体集合设置为当前种群的全局最优解。

    21、步骤4包括:

    22、步骤4.1,使用种群更新公式对种群进行迭代;

    23、步骤4.2,使用代理模型预测性能优异的网络架构,并进行训练;

    24、步骤4.3,更新种群的每个个体的历史最优解和全局最优解。

    25、步骤4.1中,根据如下公式对种群进行迭代:

    26、 ,(1)

    27、 ,(2)

    28、其中,为惯性因子,决定了下一次粒子更新速度占当前速度的比例;k表示当前迭代的次数;,是加速系数(或称学习因子),防止速度过大或过小;、为0~1之间的随机数;为第k代第i个粒子在第d维上的速度,为第k代第i个粒子在第d维上的位置; pbest id是第i个粒子在第d维的个体极值点的位置, gbest d是整个群在第d维的全体极值点的位置。通常会设置和来限制粒子维方向上的最大位置与最大速度。

    29、步骤4.2中,遍历当前种群中的全部个体,对于任意个体ni,将ni和 pbest i所对应的网络架构分别进行one-hot编码,得到的编码结构分别为和,根据步骤2中的方法将和进行组合,构成代理模型输入,将代理模型输入送入代理模型中得到对应的输出,如果输出结果为1,则说明ni的网络架构性能优于 pbest i架构,并对ni的网络架构进行训练,得到真实精度 fitness i;如果输出结果为0,则说明ni网络架构性能差于 pbest i架构, fitness i值设置为0;同时记录当代所有进行训练的网络架构,构建新训练网络架构集合,t为新训练网络架构个数,nt表示第t个新训练网络架构。

    30、步骤4.3包括:根据步骤4.2得到当前种群更新后的每个个体所对应的适应值,通过使用非支配排序对种群个体的历史最优解和全局最优解进行更新,对于个体ni,如果个体ni的 fitness i完全支配 pbest i,即个体ni的网络架构的fid和is值均优于历史最优解的对应值,则 pbest i= fitness i;如果 fitness i和 pbest i为互不支配关系,则,即随机保存 fitness i和 pbest i中之一;如果 fitness i被 pbest i支配,则 pbest i保持不变;将新训练的个体并入全局最优解 gbest,通过非支配排序挑选出其中处于第一前沿位的个体,构成新的全局最优解 gbest。

    31、步骤5中,将新训练网络架构集合 set new中的网络架构增添到代理模型数据集set中,根据步骤2中的操作,重新划分代理模型的训练数据集和测试数据集,并重新训练和测试代理模型;如果代理模型没有达到精度阈值,则对接下来的一代的个体全部进行训练,以获得其真实性能。如果代理模型达到精度阈值,则继续使用代理模型进行预测网络架构性能。

    32、步骤6中,在种群迭代至目标代数后,将对处于全局最优解 gbest中的全部个体进行重新训练,并最终挑选出符合任务需求的生成对抗网络。

    33、本发明还提供了代理模型辅助的演化生成对抗网络架构搜索系统,包括编码模块、训练模块和优化模块;

    34、所述编码模块用于构建一个生成对抗网络,初始化生成生成对抗网络架构并进行训练,以生成训练数据集,并训练代理模型;初始化粒子种群,设置每个个体的历史最优解,并使用非支配排序挑选出全局最优解;

    35、所述训练模块使用代理模型挑选出种群中有潜力的网络架构,并对挑选出的网络架构进行训练,同时使用非支配排序和粒子群算法更新种群;更新代理模型训练数据集并重新训练代理模型;

    36、所述优化模块重复训练模块执行的步骤直至粒子群算法达到目标代数,并挑选出网络架构进行重训练。

    37、本发明通过引入神经网络架构搜索的方法,以有效缓解生成对抗网络训练不稳定问题。为了能够从多个角度搜索到更加稳定的生成对抗网络架构,本发明针对生成对抗网络的多评价指标设计多目标演化搜索算法,充分考虑在不同指标下都较好的网络架构。同时,为了减少搜索过程的时间消耗,本项目拟研究基于代理模型,以加速演化生成对抗网络架构搜索。这种方法取得了比现有方法更好的结果。

    38、本发明的有益效果是:

    39、本发明的方法针对生成对抗网路提出一种代理模型辅助的演化生成对抗网络架构搜索方法。该方法通过对生成对抗神经网络中的生成器网络架构进行编码,并对该网络架构进行演化搜索,同时通过使用代理模型加速搜索过程。在这一方法中,我们提出了一个代理模型,它通过预测架构间的支配关系,协助进行生成对抗神经网络的演化搜索过程,从而避免了部分架构的训练过程,并直接对神经架构进行非支配排序。同时整个过程通过粒子群算法实现,基于比较关系的替代模型,可以更好地适应粒子群算法,并在较短时间内找到一组更好的非支配解决方案。这一代理模型辅助的演化生成对抗网络架构搜索方法为生成对抗网络架构搜索领域带来了新的方法和思路,具有较高的实用价值和广泛的应用前景。


    技术特征:

    1.代理模型辅助的演化生成对抗网络架构搜索方法,其特征在于,包括以下步骤:

    2.根据权利要求1所述的方法,其特征在于,步骤1中,所述生成对抗网络的网络架构包括一个全连接层和3个堆叠的单元cell,每个单元cell包含5个节点和7条边,其中所述7条边分为2个上采样边和5个卷积边,上采样边将从3种上采样操作中进行挑选,而卷积边将从7种卷积操作中进行挑选;每一个单元cell看作是一种有向无环图,边表示候选操作,节点表示处理得到的特征图;

    3.根据权利要求2所述的方法,其特征在于,步骤2中,随机生成m个生成对抗网络架构,并对m个网络架构进行训练,组成代理模型数据集;nm表示第m个生成对抗网络架构;

    4.根据权利要求3所述的方法,其特征在于,步骤3中,初始化粒子种群,ni代表第i个神经网络架构,n为种群个体数量;同时随机初始化的位置和速度,ni的位置表示为,为第i个个体在第d维上的位置;ni的速度,为第i个个体在第d维上的速度;

    5.根据权利要求4所述的方法,其特征在于,步骤4包括:

    6.根据权利要求5所述的方法,其特征在于,步骤4.1中,根据如下公式对种群进行迭代:

    7.根据权利要求6所述的方法,其特征在于,步骤4.2中,遍历当前种群中的全部个体,对于任意个体ni,将ni和pbesti所对应的网络架构分别进行one-hot编码,得到的编码结构分别为和,根据步骤2中的方法将和进行组合,构成代理模型输入,将代理模型输入送入代理模型中得到对应的输出,如果输出结果为1,则说明ni的网络架构性能优于pbesti架构,并对ni的网络架构进行训练,得到真实精度fitnessi;如果输出结果为0,则说明ni网络架构性能差于pbesti架构,fitnessi值设置为0;同时记录当代所有进行训练的网络架构,构建新训练网络架构集合,t为新训练网络架构个数,nt表示第t个新训练网络架构。

    8.根据权利要求7所述的方法,其特征在于,步骤4.3包括:根据步骤4.2得到当前种群更新后的每个个体所对应的适应值,通过使用非支配排序对种群个体的历史最优解和全局最优解进行更新,对于个体ni,如果个体ni的fitnessi完全支配pbesti,即个体ni的网络架构的fid和is值均优于历史最优解的对应值,则pbesti=fitnessi;如果fitnessi和pbesti为互不支配关系,则;如果fitnessi被pbesti支配,则pbesti保持不变;将新训练的个体并入全局最优解gbest,通过非支配排序挑选出其中处于第一前沿位的个体,构成新的全局最优解gbest。

    9.根据权利要求8所述的方法,其特征在于,步骤5中,将新训练网络架构集合setnew中的网络架构增添到代理模型数据集set中,根据步骤2中的操作,重新划分代理模型的训练数据集和测试数据集,并重新训练和测试代理模型;

    10.根据权利要求1~9任一项所述的方法实现的代理模型辅助的演化生成对抗网络架构搜索系统,其特征在于,包括编码模块、训练模块和优化模块;


    技术总结
    本发明提供了代理模型辅助的演化生成对抗网络架构搜索方法和系统,所述方法对生成对抗神经网络中的生成器网络架构进行编码,并对网络架构进行演化搜索。通过初始化若干网络架构并进行训练,构建数据集并训练基于两两比较关系的代理模型。然后,使用代理模型协助进行生成对抗神经网络的演化搜索过程,从而避免了部分架构的训练过程,并直接对神经架构进行非支配排序。最后,在全局最优解中挑选出适合任务需求的网络架构。与传统演化生成对抗网络架构搜索,本发明的代理模型辅助的演化生成对抗网络架构搜索具有稳定、快速的优点。这种方法相比传统的优化方法具有更高的效率和更好的搜索性能,能够更快地找到适合任务的最优神经网络架构。

    技术研发人员:胡博涵,薛羽
    受保护的技术使用者:南京信息工程大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-28626.html

    最新回复(0)