logo好方法网

神经网络结构搜索方法、装置、电子设备及存储介质


技术摘要:
本申请提供一种神经网络结构搜索方法、装置、电子设备及存储介质,该方法包括:从待搜索网络结构中获得多个任务对应的结构参数,待搜索网络结构由多个基础单元构成,基础单元包括多个节点,结构参数表征对应的任务在节点之间的连接概率;针对多个任务中的每个任务保留  全部
背景技术:
网络结构搜索(Network  Architecture  Search,NAS),又被称为神经网络搜索或 者神经网络结构搜索,是指自动生成神经网络结构的方法过程,是自动机器学习领域中的 一个研究课题,与超参数学习和元学习有一定的关联;由于绝大多数网络结构的设计都是 根据先验知识进行人工设计的,因此,如果能够找到自动生成符合需求神经网络结构的方 法,将极大地减轻在深度学习过程中获得模型的成本。网络结构搜索的目的是要搜到一个 性能优异的结构,评价一个结构的性能,最常用的方法就是使用这个结构,在标准的数据集 上进行训练,收敛之后使用校验集来进行评价。 目前的网络结构搜索的方法大都是基于强化学习的结构搜索算法和基于进化算 法的结构搜索方法;这里的基于强化学习的结构搜索算法是将神经网络结构设计看作一个 强化学习问题,学习得到一个产生网络结构的最优策略;其中,智能体是设计神经网络结构 的算法,用于输出神经网络结构描述,强化学习算法使得生成的神经网络的性能最优化。这 里的基于进化算法的结构搜索方法是将子网络结构编码成二进制串,运行进化算法得到适 应度函数值最大的网络结构。 基于强化学习的结构搜索方法和基于进化算法的结构搜索方法都是将网络结构 搜索看作黑箱的优化问题,使用强化学习或者变异遗传的思路来找到较优的神经网络结构 模型,然而在具体的实现过程中发现,使用上述的方法搜索到有效神经网络结构模型的速 度非常慢。
技术实现要素:
本申请实施例的目的在于提供一种神经网络结构搜索方法、装置、电子设备及存 储介质,用于改善搜索到有效神经网络结构模型的速度非常慢的问题。 本申请实施例提供了一种神经网络结构搜索方法,包括:从待搜索网络结构中获 得多个任务对应的结构参数,待搜索网络结构由多个基础单元构成,基础单元包括多个节 点,结构参数表征对应的任务在节点之间的连接概率;针对多个任务中的每个任务保留连 接概率最大的结构参数,获得每个任务对应的预训练模型;对每个任务对应的预训练模型 进行训练,获得搜索后的神经网络模型。在上述的实现过程中,通过从待搜索网络结构中获 得多个任务对应的结构参数,并针对多个任务中的每个任务保留连接概率最大的结构参 数,获得每个任务对应的预训练模型;然后对每个任务对应的预训练模型进行训练,获得搜 索后的神经网络模型;也就是说,通过结合神经网络架构搜索和多任务学习来有效地提高 了搜索到有效地神经网络结构模型的速度。 可选地,在本申请实施例中,针对多个任务中的每个任务保留连接概率最大的结 4 CN 111612134 A 说 明 书 2/13 页 构参数,包括:计算多个任务中的每个任务运行时多个节点之间的连接概率;根据多个节点 之间的连接概率从多个任务对应的结构参数中筛选出连接概率最大的结构参数。在上述的 实现过程中,通过计算多个任务中的每个任务运行时多个节点之间的连接概率;根据多个 节点之间的连接概率从多个任务对应的结构参数中筛选出连接概率最大的结构参数;有效 地提高了获得连接概率最大的结构参数的速度,从而减少了搜索到有效地神经网络结构模 型的时间。 可选地,在本申请实施例中,计算多个任务中的每个任务运行时多个节点之间的 连接概率,包括:根据 计算多个任务中的每个任务运行时多个节点之 间的连接概率;其中,i表示第i个基础单元,j表示第j个节点,O表示每个节点中的操作集 合,o表示每个节点的操作集合中的具体操作,α表示结构参数。 可选地,在本申请实施例中,对每个任务对应的预训练模型进行训练,包括:获得 训练数据和预先训练的指导网络模型,训练数据包括:训练样本和训练标签,指导网络模型 是使用训练数据对神经网络进行训练获得的,指导网络模型的网络结构比预训练模型的网 络结构复杂;使用指导网络模型对训练样本进行计算,获得第一输出标签,并使用预训练模 型对训练样本进行计算,获得第二输出标签;根据训练标签、第一输出标签和第二输出标签 计算预训练模型的综合损失;根据综合损失对每个任务对应的预训练模型进行训练。 在上述的实现过程中,通过获得训练数据和预先训练的指导网络模型;使用预先 训练的指导网络模型对每个任务对应的预训练模型进行指导训练;从而减少了对每个任务 对应的预训练模型进行训练的时间,提高了获得有效地神经网络结构模型的速度。 可选地,在本申请实施例中,根据训练标签、第一输出标签和第二输出标签计算预 训练模型的综合损失,包括:分别计算第一输出标签和第二输出标签的第一交叉熵,以及训 练标签和第二输出标签的第二交叉熵;对第一交叉熵和第二交叉熵进行加权融合,获得综 合损失。在上述的实现过程中,通过分别计算第一输出标签和第二输出标签的第一交叉熵, 以及训练标签和第二输出标签的第二交叉熵;对第一交叉熵和第二交叉熵进行加权融合, 获得综合损失;从而减少了对每个任务对应的预训练模型进行训练的时间,提高了获得有 效地神经网络结构模型的速度。 可选地,在本申请实施例中,根据综合损失对每个任务对应的预训练模型进行训 练,包括:保持每个任务对应的预训练模型的结构参数不变;根据综合损失更新每个任务对 应的预训练模型的网络参数,网络参数表征预训练模型的输入数据的权重。在上述的实现 过程中,通过保持每个任务对应的预训练模型的结构参数不变;根据综合损失更新每个任 务对应的预训练模型的网络参数,网络参数表征预训练模型的输入数据的权重;从而提高 了更新每个任务对应的预训练模型的网络参数的速度,有效地减少了获得搜索后的神经网 络结构模型的时间。 可选地,在本申请实施例中,在获得搜索后的神经网络模型之后,还包括:获得预 设任务对应的训练数据;使用预设任务对应的训练数据对搜索后的神经网络模型进行微 调,获得微调后的神经网络模型。在上述的实现过程中,通过获得预设任务对应的训练数 据;使用预设任务对应的训练数据对搜索后的神经网络模型进行微调,获得微调后的神经 5 CN 111612134 A 说 明 书 3/13 页 网络模型;从而减少了获得微调后的神经网络模型的时间,有效地提高了对搜索后的神经 网络模型进行微调的速度。 可选地,在本申请实施例中,对第一交叉熵和第二交叉熵进行加权融合,包括:根 据 对第一交叉熵和第二交叉熵进行加 权融合;其中,Loss表示综合损失,α表示选择参数,task表示多个任务,t表示多个任务中的 第t个任务,CE表示交叉熵,s表示第一输出标签,logits表示第二输出标签,y表示训练标 签。 本申请实施例还提供了一种网络结构搜索装置,包括:结构参数获得模块,用于从 待搜索网络结构中获得多个任务对应的结构参数,待搜索网络结构由多个基础单元构成, 基础单元包括多个节点,结构参数表征对应的任务在节点之间的连接概率;结构参数保留 模块,用于针对多个任务中的每个任务保留连接概率最大的结构参数,获得每个任务对应 的预训练模型;网络模型获得模块,用于对每个任务对应的预训练模型进行训练,获得搜索 后的神经网络模型。 可选地,在本申请实施例中,结构参数保留模块,包括:连接概率计算模块,用于计 算多个任务中的每个任务运行时多个节点之间的连接概率;结构参数筛选模块,用于根据 多个节点之间的连接概率从多个任务对应的结构参数中筛选出连接概率最大的结构参数。 可选地,在本申请实施例中,连接概率计算模块,包括;概率计算实现模块,用于根 据 计算多个任务中的每个任务运行时多个节点之间的连接概率;其 中,i表示第i个基础单元,j表示第j个节点,O表示每个节点中的操作集合,o表示每个节点 的操作集合中的具体操作,α表示结构参数。 可选地,在本申请实施例中,网络模型获得模块,包括;训练数据指导模块,用于获 得训练数据和预先训练的指导网络模型,训练数据包括:训练样本和训练标签,指导网络模 型是使用训练数据对神经网络进行训练获得的,指导网络模型的网络结构比预训练模型的 网络结构复杂;训练样本计算模块,用于使用指导网络模型对训练样本进行计算,获得第一 输出标签,并使用预训练模型对训练样本进行计算,获得第二输出标签;综合损失计算模 块,用于根据训练标签、第一输出标签和第二输出标签计算预训练模型的综合损失;任务模 型训练模块,用于根据综合损失对每个任务对应的预训练模型进行训练。 可选地,在本申请实施例中,综合损失计算模块,包括:交叉熵计算模块,用于分别 计算第一输出标签和第二输出标签的第一交叉熵,以及训练标签和第二输出标签的第二交 叉熵;加权融合计算模块,用于对第一交叉熵和第二交叉熵进行加权融合,获得综合损失。 可选地,在本申请实施例中,任务模型训练模块,包括:结构参数保持模块,用于保 持每个任务对应的预训练模型的结构参数不变;网络参数更新模块,用于根据综合损失更 新每个任务对应的预训练模型的网络参数,网络参数表征预训练模型的输入数据的权重。 可选地,在本申请实施例中,神经网络结构搜索装置,还包括:训练数据获得模块, 用于获得预设任务对应的训练数据;网络模型微调模块,用于使用预设任务对应的训练数 据对搜索后的神经网络模型进行微调,获得微调后的神经网络模型。 6 CN 111612134 A 说 明 书 4/13 页 可选地,在本申请实施例中,加权融合计算模块,包括;加权融合模块,包括根据 对第一交叉熵和第二交叉熵进行加权 融合;其中,Loss表示综合损失,α表示选择参数,task表示多个任务,t表示多个任务中的第 t个任务,CE表示交叉熵,s表示第一输出标签,logits表示第二输出标签,y表示训练标签。 本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理 器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。 本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算 机程序被处理器运行时执行如上面描述的方法。 附图说明 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使 用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看 作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他相关的附图。 图1示出的本申请实施例提供的神经网络结构搜索方法的流程示意图; 图2示出的本申请实施例提供的待搜索网络结构的结构变化示意图; 图3示出的本申请实施例提供的结合多任务学习的神经网络结构搜索方法的示意 图; 图4示出的本申请实施例提供的结合蒸馏学习的神经网络结构搜索方法的示意 图; 图5示出的本申请实施例提供的对神经网络模型进行微调的流程示意图; 图6示出的本申请实施例提供的神经网络结构搜索装置的结构示意图; 图7示出的本申请实施例提供的电子设备的结构示意图。
分享到:
收藏