【技术实现步骤摘要】
一种针对CPU和GPU设备搜索神经网络结构的方法
[0001]本专利技术涉及一种神经网络结构搜索方法,具体为一种针对CPU和GPU设备搜索神经网络结构的方法。
技术介绍
[0002]近年来,机器学习,尤其是以神经网络为代表的深度学习技术不断发展,在语音、图像和自然语言处理等领域的诸多任务上取得了令人瞩目的成就。以神经机器翻译为例,最近几年的神经网络结构经历了巨大的变化,从循环神经网络、卷积神经网络到以自注意力机制为基础的神经网络,不断刷新机器翻译任务的分数。然而,与之相对应的神经网络结构也越来越复杂,一个趋势是网络的参数量愈发庞大、神经元连接愈发复杂,而设计和实现这些神经网络也越来越依赖于专业人员对相关技术的了解。目前神经网络的设计几乎都是与硬件结构无关的,即专家设计这些神经网络时很少考虑具体运行环境和硬件约束。然而在实际部署时,不同硬件的计算资源不同,例如一些参数量上亿的神经机器翻译模型在并行计算效率高的显卡设备上的运行速度能够满足在线翻译的需求,然而在计算资源有限的移动设备上就无法满足用户实时翻译的需求。
[00 ...
【技术保护点】
【技术特征摘要】
1.一种针对CPU和GPU设备搜索神经网络结构的方法,其特征在于包括以下步骤:1)设计并确定CPU和GPU设备网络结构的表示空间,包括需要搜索的网络结构的层数、每层的神经元数量和连接方式,使用字符串编码的形式对这些信息进行表示;2)通过权重共享的方式训练一个全连接的超网,其中不同的子网络共享所有的权重,在每个训练步骤通过均匀采样的方式选择一个子网络进行训练,根据梯度下降的方式对共享的权重进行优化;3)在不同的硬件平台,包括CPU、GPU设备上运行步骤2)采样得到的子网络,统计其执行一次计算所需的运行时间;4)利用步骤3)收集的子网络结构和在不同硬件平台上对应的运行时间,训练一个额外的预测器,用于预测不同网络结构在不同硬件平台上对应的运行时间;5)在全连接的超网上执行进化算法,根据不同硬件平台上的运行时间限制以及不同网络结构在校验集数据上对应的损失搜索出最优网络结构;6)初始化步骤5)得到的最优网络结构的参数,在训练集数据上重新进行训练直到该神经网络收敛。2.按权利要求1所述的针对CPU和GPU设备搜索神经网络结构的方法,其特征在于:步骤1)中,使用字符串的形式对离散化的网络结构的组合进行表示,该字符串包含神经网络的层数、每层的神经元数量以及不同层的连接方式。3.按权利要求1所述的针对CPU和GPU设备搜索神经网络结构的方法,其特征在于:步骤2)中,通过权重共享的方式训练一个全连接的超网,其中不同的子网络共享所有的权重,在每个训练步骤通过均匀采样的方式选择一个子网络进行训练,根据梯度下降的方式对共享的权重进行优化,具体为:201)选择固定的超网的层数和每层的神经元数量,其数值等于步骤1)中最大的超网的层数和每层的神经元数量,对超网的参数进行随机初始化;202)训练时,每次在全部的子网络中选择一个子网络进行训练,即只利用超网中的部分层、每层中的部分神经元和部分连接进行训练,通过反向传播的方式对全部的参数进行更新。4.按权利要求1所述的针对CPU和GPU设备搜索神经网络结构的方法,其特征在于:步骤...
【专利技术属性】
技术研发人员:杜权,
申请(专利权)人:沈阳雅译网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。