CN110717586A - 一种深度神经网络的结构搜索方法及装置 - Google Patents

一种深度神经网络的结构搜索方法及装置 Download PDF

Info

Publication number
CN110717586A
CN110717586A CN201911007284.6A CN201911007284A CN110717586A CN 110717586 A CN110717586 A CN 110717586A CN 201911007284 A CN201911007284 A CN 201911007284A CN 110717586 A CN110717586 A CN 110717586A
Authority
CN
China
Prior art keywords
neural network
module
memory
processor
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911007284.6A
Other languages
English (en)
Inventor
黄泽昊
张新邦
王乃岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tusimple Technology Co Ltd
Original Assignee
Beijing Tusimple Future Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tusimple Future Technology Co Ltd filed Critical Beijing Tusimple Future Technology Co Ltd
Publication of CN110717586A publication Critical patent/CN110717586A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种深度神经网络的结构搜索方法及装置,涉及人工智能技术领域。方法包括:在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;根据模块及每个模块中的计算单元的连接情况,得到初始神经网络;对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放;采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络;将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。本申请可以节省网络结构搜索的时间。

Description

一种深度神经网络的结构搜索方法及装置
技术领域
本申请涉及人工智能技术领域,尤其涉及一种深度神经网络的结构搜索方法及装置。
背景技术
近几年来,深度神经网络在诸多领域中取得了巨大的成功,如计算机视觉、自然语言处理等。深度神经网络通过强大的表征能力,将传统的手工设计的特征转化为了端到端的学习。然而,目前深度神经网络的结构复杂,诸如卷积、池化等计算单元节点众多,使得如何在众多计算单元节点中搜索得到一个结构紧凑、运行速度较快、效果又好的模型结构成为了一个难点。
目前现有技术一般采用先定义搜索空间,然后在搜索空间中搜索最优的网络结构。一般情况下可以采用基于控制器的网络结构搜索的启发式方法来进行网络结构搜索,或者使用进化算法来进行网络结构搜索。然而,现有技术中需要控制器进行训练或者使用进化算法来进行网络结构搜索,在搜索过程中需要将全集中的子网络训练到收敛来对子网络进行评估,使得网络结构搜索的时间与计算量极大,对于较大的数据集,采用此种方法搜索到最优网络结构的过程繁琐且缓慢。进而造成图像处理、语音处理、文字处理等应用深度神经网络的任务处理复杂且缓慢。
发明内容
本申请的实施例提供一种深度神经网络的结构搜索方法及装置,以解决现有技术中的网络结构搜索的时间与计算量极大,对于较大的数据集,搜索到最优网络结构的过程繁琐且缓慢,进而造成图像处理、语音处理、文字处理等应用深度神经网络的任务处理复杂且缓慢的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种深度神经网络的结构搜索方法,包括:
在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;所述每层计算单元结构包括至少一个计算单元;
在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接;
根据模块及每个模块中的计算单元的连接情况,得到初始神经网络;
对所述初始神经网络中的信息流设置稀疏缩放算子,其中所述稀疏缩放算子用于对所述信息流进行缩放;
采用预置的训练样本数据对所述初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络;
将所述中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
第二方面,本申请实施例提供一种目标检测方法,包括:
获得待进行目标检测的样本数据,输入到采用上述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为目标检测结果。
第三方面,本申请实施例提供一种语义分割方法,包括:
获得待进行语义分割的样本数据,输入到采用上述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为语义分割结果。
第四方面,本申请实施例提供一种图像分类方法,包括:
获得待进行图像分类的样本数据,输入到采用上述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为图像分类结果。
第五方面,本申请实施例提供一种语音处理方法,包括:
获得待进行语音处理的样本数据,输入到采用上述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为语音处理结果。
第六方面,本申请实施例提供一种文字处理方法,包括:
获得待进行文字处理的样本数据,输入到采用上述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为文字处理结果。
第七方面,本申请实施例提供一种深度神经网络的结构搜索装置,包括:
计算单元结构获得单元,用于在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;所述每层计算单元结构包括至少一个计算单元;
信息流获得单元,用于在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接;
初始神经网络获得单元,用于根据模块及每个模块中的计算单元的连接情况,得到初始神经网络;
稀疏缩放算子设置单元,用于对所述初始神经网络中的信息流设置稀疏缩放算子,其中所述稀疏缩放算子用于对所述信息流进行缩放;
权重和算子训练单元,用于采用预置的训练样本数据对所述初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络;
搜索结果获得单元,用于将所述中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
第八方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的深度神经网络的结构搜索方法。
第九方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的深度神经网络的结构搜索方法。
第十方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述的深度神经网络的结构搜索方法。
第十一方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的深度神经网络的结构搜索方法。
第十二方面,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的深度神经网络的结构搜索方法。
第十三方面,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现上述的深度神经网络的结构搜索方法。
第十四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的目标检测方法。
第十五方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的目标检测方法。
第十六方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的目标检测方法。
第十七方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的目标检测方法。
第十八方面,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的目标检测方法。
第十九方面,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的目标检测方法。
第二十方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的语义分割方法。
第二十一方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的语义分割方法。
第二十二方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的语义分割方法。
第二十三方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的语义分割方法。
第二十四方面,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的语义分割方法。
第二十五方面,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的语义分割方法。
第二十六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的图像分类方法。
第二十七方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的图像分类方法。
第二十八方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的图像分类方法。
第二十九方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的图像分类方法。
第三十方面,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的图像分类方法。
第三十一方面,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的图像分类方法。
第三十二方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的语音处理方法。
第三十三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的语音处理方法。
第三十四方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的语音处理方法。
第三十五方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的语音处理方法。
第三十六方面,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的语音处理方法。
第三十七方面,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的语音处理方法。
第三十八方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的文字处理方法。
第三十九方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的文字处理方法。
第四十方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的文字处理方法。
第四十一方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的文字处理方法。
第四十二方面,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的文字处理方法。
第四十三方面,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的文字处理方法。
本申请实施例提供的一种深度神经网络的结构搜索方法及装置,首先,在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;每层计算单元结构包括至少一个计算单元;之后,在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接;然后,根据模块及每个模块中的计算单元的连接情况,得到初始神经网络;对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放;采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络;进而,将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。本申请与现有技术中直接从搜索空间搜索重要的网络结构不同,本申请通过稀疏缩放算子,可删除不重要的信息流来实现网络结构的搜索。本申请在网络结构的搜索过程中,无需对控制器进行训练,也无需使用复杂的进化算法,不需要对子网络进行长时间的训练,仅通过对权重和稀疏缩放算子的训练即可得到搜索结果,使得网络结构搜索的时间大大减小,特别是对于大规模数据集上的网络结构搜索,更为节省网络结构搜索的时间。进而本申请实施例可以使得图像处理、语音处理、文字处理等应用深度神经网络的任务处理更为简便和快捷。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种深度神经网络的结构搜索方法的流程图一;
图2为本申请实施例中所涉及的深度神经网络中的搜索空间内的网络结构示意图;
图3为将本申请实施例应用到两层结构的网络搜索的实例示意图;
图4为本申请实施例提供的一种深度神经网络的结构搜索装置的结构示意图;
图5为本申请实施例提供的一种目标检测方法的流程图;
图6为本申请实施例提供的一种语义分割方法的流程图;
图7为本申请实施例提供的一种图像分类方法的流程图;
图8为本申请实施例提供的一种语音处理方法的流程图;
图9为本申请实施例提供的一种文字处理方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请,下面对本申请所涉及的技术术语进行解释:
DNN:深度神经网络(Deep Neural Network)。
计算单元:神经网络中的用于进行卷积、池化等计算的单元节点。
网络结构搜索:在神经网络中搜索最优网络结构的过程。
RGB:RGB色彩模式,是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
在实现本申请实施例的过程中,发明人发现现有技术一般采用基于控制器的网络结构搜索的启发式方法,即:
根据先验知识和深度神经网络结构(神经元、网络层、模组、模块等特定结构)来构建一些待搜索的网络结构;然后为待搜索的网络结构设置控制器,采用分布式求解的方式,即对于每个控制器,进行多个待搜索的网络结构的并行计算,得到每个网络结构的准确率用来对控制器进行梯度下降计算,从而得到最优网络结构。可见,对于采用基于控制器的网络结构搜索的启发式方法,需要对大量控制器进行训练,以及分布式求解,过程较为繁琐缓慢。
为了解决上述现有技术中的问题,如图1所示,本申请实施例提供一种深度神经网络的结构搜索方法,包括:
步骤101、在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构。
其中,每层计算单元结构包括至少一个计算单元。
步骤102、在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流。
其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。
步骤103、根据模块及每个模块中的计算单元的连接情况,得到初始神经网络。
步骤104、对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放。
步骤105、采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络。
步骤106、将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
值得说明的是,在深度神经网络中,所预先设置的搜索空间可以如图2所示,其中可包括多个模块21,各个模块21依次串接,即上一个模块的输出是下一个模块的输入;每个模块21(可以视为有向无环图)可包括多层计算单元结构22,每层计算单元结构22包括至少一个计算单元23(每个计算单元可以视为有向无环图中的节点),该每层计算单元结构22中的计算单元23一般可以包括卷积计算单元和池化计算单元中的至少一种。该卷积计算单元还可以为膨胀卷积计算单元或者组卷积计算单元等。
优选地,上述步骤102可以通过如下方式实现:
在每个模块21中,采用全连接方式对每个计算单元23进行连接,即如图2所示,将每个计算单元23与和其所在模块21中的不同层的计算单元23,以及其所在模块21的输入和输出进行连接;这样可以得到从模块21的输入到每层计算单元结构22、从每层计算单元结构22到模块21的输出,以及各计算单元23之间的信息流(可视为有向无环图中节点之间的边)。这样可以得到搜索空间内的网络结构的全集(该搜索空间内的任一网络结构可以视为上述有向无环图的子图)。例如,在一模块21中,第i个计算单元F(i)(x)的输出h(i),其等于所有之前的计算单元的输出h(j)之和经过计算单元F(i)(x)计算的结果,可以用公式表示为:
Figure BDA0002243141900000091
这样,在上述步骤103中,根据上述图2所示的结构,即可得到初始神经网络。
进一步的,在上述步骤103之后,可以对初始神经网络的权重进行配置,以初始化初始神经网络的权重。或者,优选地,在上述步骤103之后,可以采用预置的预训练样本数据对初始神经网络的权重进行预训练,得到预训练后的初始神经网络,这样预训练过后,得到的初始神经网络的权重较好。此处对权重进行配置或者进行预训练是为了得到初始神经网络的权重初始值,以便于后续的稀疏缩放算子的设置和训练。
之后在上述步骤104中,需要对初始神经网络中的信息流设置稀疏缩放算子,即例如在上述所有之前的计算单元的输出h(j)处增加稀疏缩放算子
Figure BDA0002243141900000101
用于表示第j个计算单元到第i个计算单元之间信息流的稀疏缩放算子。则上述公式(1)在增加稀疏缩放算子后,应表示为:
Figure BDA0002243141900000102
此处,各稀疏缩放算子的取值大于等于0。例如,在上述对初始神经网络的权重进行配置,以初始化初始神经网络的权重后,该稀疏缩放算子的取值区间可以为[0,1],稀疏缩放算子不一定等于1。而在上述采用预置的预训练样本数据对初始神经网络的权重进行预训练后,该稀疏缩放算子的取值一般取为1。
以下以一卷积神经网络结构的搜索进行说明,在卷积神经网络结构中,计算单元即为卷积计算单元和池化计算单元,信息流即为网络中的特征图。在该卷积神经网络结构中,包含了若干模块,每个模块包含若干层计算单元结构,每一层的计算单元结构又包括若干不同的计算单元(例如,1×1的卷积计算、3×3的卷积计算、5×5的卷积计算、池化计算等,不仅局限于上述这几种)。各个模块依次串接,即上一个模块的输出是下一个模块的输入,每个计算单元与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。这样,每个计算单元的输出可以被表示出来,例如,在卷积神经网络结构中,第b个模块的第i层的第j个计算单元的输出可以表示为:
Figure BDA0002243141900000103
其中,F(b,i,j)(x)表示第b个模块的第i层的第j个计算单元的计算;N表示一层计算单元结构所包含的计算单元总数;
Figure BDA0002243141900000104
表示第b个模块的第m层的第n个计算单元到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子;h(b,m,n)表示第b个模块的第m层的第n个计算单元的输出;O(b-1)表示第b-1个模块的输出,即第b个模块的输入;
Figure BDA0002243141900000111
表示第b个模块的输入O(b-1)到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子。此处,设h(b,0,0)=O(b-1)作为第b个模块的输入,设h(b,M+1,0)=O(b)作为第b个模块的输出,其中M表示第b个模块所包含的层总数。这样可以确定位于第m层的计算单元共有(m-1)N+1个输入。
此处,需要说明的是,在本申请实施例中,各个计算单元到其所在模块输出间的连接也是可以训练学习的。例如,上述卷积神经网络中,第b个模块的输出O(b)可以通过对该模块中所有计算单元的输出进行拼接,再使用卷积核大小为1的卷积降低特征图的通道数来保持通道数不变,如下公式所示:
Figure BDA0002243141900000112
其中,h(b,m,n)表示在第b个模块中,位于第m层中第n个计算单元的输出,表示第b个模块中,位于第m层中第n个计算单元与该第b个模块输出连接的信息流的缩放算子,O(b-1)表示第b-1个模块的输出,即第b个模块的输入。R(x)表示特征图的拼接与卷积核大小为1的卷积计算,用来融合特征图并保证模块输出的通道数不变。
对于上述步骤105,可以采用如下方式实现:
步骤S1、构建初始神经网络对应的目标函数,目标函数包含损失函数、权重正则函数和稀疏正则函数。该目标函数可以如公式:
其中,W为权重,λ为稀疏缩放算子向量,K为样本数据的数量,L(yi,Net(xi,W,λ))为神经网络在样本数据xi上的损失,yi为样本标签,Net(xi,W,λ)为神经网络的输出,
Figure BDA0002243141900000115
为权重正则函数,记为R(W),δ为权重W的参数衰减权重,γ||λ||1为稀疏正则函数,记为Rs(λ)。另外,此处的稀疏正则函数γ||λ||1还可以由更复杂的稀疏约束替代,例如非凸的稀疏约束。
步骤S2、采用训练样本数据对初始神经网络进行迭代训练。
步骤S3、当迭代训练次数达到阈值或者目标函数满足预置的收敛条件时,得到中间神经网络。
优选地,前述步骤S2具体实现可通过对初始神经网络进行多次以下的迭代训练,以一次非首次迭代和非尾次迭代的迭代过程(以下称为本次迭代训练)为例进行描述,一次迭代训练包括以下步骤C1~步骤C3:
步骤C1、将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;
步骤C2、将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;
步骤C3、基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。
另外,首次迭代训练过程如下:将初始稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。
另外,尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。
此处,在本申请实施例中,该第一优化算法可以但不限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。
此处,在本申请实施例中,该第二优化算法可以但不限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法或者交替方向乘子算法。
为进一步对本申请实施例中如何求解出目标函数中的W和λ进行详细的描述,下面以目标函数为上述公式(5)为例,对一次迭代训练优化目标函数求解得到W和λ进行描述。将
Figure BDA0002243141900000121
记为g(λ),Rs(λ)记为H(λ)。
将λ作为常量,将W作为变量,则目标函数换转为采用随机梯度下降算法即可求解得到W的取值,具体过程不再详细描述。
将W作为常量,将λ作为变量,则目标函数换转为
Figure BDA0002243141900000131
采用加速近端梯度下降算法求解λ的取值,具体可通过但不仅限于以下几种方式得到:
方式1,采用公式(6)~公式(8)得到λ:
Figure BDA0002243141900000132
λt=proxηtH(zt) 公式(8)
其中ηt表示在第t次迭代训练时梯度下降的步长,
Figure BDA0002243141900000137
Figure BDA0002243141900000138
为软阈值算子,定义如下Sα(z)i=sign(zi)(|zi|-α)+
方式2、由于前述方式1求解λ需要额外的前向后向计算来得到
Figure BDA0002243141900000134
将该算法直接应用到现有深度学习框架有点难度。因此,方式2对前述方式1的公式进行更新,得到公式(9)~公式(11),根据公式(9)~公式(11)计算得到λ:
Figure BDA0002243141900000135
Figure BDA0002243141900000139
λt=λt-1+vt 公式(11)
方式3、本申请还可以采用变量替代的方法,即采用下式(12)~(14)计算得到λ:
Figure BDA0002243141900000136
Figure BDA00022431419000001310
Figure BDA00022431419000001311
其中λ′t-1=λt-1t-1vt-1,μ为预设的固定值,并采用批量随机梯度下降的形式来更新W和λ。
之后,在上述步骤106中,即可将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。并且,在与一计算单元的连接对应的信息流均被删除后,则该计算单元对后续的计算已经无作用,则可将该计算单元删除。
例如,如图3所示,将本申请实施例应用于图片分类任务中。设定基础网络中含有两层结构Level1和Level2,每层中还有两个不同的计算单元OP1和OP2,计算单元间的连接如图3的最左侧所示。经过上述步骤101至步骤105之后,可以训练得到图3中的中间所示的虚线的稀疏缩放算子为0。进而如图3的最右侧所示,将这些虚线删除后,确认Level1层的计算单元OP1已经无连接对应的信息流,则也被删除,最终得到搜索结果神经网络。
值得说明的是,图3所列举的例子仅为本申请实施例的一个具体应用,并非全部的应用。本申请实施例除了应用在单个模块结构搜索外,本申请中位于网络不同模块的稀疏缩放算子还可以独立更新,使得不同模块能够搜索训练得到更加灵活的网络结构。
另外,如图4所示,本申请实施例还提供一种深度神经网络的结构搜索装置,包括:
计算单元结构获得单元31,用于在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;每层计算单元结构包括至少一个计算单元。
信息流获得单元32,用于在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。
初始神经网络获得单元33,用于根据模块及每个模块中的计算单元的连接情况,得到初始神经网络。
稀疏缩放算子设置单元34,用于对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放。
权重和算子训练单元35,用于采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络。
搜索结果获得单元36,用于将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
另外,如图5所示,本申请实施例还提供一种目标检测方法,包括:
步骤401、获得待进行目标检测的样本数据。
此处的目标检测是指对图像中的元素进行目标提取和识别的过程,目标检测是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。例如在自动驾驶领域中,车载摄像头拍摄的图像中,需要对道路、车辆、树木、行人、建筑物等进行识别和分割。该待进行目标检测的样本数据可以是待进行目标检测的大量图像数据。
步骤402、将待进行目标检测的样本数据输入到采用深度神经网络的结构搜索方法得到的搜索结果神经网络中,以该搜索结果神经网络的输出作为目标检测结果。
其中,采用深度神经网络的结构搜索方法得到搜索结果神经网络的方式可以如下,包括如图1所示的:
步骤101、在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构。
其中,每层计算单元结构包括至少一个计算单元。
步骤102、在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流。
其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。
步骤103、根据模块及每个模块中的计算单元的连接情况,得到初始神经网络。
步骤104、对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放。
步骤105、采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络。
步骤106、将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
值得说明的是,在深度神经网络中,所预先设置的搜索空间可以如图2所示,其中可包括多个模块21,各个模块21依次串接,即上一个模块的输出是下一个模块的输入;每个模块21(可以视为有向无环图)可包括多层计算单元结构22,每层计算单元结构22包括至少一个计算单元23(每个计算单元可以视为有向无环图中的节点),该每层计算单元结构22中的计算单元23一般可以包括卷积计算单元和池化计算单元中的至少一种。该卷积计算单元还可以为膨胀卷积计算单元或者组卷积计算单元等。
优选地,上述步骤102可以通过如下方式实现:
在每个模块21中,采用全连接方式对每个计算单元23进行连接,即如图2所示,将每个计算单元23与和其所在模块21中的不同层的计算单元23,以及其所在模块21的输入和输出进行连接;这样可以得到从模块21的输入到每层计算单元结构22、从每层计算单元结构22到模块21的输出,以及各计算单元23之间的信息流(可视为有向无环图中节点之间的边)。这样可以得到搜索空间内的网络结构的全集(该搜索空间内的任一网络结构可以视为上述有向无环图的子图)。例如,在一模块21中,第i个计算单元F(i)(x)的输出h(i),其等于所有之前的计算单元的输出h(j)之和经过计算单元F(i)(x)计算的结果,可以用公式表示为:
Figure BDA0002243141900000161
这样,在上述步骤103中,根据上述图2所示的结构,即可得到初始神经网络。
进一步的,在上述步骤103之后,可以对初始神经网络的权重进行配置,以初始化初始神经网络的权重。或者,优选地,在上述步骤103之后,可以采用预置的预训练样本数据对初始神经网络的权重进行预训练,得到预训练后的初始神经网络,这样预训练过后,得到的初始神经网络的权重较好。此处对权重进行配置或者进行预训练是为了得到初始神经网络的权重初始值,以便于后续的稀疏缩放算子的设置和训练。
之后在上述步骤104中,需要对初始神经网络中的信息流设置稀疏缩放算子,即例如在上述所有之前的计算单元的输出h(j)处增加稀疏缩放算子
Figure BDA0002243141900000162
用于表示第j个计算单元到第i个计算单元之间信息流的稀疏缩放算子。则上述公式(1)在增加稀疏缩放算子后,应表示为:
Figure BDA0002243141900000163
此处,各稀疏缩放算子的取值大于等于0。例如,在上述对初始神经网络的权重进行配置,以初始化初始神经网络的权重后,该稀疏缩放算子的取值区间可以为[0,1],稀疏缩放算子不一定等于1。而在上述采用预置的预训练样本数据对初始神经网络的权重进行预训练后,该稀疏缩放算子的取值一般取为1。
以下以一卷积神经网络结构的搜索进行说明,在卷积神经网络结构中,计算单元即为卷积计算单元和池化计算单元,信息流即为网络中的特征图。在该卷积神经网络结构中,包含了若干模块,每个模块包含若干层计算单元结构,每一层的计算单元结构又包括若干不同的计算单元(例如,1×1的卷积计算、3×3的卷积计算、5×5的卷积计算、池化计算等,不仅局限于上述这几种)。各个模块依次串接,即上一个模块的输出是下一个模块的输入,每个计算单元与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。这样,每个计算单元的输出可以被表示出来,例如,在卷积神经网络结构中,第b个模块的第i层的第j个计算单元的输出可以表示为:
Figure BDA0002243141900000171
其中,F(b,i,j)(x)表示第b个模块的第i层的第j个计算单元的计算;N表示一层计算单元结构所包含的计算单元总数;
Figure BDA0002243141900000172
表示第b个模块的第m层的第n个计算单元到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子;h(b,m,n)表示第b个模块的第m层的第n个计算单元的输出;O(b-1)表示第b-1个模块的输出,即第b个模块的输入;
Figure BDA0002243141900000173
表示第b个模块的输入O(b-1)到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子。此处,设h(b,0,0)=O(b-1)作为第b个模块的输入,设h(b,M+1,0)=O(b)作为第b个模块的输出,其中M表示第b个模块所包含的层总数。这样可以确定位于第m层的计算单元共有(m-1)N+1个输入。
此处,需要说明的是,在本申请实施例中,各个计算单元到其所在模块输出间的连接也是可以训练学习的。例如,上述卷积神经网络中,第b个模块的输出O(b)可以通过对该模块中所有计算单元的输出进行拼接,再使用卷积核大小为1的卷积降低特征图的通道数来保持通道数不变,如下公式所示:
Figure BDA0002243141900000174
其中,h(b,m,n)表示在第b个模块中,位于第m层中第n个计算单元的输出,表示第b个模块中,位于第m层中第n个计算单元与该第b个模块输出连接的信息流的缩放算子,O(b-1)表示第b-1个模块的输出,即第b个模块的输入。R(x)表示特征图的拼接与卷积核大小为1的卷积计算,用来融合特征图并保证模块输出的通道数不变。
对于上述步骤105,可以采用如下方式实现:
步骤S1、构建初始神经网络对应的目标函数,目标函数包含损失函数、权重正则函数和稀疏正则函数。该目标函数可以如公式:
其中,W为权重,λ为稀疏缩放算子向量,K为样本数据的数量,L(yi,Net(xi,W,λ))为神经网络在样本数据xi上的损失,yi为样本标签,Net(xi,W,λ)为神经网络的输出,
Figure BDA0002243141900000181
为权重正则函数,记为R(W),δ为权重W的参数衰减权重,γ||λ||1为稀疏正则函数,记为Rs(λ)。另外,此处的稀疏正则函数γ||λ||1还可以由更复杂的稀疏约束替代,例如非凸的稀疏约束。
步骤S2、采用训练样本数据对初始神经网络进行迭代训练。
步骤S3、当迭代训练次数达到阈值或者目标函数满足预置的收敛条件时,得到中间神经网络。
优选地,前述步骤S2具体实现可通过对初始神经网络进行多次以下的迭代训练,以一次非首次迭代和非尾次迭代的迭代过程(以下称为本次迭代训练)为例进行描述,一次迭代训练包括以下步骤C1~步骤C3:
步骤C1、将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;
步骤C2、将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;
步骤C3、基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。
另外,首次迭代训练过程如下:将初始稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。
另外,尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。
此处,在本申请实施例中,该第一优化算法可以但不限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。
此处,在本申请实施例中,该第二优化算法可以但不限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法或者交替方向乘子算法。
为进一步对本申请实施例中如何求解出目标函数中的W和λ进行详细的描述,下面以目标函数为上述公式(5)为例,对一次迭代训练优化目标函数求解得到W和λ进行描述。将记为g(λ),Rs(λ)记为H(λ)。
将λ作为常量,将W作为变量,则目标函数换转为
Figure BDA0002243141900000192
采用随机梯度下降算法即可求解得到W的取值,具体过程不再详细描述。
将W作为常量,将λ作为变量,则目标函数换转为
Figure BDA0002243141900000193
采用加速近端梯度下降算法求解λ的取值,具体可通过但不仅限于以下几种方式得到:
方式1,采用公式(6)~公式(8)得到λ:
Figure BDA0002243141900000195
λt=proxηtH(zt) 公式(8)
其中ηt表示在第t次迭代训练时梯度下降的步长,
Figure BDA0002243141900000199
为软阈值算子,定义如下Sα(z)i=sign(zi)(|zi|-α)+
方式2、由于前述方式1求解λ需要额外的前向后向计算来得到
Figure BDA0002243141900000196
将该算法直接应用到现有深度学习框架有点难度。因此,方式2对前述方式1的公式进行更新,得到公式(9)~公式(11),根据公式(9)~公式(11)计算得到λ:
Figure BDA0002243141900000197
Figure BDA00022431419000001911
λt=λt-1+vt 公式(11)
方式3、本申请还可以采用变量替代的方法,即采用下式(12)~(14)计算得到λ:
Figure BDA0002243141900000198
Figure BDA00022431419000001913
其中λ′t-1=λt-1t-1vt-1,μ为预设的固定值,并采用批量随机梯度下降的形式来更新W和λ。
之后,在上述步骤106中,即可将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。并且,在与一计算单元的连接对应的信息流均被删除后,则该计算单元对后续的计算已经无作用,则可将该计算单元删除。
例如,如图3所示,将本申请实施例应用于图片分类任务中。设定基础网络中含有两层结构Level1和Level2,每层中还有两个不同的计算单元OP1和OP2,计算单元间的连接如图3的最左侧所示。经过上述步骤101至步骤105之后,可以训练得到图3中的中间所示的虚线的稀疏缩放算子为0。进而如图3的最右侧所示,将这些虚线删除后,确认Level1层的计算单元OP1已经无连接对应的信息流,则也被删除,最终得到搜索结果神经网络。
值得说明的是,图3所列举的例子仅为本申请实施例的一个具体应用,并非全部的应用。本申请实施例除了应用在单个模块结构搜索外,本申请中位于网络不同模块的稀疏缩放算子还可以独立更新,使得不同模块能够搜索训练得到更加灵活的网络结构。
这样,经过上述步骤401和步骤402进行的目标检测方法,得到目标检测结果更为方便快捷。
另外,如图6所示,本申请实施例还提供一种语义分割方法,包括:
步骤501、获得待进行语义分割的样本数据。
语义分割是指将图像中属于不同物体的所有像素进行区分,语义分割是机器训练的基础。例如,在自动驾驶领域中,目标检测是需要大量路道和目标物体特征图像数据的。而对图像数据进行语义分割可以区分图像中属于汽车、道路、标志、物体的所有像素,并把这些像素以RGB值标成定义的颜色。语义分割使我们对图像有更加细致的了解,并能很好的完成机器训练。语义分割一般可以完成道路标注、行人标注、人脸标注、车辆标注、物体标注等,但不仅局限于此。该待进行语义分割的样本数据即可以为待进行语义分割的大量图像数据。
步骤502、将待进行语义分割的样本数据输入到采用深度神经网络的结构搜索方法得到的搜索结果神经网络中,以该搜索结果神经网络的输出作为语义分割结果。
其中,采用深度神经网络的结构搜索方法得到搜索结果神经网络的方式可以如下,包括如图1所示的:
步骤101、在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构。
其中,每层计算单元结构包括至少一个计算单元。
步骤102、在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流。
其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。
步骤103、根据模块及每个模块中的计算单元的连接情况,得到初始神经网络。
步骤104、对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放。
步骤105、采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络。
步骤106、将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
值得说明的是,在深度神经网络中,所预先设置的搜索空间可以如图2所示,其中可包括多个模块21,各个模块21依次串接,即上一个模块的输出是下一个模块的输入;每个模块21(可以视为有向无环图)可包括多层计算单元结构22,每层计算单元结构22包括至少一个计算单元23(每个计算单元可以视为有向无环图中的节点),该每层计算单元结构22中的计算单元23一般可以包括卷积计算单元和池化计算单元中的至少一种。该卷积计算单元还可以为膨胀卷积计算单元或者组卷积计算单元等。
优选地,上述步骤102可以通过如下方式实现:
在每个模块21中,采用全连接方式对每个计算单元23进行连接,即如图2所示,将每个计算单元23与和其所在模块21中的不同层的计算单元23,以及其所在模块21的输入和输出进行连接;这样可以得到从模块21的输入到每层计算单元结构22、从每层计算单元结构22到模块21的输出,以及各计算单元23之间的信息流(可视为有向无环图中节点之间的边)。这样可以得到搜索空间内的网络结构的全集(该搜索空间内的任一网络结构可以视为上述有向无环图的子图)。例如,在一模块21中,第i个计算单元F(i)(x)的输出h(i),其等于所有之前的计算单元的输出h(j)之和经过计算单元F(i)(x)计算的结果,可以用公式表示为:
Figure BDA0002243141900000221
这样,在上述步骤103中,根据上述图2所示的结构,即可得到初始神经网络。
进一步的,在上述步骤103之后,可以对初始神经网络的权重进行配置,以初始化初始神经网络的权重。或者,优选地,在上述步骤103之后,可以采用预置的预训练样本数据对初始神经网络的权重进行预训练,得到预训练后的初始神经网络,这样预训练过后,得到的初始神经网络的权重较好。此处对权重进行配置或者进行预训练是为了得到初始神经网络的权重初始值,以便于后续的稀疏缩放算子的设置和训练。
之后在上述步骤104中,需要对初始神经网络中的信息流设置稀疏缩放算子,即例如在上述所有之前的计算单元的输出h(j)处增加稀疏缩放算子
Figure BDA0002243141900000222
用于表示第j个计算单元到第i个计算单元之间信息流的稀疏缩放算子。则上述公式(1)在增加稀疏缩放算子后,应表示为:
Figure BDA0002243141900000223
此处,各稀疏缩放算子的取值大于等于0。例如,在上述对初始神经网络的权重进行配置,以初始化初始神经网络的权重后,该稀疏缩放算子的取值区间可以为[0,1],稀疏缩放算子不一定等于1。而在上述采用预置的预训练样本数据对初始神经网络的权重进行预训练后,该稀疏缩放算子的取值一般取为1。
以下以一卷积神经网络结构的搜索进行说明,在卷积神经网络结构中,计算单元即为卷积计算单元和池化计算单元,信息流即为网络中的特征图。在该卷积神经网络结构中,包含了若干模块,每个模块包含若干层计算单元结构,每一层的计算单元结构又包括若干不同的计算单元(例如,1×1的卷积计算、3×3的卷积计算、5×5的卷积计算、池化计算等,不仅局限于上述这几种)。各个模块依次串接,即上一个模块的输出是下一个模块的输入,每个计算单元与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。这样,每个计算单元的输出可以被表示出来,例如,在卷积神经网络结构中,第b个模块的第i层的第j个计算单元的输出可以表示为:
Figure BDA0002243141900000224
其中,F(b,i,j)(x)表示第b个模块的第i层的第j个计算单元的计算;N表示一层计算单元结构所包含的计算单元总数;
Figure BDA0002243141900000231
表示第b个模块的第m层的第n个计算单元到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子;h(b,m,n)表示第b个模块的第m层的第n个计算单元的输出;O(b-1)表示第b-1个模块的输出,即第b个模块的输入;
Figure BDA0002243141900000232
表示第b个模块的输入O(b-1)到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子。此处,设h(b,0,0)=O(b-1)作为第b个模块的输入,设h(b,M+1,0)=O(b)作为第b个模块的输出,其中M表示第b个模块所包含的层总数。这样可以确定位于第m层的计算单元共有(m-1)N+1个输入。
此处,需要说明的是,在本申请实施例中,各个计算单元到其所在模块输出间的连接也是可以训练学习的。例如,上述卷积神经网络中,第b个模块的输出O(b)可以通过对该模块中所有计算单元的输出进行拼接,再使用卷积核大小为1的卷积降低特征图的通道数来保持通道数不变,如下公式所示:
Figure BDA0002243141900000233
其中,h(b,m,n)表示在第b个模块中,位于第m层中第n个计算单元的输出,表示第b个模块中,位于第m层中第n个计算单元与该第b个模块输出连接的信息流的缩放算子,O(b-1)表示第b-1个模块的输出,即第b个模块的输入。R(x)表示特征图的拼接与卷积核大小为1的卷积计算,用来融合特征图并保证模块输出的通道数不变。
对于上述步骤105,可以采用如下方式实现:
步骤S1、构建初始神经网络对应的目标函数,目标函数包含损失函数、权重正则函数和稀疏正则函数。该目标函数可以如公式:
Figure BDA0002243141900000235
其中,W为权重,λ为稀疏缩放算子向量,K为样本数据的数量,L(yi,Net(xi,W,λ))为神经网络在样本数据xi上的损失,yi为样本标签,Net(xi,W,λ)为神经网络的输出,
Figure BDA0002243141900000236
为权重正则函数,记为R(W),δ为权重W的参数衰减权重,γ||λ||1为稀疏正则函数,记为Rs(λ)。另外,此处的稀疏正则函数γ||λ||1还可以由更复杂的稀疏约束替代,例如非凸的稀疏约束。
步骤S2、采用训练样本数据对初始神经网络进行迭代训练。
步骤S3、当迭代训练次数达到阈值或者目标函数满足预置的收敛条件时,得到中间神经网络。
优选地,前述步骤S2具体实现可通过对初始神经网络进行多次以下的迭代训练,以一次非首次迭代和非尾次迭代的迭代过程(以下称为本次迭代训练)为例进行描述,一次迭代训练包括以下步骤C1~步骤C3:
步骤C1、将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;
步骤C2、将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;
步骤C3、基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。
另外,首次迭代训练过程如下:将初始稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。
另外,尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。
此处,在本申请实施例中,该第一优化算法可以但不限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。
此处,在本申请实施例中,该第二优化算法可以但不限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法或者交替方向乘子算法。
为进一步对本申请实施例中如何求解出目标函数中的W和λ进行详细的描述,下面以目标函数为上述公式(5)为例,对一次迭代训练优化目标函数求解得到W和λ进行描述。将
Figure BDA0002243141900000251
记为g(λ),Rs(λ)记为H(λ)。
将λ作为常量,将W作为变量,则目标函数换转为
Figure BDA0002243141900000252
采用随机梯度下降算法即可求解得到W的取值,具体过程不再详细描述。
将W作为常量,将λ作为变量,则目标函数换转为
Figure BDA0002243141900000253
采用加速近端梯度下降算法求解λ的取值,具体可通过但不仅限于以下几种方式得到:
方式1,采用公式(6)~公式(8)得到λ:
Figure BDA0002243141900000254
Figure BDA0002243141900000255
λt=proxηtH(zt) 公式(8)
其中ηt表示在第t次迭代训练时梯度下降的步长,
Figure BDA0002243141900000259
Figure BDA00022431419000002510
为软阈值算子,定义如下Sα(z)i=sign(zi)(|zi|-α)+
方式2、由于前述方式1求解λ需要额外的前向后向计算来得到
Figure BDA0002243141900000256
将该算法直接应用到现有深度学习框架有点难度。因此,方式2对前述方式1的公式进行更新,得到公式(9)~公式(11),根据公式(9)~公式(11)计算得到λ:
Figure BDA0002243141900000257
Figure BDA00022431419000002511
λt=λt-1+vt 公式(11)
方式3、本申请还可以采用变量替代的方法,即采用下式(12)~(14)计算得到λ:
Figure BDA0002243141900000258
Figure BDA00022431419000002512
Figure BDA00022431419000002513
其中λ′t-1=λt-1t-1vt-1,μ为预设的固定值,并采用批量随机梯度下降的形式来更新W和λ。
之后,在上述步骤106中,即可将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。并且,在与一计算单元的连接对应的信息流均被删除后,则该计算单元对后续的计算已经无作用,则可将该计算单元删除。
例如,如图3所示,将本申请实施例应用于图片分类任务中。设定基础网络中含有两层结构Level1和Level2,每层中还有两个不同的计算单元OP1和OP2,计算单元间的连接如图3的最左侧所示。经过上述步骤101至步骤105之后,可以训练得到图3中的中间所示的虚线的稀疏缩放算子为0。进而如图3的最右侧所示,将这些虚线删除后,确认Level1层的计算单元OP1已经无连接对应的信息流,则也被删除,最终得到搜索结果神经网络。
值得说明的是,图3所列举的例子仅为本申请实施例的一个具体应用,并非全部的应用。本申请实施例除了应用在单个模块结构搜索外,本申请中位于网络不同模块的稀疏缩放算子还可以独立更新,使得不同模块能够搜索训练得到更加灵活的网络结构。
这样,经过上述步骤501和步骤502进行的语义分割方法,得到语义分割结果更为方便快捷。
另外,如图7所示,本申请实施例还提供一种图像分类方法,包括:
步骤601、获得待进行图像分类的样本数据。
此处,图像分类是指从给定的分类集合中给图像分配一个标签的任务,即需要分析一个输入图像并返回一个将图像分类的标签。标签总是来自预定义的可能类别集。例如:我们假定一个可能的类别集categories={dog,cat,panda},之后我们提供一幅图像(例如一张狗的图像),到采用深度神经网络的结构搜索方法得到的搜索结果神经网络中,从而这里的目标是根据输入图像,从类别集中分配一个类别,这里为dog。采用深度神经网络的结构搜索方法得到的搜索结果神经网络还可以根据概率给图像分配多个标签,例如dog:95%,cat:4%,panda:1%,即95%概率为狗,4%概率为猫,1%概率为熊猫。而上述待进行图像分类的样本数据即为大量的待进行图像分类的图像数据。例如在自动驾驶领域中,可以是大量的由车载摄像头采集的道路、港区、园区的图像。
步骤602、将待进行图像分类的样本数据输入到采用深度神经网络的结构搜索方法得到的搜索结果神经网络中,以该搜索结果神经网络的输出作为图像分类结果。
其中,采用深度神经网络的结构搜索方法得到搜索结果神经网络的方式可以如下,包括如图1所示的:
步骤101、在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构。
其中,每层计算单元结构包括至少一个计算单元。
步骤102、在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流。
其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。
步骤103、根据模块及每个模块中的计算单元的连接情况,得到初始神经网络。
步骤104、对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放。
步骤105、采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络。
步骤106、将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
值得说明的是,在深度神经网络中,所预先设置的搜索空间可以如图2所示,其中可包括多个模块21,各个模块21依次串接,即上一个模块的输出是下一个模块的输入;每个模块21(可以视为有向无环图)可包括多层计算单元结构22,每层计算单元结构22包括至少一个计算单元23(每个计算单元可以视为有向无环图中的节点),该每层计算单元结构22中的计算单元23一般可以包括卷积计算单元和池化计算单元中的至少一种。该卷积计算单元还可以为膨胀卷积计算单元或者组卷积计算单元等。
优选地,上述步骤102可以通过如下方式实现:
在每个模块21中,采用全连接方式对每个计算单元23进行连接,即如图2所示,将每个计算单元23与和其所在模块21中的不同层的计算单元23,以及其所在模块21的输入和输出进行连接;这样可以得到从模块21的输入到每层计算单元结构22、从每层计算单元结构22到模块21的输出,以及各计算单元23之间的信息流(可视为有向无环图中节点之间的边)。这样可以得到搜索空间内的网络结构的全集(该搜索空间内的任一网络结构可以视为上述有向无环图的子图)。例如,在一模块21中,第i个计算单元F(i)(x)的输出h(i),其等于所有之前的计算单元的输出h(j)之和经过计算单元F(i)(x)计算的结果,可以用公式表示为:
这样,在上述步骤103中,根据上述图2所示的结构,即可得到初始神经网络。
进一步的,在上述步骤103之后,可以对初始神经网络的权重进行配置,以初始化初始神经网络的权重。或者,优选地,在上述步骤103之后,可以采用预置的预训练样本数据对初始神经网络的权重进行预训练,得到预训练后的初始神经网络,这样预训练过后,得到的初始神经网络的权重较好。此处对权重进行配置或者进行预训练是为了得到初始神经网络的权重初始值,以便于后续的稀疏缩放算子的设置和训练。
之后在上述步骤104中,需要对初始神经网络中的信息流设置稀疏缩放算子,即例如在上述所有之前的计算单元的输出h(j)处增加稀疏缩放算子
Figure BDA0002243141900000282
用于表示第j个计算单元到第i个计算单元之间信息流的稀疏缩放算子。则上述公式(1)在增加稀疏缩放算子后,应表示为:
Figure BDA0002243141900000283
此处,各稀疏缩放算子的取值大于等于0。例如,在上述对初始神经网络的权重进行配置,以初始化初始神经网络的权重后,该稀疏缩放算子的取值区间可以为[0,1],稀疏缩放算子不一定等于1。而在上述采用预置的预训练样本数据对初始神经网络的权重进行预训练后,该稀疏缩放算子的取值一般取为1。
以下以一卷积神经网络结构的搜索进行说明,在卷积神经网络结构中,计算单元即为卷积计算单元和池化计算单元,信息流即为网络中的特征图。在该卷积神经网络结构中,包含了若干模块,每个模块包含若干层计算单元结构,每一层的计算单元结构又包括若干不同的计算单元(例如,1×1的卷积计算、3×3的卷积计算、5×5的卷积计算、池化计算等,不仅局限于上述这几种)。各个模块依次串接,即上一个模块的输出是下一个模块的输入,每个计算单元与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。这样,每个计算单元的输出可以被表示出来,例如,在卷积神经网络结构中,第b个模块的第i层的第j个计算单元的输出可以表示为:
Figure BDA0002243141900000284
其中,F(b,i,j)(x)表示第b个模块的第i层的第j个计算单元的计算;N表示一层计算单元结构所包含的计算单元总数;
Figure BDA0002243141900000285
表示第b个模块的第m层的第n个计算单元到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子;h(b,m,n)表示第b个模块的第m层的第n个计算单元的输出;O(b-1)表示第b-1个模块的输出,即第b个模块的输入;
Figure BDA0002243141900000291
表示第b个模块的输入O(b-1)到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子。此处,设h(b,0,0)=O(b-1)作为第b个模块的输入,设h(b,M+1,0)=O(b)作为第b个模块的输出,其中M表示第b个模块所包含的层总数。这样可以确定位于第m层的计算单元共有(m-1)N+1个输入。
此处,需要说明的是,在本申请实施例中,各个计算单元到其所在模块输出间的连接也是可以训练学习的。例如,上述卷积神经网络中,第b个模块的输出O(b)可以通过对该模块中所有计算单元的输出进行拼接,再使用卷积核大小为1的卷积降低特征图的通道数来保持通道数不变,如下公式所示:
Figure BDA0002243141900000292
其中,h(b,m,n)表示在第b个模块中,位于第m层中第n个计算单元的输出,表示第b个模块中,位于第m层中第n个计算单元与该第b个模块输出连接的信息流的缩放算子,O(b-1)表示第b-1个模块的输出,即第b个模块的输入。R(x)表示特征图的拼接与卷积核大小为1的卷积计算,用来融合特征图并保证模块输出的通道数不变。
对于上述步骤105,可以采用如下方式实现:
步骤S1、构建初始神经网络对应的目标函数,目标函数包含损失函数、权重正则函数和稀疏正则函数。该目标函数可以如公式:
其中,W为权重,λ为稀疏缩放算子向量,K为样本数据的数量,L(yi,Net(xi,W,λ))为神经网络在样本数据xi上的损失,yi为样本标签,Net(xi,W,λ)为神经网络的输出,为权重正则函数,记为R(W),δ为权重W的参数衰减权重,γ||λ||1为稀疏正则函数,记为Rs(λ)。另外,此处的稀疏正则函数γ||λ||1还可以由更复杂的稀疏约束替代,例如非凸的稀疏约束。
步骤S2、采用训练样本数据对初始神经网络进行迭代训练。
步骤S3、当迭代训练次数达到阈值或者目标函数满足预置的收敛条件时,得到中间神经网络。
优选地,前述步骤S2具体实现可通过对初始神经网络进行多次以下的迭代训练,以一次非首次迭代和非尾次迭代的迭代过程(以下称为本次迭代训练)为例进行描述,一次迭代训练包括以下步骤C1~步骤C3:
步骤C1、将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;
步骤C2、将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;
步骤C3、基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。
另外,首次迭代训练过程如下:将初始稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。
另外,尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。
此处,在本申请实施例中,该第一优化算法可以但不限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。
此处,在本申请实施例中,该第二优化算法可以但不限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法或者交替方向乘子算法。
为进一步对本申请实施例中如何求解出目标函数中的W和λ进行详细的描述,下面以目标函数为上述公式(5)为例,对一次迭代训练优化目标函数求解得到W和λ进行描述。将
Figure BDA0002243141900000301
记为g(λ),Rs(λ)记为H(λ)。
将λ作为常量,将W作为变量,则目标函数换转为
Figure BDA0002243141900000311
采用随机梯度下降算法即可求解得到W的取值,具体过程不再详细描述。
将W作为常量,将λ作为变量,则目标函数换转为
Figure BDA0002243141900000312
采用加速近端梯度下降算法求解λ的取值,具体可通过但不仅限于以下几种方式得到:
方式1,采用公式(6)~公式(8)得到λ:
Figure BDA0002243141900000313
λt=proxηtH(zt) 公式(8)
其中ηt表示在第t次迭代训练时梯度下降的步长,
Figure BDA0002243141900000318
Figure BDA0002243141900000319
为软阈值算子,定义如下Sα(z)i=sign(zi)(|zi|-α)+
方式2、由于前述方式1求解λ需要额外的前向后向计算来得到
Figure BDA0002243141900000315
将该算法直接应用到现有深度学习框架有点难度。因此,方式2对前述方式1的公式进行更新,得到公式(9)~公式(11),根据公式(9)~公式(11)计算得到λ:
Figure BDA0002243141900000316
Figure BDA00022431419000003110
λt=λt-1+vt 公式(11)
方式3、本申请还可以采用变量替代的方法,即采用下式(12)~(14)计算得到λ:
Figure BDA00022431419000003111
Figure BDA00022431419000003112
其中λ′t-1=λt-1t-1vt-1,μ为预设的固定值,并采用批量随机梯度下降的形式来更新W和λ。
之后,在上述步骤106中,即可将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。并且,在与一计算单元的连接对应的信息流均被删除后,则该计算单元对后续的计算已经无作用,则可将该计算单元删除。
例如,如图3所示,将本申请实施例应用于图片分类任务中。设定基础网络中含有两层结构Level1和Level2,每层中还有两个不同的计算单元OP1和OP2,计算单元间的连接如图3的最左侧所示。经过上述步骤101至步骤105之后,可以训练得到图3中的中间所示的虚线的稀疏缩放算子为0。进而如图3的最右侧所示,将这些虚线删除后,确认Level1层的计算单元OP1已经无连接对应的信息流,则也被删除,最终得到搜索结果神经网络。
值得说明的是,图3所列举的例子仅为本申请实施例的一个具体应用,并非全部的应用。本申请实施例除了应用在单个模块结构搜索外,本申请中位于网络不同模块的稀疏缩放算子还可以独立更新,使得不同模块能够搜索训练得到更加灵活的网络结构。
这样,经过上述步骤601和步骤602进行的图像分类方法,可以使得得到图像分类结果更为方便快捷。
另外,如图8所示,本申请实施例还提供一种语音处理方法,包括:
步骤701、获得待进行语音处理的样本数据。
此处,该语音处理是指对语音输入设备(例如麦克风)输入的语音数据进行处理,例如语音识别,即将用户通过语音输入设备输入的语音数据转换成文字内容等。目前语音识别可以应用于各种领域,例如智能翻译、即时通讯软件、智能驾驶的语音指令等方面。该待进行语音处理的样本数据即为待进行语音处理的各种语音数据。
步骤702、将待进行语音处理的样本数据输入到采用深度神经网络的结构搜索方法得到的搜索结果神经网络中,以该搜索结果神经网络的输出作为语音处理结果。
其中,采用深度神经网络的结构搜索方法得到搜索结果神经网络的方式可以如下,包括如图1所示的:
步骤101、在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构。
其中,每层计算单元结构包括至少一个计算单元。
步骤102、在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流。
其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。
步骤103、根据模块及每个模块中的计算单元的连接情况,得到初始神经网络。
步骤104、对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放。
步骤105、采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络。
步骤106、将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
值得说明的是,在深度神经网络中,所预先设置的搜索空间可以如图2所示,其中可包括多个模块21,各个模块21依次串接,即上一个模块的输出是下一个模块的输入;每个模块21(可以视为有向无环图)可包括多层计算单元结构22,每层计算单元结构22包括至少一个计算单元23(每个计算单元可以视为有向无环图中的节点),该每层计算单元结构22中的计算单元23一般可以包括卷积计算单元和池化计算单元中的至少一种。该卷积计算单元还可以为膨胀卷积计算单元或者组卷积计算单元等。
优选地,上述步骤102可以通过如下方式实现:
在每个模块21中,采用全连接方式对每个计算单元23进行连接,即如图2所示,将每个计算单元23与和其所在模块21中的不同层的计算单元23,以及其所在模块21的输入和输出进行连接;这样可以得到从模块21的输入到每层计算单元结构22、从每层计算单元结构22到模块21的输出,以及各计算单元23之间的信息流(可视为有向无环图中节点之间的边)。这样可以得到搜索空间内的网络结构的全集(该搜索空间内的任一网络结构可以视为上述有向无环图的子图)。例如,在一模块21中,第i个计算单元F(i)(x)的输出h(i),其等于所有之前的计算单元的输出h(j)之和经过计算单元F(i)(x)计算的结果,可以用公式表示为:
这样,在上述步骤103中,根据上述图2所示的结构,即可得到初始神经网络。
进一步的,在上述步骤103之后,可以对初始神经网络的权重进行配置,以初始化初始神经网络的权重。或者,优选地,在上述步骤103之后,可以采用预置的预训练样本数据对初始神经网络的权重进行预训练,得到预训练后的初始神经网络,这样预训练过后,得到的初始神经网络的权重较好。此处对权重进行配置或者进行预训练是为了得到初始神经网络的权重初始值,以便于后续的稀疏缩放算子的设置和训练。
之后在上述步骤104中,需要对初始神经网络中的信息流设置稀疏缩放算子,即例如在上述所有之前的计算单元的输出h(j)处增加稀疏缩放算子
Figure BDA0002243141900000332
用于表示第j个计算单元到第i个计算单元之间信息流的稀疏缩放算子。则上述公式(1)在增加稀疏缩放算子后,应表示为:
此处,各稀疏缩放算子的取值大于等于0。例如,在上述对初始神经网络的权重进行配置,以初始化初始神经网络的权重后,该稀疏缩放算子的取值区间可以为[0,1],稀疏缩放算子不一定等于1。而在上述采用预置的预训练样本数据对初始神经网络的权重进行预训练后,该稀疏缩放算子的取值一般取为1。
以下以一卷积神经网络结构的搜索进行说明,在卷积神经网络结构中,计算单元即为卷积计算单元和池化计算单元,信息流即为网络中的特征图。在该卷积神经网络结构中,包含了若干模块,每个模块包含若干层计算单元结构,每一层的计算单元结构又包括若干不同的计算单元(例如,1×1的卷积计算、3×3的卷积计算、5×5的卷积计算、池化计算等,不仅局限于上述这几种)。各个模块依次串接,即上一个模块的输出是下一个模块的输入,每个计算单元与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。这样,每个计算单元的输出可以被表示出来,例如,在卷积神经网络结构中,第b个模块的第i层的第j个计算单元的输出可以表示为:
Figure BDA0002243141900000342
其中,F(b,i,j)(x)表示第b个模块的第i层的第j个计算单元的计算;N表示一层计算单元结构所包含的计算单元总数;
Figure BDA0002243141900000343
表示第b个模块的第m层的第n个计算单元到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子;h(b,m,n)表示第b个模块的第m层的第n个计算单元的输出;O(b-1)表示第b-1个模块的输出,即第b个模块的输入;
Figure BDA0002243141900000344
表示第b个模块的输入O(b-1)到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子。此处,设h(b,0,0)=O(b-1)作为第b个模块的输入,设h(b,M+1,0)=O(b)作为第b个模块的输出,其中M表示第b个模块所包含的层总数。这样可以确定位于第m层的计算单元共有(m-1)N+1个输入。
此处,需要说明的是,在本申请实施例中,各个计算单元到其所在模块输出间的连接也是可以训练学习的。例如,上述卷积神经网络中,第b个模块的输出O(b)可以通过对该模块中所有计算单元的输出进行拼接,再使用卷积核大小为1的卷积降低特征图的通道数来保持通道数不变,如下公式所示:
Figure BDA0002243141900000351
其中,h(b,m,n)表示在第b个模块中,位于第m层中第n个计算单元的输出,表示第b个模块中,位于第m层中第n个计算单元与该第b个模块输出连接的信息流的缩放算子,O(b-1)表示第b-1个模块的输出,即第b个模块的输入。R(x)表示特征图的拼接与卷积核大小为1的卷积计算,用来融合特征图并保证模块输出的通道数不变。
对于上述步骤105,可以采用如下方式实现:
步骤S1、构建初始神经网络对应的目标函数,目标函数包含损失函数、权重正则函数和稀疏正则函数。该目标函数可以如公式:
其中,W为权重,λ为稀疏缩放算子向量,K为样本数据的数量,L(yi,Net(xi,W,λ))为神经网络在样本数据xi上的损失,yi为样本标签,Net(xi,W,λ)为神经网络的输出,
Figure BDA0002243141900000354
为权重正则函数,记为R(W),δ为权重W的参数衰减权重,γ||λ||1为稀疏正则函数,记为Rs(λ)。另外,此处的稀疏正则函数γ||λ||1还可以由更复杂的稀疏约束替代,例如非凸的稀疏约束。
步骤S2、采用训练样本数据对初始神经网络进行迭代训练。
步骤S3、当迭代训练次数达到阈值或者目标函数满足预置的收敛条件时,得到中间神经网络。
优选地,前述步骤S2具体实现可通过对初始神经网络进行多次以下的迭代训练,以一次非首次迭代和非尾次迭代的迭代过程(以下称为本次迭代训练)为例进行描述,一次迭代训练包括以下步骤C1~步骤C3:
步骤C1、将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;
步骤C2、将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;
步骤C3、基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。
另外,首次迭代训练过程如下:将初始稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。
另外,尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。
此处,在本申请实施例中,该第一优化算法可以但不限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。
此处,在本申请实施例中,该第二优化算法可以但不限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法或者交替方向乘子算法。
为进一步对本申请实施例中如何求解出目标函数中的W和λ进行详细的描述,下面以目标函数为上述公式(5)为例,对一次迭代训练优化目标函数求解得到W和λ进行描述。将
Figure BDA0002243141900000361
记为g(λ),Rs(λ)记为H(λ)。
将λ作为常量,将W作为变量,则目标函数换转为
Figure BDA0002243141900000362
采用随机梯度下降算法即可求解得到W的取值,具体过程不再详细描述。
将W作为常量,将λ作为变量,则目标函数换转为
Figure BDA0002243141900000363
采用加速近端梯度下降算法求解λ的取值,具体可通过但不仅限于以下几种方式得到:
方式1,采用公式(6)~公式(8)得到λ:
Figure BDA0002243141900000364
Figure BDA0002243141900000365
λt=proxηtH(zt) 公式(8)
其中ηt表示在第t次迭代训练时梯度下降的步长,
Figure BDA0002243141900000374
Figure BDA0002243141900000375
为软阈值算子,定义如下Sα(z)i=sign(zi)(|zi|-α)+
方式2、由于前述方式1求解λ需要额外的前向后向计算来得到
Figure BDA0002243141900000371
将该算法直接应用到现有深度学习框架有点难度。因此,方式2对前述方式1的公式进行更新,得到公式(9)~公式(11),根据公式(9)~公式(11)计算得到λ:
Figure BDA0002243141900000376
λt=λt-1+vt 公式(11)
方式3、本申请还可以采用变量替代的方法,即采用下式(12)~(14)计算得到λ:
Figure BDA0002243141900000377
Figure BDA0002243141900000378
其中λ′t-1=λt-1t-1vt-1,μ为预设的固定值,并采用批量随机梯度下降的形式来更新W和λ。
之后,在上述步骤106中,即可将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。并且,在与一计算单元的连接对应的信息流均被删除后,则该计算单元对后续的计算已经无作用,则可将该计算单元删除。
例如,如图3所示,将本申请实施例应用于图片分类任务中。设定基础网络中含有两层结构Level1和Level2,每层中还有两个不同的计算单元OP1和OP2,计算单元间的连接如图3的最左侧所示。经过上述步骤101至步骤105之后,可以训练得到图3中的中间所示的虚线的稀疏缩放算子为0。进而如图3的最右侧所示,将这些虚线删除后,确认Level1层的计算单元OP1已经无连接对应的信息流,则也被删除,最终得到搜索结果神经网络。
值得说明的是,图3所列举的例子仅为本申请实施例的一个具体应用,并非全部的应用。本申请实施例除了应用在单个模块结构搜索外,本申请中位于网络不同模块的稀疏缩放算子还可以独立更新,使得不同模块能够搜索训练得到更加灵活的网络结构。
这样,经过上述步骤701和步骤702进行的语音处理方法,可以使得得到语音处理结果更为方便快捷。
另外,如图9所示,本申请实施例还提供一种文字处理方法,包括:
步骤801、获得待进行文字处理的样本数据。
此处的文字处理,可以是指自然语言处理(Natural Language Processing,简称NLP),其中可以包括文字编码、词法分析、句法分析、语义分析、文本生成等过程。例如在输入一段文字后,需要获知该段文字所要表达的意思。例如,在一些语义搜索软件中,可以通过输入的不连贯、不通顺的文字内容来找到用户所需的实际内容。如,用户输入了:“自然,,语言处li,,如何??实现啊??”,则将其输入到采用深度神经网络的结构搜索方法得到的搜索结果神经网络中,可以很容易得到用户所需要的自然语言处理快速入门、自然语言处理百科等有关自然语言处理的内容。另外,自然语言处理还可以进行文本垃圾识别等领域,例如在一些社交软件、购物网站、电子游戏中,常常出现低俗、辱骂、血腥暴力等内容,通过文本垃圾识别,可以实现对这些低俗、辱骂、血腥暴力等内容的识别和屏蔽。该待进行文字处理的样本数据即可为待进行文字处理的大量文字数据。
步骤802、将待进行文字处理的样本数据输入到采用深度神经网络的结构搜索方法得到的搜索结果神经网络中,以该搜索结果神经网络的输出作为文字处理结果。
其中,采用深度神经网络的结构搜索方法得到搜索结果神经网络的方式可以如下,包括如图1所示的:
步骤101、在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构。
其中,每层计算单元结构包括至少一个计算单元。
步骤102、在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流。
其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。
步骤103、根据模块及每个模块中的计算单元的连接情况,得到初始神经网络。
步骤104、对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放。
步骤105、采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络。
步骤106、将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
值得说明的是,在深度神经网络中,所预先设置的搜索空间可以如图2所示,其中可包括多个模块21,各个模块21依次串接,即上一个模块的输出是下一个模块的输入;每个模块21(可以视为有向无环图)可包括多层计算单元结构22,每层计算单元结构22包括至少一个计算单元23(每个计算单元可以视为有向无环图中的节点),该每层计算单元结构22中的计算单元23一般可以包括卷积计算单元和池化计算单元中的至少一种。该卷积计算单元还可以为膨胀卷积计算单元或者组卷积计算单元等。
优选地,上述步骤102可以通过如下方式实现:
在每个模块21中,采用全连接方式对每个计算单元23进行连接,即如图2所示,将每个计算单元23与和其所在模块21中的不同层的计算单元23,以及其所在模块21的输入和输出进行连接;这样可以得到从模块21的输入到每层计算单元结构22、从每层计算单元结构22到模块21的输出,以及各计算单元23之间的信息流(可视为有向无环图中节点之间的边)。这样可以得到搜索空间内的网络结构的全集(该搜索空间内的任一网络结构可以视为上述有向无环图的子图)。例如,在一模块21中,第i个计算单元F(i)(x)的输出h(i),其等于所有之前的计算单元的输出h(j)之和经过计算单元F(i)(x)计算的结果,可以用公式表示为:
这样,在上述步骤103中,根据上述图2所示的结构,即可得到初始神经网络。
进一步的,在上述步骤103之后,可以对初始神经网络的权重进行配置,以初始化初始神经网络的权重。或者,优选地,在上述步骤103之后,可以采用预置的预训练样本数据对初始神经网络的权重进行预训练,得到预训练后的初始神经网络,这样预训练过后,得到的初始神经网络的权重较好。此处对权重进行配置或者进行预训练是为了得到初始神经网络的权重初始值,以便于后续的稀疏缩放算子的设置和训练。
之后在上述步骤104中,需要对初始神经网络中的信息流设置稀疏缩放算子,即例如在上述所有之前的计算单元的输出h(j)处增加稀疏缩放算子
Figure BDA0002243141900000392
用于表示第j个计算单元到第i个计算单元之间信息流的稀疏缩放算子。则上述公式(1)在增加稀疏缩放算子后,应表示为:
Figure BDA0002243141900000401
此处,各稀疏缩放算子的取值大于等于0。例如,在上述对初始神经网络的权重进行配置,以初始化初始神经网络的权重后,该稀疏缩放算子的取值区间可以为[0,1],稀疏缩放算子不一定等于1。而在上述采用预置的预训练样本数据对初始神经网络的权重进行预训练后,该稀疏缩放算子的取值一般取为1。
以下以一卷积神经网络结构的搜索进行说明,在卷积神经网络结构中,计算单元即为卷积计算单元和池化计算单元,信息流即为网络中的特征图。在该卷积神经网络结构中,包含了若干模块,每个模块包含若干层计算单元结构,每一层的计算单元结构又包括若干不同的计算单元(例如,1×1的卷积计算、3×3的卷积计算、5×5的卷积计算、池化计算等,不仅局限于上述这几种)。各个模块依次串接,即上一个模块的输出是下一个模块的输入,每个计算单元与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接。这样,每个计算单元的输出可以被表示出来,例如,在卷积神经网络结构中,第b个模块的第i层的第j个计算单元的输出可以表示为:
其中,F(b,i,j)(x)表示第b个模块的第i层的第j个计算单元的计算;N表示一层计算单元结构所包含的计算单元总数;
Figure BDA0002243141900000403
表示第b个模块的第m层的第n个计算单元到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子;h(b,m,n)表示第b个模块的第m层的第n个计算单元的输出;O(b-1)表示第b-1个模块的输出,即第b个模块的输入;
Figure BDA0002243141900000404
表示第b个模块的输入O(b-1)到第b个模块的第i层的第j个计算单元之间信息流的稀疏缩放算子。此处,设h(b,0,0)=O(b-1)作为第b个模块的输入,设h(b,M+1,0)=O(b)作为第b个模块的输出,其中M表示第b个模块所包含的层总数。这样可以确定位于第m层的计算单元共有(m-1)N+1个输入。
此处,需要说明的是,在本申请实施例中,各个计算单元到其所在模块输出间的连接也是可以训练学习的。例如,上述卷积神经网络中,第b个模块的输出O(b)可以通过对该模块中所有计算单元的输出进行拼接,再使用卷积核大小为1的卷积降低特征图的通道数来保持通道数不变,如下公式所示:
其中,h(b,m,n)表示在第b个模块中,位于第m层中第n个计算单元的输出,
Figure BDA0002243141900000412
表示第b个模块中,位于第m层中第n个计算单元与该第b个模块输出连接的信息流的缩放算子,O(b-1)表示第b-1个模块的输出,即第b个模块的输入。R(x)表示特征图的拼接与卷积核大小为1的卷积计算,用来融合特征图并保证模块输出的通道数不变。
对于上述步骤105,可以采用如下方式实现:
步骤S1、构建初始神经网络对应的目标函数,目标函数包含损失函数、权重正则函数和稀疏正则函数。该目标函数可以如公式:
Figure BDA0002243141900000413
其中,W为权重,λ为稀疏缩放算子向量,K为样本数据的数量,L(yi,Net(xi,W,λ))为神经网络在样本数据xi上的损失,yi为样本标签,Net(xi,W,λ)为神经网络的输出,为权重正则函数,记为R(W),δ为权重W的参数衰减权重,γ||λ||1为稀疏正则函数,记为Rs(λ)。另外,此处的稀疏正则函数γ||λ||1还可以由更复杂的稀疏约束替代,例如非凸的稀疏约束。
步骤S2、采用训练样本数据对初始神经网络进行迭代训练。
步骤S3、当迭代训练次数达到阈值或者目标函数满足预置的收敛条件时,得到中间神经网络。
优选地,前述步骤S2具体实现可通过对初始神经网络进行多次以下的迭代训练,以一次非首次迭代和非尾次迭代的迭代过程(以下称为本次迭代训练)为例进行描述,一次迭代训练包括以下步骤C1~步骤C3:
步骤C1、将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;
步骤C2、将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;
步骤C3、基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。
另外,首次迭代训练过程如下:将初始稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。
另外,尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为目标函数的常量,将权重作为目标函数的变量,采用第一优化算法对目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为目标函数的常量,将稀疏缩放算子作为目标函数的变量,采用第二优化算法对目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。
此处,在本申请实施例中,该第一优化算法可以但不限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。
此处,在本申请实施例中,该第二优化算法可以但不限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法或者交替方向乘子算法。
为进一步对本申请实施例中如何求解出目标函数中的W和λ进行详细的描述,下面以目标函数为上述公式(5)为例,对一次迭代训练优化目标函数求解得到W和λ进行描述。将记为g(λ),Rs(λ)记为H(λ)。
将λ作为常量,将W作为变量,则目标函数换转为
Figure BDA0002243141900000422
采用随机梯度下降算法即可求解得到W的取值,具体过程不再详细描述。
将W作为常量,将λ作为变量,则目标函数换转为采用加速近端梯度下降算法求解λ的取值,具体可通过但不仅限于以下几种方式得到:
方式1,采用公式(6)~公式(8)得到λ:
Figure BDA0002243141900000424
Figure BDA0002243141900000425
λt=proxηtH(zt)公式(8)
其中ηt表示在第t次迭代训练时梯度下降的步长,
Figure BDA0002243141900000426
Figure BDA0002243141900000427
为软阈值算子,定义如下Sα(z)i=sign(zi)(|zi|-α)+
方式2、由于前述方式1求解λ需要额外的前向后向计算来得到
Figure BDA0002243141900000431
将该算法直接应用到现有深度学习框架有点难度。因此,方式2对前述方式1的公式进行更新,得到公式(9)~公式(11),根据公式(9)~公式(11)计算得到λ:
Figure BDA0002243141900000432
Figure BDA0002243141900000434
λt=λt-1+vt 公式(11)
方式3、本申请还可以采用变量替代的方法,即采用下式(12)~(14)计算得到λ:
Figure BDA0002243141900000433
Figure BDA0002243141900000435
Figure BDA0002243141900000436
其中λ′t-1=λt-1t-1vt-1,μ为预设的固定值,并采用批量随机梯度下降的形式来更新W和λ。
之后,在上述步骤106中,即可将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。并且,在与一计算单元的连接对应的信息流均被删除后,则该计算单元对后续的计算已经无作用,则可将该计算单元删除。
例如,如图3所示,将本申请实施例应用于图片分类任务中。设定基础网络中含有两层结构Level1和Level2,每层中还有两个不同的计算单元OP1和OP2,计算单元间的连接如图3的最左侧所示。经过上述步骤101至步骤105之后,可以训练得到图3中的中间所示的虚线的稀疏缩放算子为0。进而如图3的最右侧所示,将这些虚线删除后,确认Level1层的计算单元OP1已经无连接对应的信息流,则也被删除,最终得到搜索结果神经网络。
值得说明的是,图3所列举的例子仅为本申请实施例的一个具体应用,并非全部的应用。本申请实施例除了应用在单个模块结构搜索外,本申请中位于网络不同模块的稀疏缩放算子还可以独立更新,使得不同模块能够搜索训练得到更加灵活的网络结构。
这样,经过上述步骤801和步骤802进行的文字处理方法,可以使得得到文字处理结果更为方便快捷。
另外,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的深度神经网络的结构搜索方法。其具体实现方式可以参见上述图1至图3所对应的深度神经网络的结构搜索方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的深度神经网络的结构搜索方法。其具体实现方式可以参见上述图1至图3所对应的深度神经网络的结构搜索方法的实施例,此处不再赘述。
另外,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述的深度神经网络的结构搜索方法。其具体实现方式可以参见上述图1至图3所对应的深度神经网络的结构搜索方法的实施例,此处不再赘述。
另外,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的深度神经网络的结构搜索方法。其具体实现方式可以参见上述图1至图3所对应的深度神经网络的结构搜索方法的实施例,此处不再赘述。
另外,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的深度神经网络的结构搜索方法。其具体实现方式可以参见上述图1至图3所对应的深度神经网络的结构搜索方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现上述的深度神经网络的结构搜索方法。其具体实现方式可以参见上述图1至图3所对应的深度神经网络的结构搜索方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的目标检测方法。其具体实现方式可以参见上述图5所对应的目标检测方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的目标检测方法。其具体实现方式可以参见上述图5所对应的目标检测方法的实施例,此处不再赘述。
另外,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的目标检测方法。其具体实现方式可以参见上述图5所对应的目标检测方法的实施例,此处不再赘述。
另外,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的目标检测方法。其具体实现方式可以参见上述图5所对应的目标检测方法的实施例,此处不再赘述。
另外,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的目标检测方法。其具体实现方式可以参见上述图5所对应的目标检测方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的目标检测方法。其具体实现方式可以参见上述图5所对应的目标检测方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的语义分割方法。其具体实现方式可以参见上述图6所对应的语义分割方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的语义分割方法。其具体实现方式可以参见上述图6所对应的语义分割方法的实施例,此处不再赘述。
另外,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的语义分割方法。其具体实现方式可以参见上述图6所对应的语义分割方法的实施例,此处不再赘述。
另外,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的语义分割方法。其具体实现方式可以参见上述图6所对应的语义分割方法的实施例,此处不再赘述。
另外,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的语义分割方法。其具体实现方式可以参见上述图6所对应的语义分割方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的语义分割方法。其具体实现方式可以参见上述图6所对应的语义分割方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的图像分类方法。其具体实现方式可以参见上述图7所对应的图像分类方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的图像分类方法。其具体实现方式可以参见上述图7所对应的图像分类方法的实施例,此处不再赘述。
另外,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的图像分类方法。其具体实现方式可以参见上述图7所对应的图像分类方法的实施例,此处不再赘述。
另外,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的图像分类方法。其具体实现方式可以参见上述图7所对应的图像分类方法的实施例,此处不再赘述。
另外,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的图像分类方法。其具体实现方式可以参见上述图7所对应的图像分类方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的图像分类方法。其具体实现方式可以参见上述图7所对应的图像分类方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的语音处理方法。其具体实现方式可以参见上述图8所对应的语音处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的语音处理方法。其具体实现方式可以参见上述图8所对应的语音处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的语音处理方法。其具体实现方式可以参见上述图8所对应的语音处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的语音处理方法。其具体实现方式可以参见上述图8所对应的语音处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的语音处理方法。其具体实现方式可以参见上述图8所对应的语音处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的语音处理方法。其具体实现方式可以参见上述图8所对应的语音处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的文字处理方法。其具体实现方式可以参见上述图9所对应的文字处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的文字处理方法。其具体实现方式可以参见上述图9所对应的文字处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述的文字处理方法。其具体实现方式可以参见上述图9所对应的文字处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述的文字处理方法。其具体实现方式可以参见上述图9所对应的文字处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述的文字处理方法。其具体实现方式可以参见上述图9所对应的文字处理方法的实施例,此处不再赘述。
另外,本申请实施例提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述的文字处理方法。其具体实现方式可以参见上述图9所对应的文字处理方法的实施例,此处不再赘述。
本申请与现有技术中直接从搜索空间搜索重要的网络结构不同,本申请通过稀疏缩放算子,可删除不重要的信息流来实现网络结构的搜索。本申请在网络结构的搜索过程中,无需对控制器进行训练,也无需使用复杂的进化算法,不需要对子网络进行长时间的训练,仅通过对权重和稀疏缩放算子的训练即可得到搜索结果,使得网络结构搜索的时间大大减小,特别是对于大规模数据集上的网络结构搜索,更为节省网络结构搜索的时间。进而本申请实施例可以使得图像处理,如目标检测、语义分割、图像分类等,以及语音处理、文字处理等应用深度神经网络的任务处理更为简便和快捷。
综上所述,本申请实施例提供的一种深度神经网络的结构搜索方法及装置,首先,在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;每层计算单元结构包括至少一个计算单元;之后,在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接;然后,根据模块及每个模块中的计算单元的连接情况,得到初始神经网络;对初始神经网络中的信息流设置稀疏缩放算子,其中稀疏缩放算子用于对信息流进行缩放;采用预置的训练样本数据对初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络;进而,将中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。本申请与现有技术中直接从搜索空间搜索重要的网络结构不同,本申请通过稀疏缩放算子,可删除不重要的信息流来实现网络结构的搜索。本申请在网络结构的搜索过程中,无需对控制器进行训练,也无需使用复杂的进化算法,不需要对子网络进行长时间的训练,仅通过对权重和稀疏缩放算子的训练即可得到搜索结果,使得网络结构搜索的时间大大减小,特别是对于大规模数据集上的网络结构搜索,更为节省网络结构搜索的时间。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (52)

1.一种深度神经网络的结构搜索方法,其特征在于,包括:
在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;所述每层计算单元结构包括至少一个计算单元;
在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接;
根据模块及每个模块中的计算单元的连接情况,得到初始神经网络;
对所述初始神经网络中的信息流设置稀疏缩放算子,其中所述稀疏缩放算子用于对所述信息流进行缩放;
采用预置的训练样本数据对所述初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络;
将所述中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
2.根据权利要求1所述的深度神经网络的结构搜索方法,其特征在于,所述每层计算单元结构的计算单元包括卷积计算单元和池化计算单元中的至少一种。
3.根据权利要求1所述的深度神经网络的结构搜索方法,其特征在于,在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流,包括:
在每个模块中,将每个计算单元与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接;得到从模块的输入到每层计算单元结构、从每层计算单元结构到模块的输出,以及各计算单元之间的信息流。
4.根据权利要求1所述的深度神经网络的结构搜索方法,其特征在于,在根据模块及每个模块中的计算单元的连接情况,得到初始神经网络之后,还包括:
对初始神经网络的权重进行配置,以初始化初始神经网络的权重。
5.根据权利要求1所述的深度神经网络的结构搜索方法,其特征在于,在根据模块及每个模块中的计算单元的连接情况,得到初始神经网络之后,还包括:
采用预置的预训练样本数据对所述初始神经网络的权重进行预训练,得到预训练后的初始神经网络。
6.根据权利要求1所述的深度神经网络的结构搜索方法,其特征在于,在将所述中间神经网络中稀疏缩放算子为零的信息流删除之后,还包括:
在与一计算单元的连接对应的信息流均被删除后,将该计算单元删除。
7.根据权利要求1所述的深度神经网络的结构搜索方法,其特征在于,所述采用预置的训练样本数据对所述初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络,包括:
构建初始神经网络对应的目标函数,所述目标函数包含损失函数、权重正则函数和稀疏正则函数;
采用所述训练样本数据对所述初始神经网络进行迭代训练;
当迭代训练次数达到阈值或者所述目标函数满足预置的收敛条件时,得到所述中间神经网络。
8.根据权利要求7所述的深度神经网络的结构搜索方法,其特征在于,所述采用所述训练样本数据对所述初始神经网络进行迭代训练,具体包括:
对所述初始神经网络进行多次以下的迭代训练:
将前一次迭代训练得到的稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;
将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;
基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。
9.根据权利要求8所述的深度神经网络的结构搜索方法,其特征在于,所述第二优化算法为加速近端梯度下降算法、近端梯度下降算法或者交替方向乘子算法。
10.根据权利要求7所述的方法,其特征在于,所述目标函数为:
Figure FDA0002243141890000021
其中,W为权重,λ为稀疏缩放算子向量,K为样本数据的数量,L(yi,Net(xi,W,λ))为神经网络在样本数据xi上的损失,yi为样本标签,Net(xi,W,λ)为神经网络的输出,
Figure FDA0002243141890000022
为权重正则函数,δ为权重W的参数衰减权重,γ||λ||1为稀疏正则函数。
11.一种目标检测方法,其特征在于,包括:
获得待进行目标检测的样本数据,输入到采用权利要求1至10任一项所述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为目标检测结果。
12.一种语义分割方法,其特征在于,包括:
获得待进行语义分割的样本数据,输入到采用权利要求1至10任一项所述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为语义分割结果。
13.一种图像分类方法,其特征在于,包括:
获得待进行图像分类的样本数据,输入到采用权利要求1至10任一项所述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为图像分类结果。
14.一种语音处理方法,其特征在于,包括:
获得待进行语音处理的样本数据,输入到采用权利要求1至10任一项所述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为语音处理结果。
15.一种文字处理方法,其特征在于,包括:
获得待进行文字处理的样本数据,输入到采用权利要求1至10任一项所述的深度神经网络的结构搜索方法得到的搜索结果神经网络中,以所述搜索结果神经网络的输出作为文字处理结果。
16.一种深度神经网络的结构搜索装置,其特征在于,包括:
计算单元结构获得单元,用于在预先设置的搜索空间中获得深度神经网络中依次串接的每个模块中的每层计算单元结构;所述每层计算单元结构包括至少一个计算单元;
信息流获得单元,用于在每个模块中采用预设连接方式将各计算单元进行连接,得到每个模块中的信息流;其中,处于同一层计算单元结构的计算单元之间不进行连接,每个计算单元能够与和其所在模块中的不同层的计算单元,以及其所在模块的输入和输出进行连接;
初始神经网络获得单元,用于根据模块及每个模块中的计算单元的连接情况,得到初始神经网络;
稀疏缩放算子设置单元,用于对所述初始神经网络中的信息流设置稀疏缩放算子,其中所述稀疏缩放算子用于对所述信息流进行缩放;
权重和算子训练单元,用于采用预置的训练样本数据对所述初始神经网络的权重和信息流的稀疏缩放算子进行训练,得到中间神经网络;
搜索结果获得单元,用于将所述中间神经网络中稀疏缩放算子为零的信息流删除,得到搜索空间内的搜索结果神经网络。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至10任一项所述的深度神经网络的结构搜索方法。
18.一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述的深度神经网络的结构搜索方法。
19.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至10任一项所述的深度神经网络的结构搜索方法。
20.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至10任一项所述的深度神经网络的结构搜索方法。
21.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求1至10任一项所述的深度神经网络的结构搜索方法。
22.一种计算机服务器,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求1至10任一项所述的深度神经网络的结构搜索方法。
23.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求11所述的目标检测方法。
24.一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求11所述的目标检测方法。
25.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求11所述的目标检测方法。
26.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求11所述的目标检测方法。
27.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求11所述的目标检测方法。
28.一种计算机服务器,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求11所述的目标检测方法。
29.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求12所述的语义分割方法。
30.一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求12所述的语义分割方法。
31.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求12所述的语义分割方法。
32.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求12所述的语义分割方法。
33.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求12所述的语义分割方法。
34.一种计算机服务器,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求12所述的语义分割方法。
35.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求13所述的图像分类方法。
36.一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求13所述的图像分类方法。
37.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求13所述的图像分类方法。
38.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求13所述的图像分类方法。
39.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求13所述的图像分类方法。
40.一种计算机服务器,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求13所述的图像分类方法。
41.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求14所述的语音处理方法。
42.一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求14所述的语音处理方法。
43.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求14所述的语音处理方法。
44.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求14所述的语音处理方法。
45.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求14所述的语音处理方法。
46.一种计算机服务器,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求14所述的语音处理方法。
47.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求15所述的文字处理方法。
48.一种计算机设备,包括存储器、处理器及存储在存储上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求15所述的文字处理方法。
49.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求15所述的文字处理方法。
50.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求15所述的文字处理方法。
51.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求15所述的文字处理方法。
52.一种计算机服务器,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求15所述的文字处理方法。
CN201911007284.6A 2018-10-26 2019-10-22 一种深度神经网络的结构搜索方法及装置 Pending CN110717586A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811259033.2A CN109284820A (zh) 2018-10-26 2018-10-26 一种深度神经网络的结构搜索方法及装置
CN2018112590332 2018-10-26

Publications (1)

Publication Number Publication Date
CN110717586A true CN110717586A (zh) 2020-01-21

Family

ID=65177420

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811259033.2A Pending CN109284820A (zh) 2018-10-26 2018-10-26 一种深度神经网络的结构搜索方法及装置
CN201911007284.6A Pending CN110717586A (zh) 2018-10-26 2019-10-22 一种深度神经网络的结构搜索方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811259033.2A Pending CN109284820A (zh) 2018-10-26 2018-10-26 一种深度神经网络的结构搜索方法及装置

Country Status (2)

Country Link
CN (2) CN109284820A (zh)
WO (1) WO2020082663A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401516A (zh) * 2020-02-21 2020-07-10 华为技术有限公司 一种神经网络通道参数的搜索方法及相关设备
CN111667057A (zh) * 2020-06-05 2020-09-15 北京百度网讯科技有限公司 用于搜索模型结构的方法和装置
CN111797983A (zh) * 2020-05-25 2020-10-20 华为技术有限公司 一种神经网络构建方法以及装置
CN113361680A (zh) * 2020-03-05 2021-09-07 华为技术有限公司 一种神经网络架构搜索方法、装置、设备及介质

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284820A (zh) * 2018-10-26 2019-01-29 北京图森未来科技有限公司 一种深度神经网络的结构搜索方法及装置
CN109919304B (zh) * 2019-03-04 2021-07-02 腾讯科技(深圳)有限公司 图像处理方法、装置、可读存储介质和计算机设备
CN109948795B (zh) * 2019-03-11 2021-12-14 驭势科技(北京)有限公司 一种确定网络结构精度和延时优化点的方法和装置
CN109978142B (zh) * 2019-03-29 2022-11-29 腾讯科技(深圳)有限公司 神经网络模型的压缩方法和装置
CN110276442B (zh) * 2019-05-24 2022-05-17 西安电子科技大学 一种神经网络架构的搜索方法及装置
CN110197258B (zh) * 2019-05-29 2021-10-29 北京市商汤科技开发有限公司 神经网络搜索方法、图像处理方法及装置、设备和介质
WO2020237688A1 (zh) * 2019-05-31 2020-12-03 深圳市大疆创新科技有限公司 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品
WO2020237687A1 (zh) * 2019-05-31 2020-12-03 深圳市大疆创新科技有限公司 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品
CN112215332B (zh) * 2019-07-12 2024-05-14 华为技术有限公司 神经网络结构的搜索方法、图像处理方法和装置
CN112308200B (zh) * 2019-07-30 2024-04-26 华为技术有限公司 神经网络的搜索方法及装置
CN110473195B (zh) * 2019-08-13 2023-04-18 中山大学 一种可自动定制的医学病灶检测架构及方法
CN110490323A (zh) * 2019-08-20 2019-11-22 腾讯科技(深圳)有限公司 网络模型压缩方法、装置、存储介质和计算机设备
CN110428046B (zh) * 2019-08-28 2023-12-15 腾讯科技(深圳)有限公司 神经网络结构的获取方法及装置、存储介质
WO2021057690A1 (zh) * 2019-09-24 2021-04-01 华为技术有限公司 构建神经网络的方法与装置、及图像处理方法与装置
CN110751267B (zh) * 2019-09-30 2021-03-30 京东城市(北京)数字科技有限公司 神经网络的结构搜索方法、训练方法、装置及存储介质
CN110826696B (zh) * 2019-10-30 2023-06-27 北京百度网讯科技有限公司 超网络的搜索空间构建方法、装置以及电子设备
CN111160515B (zh) * 2019-12-09 2023-03-21 中山大学 运行时间预测方法、模型搜索方法及系统
CN111191785B (zh) * 2019-12-20 2023-06-23 沈阳雅译网络技术有限公司 用于命名实体识别的基于拓展搜索空间的结构搜索方法
CN111090673B (zh) * 2019-12-20 2023-04-18 北京百度网讯科技有限公司 缓存单元的查找方法及相关设备
CN113743168B (zh) * 2020-05-29 2023-10-13 北京机械设备研究所 一种基于可微深度神经网络搜索的城市飞行物识别方法
CN111714124B (zh) * 2020-06-18 2023-11-03 中国科学院深圳先进技术研究院 磁共振电影成像方法、装置、成像设备及存储介质
CN111738418A (zh) * 2020-06-19 2020-10-02 北京百度网讯科技有限公司 超网络的训练方法和装置
CN111767985B (zh) * 2020-06-19 2022-07-22 深圳市商汤科技有限公司 一种神经网络的训练方法、视频识别方法及装置
CN111753964A (zh) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 神经网络的训练方法和装置
CN112100466A (zh) * 2020-09-25 2020-12-18 北京百度网讯科技有限公司 生成搜索空间的方法、装置、设备及存储介质
CN112528123A (zh) * 2020-12-18 2021-03-19 北京百度网讯科技有限公司 模型搜索方法、装置、电子设备、存储介质和程序产品
CN112560985B (zh) * 2020-12-25 2024-01-12 北京百度网讯科技有限公司 神经网络的搜索方法、装置及电子设备
CN112668702B (zh) * 2021-01-15 2023-09-19 北京格灵深瞳信息技术股份有限公司 定点化参数优化方法、系统、及终端、存储介质
CN112966812A (zh) * 2021-02-25 2021-06-15 中国人民解放军战略支援部队航天工程大学 一种通信信号调制识别的自动神经网络结构搜索方法
CN113326922B (zh) * 2021-05-31 2023-06-13 北京市商汤科技开发有限公司 神经网络的生成方法、装置、电子设备及存储介质
CN113379034B (zh) * 2021-06-15 2023-10-20 南京大学 一种基于网络结构搜索技术的神经网络结构优化方法
CN113469010B (zh) * 2021-06-25 2024-04-02 中国科学技术大学 基于柴油车黑烟图像的NOx浓度实时估计方法及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372721B (zh) * 2016-08-29 2018-08-21 中国传媒大学 大规模神经网络的3d可视化方法
CN107247991A (zh) * 2017-06-15 2017-10-13 北京图森未来科技有限公司 一种构建神经网络的方法及装置
CN107316079A (zh) * 2017-08-08 2017-11-03 珠海习悦信息技术有限公司 终端卷积神经网络的处理方法、装置、存储介质及处理器
CN107480774A (zh) * 2017-08-11 2017-12-15 山东师范大学 基于集成学习的动态神经网络模型训练方法和装置
CN109284820A (zh) * 2018-10-26 2019-01-29 北京图森未来科技有限公司 一种深度神经网络的结构搜索方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401516A (zh) * 2020-02-21 2020-07-10 华为技术有限公司 一种神经网络通道参数的搜索方法及相关设备
CN111401516B (zh) * 2020-02-21 2024-04-26 华为云计算技术有限公司 一种神经网络通道参数的搜索方法及相关设备
CN113361680A (zh) * 2020-03-05 2021-09-07 华为技术有限公司 一种神经网络架构搜索方法、装置、设备及介质
CN113361680B (zh) * 2020-03-05 2024-04-12 华为云计算技术有限公司 一种神经网络架构搜索方法、装置、设备及介质
CN111797983A (zh) * 2020-05-25 2020-10-20 华为技术有限公司 一种神经网络构建方法以及装置
CN111667057A (zh) * 2020-06-05 2020-09-15 北京百度网讯科技有限公司 用于搜索模型结构的方法和装置
CN111667057B (zh) * 2020-06-05 2023-10-20 北京百度网讯科技有限公司 用于搜索模型结构的方法和装置

Also Published As

Publication number Publication date
CN109284820A (zh) 2019-01-29
WO2020082663A1 (zh) 2020-04-30

Similar Documents

Publication Publication Date Title
CN110717586A (zh) 一种深度神经网络的结构搜索方法及装置
CN106845549B (zh) 一种基于多任务学习的场景与目标识别的方法及装置
CN109543502B (zh) 一种基于深度多尺度神经网络的语义分割方法
CN110852368B (zh) 全局与局部特征嵌入及图文融合的情感分析方法与系统
Klein et al. A dynamic convolutional layer for short range weather prediction
CN112183577A (zh) 一种半监督学习模型的训练方法、图像处理方法及设备
CN113159283B (zh) 一种基于联邦迁移学习的模型训练方法及计算节点
US9798972B2 (en) Feature extraction using a neurosynaptic system for object classification
CN108510012A (zh) 一种基于多尺度特征图的目标快速检测方法
CN109871828A (zh) 视频识别方法和识别装置、存储介质
CN112561027A (zh) 神经网络架构搜索方法、图像处理方法、装置和存储介质
CN110362723A (zh) 一种题目特征表示方法、装置及存储介质
CN112990211A (zh) 一种神经网络的训练方法、图像处理方法以及装置
CN113128558A (zh) 基于浅层空间特征融合与自适应通道筛选的目标检测方法
CN113191241A (zh) 一种模型训练方法及相关设备
CN113422952B (zh) 基于时空传播层次编解码器的视频预测方法
CN112016601A (zh) 基于知识图谱增强小样本视觉分类的网络模型构建方法
CN113516227B (zh) 一种基于联邦学习的神经网络训练方法及设备
CN113034506A (zh) 遥感图像语义分割方法、装置、计算机设备和存储介质
CN113326826A (zh) 网络模型的训练方法、装置、电子设备及存储介质
CN115018039A (zh) 一种神经网络蒸馏方法、目标检测方法以及装置
CN116994021A (zh) 图像检测方法、装置、计算机可读介质及电子设备
CN116740516A (zh) 基于多尺度融合特征提取的目标检测方法及系统
CN114821096A (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
CN114495060A (zh) 一种道路交通标线识别方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200325

Address after: 101300, No. two, 1 road, Shunyi Park, Zhongguancun science and Technology Park, Beijing, Shunyi District

Applicant after: BEIJING TUSENZHITU TECHNOLOGY Co.,Ltd.

Address before: 101300, No. two, 1 road, Shunyi Park, Zhongguancun science and Technology Park, Beijing, Shunyi District

Applicant before: TuSimple