首页> 中国专利> 一种基于进化方法的快速注意力神经网络架构搜索方法

一种基于进化方法的快速注意力神经网络架构搜索方法

摘要

本发明提供了一种基于进化方法的快速注意力神经网络架构搜索方法,包括以下步骤:(1)基于预定的编码方案和种群初始化方案生成包含注意力机制的神经网络架构搜索空间;(2)将进化方法作为搜索方法,以验证集的图像分类准确率为优化目标,通过进化机制与反向传播梯度值对个体的结构与one‑shot模型的权值同时进行优化;进化方法搜索任务结束之后,对种群中的个体进行排序,保留适应度值最大的个体作为搜索到的最优结果;(3)将进化搜索到的个体解码生成神经网络架构,重置结构权值,使用训练数据集对该神经网络架构训练直至收敛,并测试其性能。

著录项

  • 公开/公告号CN112465120A

    专利类型发明专利

  • 公开/公告日2021-03-09

    原文格式PDF

  • 申请/专利权人 上海悠络客电子科技股份有限公司;

    申请/专利号CN202011424217.7

  • 发明设计人 金耀初;沈修平;

    申请日2020-12-08

  • 分类号G06N3/04(20060101);G06N3/08(20060101);G06N3/12(20060101);G06K9/62(20060101);

  • 代理机构31213 上海新天专利代理有限公司;

  • 代理人徐伟奇

  • 地址 200000 上海市青浦区徐泾镇华徐公路888号6幢

  • 入库时间 2023-06-19 10:08:35

说明书

技术领域

本发明属于图像处理技术领域,特别涉及一种基于进化方法的快速注意力神经网络架构搜索方法。

背景技术

深度神经网络在处理目标分类、目标检测、目标分割以及目标跟踪等各种计算机视觉任务上取得了显著的成功。其中,目标分类任务是其他任务的基础。深度神经网络的性能很大程度上依赖于其体系结构。因此,为了发挥出深度神经网络的最大性能,通常需要人类专家利用专业知识和相应的数据集对模型架构手工调优。其中,神经网络的架构调优,训练及评估是一个迭代的过程,需要反复进行,不断的优化。这一过程不但耗费了大量的人工和时间成本,而且提高了人工智能技术在传统行业,例如医疗、教育、金融等行业推广的门槛。因此,自动生成网络模型的方法,也就是神经网络架构搜索(Neural ArchitectureSearch,NAS)技术引起了研究人员的广泛关注。

NAS技术可以基于任务目标及相应的数据集,通过方法自动生成深度神经网络架构,从而减少了人工搭建神经网络架构所耗费的人力和时间成本。NAS技术通常分为三步:第一步,定义一个搜索空间,即可供搜索的神经网络架构集合。第二步,利用搜索方法在搜索空间中探索优秀的神经网络架构。第三步,评估探索到的神经网络架构。NAS技术的目标是在庞大的搜索空间中探索到一个性能优秀的网络架构。因此,第二步和第三步是一个反复迭代的过程,模型架构的评估结果通常会反馈至搜索方法,用于指导搜索方法探索到更加有效的神经网络架构。当方法迭代完成之后,会将性能评估最好的结构作为方法的输出。最常用的架构评估方法是将训练数据集输入到这个结构中训练至收敛,之后通过验证集测试这个结构的性能。每一次架构的训练和评估都要耗费大量的计算资源和时间成本。这种计算瓶颈导致了NAS技术难以进一步推广。因此,如何提高神经网络架构搜索的效率,同时降低其计算成本成为了NAS技术中亟待解决的课题。

当前主流的NAS搜索方法主要分为三种:基于强化学习的NAS方法,基于梯度的NAS方法,基于进化方法的NAS方法。基于强化学习的NAS方法通常需要构建一个控制器,通常控制器从搜索空间中采样模型架构。由于采样得到的模型架构的性能由控制器的性能所决定,因此,控制器需要反复评估不同的模型架构,通过迭代的方式更新控制器,从而生成有效的模型架构。基于梯度的NAS方法基于结构的连续松弛(relaxation)表示,将架构搜索转化为连续空间的优化问题,利用梯度下降同时优化网络架构和网络参数。基于进化的NAS方法本质是通过自然选择的方式探索搜索空间。将搜索空间中的神经网络架构作为种群来进化。种群中的每个个体都是一个神经网络架构。神经网络架构在验证集上的性能表现作为个体的适应度值。在进化的过程中,根据个体的适应度值选择一个或者多个个体作为父代。随后通过交叉、变异算子生成子代个体。子代个体完成性能评估之后,会合入父代种群之中。之后通过环境选择生成下一代种群。重复这一过程,直到预设进化代数迭代完成。最后将适应度值最好的个体作为进化方法的输出。

为了提高NAS方法的搜索效率,基于超网络的架构搜索(one-shot architecturesearch)成为了研究人员关注的热点。基于超网络的架构搜索技术通常将搜索空间看作一个超网络模型(one-shot model),搜索空间中包含的神经网络架构看作是超网络的子网络。该技术通常是通过训练一个超网络生成每个操作的权值,之后子网络通过共享超网络的权值进行评估,从而降低网络评估的计算成本。中国专利CN110851566提出了一种改进的可微分网络架构搜索方法。该方法是一种基于梯度的NAS技术,将整个超网络中所有可能边和操作之间优化,从而确定离散化的最优子网络。此外,该方法利用全局归一化操作,减少网络中“局部偏置”的影响,解决了传统可微分的网络架构搜索方法中的二层优化方式在搜索的后期使得权重耦合和权重之间的互相竞争加剧,进而导致网络难以训练至收敛的问题。中国专利CN110569972提出了一种超网络(one-shot)模型的搜索空间构建方法、装置以及电子设备。该方法通过堆叠单元结构构建超网络。该超网络中的单元结构分为两类:普通单元和下采样单元。因此,搜索方法的优化目标从神经网络整体架构的优化转化为优化两个单元结构的内部结构,进而降低了结构优化的计算成本,提高了搜索效率。

然而,目前基于超网络的神经网络架构搜索技术存在一些局限性。首先,当超网络的规模较大时,训练超网络至收敛需要花费大量的时间。其次,由于神经网络结构共享超网络的权值进行性能评估,因此在进行结构性能评估时可能引入较大的偏差,进而导致结构的性能可能会被低估以及结构的性能排名不准确,无法保证最终结构的性能。

发明内容

本发明的目的是解决上述现有技术中存在的问题,提供一种基于进化方法的快速注意力神经网络架构搜索方法,并将其应用于计算机视觉任务。本发明通过进化方法中的初始种群建立了基于one-shot模型的搜索空间,克服了one-shot模型过大所导致的难以训练以及训练时间过长的问题。本发明将进化方法作为搜索方法,在进化搜索的过程中,通过进化机制与反向传播梯度值对个体的结构与one-shot模型的权值同时进行优化,有效的提高的进化搜索的效率。本发明将轻量级通道注意力机制编码到搜索空间中,并通过方法自适应的集成到神经网络架构中,进一步改善最终神经网络架构的性能。

为了达到上述目的,本申请采用的技术方案为:一种基于进化方法的快速注意力神经网络架构搜索方法,步骤包括:

(1)基于预定的编码方案和种群初始化方案生成包含注意力机制的神经网络架构搜索空间;

(2)将进化方法作为搜索方法,以验证集的图像分类准确率为优化目标,通过进化机制与反向传播梯度值对个体的结构与one-shot模型的权值同时进行优化;进化方法搜索任务结束之后,对种群中的个体进行排序,保留适应度值最大的个体作为搜索到的最优结果;

(3)对进化搜索得到的个体解码生成神经网络架构,重置结构权值,使用训练数据集对该神经网络架构训练直至收敛,并测试其性能。

上述步骤(1)中,所述预定的编码方案为一种基于进化方法的one-shot模型编码方法。具体为:

(201)将神经网络架构按照不同尺度分为:网络,子网络块,神经元;

(202)神经元是神经网络架构中的最小单元,每个计算神经元包含两个计算节点;将所述神经元编码为整数四元组

(203)所述神经元i的输出计算公式为:

其中,H

(204)一个子网络块内包含M个神经元,M为大于一的整数。则此时,一个子网络块的编码结构为:

(205)N个不同类型的子网络块堆叠组成一个神经网络架构;N为大于一的整数;则此时,一个神经网络架构的编码结构为:

(206)子网络块依次堆叠连接组成一个完整的神经网络架构;一个神经网络架构的编码结构称为种群中的一个个体。

上述步骤(1)中,所述种群初始化方案为基于所述编码方案,通过均匀分布随机生成个体,直到达到预定的初始种群的种群规模;初始种群中所有的个体组成一个one-shot模型,覆盖整个搜索空间;也就是说,每个个体为one-shot模型的一个子模型。

上述步骤(1)中,将包含注意力机制的特征重构计算节点在进化搜索的过程中自适应的集成到神经网络架构中,提高神经网络的表达能力。所述轻量级多尺度通道注意力机制由一个2维卷积层和轻量级通道注意力机制组成;2维卷积层可提取不同尺度的特征信息,通道注意力机制用于减少通道中的冗余信息,重新校准通道特征响应,提高神经网络的表达能力;具体步骤是:

(401)所述特征重构计算节点的结构为:一个2维卷积层、一个全局平均池化层、一个1维卷积层、一个sigmoid层和相乘模块组成;特征重构的过程为:

(402)2维卷积层用于提取输入特征图的特征信息,将输入的特征图集合

(403)将转换特征图集合输入全局平均池化层,利用全局平均池化层提取每个特征图的全局特征;所述全局平均池化层的公式如下所示:

(404)利用一维卷积层,完成相邻通道的特征映射。所述特征映射公式如下:

F

其中,C1D表示一维卷积层;k表示所述一维卷积层卷积核的尺寸;z

(405)利用sigmoid激活函数形成c个通道的权重集合w,且w={w

W

(406)式中,w

(407)利用相乘模块,为每个通道赋予相应的权重。相乘模块的公式如下:

U=u*w

式中,u表示通道的特征图集合,基于步骤(2),

(408)将U作为特征重构卷积层的输出。

上述步骤(2)中,所述的搜索方法为一种基于进化计算的快速注意力神经网络架构搜索方法(SIENAS);通过进化机制与反向传播梯度值对个体的结构和one-shot模型的权值进行优化,其中,通过采样训练策略训练父代种群中的个体,为one-shot模型中的神经元生成权值;基于父代种群,通过节点继承策略生成子代种群,即新的一组神经网络结构拓扑图,并继承父代种群中相应神经元的权值作为初始权值,无需任何训练直接进行评估;也就是说,SIENAS的目标为调整神经元内部的计算节点,并优化每个子网络块内神经元的连接,进而实现对神经网络架构的整体优化;具体为:

(501)给定标好图像-标签对的图像分类数据集,并将该图像分类数据集划分为训练数据集D

(502)初始化SIENAS策略参数;包括:网络架构内包含的子网络块类型数N,每个子网络块内包含的神经元数量M,子网络块初始通道数C,初始种群的种群规模P

(503)所述图像分类数据集中的训练数据集D

(504)令G=0;

(505)将第G代种群作为第G代的父代种群,利用采样训练策略训练父代种群中的所有个体,优化每个个体内神经元的权值,进而实现优化one-shot模型中所有神经元权值;具体为:

1)根据batch

2)令f=1;

3)基于第f批数据

3)基于所述第f批的训练数据训练所述个体,并利用交叉熵损失函数计算损失值,通过反向传播梯度值对该个体中的神经元的权值进行优化;

4)判断第f+1批数据是否满足条件:若f+1大于j,则进入步骤5);反之,令f=f+1,返回步骤3);

5)停止训练,保存所述父代种群中的所有神经元的权值;

(506)步骤(505)结束之后,评估父代种群中所有个体的适应度值,并记录;父代个体的适应度值为该个体基于验证数据集的分类准确率;

(507)基于所述父代种群中的P

1)选择操作。

利用锦标赛选择策略,随机从父代种群中挑选两个个体,并保留其中适应度值较高的个体;重复该过程,直到选出两个个体;

2)交叉操作;

生成一个随机值k

若k

若k

3)重复执行步骤1)和步骤2),直到所述子代种群Q中的个体数达到P

4)变异操作;

针对所述第G代种群的子代种群Q,为Q中的每个个体随机生成变异率k

若k

若k

5)权值继承操作;

基于步骤4),每个子代个体中的神经元依次继承父代个体中对应神经元的权值,作为初始权值;

(508)基于步骤(507),评估子代个体的适应度值,并记录;子代个体的适应度值为该个体在验证数据集上的分类准确率;

(509)将第G代父代种群跟子代种群Q合并,此时第G代种群中共包含2P

(510)基于步骤(509),根据个体的适应度值对个体排序。通过环境选择策略,生成第G+1代种群;第G+1代种群的种群规模需与第G代种群的种群规模相同;

(511)判断G+1是否满足条件:若G+1大于等于预设最大进化代数G,如果是则进入步骤(410);反之,令G=G+1,返回步骤(504);

(512)结束搜索并输出第G代种群中适应度值最高的个体。

有益效果:

本发明通过进化方法中的初始种群建立了基于one-shot模型的搜索空间,克服了one-shot模型过大所导致的难以训练以及训练时间过长的问题。本发明将进化方法作为搜索方法,在进化搜索的过程中,通过进化机制与反向传播梯度值对个体的结构与one-shot模型的权值同时进行优化,提出了针对父代个体的采样训练策略和针对子代个体的节点继承策略,使得父代个体可以基于训练集的不同mini-batch多次训练,子代个体直接继承父代个体的权值作为初始权值,无需额外的训练,便可评估适应度值。此改进有效的提高了方法的搜索效率,降低了结构评估过程中引入的偏差,得模型的预测性能更加接近模型的真实性能,提高了模型排名的可靠性。本发明将轻量级通道注意力机制编码到搜索空间中,并通过方法自适应的集成到神经网络架构中,自适应校准通道响应,加强有效的通道的权值,削弱通道中的冗余信息,提高了神经网络架构的表达能力,进一步提高了最终神经网络架构的性能。该方法在CIFAR10,CIFAR100和ImageNet图像分类任务中,相较于现有的基于进化方法的神经网络架构方法取得了较好的结果。

附图说明

图1是本发明中神经网络架构示意图。

图2是特征重构卷积层示意图。

图3是子网络块编码与解码示意图。

图4是SIENAS流程图示意图。

图5是节点继承策略示意图。

图6是基于CIAFR10搜索到的神经网络架构。

图7是基于CIFAR10分类任务的神经网络架构优化过程。

图8是基于CIFAR100分类任务的神经网络架构优化过程。

具体实施方式

下面结合附图对本项发明的一种实现方式作进一步说明

下面结合说明书附图,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

一种基于进化方法的快速注意力神经网络架构搜索方法,包括以下步骤:

(1)基于预定的编码方案和种群初始化方案生成包含注意力机制的神经网络架构搜索空间。

(2)将进化方法作为搜索方法,以验证集的图像分类准确率为优化目标,通过进化机制与反向传播梯度值对个体的结构与one-shot模型的权值同时进行优化。进化方法搜索任务结束之后,对种群中的个体进行排序,保留适应度值最大的个体作为搜索到的最优结果。

(3)将搜索到的个体解码生成神经网络架构,重置结构权值,使用训练数据集对该神经网络架构训练直至收敛,并测试其性能。

步骤(1)中所述预定的编码方案为一种基于进化方法的one-shot模型编码方法。具体为:

(201)将神经网络架构按照不同尺度分为:网络,子网络块,神经元。

(202)神经元是神经网络架构中的最小单元,每个计算神经元包含两个计算节点。将所述神经元编码为整数四元组

(203)所述神经元i的输出计算公式为:

其中,H

(204)一个子网络块内包含M个神经元,M为大于一的整数。一个子网络块的编码结构为:

(205)N个不同类型的子网络块堆叠组成一个神经网络架构。N为大于一的整数。一个神经网络架构的编码结构为:

(206)子网络块依次堆叠连接组成一个完整的神经网络架构。一个神经网络架构的编码结构称为种群中的一个个体。图3为一个子网络块的编码与解码示例图。

步骤(1)中,所述种群初始化方案为基于所述编码方案,通过均匀分布随机生成个体,直到达到预定的初始种群的种群规模。初始种群中所有的个体组成一个one-shot模型,覆盖整个搜索空间。也就是说,每个个体为one-shot模型的一个子模型。

步骤(1)中,将包含注意力机制的特征重构计算节点在进化搜索的过程中自适应的集成到神经网络架构中,提高神经网络的表达能力。所述轻量级多尺度通道注意力机制由一个2维卷积层和轻量级通道注意力机制组成。2维卷积层可提取不同尺度的特征信息,通道注意力机制用于减少通道中的冗余信息,重新校准通道特征响应,提高神经网络的表达能力。

(401)所述特征重构计算节点的结构为:一个2维卷积层、一个全局平均池化层、一个1维卷积层、一个sigmoid层和相乘模块组成。特征重构的过程为:

(402)2维卷积层用于提取输入特征图的特征信息,将输入的特征图集合

(403)将转换特征图集合输入全局平均池化层,利用全局平均池化层提取每个特征图的全局特征。所述全局平均池化层的公式如下所示:

(404)利用一维卷积层,完成相邻通道的特征映射。所述特征映射公式如下:

F

其中,C1D表示一维卷积层。k表示所述一维卷积层卷积核的尺寸。z

(405)利用sigmoid激活函数形成c个通道的权重集合w,且w={w

w

(406)式中,w

(407)利用相乘模块,为每个通道赋予相应的权重。相乘模块的公式如下:

U=u*w

式中,u表示通道的特征图集合,基于步骤(2),

(408)将U作为特征重构卷积层的输出。如图2所示。

步骤(2)中,所述的搜索方法为一种基于进化计算的快速注意力神经网络架构搜索方法(SIENAS)。通过进化机制与反向传播梯度值对个体的结构和one-shot模型的权值进行优化,其中,通过采样训练策略训练父代种群中的个体,为one-shot模型中的神经元生成权值;基于父代种群,通过节点继承策略生成子代种群,即新的一组神经网络结构拓扑图,并继承父代种群中相应神经元的权值作为初始权值,无需任何训练直接进行评估。也就是说,SIENAS的目标为调整神经元内部的计算节点,并优化每个子网络块内神经元的连接,进而实现对神经网络架构的整体优化。如图4所示,具体为:

(501)给定标好图像-标签对的图像分类数据集,并将该图像分类数据集划分为训练数据集D

(502)初始化SIENAS策略参数。包括:网络架构内包含的子网络块类型数N,每个子网络块内包含的神经元数量M,子网络块初始通道数C,初始种群的种群规模P

(503)所述图像分类数据集中的训练数据集D

(504)令G=0。

(505)将第G代种群作为第G代的父代种群,利用采样训练策略训练父代种群中的所有个体,优化每个个体内神经元的权值,进而实现优化one-shot模型中所有神经元权值。

具体为:

1)根据batch

2)令f=1;

3)基于第f批数据

3)基于所述第f批的训练数据训练所述个体,并利用交叉熵损失函数计算损失值,通过反向传播梯度值对该个体中的神经元的权值进行优化;

4)判断第f+1批数据是否满足条件:若f+1大于j,则进入步骤5);反之,令f=f+1,则返回步骤3);

5)停止训练,保存所述父代种群中的所有神经元的权值。

(506)步骤(505)结束之后,评估父代种群中所有个体的适应度值,并记录。父代个体的适应度值为该个体基于验证数据集的分类准确率。

(507)基于所述父代种群中的P

1)选择操作。

利用锦标赛选择策略,随机从父代种群中挑选两个个体,并保留其中适应度值较高的个体。重复该过程,直到选出两个个体p

2)交叉操作。

生成一个随机值k

若k

若k

3)重复执行步骤1)和步骤2),直到所述子代种群Q中的个体数达到P

4)变异操作。

针对所述第G代种群的子代种群Q,为Q中的每个个体随机生成变异率k

若k

若k

5)权值继承操作。

基于步骤4),每个子代个体中的神经元依次继承父代个体中对应神经元的权值,作为初始权值。

(508)基于步骤(507),评估子代个体的适应度值,并记录。子代个体的适应度值为该个体在验证数据集上的分类准确率。

(509)将第G代父代种群跟子代种群Q合并,此时第G代种群中共包含2P

(510)基于步骤(509),根据所述第G代种群中的个体的适应度值对个体排序。通过环境选择策略,生成第G+1代种群。第G+1代种群的种群规模需与第G代种群的种群规模相同。

(511)判断G+1是否满足条件:若G+1大于等于预设最大进化代数G,如果是则进入步骤(511);反之,令G=G+1,返回步骤(504)。

(512)结束搜索任务并输出第G代种群中适应度值最高的个体。

本发明的效果通过以下仿真实验作进一步说明。

仿真条件

本方法基于pytorch深度学习框架开发,主要使用的编程语言为python。

仿真内容

本方法通过CIFAR10,CIFAR100以及ILSVRC2012三种图像分类任务验证方法的性能。

2.1数据集

CIFAR10和CIFAR100数据集共有60000张彩色图像,图片的分辨率为32×32。一共包含有60000张图片,其中50000张图片作为训练集,10000张图片作为测试集。CIFAR10包含有10个类别,每个类别每类6000张图片(5000个训练图片,1000个测试图片)。本仿真随机从每个类别中选取1000张图片作为验证图片,组成验证集。验证集共10000张图片。CIFAR100包含100个类别,每个类别包含600张图片(500个训练图片,100个测试图片)。本仿真实验随机从每个类别中选取100张图片作为验证图片,组成验证集。验证集共10000张图片。ILSVRC2012是一个用于视觉对象识别研究的大型可视化数据集。包含超过1400万图像,分为训练集,验证集,测试集,共包含20000多个类别。

方法设定

初始化子网络块内包含的神经元数M=5,候选的计算节点类型包括:恒等映射(identity mapping,Identity),卷积核为3的深度可分离卷积(Depthwise SeparableConvolution 3,DW3),卷积核为5的深度可分离卷积(Depthwise Separable Convolution5,DW5),尺寸为3的最大池化层(max pooling,MAX),尺寸为3平均池化层(Averagepooling,AVG),2维卷积层尺寸为3的特征重构节点(3×3feature reconstructionconvolution,FR3),2维卷积层尺寸为5的特征重构节点(5×5feature reconstructionconvolution,FR5)

初始化子网络块类型N=4,包括:卷积模块1(convolutional block 1),卷积模块2(convolutional block 2),卷积模块3(convolutional block 3),缩减模块(reductionblock)。所有的卷积模块的步长设定为1,此模块的输入和输出的特征图的宽度、高度、和深度不变。卷积模块处理神经网络在前向传播中不同阶段的特征信息。缩减模块中所有计算节点的步长为2,此模块会将输入的特征图的宽度和高度缩减为原来的一半,而深度扩展为原来的两倍。

如图1所示,一个神经网络架构中的子网络块堆叠顺序为:卷积模块1-缩减模块-卷积模块2-缩减模块-卷积模块3的次序依次堆叠而成。SIENAS的主要目标是搜索每个子网络块内神经元的连接方式以及神经元中包含的计算节点类型。

初始化SIENAS的策略参数,包括:子网络块内包含的神经元数量N=5,初始种群中包含的个体数P

方法迭代完成之后,输出适应度值最优的个体。将该个体解码为对应的神经网络架构SI-EvoNet-S。重新初始化网络结构参数,使用训练数据集对该神经网络架构训练直至其收敛。之后利用测试数据集测试神经网络架构的性能。

3.仿真结果

本发明中,基于CIFAR10和CIFAR100的优化过程分别由图7和图8所示,可以看出,本发明在搜索时的取得了较高的预测准确度分别为93.7%和76.8%,因此,本发明在个体性能评估结果更能够反映个体的实际性能,进而获得更准确的性能排名结果。

本方法基于CIFAR10数据集搜索到的神经网络架构的各个子网络块如图6所示。与现有的人工设计的神经网络架构和基于进化方法的NAS方法之间的比较结果分别见表1和表2,相比于对比方法,本方法的搜索效率更高,分类准确率更高。

表1

表2

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号