[go: up one dir, main page]

CN112561028A - 训练神经网络模型的方法、数据处理的方法及装置 - Google Patents

训练神经网络模型的方法、数据处理的方法及装置 Download PDF

Info

Publication number
CN112561028A
CN112561028A CN201910914033.XA CN201910914033A CN112561028A CN 112561028 A CN112561028 A CN 112561028A CN 201910914033 A CN201910914033 A CN 201910914033A CN 112561028 A CN112561028 A CN 112561028A
Authority
CN
China
Prior art keywords
neural network
gradient value
data
loss function
network model
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.)
Granted
Application number
CN201910914033.XA
Other languages
English (en)
Other versions
CN112561028B (zh
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910914033.XA priority Critical patent/CN112561028B/zh
Publication of CN112561028A publication Critical patent/CN112561028A/zh
Application granted granted Critical
Publication of CN112561028B publication Critical patent/CN112561028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

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

Abstract

本申请属于人工智能领域的计算机视觉领域。本申请提供了一种训练神经网络模型的方法,包括:获取多个构建单元以及待训练数据;堆叠多个构建单元得到初始神经网络模型,初始神经网络模型的参数包括结构参数以及权重参数;将待训练数据输入初始神经网络模型,并根据第一损失函数对权重参数求二阶梯度得到的梯度值,对结构参数进行更新,以得到满足预设要求、用于识别多媒体数据的神经网络模型,第一损失函数用于对权重参数更新。本申请提供一种训练神经网络模型的方法、数据处理的方法及设备,目的在于提供一种精确识别多媒体数据的方法。

Description

训练神经网络模型的方法、数据处理的方法及装置
技术领域
本申请涉及人工智能领域的计算机视觉领域,更具体地,特别涉及一种训练神经网络模型的方法、数据处理的方法及装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
神经网络(neural network,NN)作为人工智能的重要分支,是一种模仿动物神经网络行为特征进行信息处理的网络结构。神经网络的结构由大量的节点(或称神经元)相互联接构成,基于特定运算模型通过对输入信息进行学习和训练达到处理信息的目的。一个神经网络包括输入层、隐藏层及输出层,输入层负责接收输入信号,输出层负责输出神经网络的计算结果,隐藏层负责学习、训练等计算过程,是网络的记忆单元,隐藏层的记忆功能由权重矩阵来表征,通常每个神经元对应一个权重系数。
神经网络的结构往往是复杂且多样的,这有利于得到稳定的测试结果。通过人为设计得到的神经网络模型的可靠性、稳定性较差,因此可以通过神经网络结构搜索(neuralarchitecture search,NAS)的方法构建神经网络。神经网络结构搜索方法包括:定义搜索空间(搜索空间可以包括多种类型的构建单元,例如链式结构的构建单元、多叉式结构的构建单元、基于细胞(cell)的构建单元等);然后从该搜索空间中确定多个构建单元;再通过堆叠该多个构建单元得到搜索网络;使用训练数据集更新该搜索网络中的参数,可以得到用于解决特定问题或应用于特定场景的神经网络。因此,为了确保最终得到的神经网络具有较好的稳定性,并能够精确地解决实际场景中的问题,应当提供一种用于选择最优神经网络模型参数的方案。
发明内容
本申请提供一种训练神经网络模型的方法、数据处理的方法及装置,目的在于提供一种精确识别多媒体数据的方法。
第一方面,提供了一种训练神经网络模型的方法,包括:获取多个构建单元、第一待训练数据以及第二待训练数据;堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;将所述第一待训练数据输入所述初始神经网络模型,得到第一输出结果,所述第一待训练数据用于对所述权重参数更新;将所述第二待训练数据输入所述初始神经网络模型,得到第二输出结果,所述第二待训练数据用于对所述结构参数更新;根据第一梯度值、第二梯度值以及第三梯度值,对所述结构参数进行更新,以得到满足预设要求、用于识别多媒体数据的目标神经网络模型,所述第一梯度值为所述第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为所述第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于确定所述第一待训练数据所对应的第一标签与所述第一输出结果之间的相似度,所述第二损失函数用于确定所述第二待训练数据所对应的第二标签与所述第二输出结果之间的相似度。
待训练数据可以是多媒体数据,例如可以是图片、音频文件(如语音)、视频文件等。
待训练数据的获取方式例如可以是从数据库或存储介质获取,也可以是接收其他装置或设备通过通信网络发送的数据,还可以是通过摄像头拍摄、麦克风录音等方式获取。
初始神经网络模型可以是需要训练最优结构参数、最优权重参数的神经网络模型,即不是具有最优结构参数、最优权重参数的神经网络模型。本申请对初始神经网络模型的类型不作限定。该初始神经网络模型的类型可以是卷积神经网络模型、深度神经网络模型等。
结构参数以及权重参数均可以被视为变量。通过为结构参数以及权重参数赋予特定的数值,使得初始神经网络模型可以对待训练数据进行识别。通过优化赋予该结构参数以及权重参数的数值,可以提升该初始神经网络模型识别数据的准确度,最终可以获得识别性能较优的神经网络模型。
权重参数的更新是基于权重参数的初始值进行更新,例如ω1=ω0+Δω,其中,ω1可以是更新后的权重参数,ω0可以是权重参数的初始值,Δω可以是权重参数的更新量。而在多次迭代过程中,权重参数可以被多次更新。那么,当前更新后的权重参数可以被视为在下一次更新开始后的权重参数的初始值。
为了提高训练最优结构参数、最优权重参数的可收敛性,可以将不同的数据输入初始神经网络模型,从而分别对结构参数、权重参数进行更新。将第一待训练数据输入初始神经网络模型的主要目的是更新权重参数。将第二待训练数据输入初始神经网络模型的主要目的是更新结构参数。
损失函数用于表示初始神经网络模型的输出结果与输入数据的标签之间的相似度。例如,当输出结果与输入数据的标签之间的相似度较小时,损失函数的函数值较大;当输出结果与输入数据的标签之间的相似度较大时,损失函数的函数值较小。输出结果与输入数据之间的相似度可以通过特征1与特征2的相似度表示,其中,特征1用于表征输入数据,特征2用于表征输出结果。
本申请中的第一损失函数与权重参数对应。也就是说,第一损失函数用于训练最优权重参数。例如,采用梯度下降法,可以根据第一损失函数对权重参数的梯度,训练最优权重参数。然而,由于初始神经网络模型中的结构参数不是最优的,因此第一损失函数可以包含权重参数(变量)以及结构参数(变量)。
本申请中的第二损失函数与结构参数对应。也就是说,第二损失函数用于训练最优结构参数。例如,采用梯度下降法,可以根据第二损失函数对结构参数的梯度,训练最优结构参数。然而,由于初始神经网络模型中的权重参数不是最优的,因此第二损失函数可以包含权重参数(变量)以及结构参数(变量)。
第一梯度值、第二梯度值、第三梯度值的具体表现形式均可以是向量、矩阵等形式。第一梯度值、第二梯度值、第三梯度值均可以是估算值。
在一个示例中,该第二损失函数内的权重参数(变量)的取值可以是最近更新的权重参数的取值。在一个示例中,该第二损失函数内的权重参数(变量)的取值可以是对初始权重参数进行更新得到的数值,该初始权重参数的取值为最近更新的权重参数的取值。
在本申请实施例中,通过堆叠构建单元可以实现机器构建神经网络模型架构;并且,在多次迭代过程中综合考虑权重参数、结构参数对迭代结果的影响,有利于选取合适的神经网络模型参数,从而可以得到能够准确识别例如图片、音频、视频、文字等多媒体数据的神经网络模型。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据第四梯度值,对所述权重参数进行更新,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
在本申请实施例中,通过第一损失函数对权重参数的一阶梯度来更新权重参数,有利于选择一个合适的更新方向,以减少权重参数更新的误差,提高确定神经网络模型的权重参数以及结构参数的效率。
在一个示例中,更新后的权重参数
Figure BDA0002215546640000031
其中λ1为权重参数更新学习率。
结合第一方面,在第一方面的某些实现方式中,所述第二梯度值表示为:
Figure BDA0002215546640000032
其中,
Figure BDA0002215546640000033
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
在本申请实施例中,由于最近更新的权重参数的取值可以被认为是与最优权重参数相似度最近的数值,选取更新后的权重参数,有利于提高确定神经网络模型的参数的效率;而在更新权重参数之后更新结构参数,可以减少因结构参数选取错误而对权重参数所产生的影响。由于第一损失函数用于更新权重参数,然而初始神经网络模型中的权重参数不是最优的权重参数,因此权重参数的取值会影响第一损失函数的函数值的准确性,从而间接影响基于第二损失函数更新的结构参数。本申请中可以通过第二梯度值考虑权重参数的取值对第一损失函数的影响,有利于提高神经网络模型的参数的准确性。
结合第一方面,在第一方面的某些实现方式中,所述结构参数用于指示跳连接操作或卷积操作。
在本申请实施例中,本申请提供的方法能够准确确定神经网络模型的参数,因此在计算量基本不变的情况下,可以增大神经网络模型中待确定的参数,例如神经网络模型中可以包含多种数据转换操作。
结合第一方面,在第一方面的某些实现方式中,所述多个构建单元包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
在本申请实施例中,本申请提供的方法能够准确确定神经网络模型的参数,因此在计算量基本不变的情况下,可以增大神经网络模型中待确定的参数,例如可以分别确定多个构建单元内的最优操作。
结合第一方面,在第一方面的某些实现方式中,所述多个构建单元中任意两个构建单元的结构类型相同。
第二方面,提供了一种训练神经网络模型的方法,包括:获取多个构建单元、第三待训练数据以及第四待训练数据;堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;将所述第三待训练数据输入所述初始神经网络模型,得到第三输出结果,所述第三待训练数据用于对所述权重参数更新;将所述第四待训练数据输入所述初始神经网络模型,得到第四输出结果,所述第四待训练数据用于对所述结构参数更新;根据第五梯度值、第六梯度值以及第七梯度值,对所述权重参数进行更新,以得到满足预设要求的、用于识别多媒体数据的神经网络模型,所述第五梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为所述第三损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于确定所述第三待训练数据所对应的第三标签与所述第三输出结果之间的相似度,所述第四损失函数用于确定所述第四待训练数据所对应的第四标签与所述第四输出结果之间的相似度。
待训练数据可以是多媒体数据,例如可以是图片、音频文件(如语音)、视频文件等。
待训练数据的获取方式例如可以是从数据库或存储介质获取,也可以是接收其他装置或设备通过通信网络发送的数据,还可以是通过摄像头拍摄、麦克风录音等方式获取。
初始神经网络模型可以是需要训练最优结构参数、最优权重参数的神经网络模型,即不是具有最优结构参数、最优权重参数的神经网络模型。本申请对初始神经网络模型的类型不作限定。该初始神经网络模型的类型可以是卷积神经网络模型、深度神经网络模型等。
结构参数以及权重参数均可以被视为变量。通过为结构参数以及权重参数赋予特定的数值,使得初始神经网络模型可以对数据进行识别。通过优化赋予该结构参数以及权重参数的数值,可以提升该初始神经网络模型识别数据的准确度,最终可以获得识别性能较优的神经网络模型。
结构参数的更新是基于结构参数的初始值进行更新,例如α1=α0+Δα,其中,α1可以是更新后的结构参数,α0可以是结构参数的初始值,Δα可以是结构参数的更新量。而在多次迭代过程中,结构参数可以被多次更新,那么,当前更新后的结构参数可以被视为在下一次更新开始后的结构参数的初始值。
为了提高训练最优结构参数、最优权重参数的可收敛性,可以将不同的数据输入初始神经网络模型,从而分别对结构参数、权重参数进行更新。将第一待训练数据输入初始神经网络模型的主要目的是更新权重参数。将第二待训练数据输入初始神经网络模型的主要目的是更新结构参数。
损失函数用于表示初始神经网络模型的输出结果与输入数据的标签之间的相似度。例如,当输出结果与输入数据的标签之间的相似度较小时,损失函数的函数值较大;当输出结果与输入数据的标签之间的相似度较大时,损失函数的函数值较小。输出结果与输入数据之间的相似度可以通过特征1与特征2的相似度表示,其中,特征1用于表征输入数据,特征2用于表征输出结果。
本申请中的第三损失函数与权重参数对应。也就是说,第三损失函数用于训练最优权重参数。例如,采用梯度下降法,可以根据第三损失函数对权重参数的梯度,训练最优权重参数。然而,由于初始神经网络模型中的结构参数不是最优的,因此第三损失函数可以包含权重参数(变量)以及结构参数(变量)。
本申请中的第四损失函数与结构参数对应。也就是说,第四损失函数用于训练最优结构参数。例如,采用梯度下降法,可以根据第四损失函数对结构参数的梯度,训练最优结构参数。然而,由于初始神经网络模型中的权重参数不是最优的,因此第四损失函数可以包含权重参数(变量)以及结构参数(变量)。
第五梯度值、第六梯度值、第七梯度值的具体表现形式均可以是向量、矩阵等形式。第五梯度值、第六梯度值、第七梯度值均可以是估算值。
在一个示例中,该第四损失函数内的权重参数(变量)的取值可以是最近更新的权重参数的取值。在一个示例中,该第四损失函数内的权重参数(变量)的取值可以是对初始权重参数进行更新得到的数值,该初始权重参数的取值为最近更新的权重参数的取值。
在本申请实施例中,通过堆叠构建单元可以实现机器构建神经网络模型架构;并且,在多次迭代过程中综合考虑权重参数、结构参数对迭代结果的影响,有利于选取合适的神经网络模型参数,从而可以得到能够准确识别例如图片、音频、视频、文字等多媒体数据的神经网络模型。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:根据第八梯度值,对所述结构参数进行更新,所述第八梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值。
在本申请实施例中,通过第四损失函数对结构参数的一阶梯度来更新结构参数,有利于选择一个合适的更新方向,以减少结构参数更新的误差,提高确定神经网络模型的结构参数以及权重参数的效率。
在一个示例中,更新后的结构参数
Figure BDA0002215546640000051
其中λ3为结构参数更新学习率。
结合第二方面,在第二方面的某些实现方式中,所述第六梯度值表示为:
Figure BDA0002215546640000052
其中,
Figure BDA0002215546640000053
用于表示对所述结构函数求梯度,L3(α,ω)为所述第三损失函数,L4(α,ω)为所述第四损失函数,α1为更新后的结构参数,ω0为当前采用的权重参数,δ为系数。
在本申请实施例中,由于最近更新的结构参数的取值可以被认为是与最优结构参数相似度最近的数值,选取更新后的结构参数,有利于提高确定神经网络模型的参数的效率;而在更新结构参数之后更新权重参数,可以减少因权重参数选取错误而对结构参数所产生的影响。由于第四损失函数用于更新结构参数,然而初始神经网络模型中的结构参数不是最优的结构参数,因此结构参数的取值会影响第四损失函数的函数值的准确性,从而间接影响基于第三损失函数更新的权重参数。本申请中可以通过第六梯度值考虑结构参数的取值对第三损失函数的影响,有利于提高神经网络模型的参数的准确性。
结合第二方面,在第二方面的某些实现方式中,所述结构参数用于指示跳连接操作或卷积操作。
在本申请实施例中,本申请提供的方法能够准确确定神经网络模型的参数,因此在计算量基本不变的情况下,可以增大神经网络模型中待确定的参数,例如神经网络模型中可以包含多种数据转换操作。
结合第二方面,在第二方面的某些实现方式中,所述多个构建单元包括第三构建单元以及第四构建单元,所述结构参数包括与所述第三构建单元对应的第三结构参数以及与所述第四构建单元对应的第四结构参数,所述第三结构参数与所述第四结构参数不同。
在本申请实施例中,本申请提供的方法能够准确确定神经网络模型的参数,因此在计算量基本不变的情况下,可以增大神经网络模型中待确定的参数,例如可以分别确定多个构建单元内的最优操作。
结合第二方面,在第二方面的某些实现方式中,所述多个构建单元中任意两个构建单元的结构类型相同。
第三方面,提供了一种数据处理的方法,包括:获取多媒体文件;使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述结构参数由第一梯度值、第二梯度值以及第三梯度值确定,所述第一梯度值为第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于对所述权重参数更新,所述第二损失函数用于对所述结构参数更新。
在本申请实施例中,通过堆叠构建单元可以实现机器构建神经网络模型架构;并且,在多次迭代过程中综合考虑权重参数、结构参数对迭代结果的影响,有利于选取合适的神经网络模型参数,从而可以得到能够准确识别例如图片、音频、视频、文字等多媒体数据的神经网络模型。
结合第三方面,在第三方面的某些实现方式中,所述权重参数由第四梯度值确定,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
结合第三方面,在第三方面的某些实现方式中,所述第二梯度值表示为:
Figure BDA0002215546640000061
其中,
Figure BDA0002215546640000062
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
结合第三方面,在第三方面的某些实现方式中,所述目标神经网络模型包括第一节点以及第二节点,所述第一节点输出的数据经过目标操作后被输入至所述第二节点,所述目标操作包括跳连接操作或卷积操作。
结合第三方面,在第三方面的某些实现方式中,所述目标神经网络模型包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
结合第三方面,在第三方面的某些实现方式中,所述第一构建单元的结构类型与所述第二构建单元的结构类型相同。
第四方面,提供了一种数据处理的方法,包括:
获取多媒体文件;使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述权重参数由第五梯度值、第六梯度值以及第七梯度值确定,所述第五梯度值为第三损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为第四损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于对所述权重参数更新,所述第四损失函数用于对所述结构参数更新。
在本申请实施例中,通过堆叠构建单元可以实现机器构建神经网络模型架构;并且,在多次迭代过程中综合考虑权重参数、结构参数对迭代结果的影响,有利于选取合适的神经网络模型参数,从而可以得到能够准确识别例如图片、音频、视频、文字等多媒体数据的神经网络模型。
结合第四方面,在第四方面的某些实现方式中,所述结构参数由第八梯度值确定,所述第八梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值。
结合第四方面,在第四方面的某些实现方式中,所述第六梯度值表示为:
Figure BDA0002215546640000071
其中,
Figure BDA0002215546640000072
用于表示对所述权重函数求梯度,L3(α,ω)为所述第三损失函数,L4(α,ω)为所述第四损失函数,α1为更新后的结构参数,ω0为当前采用的权重参数,δ为系数。
结合第四方面,在第四方面的某些实现方式中,所述目标神经网络模型包括第三节点以及第四节点,所述第三节点输出的数据经过目标操作后被输入至所述第四节点,所述目标操作包括跳连接操作或卷积操作。
结合第四方面,在第四方面的某些实现方式中,所述目标神经网络模型包括第三构建单元以及第四构建单元,所述结构参数包括与所述第三构建单元对应的第三结构参数以及与所述第四构建单元对应的第四结构参数,所述第三结构参数与所述第四结构参数不同。
结合第四方面,在第四方面的某些实现方式中,所述第三构建单元的结构类型与所述第四构建单元的结构类型相同。
第五方面,提供了一种训练神经网络模型的装置,包括:获取模块,用于获取多个构建单元、第一待训练数据以及第二待训练数据;处理模块,用于堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;所述处理模块还用于,将所述第一待训练数据输入所述初始神经网络模型,得到第一输出结果,所述第一待训练数据用于对所述权重参数更新;所述处理模块还用于,将所述第二待训练数据输入所述初始神经网络模型,得到第二输出结果,所述第二待训练数据用于对所述结构参数更新;所述处理模块还用于,根据第一梯度值、第二梯度值以及第三梯度值,对所述结构参数进行更新,以得到满足预设要求、用于识别多媒体数据的目标神经网络模型,所述第一梯度值为所述第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为所述第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于确定所述第一待训练数据所对应的第一标签与所述第一输出结果之间的相似度,所述第二损失函数用于确定所述第二待训练数据所对应的第二标签与所述第二输出结果之间的相似度。
结合第五方面,在第五方面的某些实现方式中,所述处理模块还用于,根据第四梯度值,对所述权重参数进行更新,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
结合第五方面,在第五方面的某些实现方式中,所述第二梯度值表示为:
Figure BDA0002215546640000081
其中,
Figure BDA0002215546640000082
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
结合第五方面,在第五方面的某些实现方式中,所述目标神经网络模型包括第三节点以及第四节点,所述第三节点输出的数据经过目标操作后被输入至所述第四节点,所述目标操作包括跳连接操作或卷积操作。
结合第五方面,在第五方面的某些实现方式中,所述多个构建单元包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
结合第五方面,在第五方面的某些实现方式中,所述多个构建单元中任意两个构建单元的结构类型相同。
第六方面,提供了一种训练神经网络模型的装置,包括:获取模块,用于获取多个构建单元、第三待训练数据以及第四待训练数据;处理模块,堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;所述处理模块还用于,将所述第三待训练数据输入所述初始神经网络模型,得到第三输出结果,所述第三待训练数据用于对所述权重参数更新;所述处理模块还用于,将所述第四待训练数据输入所述初始神经网络模型,得到第四输出结果,所述第四待训练数据用于对所述结构参数更新;所述处理模块还用于,根据第五梯度值、第六梯度值以及第七梯度值,对所述权重参数进行更新,以得到满足预设要求的、用于识别多媒体数据的神经网络模型,所述第五梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为所述第三损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于确定所述第三待训练数据所对应的第三标签与所述第三输出结果之间的相似度,所述第四损失函数用于确定所述第四待训练数据所对应的第四标签与所述第四输出结果之间的相似度。
结合第六方面,在第六方面的某些实现方式中,所述处理模块还用于,根据第八梯度值,对所述结构参数进行更新,所述第八梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值。
结合第六方面,在第六方面的某些实现方式中,所述第六梯度值表示为:
Figure BDA0002215546640000083
其中,
Figure BDA0002215546640000084
用于表示对所述结构函数求梯度,L3(α,ω)为所述第三损失函数,L4(α,ω)为所述第四损失函数,α1为更新后的结构参数,ω0为当前采用的权重参数,δ为系数。
结合第六方面,在第六方面的某些实现方式中,所述结构参数用于指示跳连接操作或卷积操作。
结合第六方面,在第六方面的某些实现方式中,所述多个构建单元包括第三构建单元以及第四构建单元,所述结构参数包括与所述第三构建单元对应的第三结构参数以及与所述第四构建单元对应的第四结构参数,所述第三结构参数与所述第四结构参数不同。
结合第六方面,在第六方面的某些实现方式中,所述多个构建单元中任意两个构建单元的结构类型相同。
第七方面,提供了一种数据处理的装置,包括:获取模块,用于获取多媒体文件;处理模块,用于使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述结构参数由第一梯度值、第二梯度值以及第三梯度值确定,所述第一梯度值为第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于对所述权重参数更新,所述第二损失函数用于对所述结构参数更新。
结合第七方面,在第七方面的某些实现方式中,所述权重参数由第四梯度值确定,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
结合第七方面,在第七方面的某些实现方式中,所述第二梯度值表示为:
Figure BDA0002215546640000091
其中,
Figure BDA0002215546640000092
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
结合第七方面,在第七方面的某些实现方式中,所述目标神经网络模型包括第一节点以及第二节点,所述第一节点输出的数据经过目标操作后被输入至所述第二节点,所述目标操作包括跳连接操作或卷积操作。
结合第七方面,在第七方面的某些实现方式中,所述目标神经网络模型包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
结合第七方面,在第七方面的某些实现方式中,所述第一构建单元的结构类型与所述第二构建单元的结构类型相同。
第八方面,提供了一种数据处理的装置,包括:获取模块,用于获取多媒体文件;处理模块,用于使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述权重参数由第五梯度值、第六梯度值以及第七梯度值确定,所述第五梯度值为第三损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为第四损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于对所述权重参数更新,所述第四损失函数用于对所述结构参数更新。
结合第八方面,在第八方面的某些实现方式中,所述结构参数由第八梯度值确定,所述第八梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值。
结合第八方面,在第八方面的某些实现方式中,所述第六梯度值表示为:
Figure BDA0002215546640000101
其中,
Figure BDA0002215546640000102
用于表示对所述权重函数求梯度,L3(α,ω)为所述第三损失函数,L4(α,ω)为所述第四损失函数,α1为更新后的结构参数,ω0为当前采用的权重参数,δ为系数。
结合第八方面,在第八方面的某些实现方式中,所述目标神经网络模型包括第三节点以及第四节点,所述第三节点输出的数据经过目标操作后被输入至所述第四节点,所述目标操作包括跳连接操作或卷积操作。
结合第八方面,在第八方面的某些实现方式中,所述目标神经网络模型包括第三构建单元以及第四构建单元,所述结构参数包括与所述第三构建单元对应的第三结构参数以及与所述第四构建单元对应的第四结构参数,所述第三结构参数与所述第四结构参数不同。
结合第八方面,在第八方面的某些实现方式中,所述第三构建单元的结构类型与所述第四构建单元的结构类型相同。
第九方面,提供了一种训练神经网络模型的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面至第二方面中的任意一种实现方式中的方法。
可选的,所述装置可以是云端服务器,也可以是终端设备。
第十方面,提供了一种数据处理的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第三方面至第四方面中的任意一种实现方式中的方法。
可选的,所述装置可以是云端服务器,也可以是终端设备。
第十一方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面至第四方面中的任意一种实现方式中的方法。
第十二方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面至第四方面中的任意一种实现方式中的方法。
第十三方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面至第四方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面至第四方面中的任意一种实现方式中的方法。
附图说明
图1是本申请实施例提供的对神经网络中给定层执行计算的流程示意图。
图2为本申请实施例提供的一种应用环境示意图。
图3为本申请实施例提供的一种卷积神经网络模型示意图。
图4为本申请实施例提供的一种卷积神经网络模型示意图。
图5为本申请实施例提供的一种构建单元以及待训练神经网络模型的结构示意图。
图6为本申请实施例提供的一种神经网络处理器的结构示意图。
图7为本申请实施例提供的一种云端系统的结构示意图。
图8为本申请实施例的一种训练神经网络模型的方法的示意性流程图。
图9是本申请实施例的一种构建单元的结构示意图。
图10是本申请实施例的一种初始神经网络模型的结构示意图。
图11是本申请实施例的一种数据处理的方法的示意性流程图。
图12是本申请实施例的一种训练神经网络模型的方法的示意性流程图。
图13是本申请实施例的一种数据处理的方法的示意性流程图。
图14是本申请实施例的训练神经网络模型装置的示意性框图。
图15是本申请实施例的数据处理装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0002215546640000111
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下表达式:
Figure BDA0002215546640000121
其中,
Figure BDA0002215546640000122
是输入向量,
Figure BDA0002215546640000123
是输出向量,
Figure BDA0002215546640000124
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure BDA0002215546640000125
经过如此简单的操作得到输出向量
Figure BDA0002215546640000126
由于DNN层数多,则系数W和偏移向量
Figure BDA0002215546640000127
的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure BDA0002215546640000128
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure BDA0002215546640000129
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(CNN,Convolutional Neuron Network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
图1是使用专用的硬件电路执行对神经网络的给定层的计算的示例性过程100的流程图。为了方便,将关于具有执行方法100的一个或多个电路的系统来描述方法100。能够对神经网络的各层执行方法100,以便从接收的输入计算推理。
系统接收给定层的权重输入的组(步骤102)以及激活输入的组(步骤104)。权重输入的组和激活输入的组能够分别从专用的硬件电路的动态存储器和统一缓冲器来接收。在一些实现中,权重输入的组和激活输入的组均从统一缓冲器接收。
系统使用专用硬件电路的矩阵乘法单元,从权重输入和激活输入生成累加值(步骤106)。在一些实现中,累加值是权重输入的组以及激活输入的组的点积。即对于一组权重,系统能够使各个权重输入与各个激活输入相乘,并且将乘积加在一起以形成累加值。然后,系统能够计算其它组的权重与其它组的激活输入的点积。
系统能够使用专用硬件电路的矢量计算单元,从累加值生成层输出(步骤108)。在一些实现中,矢量计算单元对累加值应用激活函数。该层的输出能够存储在统一缓冲器中,用作对神经网络中的后续层的输入,或者能够用于确定推理。当接收的输入己经通过神经网络的各个层而被处理以生成用于接收的输入的推理时,系统完成了对神经网络的处理。
参见附图2,本申请实施例提供了一种系统架构200。数据采集设备260用于采集待训练数据并存入数据库230,本申请实施例中待训练数据可以包括:图像数据、视频数据、音频数据、文本数据等。训练设备220基于数据库230中维护的待训练数据生成目标模型/规则201。下面将更详细地描述训练设备220如何基于待训练数据得到目标模型/规则201,目标模型/规则201能够用于实现本申请提供的数据处理的方法。
深度神经网络中的每一层的工作可以用数学表达式
Figure BDA0002215546640000131
来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由
Figure BDA0002215546640000132
完成,4的操作由
Figure BDA0002215546640000133
完成,5的操作则由α()来实现。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵和偏置向量。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
训练设备220得到的目标模型/规则201可以应用不同的系统或设备中,如应用于图2所示的执行设备210,所述执行设备210可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在附图2中,执行设备210配置有输入/输出接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向输入/输出接口212输入数据。所述输入数据在本申请实施例中可以包括:图像数据、视频数据、音频数据、文本数据等。输入数据可以是用户输入的,也可以是从数据库中导出的。
在执行设备210对输入/输出接口212接收到的输入数据进行预处理,或者在执行设备210的计算模块211执行计算等相关的处理过程中,执行设备210可以调用数据存储系统250中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统250中。对数据进行预处理例如可以是执行图像降噪、图像压缩等处理。
计算模块211使用目标模型/规则201对输入的数据进行处理。
最后,输入/输出接口212将处理结果返回给客户设备240,从而提供给用户。
更深层地,训练设备220可以针对不同的目标或者不同的任务,基于不同的待训练数据生成相应的目标模型/规则201,该相应的目标模型/规则201即可以用于实现上述目标或完成上述任务,以给用户提供更佳的结果。
在附图2中所示情况下,用户可以手动指定输入执行设备210中的数据,例如,在输入/输出接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向输入/输出接口212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端,采集如图所示输入输入/输出接口212的输入数据及输出输入/输出接口212的输出结果作为新的样本数据,并存入数据库230。当然,也可以不经过客户设备240进行采集,而是由输入/输出接口212直接将如图所示输入输入/输出接口212的输入数据及输出输入/输出接口212的输出结果,作为新的样本数据存入数据库230。
值得注意的,附图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。
如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像做出响应。
如图3所示,卷积神经网络(CNN)300可以包括输入层310,卷积层/池化层320,其中池化层为可选的,以及神经网络层330。
卷积层/池化层320:
卷积层:
如图3所示卷积层/池化层320可以包括如示例321-326层,在一种实现中,321层为卷积层,322层为池化层,323层为卷积层,324层为池化层,325为卷积层,326为池化层;在另一种实现方式中,321、322为卷积层,323为池化层,324、325为卷积层,326为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层321为例,卷积层321可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或多个像素接着多个像素,这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络300进行正确的预测。
当卷积神经网络300有多个卷积层的时候,初始的卷积层(例如321)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络300深度的加深,越往后的卷积层(例如326)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中320所示例的321-326各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的纵深维度应该与图像的纵深维度相关一样,池化层中的运算符也应该与图像的纵深维度相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
全连接层(fully connected layer,FC层)330:
在经过卷积层/池化层320的处理后,卷积神经网络300还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层320只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络300需要利用全连接层330来生成一个或者一组所需要的类的数量的输出。因此,在全连接层330中可以包括多层隐含层(如图3所示的331、332至33n)以及输出层340,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在全连接层330中的多层隐含层之后,也就是整个卷积神经网络300的最后层为输出层340,该输出层340具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络300的前向传播(如图3由310至340的传播为前向传播)完成,反向传播(如图3由340至310的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络300的损失及卷积神经网络300通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图3所示的卷积神经网络300仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全连接层330进行处理。图3所示的卷积神经网络包含链式结构的构建单元,图4所示的卷积神经网络包含多叉结构的构建单元,图3所示的卷积神经网络作为一个整体可以被视为一种基于细胞(cell)的构建单元,图4所示所示的卷积神经网络作为一个整体可以被视为一种基于细胞cell的构建单元。
下面通过图5介绍不同类型的构建单元以及通过堆叠构建单元形成的搜索网络。
图5的(a)所示的构建单元为一种链状结构的构建单元。图5的(a)中的构建单元包括输入层、输出层,以及L0-Ln神经网络层。其中,神经网络层又可以被称作节点。其中,输入Li神经网络层的数据是来自Li-1层神经网络层,Li神经网络层输出的数据可以被输入至Li+1神经网络层,其中0<i<n。L0-Ln神经网络层中的任一神经网络层可以是卷积层或池化层,L0-Ln神经网络层中的任一神经网络层可以包括神经网络参数,例如卷积尺寸、卷积步长等。
图5的(b)所示的构建单元为一种多叉结构的构建单元。图5的(b)中的构建单元包括输入层、输出层,以及M0-M9神经网络层。其中,神经网络层又可以被称作节点。其中,该构件单元中包括至少一个第一神经网络层,该第一神经网络层输出的数据可以被输入至多个神经网络层;和/或,该构件单元中包括至少一个第二神经网络层,输入该第二神经网络层的数据可以来自多个神经网络层。例如,M0神经网络层输出的数据可以被输入至M2神经网络层以及M8神经网络层;M3神经网络层输出的数据可以被输入至M4神经网络层以及M5神经网络层;输入M4神经网络层的数据可以来自M3神经网络层以及M2神经网络层;M4神经网络层输出的数据可以被输入至M6神经网络层以及M7神经网络层;输入M7神经网络层的数据可以来自M4神经网络层以及M5神经网络层;输入M8神经网络层的数据可以来自M0神经网络层以及M6神经网络层。M0-M9神经网络层中的任一神经网络层可以是卷积层或池化层,M0-M9神经网络层中的任一神经网络层可以包括神经网络参数,例如卷积尺寸、卷积步长等。
图5的(c)、(d)示出了基于细胞的构建单元的示例。图5的(c)所示的构建单元作为一个整体可以被视为是基于细胞的构建单元。其中,在图5的(c)所示的构建单元中,可以将数据分别输入至N0神经网络层以及N1神经网络层,并将N0神经网络层以及N1神经网络层输出的数据汇总并输出。其中,神经网络层又可以被称作节点。图5的(d)所示的构建单元作为一个整体可以被视为是基于细胞的构建单元。其中,在图5的(d)所示的构建单元中,可以将数据分别输入至N2神经网络层、N3神经网络层、N4神经网络层,并将N2神经网络层、N3神经网络层、N4神经网络层输出的数据汇总并输出。其中,神经网络层又可以被称作节点。
将两个图5的(c)所示的构建单元与一个图5的(d)所示的构建单元堆叠可以形成图5的(e)所示的搜索网络。由于该搜索网络中包含待训练的权重参数以及结构参数,因此搜索网络又可以被称作为初始神经网络模型(即不是最终的神经网络模型)、超网络(supernet)。而确定搜索网络中的权重参数以及结构参数的过程又可以被称作为搜索神经网络结构或训练神经网络模型。其中,P0神经网络层、P1神经网络层作为一个整体可以被视为是图5的(c)所示的构建单元,P3神经网络层、P4神经网络层、P5神经网络层作为一个整体可以被视为是图5的(d)所示的构建单元,P7神经网络层、P8神经网络层作为一个整体可以被视为是图5的(c)所示的构建单元。搜索网络可以保留原先构建单元中数据的流向。例如,在图5的(c)所示的构建单元中,数据在经过N0神经网络层以及N1神经网络层之后可以汇总输出,而在图5的(e)所示的堆叠后的搜索网络中,数据在经过P0神经网络层、P1神经网络层之后可以汇总输出。
相邻的两个神经网络层是指,前一神经网络层输出的目标数据被直接输入至后一神经网络层,即该目标数据在被输入至该后一神经网络层之前并没有经过其他神经网络层。例如,P0神经网络层与P2神经网络层为相邻的两个神经网络层。
在搜索网络中,在相邻的两个神经网络层之间的数据流操作的类型可以由结构参数确定,特定操作的具体参数可以由权重参数确定。结构参数的具体形式可以是向量、矩阵等形式,权重参数的具体形式可以是向量、矩阵等形式。数据流操作例如可以是卷积操作、跳连接操作(skip-connect)操作。例如,P0神经网络层输出的数据可以在经过卷积操作后被输入至P2神经网络层。在搜索网络中包含多个数据流操作时,结构参数可以用于确定相邻的两个神经网络层之间的数据流操作。例如,卷积操作对应0,跳连接操作对应1,当结构参数的取值更偏向于0时,数据流操作可以是卷积操作。又如,当与卷积操作对应的结构参数的取值为0.1,与跳连接操作对应的结构参数的取值为0.9,可以对数据流执行卷积操作以及跳连接操作,并将两种操作得到的结果合并,其中卷积操作的权重为0.1,跳连接操作的权重为0.9。搜索网络的权重参数用于表示某个操作本身的参数,例如卷积操作可以包括神经元1到神经元2之间的线性系数。由于最终获得的神经网络模型至少能够识别特定场景以解决相应的问题,因此需要多次迭代以训练到最优或近似最优的权重参数以及结构参数。
图2所示的训练设备220除了可以训练如图5的(a)-(d)所示的构建单元的参数,还可以训练通过堆叠构建单元得到的搜索网络的参数(如图5的(e)所示),以获得目标模型/规则201。
图6为本申请实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器60。如图3-5所示的神经网络中各层的算法均可在如图6所示的芯片中得以实现。
神经网络处理器NPU 60可以作为协处理器挂载到主CPU(Host CPU)上,由HostCPU分配任务。NPU的核心部分为运算电路603,控制器604控制运算电路603提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路603内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路603是二维脉动阵列。运算电路603还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路603是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器602中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器601中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)608中。
向量计算单元607可以对运算电路603的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元607可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现中,向量计算单元能607将经处理的输出的向量存储到统一缓存器606。例如,向量计算单元607可以将非线性函数应用到运算电路603的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元607生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路603的激活输入,例如用于在神经网络中的后续层中的使用。
本申请提供的方法的部分或全部步骤可以由运算电路603或向量计算单元607执行。
统一存储器606用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器605(Direct Memory AccessController,DMAC)将外部存储器中的输入数据搬运到输入存储器601和/或统一存储器606、将外部存储器中的权重数据存入权重存储器602,以及将统一存储器606中的数据存入外部存储器。
总线接口单元(Bus Interface Unit,BIU)610,用于通过总线实现主CPU、DMAC和取指存储器609之间进行交互。
与控制器604连接的取指存储器(instruction fetch buffer)609,用于存储控制器604使用的指令。
控制器604,用于调用取指存储器609中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器606,输入存储器601,权重存储器602以及取指存储器609均为片上(On-Chip)存储器,外部存储器为私有于该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,简称DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
其中,图3-5所示的神经网络中各层的运算可以由运算电路603或向量计算单元607执行。
如图7所示,本申请实施例提供了一种系统架构700。该系统架构包括本地设备701、本地设备702以及执行设备710和数据存储系统750,其中,本地设备701和本地设备702通过通信网络与执行设备710连接。
执行设备710可以由一个或多个服务器实现。可选的,执行设备710可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备710可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备710可以使用数据存储系统750中的数据,或者调用数据存储系统750中的程序代码来实现本申请实施例的训练神经网络模型的方法。
具体地,执行设备710可以搭建成一个图像识别神经网络,该图像识别神经网络可以用于图像识别或者进行图像处理等等。
用户可以操作各自的用户设备(例如本地设备701和本地设备702)与执行设备710进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备710进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在另一种实现中,执行设备710的一个方面或多个方面可以由每个本地设备实现,例如,本地设备701可以为执行设备710提供本地数据或反馈计算结果。
需要注意的,执行设备710的所有功能也可以由本地设备实现。例如,本地设备701实现执行设备710的功能并为自己的用户提供服务,或者为本地设备702的用户提供服务。上述执行设备710也可以称为云端设备,此时执行设备710一般部署在云端。
在将多个构建单元堆叠在一起形成搜索网络之后,需要更新该搜索网络的参数,以获得最终的神经网络。其中,搜索网络的参数包括权重参数以及结构参数。权重参数为构建单元内的参数,结构参数用于表示构建单元与构建单元之间是否关联以及关联权重。例如,构建单元1与构建单元2之间不存在关联,则结构参数为0可以用于表示构建单元1与构建单元2之间不存在关联;构建单元1与构建单元2之间存在关联,则结构参数为a(a不等于0)可以用于表示构建单元1与构建单元2之间存在关联,且a的数值越大,构建单元1与构建单元2之间关联越紧密。
当损失函数的取值越小,权重参数的取值以及结构参数的取值越优。本申请使用梯度下降法确定最佳的权重参数以及结构参数。因此,沿着损失函数对权重参数的梯度下降的方向有利于寻找到损失函数的最小值,从而确定最优的权重参数。类似地,沿着损失函数对结构参数的梯度下降的方向有利于寻找到损失函数的最小值,从而确定最优的权重参数。由于需要确定最优的权重参数以及最优的结构参数,而二者往往无法通过相同的损失函数来确定。因此需要通过损失函数1先搜寻较优的权重参数,再在较优的权重参数的基础上通过损失函数2搜寻较优的结构参数。多次迭代后可以获得最优的权重参数以及最优的结构参数。本申请提供一种高效、精确计算最优结构参数以及权重参数的方法,从而获得稳定性良好、能够适应真实场景的神经网络模型。
图8所示为本申请提供的一种训练神经网络模型的方法的示意性流程图。方法800可以由如图2所示的训练设备220执行。
801,获取多个构建单元、第一待训练数据以及第二待训练数据。
构建单元的类型例如可以是链式结构的构建单元(如图5的(a)所示)、多叉结构的构建单元(如图5的(b)所示)、基于细胞(cell)的构建单元(如图5的(c)、图5的(d)所示)。本申请对于构建单元的类型不作限定。上文通过图5的(a)-(d)已经对构建单元作了详细定义,在此就不再赘述。
待训练数据可以是多媒体数据,例如可以是图片、音频文件(如语音)、视频文件等。
待训练数据的获取方式例如可以是从数据库或存储介质获取,也可以是接收其他装置或设备通过通信网络发送的数据,还可以是通过摄像头拍摄、麦克风录音等方式获取。
可选的,所述多个构建单元中任意两个构建单元的结构类型相同。
图9所示为一种构建单元的示意性结构图。构建单元900包括输入1节点、输入2节点、Q1节点、Q2节点、Q3节点、Q4节点以及输出节点,其中,Q1节点输出的数据可以被输入至Q2节点以及该构建单元的输出节点,Q2节点输出的数据可以被输入至Q3节点以及该构建单元的输出节点,Q3节点输出的数据可以被输入至Q4节点以及该构建单元的输出节点,Q4节点输出的数据可以被输入至该构建单元的输出节点。可以通过该构建单元900内的输入1节点和输入2节点,将数据输入至构建单元900。
802,堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数。
本申请对初始神经网络模型的类型不作限定。该初始神经网络模型的类型可以是卷积神经网络模型、深度神经网络模型等。
上文通过图5的(e)详细介绍了如何通过堆叠多个构建单元得到初始神经网络模型,以及初始神经网络模型的权重参数以及结构参数,在此不再详细赘述。
将Z个如图9所示的构建单元900堆叠在一起,可以形成初始神经网络模型。初始神经网络模型的结构参数可以用于指示跳连接操作或者卷积操作。卷积操作例如可以是卷积核尺寸为3×3、5×5等的卷积操作。按照数据流的传递方向可以为Z个构建单元标号,其中编号较小的构建单元所输出的数据可以被输入至编号较大的构建单元中,Z为大于1的整数。在一个示例中,输入当前构建单元的输入1节点的数据可以是当前构建单元的前一构建单元所输出的数据,输入当前构建单元的输入2节点的数据可以是当前构建单元的前二构建单元所输出的数据。图10所示为一种初始神经网络模型的局部示意图。如图10所示,初始神经网络模型至少包括构建单元1001以及构建单元1002。其中,构建单元1001为第i个构建单元,构建单元1002为第i+1个构建单元。构建单元1001包括输入1节点、输入2节点、Q1 i节点、Q2 i节点、Q3 i节点、Q4 i节点,以及输出节点Qi。构建单元1002包括输入3节点、输入4节点、Q1 i+1节点、Q2 i+1节点、Q3 i+1节点、Q4 i+1节点,以及输出节点Qi+1。可以将构建单元1001(第i个构建单元)输出的数据(即Qi节点输出的数据)从该输入3节点输入至构建单元1002(第i+1个构建单元),可以将输入至构建单元1001的数据(例如第i-1个构建单元输出的数据,即Qi-1节点输出的数据)从该输入2节点输入至构建单元1002。
803,将所述第一待训练数据输入所述初始神经网络模型,得到第一输出结果,所述第一待训练数据用于对所述权重参数更新。
将待训练数据输入初始神经网络模型,可以得到用于表示该待训练数据的特征向量。该特征向量经过该初始神经网络模型中的多个层之后,可以得到针对该待训练数据的输出结果。
应理解,在没有特别强调的情况下,本申请的结构参数以及权重参数均应当被视为变量。通过为结构参数以及权重参数赋予特定的数值,使得初始神经网络模型可以对待训练数据进行识别。通过优化赋予该结构参数以及权重参数的数值,可以提升该初始神经网络模型识别数据的准确度,最终可以获得识别性能较优的神经网络模型。
初始神经网络模型可以是需要训练最优结构参数、最优权重参数的神经网络模型,即不是具有最优结构参数、最优权重参数的神经网络模型。为了训练最优权重参数以及结构参数,既需要为该初始神经网络模型的权重参数赋予初始值,又需要为该初始神经网络模型的结构参数赋予初始值,从而该初始神经网络模型能够识别该第一待训练数据并输出一个结果。
另外,权重参数的更新是基于权重参数的初始值进行更新,例如ω1=ω0+Δω,其中,ω1可以是更新后的权重参数,ω0可以是权重参数的初始值,Δω可以是权重参数的更新量。而在多次迭代过程中,权重参数可以被多次更新。那么,当前更新后的权重参数可以被视为在下一次更新开始后的权重参数的初始值。
为了提高训练最优结构参数、最优权重参数的可收敛性,可以将不同的数据输入初始神经网络模型,从而分别对结构参数、权重参数进行训练。将第一待训练数据输入初始神经网络模型的主要目的是更新权重参数。
804,将所述第二待训练数据输入所述初始神经网络模型,得到第二输出结果,所述第二待训练数据用于对所述结构参数更新。
第二待训练数据可以与第一待训练数据相同,也可以与第一待训练数据不同。
为了提高训练最优结构参数、最优权重参数的可收敛性,可以将不同的数据输入初始神经网络模型,从而分别对结构参数、权重参数进行训练。将第二待训练数据输入初始神经网络模型的主要目的是更新结构参数。
步骤804的具体实现方式可以参照图8所示实施例中的步骤803,在此就不必赘述。
另外,由于结构参数可以用于指示节点与节点之间的操作,因此多个构建单元中任意两个构建单元之间的结构参数可以不同。
所述多个构建单元包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
以图10所示的神经网络模型为例,构建单元1001可以是第一构建单元、构建单元1002可以是第二构建单元。与构建单元1001所对应的第一结构参数可以用于指示包括:Qi-1节点与Q1 i节点之间的操作,Q1 i节点与Q2 i节点之间的操作,Q2 i节点与Q3 i节点之间的操作,以及Q3 i节点与Q4 i节点之间的操作等。与构建单元1002所对应的第二结构参数可以用于指示包括:Qi节点与Q1 i+1节点之间的操作,Q1 i+1节点与Q2 i+1节点之间的操作,Q2 i+1节点与Q3 i+1节点之间的操作,以及Q3 i+1节点与Q4 i+1节点之间的操作等。如果第一构建单元的结构类型与第二构建单元的结构类型不同,那么第一构建单元所对应的第一结构参数与第二构建单元所对应的第二结构参数必然不同。而当第一构建单元的结构类型与第二构建单元的结构类型相同时,第一构建单元所对应的第一结构参数与第二构建单元所对应的第二结构参数可以相同也可以不同。例如,第一结构参数包括{a1,a2,a3,a4},其中a1用于指示Qi-1节点与Q1 i节点之间的操作,a2用于指示Q1 i节点与Q2 i节点之间的操作,a3用于指示Q2 i节点与Q3 i节点之间的操作,a4用于指示Q3 i节点与Q4 i节点之间的操作;第一结构参数包括{b1,b2,b3,b4},其中b1用于指示Qi节点与Q1 i+1节点之间的操作,b2用于指示Q1 i+1节点与Q2 i+1节点之间的操作,b3用于指示Q2 i+1节点与Q3 i+1节点之间的操作,b4用于指示Q3 i+1节点与Q4 i+1节点之间的操作。如果a1=b1、a2=b2、a3=b3且a4=b4,那么第一结构参数与第二结构参数可能相同;如果a1≠b1、a2≠b2、a3≠b3或a4≠b4,那么第一结构参数与第二结构参数可以不同。
805,根据第一梯度值、第二梯度值以及第三梯度值,对所述结构参数进行更新,以得到满足预设要求、用于识别多媒体数据的目标神经网络模型,所述第一梯度值为所述第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为所述第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于确定所述第一待训练数据所对应的第一标签与所述第一输出结果之间的相似度,所述第二损失函数用于确定所述第二待训练数据所对应的第二标签与所述第二输出结果之间的相似度。
在本申请中,损失函数用于表示初始神经网络模型的输出结果与输入数据的标签之间的相似度。例如,当输出结果与输入数据的标签之间的相似度较小时,损失函数的函数值较大;当输出结果与输入数据的标签之间的相似度较大时,损失函数的函数值较小。输出结果与输入数据之间的相似度可以通过特征1与特征2的相似度表示,其中,特征1用于表征输入数据,特征2用于表征输出结果。
在一个示例中,当第一待训练数据为图片,该第一待训练数据的标签可以是图片中的物体的名称、人物类型、环境特点等。图片可以是单张图片,也可以是视频中的一帧画面。例如,图片中的人物为男人、图片中包含书本和桌子,图片的环境为室内,那么该图片的标签可以是“男人”、“书”、“桌子”、“室内”。如果将该图片输入至初始神经网络模型后得到的输出结果为“女人”,那么该图片所对应的输出结果与该图片的标签的相似度较小;如果该输出结果不是“女人”而是“男人”,那么该图片所对应的输出结果与该图片的标签的相似度较大。
在一个示例中,当第一待训练数据为语音音频,该第一待训练数据的标签可以是该语音音频中的指令。例如,第一待训练数据中的语音中包含一段话:“我想打给XXX”,那么该第一待训练数据的标签可以为“拨通XXX的电话”。如果将该语音音频输入至初始神经网络模型后得到的输出结果为“在记事本中记录:拨通XXX的电话”,那么该语音音频所对应的输出结果与该语音音频的标签的相似度较小;如果该输出结果是“启动通话功能并拨打XXX的电话”,那么该语音音频所对应的输出结果与该语音音频的标签的相似度较大。
在一个示例中,当第一待训练数据为文字,该第一待训练数据的标签可以是该文字的语义。例如,第一待训练数据中的中包含一段话:“我想打给XXX,不是,是打给YYY”,那么该第一待训练数据的标签可以为“我想打给YYY”。如果将该文字输入至初始神经网络模型后得到的输出结果为“我想打给XXX”,那么该文字所对应的输出结果与该文字的标签的相似度较小;如果该输出结果为“我想打电话给YYY”,那么该文字所对应的输出结果与该文字的标签的相似度较大。
因此,当输出结果与输入数据的标签之间的相似度较小时,可以通过损失函数调整初始神经网络模型中的参数,使神经网络模型可以正确学习该输入数据中的规律。
为了训练最优结构参数、最优权重参数,需要确定针对结构参数的待训练数据以训练最优结构参数,以及针对权重参数的待训练数据以训练最优权重参数。其中,本申请中的第一损失函数用于确定第一标签与第一输出结果之间的相似度,而第一标签与第一输出结果均对应第一待训练数据,第一待训练数据又用于更新权重参数,因此第一损失函数可以被视为用于更新权重参数。例如,采用梯度下降法,可以根据第一损失函数对权重参数的梯度,训练最优权重参数。本申请中的第二损失函数用于确定第二标签与第二输出结果之间的相似度,而第二标签与第二输出结果均对应第二待训练数据,第二待训练数据又用于更新结构参数,因此第二损失函数可以被视为用于更新结构参数。例如,采用梯度下降法,可以根据第二损失函数对结构参数的梯度,训练最优结构参数。第一损失函数可以包含权重参数(变量)以及结构参数(变量)。第二损失函数可以包含权重参数(变量)以及结构参数(变量)。
在本申请中,第一梯度值、第二梯度值、第三梯度值的具体表现形式均可以是向量、矩阵等形式。应理解,在本申请中,第一梯度值可以是第二损失函数对所述权重参数求一阶梯度得到的梯度值的近似值。类似地,第二梯度值可以是第一损失函数对所述权重参数求二阶梯度得到的梯度值的近似值,第三梯度值可以是第二损失函数对所述结构参数求一阶梯度得到的梯度值的近似值。
由于第一梯度值、第二梯度值、第三梯度值均可以是估算值,本申请不限定求取梯度的具体方式。例如,可以计算损失函数对某一变量的梯度函数,从而得到相应的梯度值;还可以计算某一变量在第一范围内时损失函数的函数值,从而得到损失函数的取值范围为第二范围,然后根据该第二范围与该第一范围的比值近似估算该损失函数对该变量的梯度。另外,第二梯度值可以用第二梯度值的逆来表示。
另外,当通过第二损失函数更新结构参数时,需要为第二损失函数内的权重参数(变量)赋值。在本申请实施例中,不限定确定该权重参数的取值的方法。在一个示例中,该第二损失函数内的权重参数(变量)的取值可以是最近更新的权重参数的取值。在一个示例中,该第二损失函数内的权重参数(变量)的取值可以是对初始权重参数进行更新得到的数值,该初始权重参数的取值为最近更新的权重参数的取值。
可以看出,虽然第二损失函数用于更新结构参数,然而初始神经网络模型中的权重参数不是最优的权重参数,因此还需要考虑权重参数的取值对第二损失函数的影响。本申请中可以通过第一梯度值考虑权重参数的取值对第二损失函数的影响。
可以看出,由于第一损失函数用于更新权重参数,然而初始神经网络模型中的权重参数不是最优的权重参数,因此还需要考虑权重参数的取值对第一损失函数的影响。因此,非最优的权重参数会对第一损失函数产生影响,从而间接影响基于第二损失函数更新的结构参数。本申请中可以通过第二梯度值考虑权重参数的取值对第一损失函数的影响。
可以看出,由于第二损失函数用于更新结构参数,因此可以通过第三梯度值更新结构参数。
可选的,所述方法还包括:根据第四梯度值,对所述权重参数进行更新,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
可以看出,由于第一损失函数用于更新权重参数,因此可以通过第四梯度值更新权重参数。
下面给出两种更新结构参数的具体表现形式。
形式1
记初始权重参数为ω0,初始结构参数为α0,第四梯度值为
Figure BDA0002215546640000231
那么可以根据第四梯度值可以更新权重参数,得到更新后的权重参数
Figure BDA0002215546640000232
其中λ1为权重参数更新学习率。
第一梯度值可以表示为
Figure BDA0002215546640000233
第二梯度值可以表示为
Figure BDA0002215546640000234
第三梯度值可以表示为
Figure BDA0002215546640000235
那么可以根据第一梯度值、第二梯度值、第三梯度值可以更新结构参数,得到更新后的权重参数
Figure BDA0002215546640000236
其中λ2为结构参数更新学习率,η为超参数。
形式2
记初始权重参数为ω0,初始结构参数为α0,第四梯度值为
Figure BDA0002215546640000237
那么可以根据第四梯度值可以更新权重参数,得到更新后的权重参数
Figure BDA0002215546640000238
其中λ1为权重参数更新学习率。
第一梯度值可以表示为
Figure BDA0002215546640000239
第二梯度值可以表示为:
Figure BDA00022155466400002310
第三梯度值可以表示为
Figure BDA00022155466400002311
那么可以根据第一梯度值、第二梯度值、第三梯度值可以更新结构参数,得到更新后的权重参数
Figure BDA00022155466400002312
Figure BDA0002215546640000241
其中λ2为结构参数更新学习率,η为超参数,ε、β为系数。ε的取值可以很小,例如0.0001、0.00002等。β的取值可以很小,例如0.0001、0.00002等。
通过第一梯度值、第二梯度值、第三梯度值可以避免因迭代过程不合适,而导致无法正确学习待训练数据所内含的规律。
在一个示例中,一个迭代循环中可以包括一次权重参数更新以及一次结构参数更新。
在一个示例中,一个迭代循环中可以包括N次权重参数更新以及M次结构参数更新,其中N、M为大于1的整数。
满足预设要求的神经网络模型,例如可以是初始神经网络模型经过多次迭代得到的神经网络模型,且总的迭代次数大于或等于预设的迭代上限值;又如可以是权重参数和/或结构参数的更新步长小于或等于预设阈值的神经网络模型。
上文中的步骤804已经介绍了神经网络模型对待训练数据进行识别的示例,在此不再赘述。
图11是本申请实施例提供的一种数据处理的方法的示意性流程图。方法1100可以由如图2所示的执行设备210执行。方法1100可以由如图6所示的神经网络处理器60执行。方法1100可以由如图7所示的执行设备710执行。
1101,获取多媒体文件。
多媒体数据例如可以是图片、音频文件(如语音)、视频文件等。
多媒体数据的获取方式例如可以是从数据库或存储介质获取,也可以是接收其他装置或设备通过通信网络发送的数据,还可以是通过摄像头拍摄、麦克风录音等方式获取。
1102,使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述结构参数由第一梯度值、第二梯度值以及第三梯度值确定,所述第一梯度值为第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于对所述权重参数更新,所述第二损失函数用于对所述结构参数更新。
本申请对目标神经网络模型的类型不作限定。该目标神经网络模型的类型可以是卷积神经网络模型、深度神经网络模型等。
在一个示例中,当多媒体数据为图片,使用目标神经网络模型识别、处理该多媒体数据可以得到该图片的处理结果。图片的处理结果例如可以是图片中的物体的名称、人物类型、环境特点等。图片可以是单张图片,也可以是视频中的一帧画面。例如,图片中的人物为男人、图片中包含书本和桌子,图片的环境为室内,那么该图片的处理结果可以是“男人”、“书”、“桌子”、“室内”。
在一个示例中,当多媒体数据为语音音频,使用目标神经网络模型识别、处理该多媒体数据可以得到该语音音频中的指令。例如,多媒体数据为语音音频,该语音音频中包含一段话:“我想打给XXX”,那么该语音音频中的指令可以为“拨通XXX的电话”。
在一个示例中,当多媒体数据为文字,使用目标神经网络模型识别、处理该多媒体数据可以得到该文字的语义。例如,多媒体数据为文字,该文字中包含一段话:“我想打给XXX,不是,是打给YYY”,那么该文字的语义可以为“我想打给YYY”。
可选的,所述权重参数由第四梯度值确定,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
可选的,所述第二梯度值表示为:
Figure BDA0002215546640000251
其中,
Figure BDA0002215546640000252
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
上文通过图5的(e)详细介绍了如何通过堆叠多个构建单元得到初始神经网络模型,以及初始神经网络模型的权重参数以及结构参数,在此不再详细赘述。
可选的,所述多个构建单元中任意两个构建单元的结构类型相同。
图9所示为一种构建单元的示意性结构图。构建单元900包括输入1节点、输入2节点、Q1节点、Q2节点、Q3节点、Q4节点以及输出节点,其中,Q1节点输出的数据可以被输入至Q2节点以及该构建单元的输出节点,Q2节点输出的数据可以被输入至Q3节点以及该构建单元的输出节点,Q3节点输出的数据可以被输入至Q4节点以及该构建单元的输出节点,Q4节点输出的数据可以被输入至该构建单元的输出节点。可以通过该构建单元900内的输入1节点和输入2节点,将数据输入至构建单元900。
将Z个如图9所示的构建单元900堆叠在一起,可以形成一个初始神经网络模型,该目标神经网络模型由该初始神经网络模型确定。初始神经网络模型的结构参数可以用于指示跳连接操作或者卷积操作。卷积操作例如可以是卷积核尺寸为3×3、5×5等的卷积操作。按照数据流的传递方向可以为Z个构建单元标号,其中编号较小的构建单元所输出的数据可以被输入至编号较大的构建单元中,Z为大于1的整数。如图10所示,初始神经网络模型至少包括构建单元1001以及构建单元1002。其中,构建单元1001为第i个构建单元,构建单元1002为第i+1个构建单元。构建单元1001包括输入1节点、输入2节点、Q1 i节点、Q2 i节点、Q3 i节点、Q4 i节点,以及输出节点Qi。构建单元1002包括输入3节点、输入4节点、Q1 i+1节点、Q2 i+1节点、Q3 i+1节点、Q4 i+1节点,以及输出节点Qi+1。可以将构建单元1001(第i个构建单元)输出的数据(即Qi节点输出的数据)从该输入3节点输入至构建单元1002(第i+1个构建单元),可以将输入至构建单元1001的数据(例如第i-1个构建单元输出的数据,即Qi-1节点输出的数据)从该输入2节点输入至构建单元1002。
可选的,所述目标神经网络模型包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
可选的,所述第一构建单元的结构类型与所述第二构建单元的结构类型相同。
可选的,所述目标神经网络模型包括第一节点以及第二节点,所述第一节点输出的数据经过目标操作后被输入至所述第二节点,所述目标操作包括跳连接操作或卷积操作。
以图10所示的神经网络模型为例,Q1 i节点与Q2 i节点之间的操作可以是跳连接操作或卷积操作。
为了得到目标神经网络模型,需要确定该目标神经网络模型的结构参数、权重参数,因此需要确定针对结构参数的损失函数,以及针对权重参数的损失函数。其中,本申请中的第一损失函数与权重参数对应,第二损失函数与结构参数对应。例如第一待训练数据与权重参数对应,而第一损失函数用于确定第一待训练数据所对应的第一标签与第一待训练数据所对应的第一输出结果之间的相似度,因此第一损失函数与权重参数对应;例如第二待训练数据与结构参数对应,而第二损失函数用于确定第二待训练数据所对应的第二标签与第二待训练数据所对应的第二输出结果之间的相似度,因此第二损失函数与结构参数对应。也就是说,第一损失函数用于更新权重参数,第二损失函数用于更新结构参数。例如,采用梯度下降法,可以根据第一损失函数对权重参数的梯度,确定目标神经网络模型的权重参数,并根据第二损失函数对结构参数的梯度,确定目标神经网络模型的结构参数。
第一梯度值、第二梯度值、第三梯度值均可以是估算值,本申请不限定求取梯度的具体方式。在本申请实施例中,不限定确定该权重参数的取值的方法。
可以看出,虽然第二损失函数用于更新结构参数,然而初始神经网络模型中的权重参数不是最优的权重参数,因此还需要考虑权重参数的取值对第二损失函数的影响。本申请中可以通过第一梯度值考虑权重参数的取值对第二损失函数的影响。
可以看出,由于第一损失函数用于更新权重参数,然而初始神经网络模型中的结构参数不是最优的结构参数,因此还需要考虑结构参数的取值对第一损失函数的影响。因此,非最优的结构参数会对第一损失函数产生影响,从而间接影响基于第一损失函数更新的权重参数,因此,权重参数的取值对第二损失函数产生影响的一部分原因来自非最优的结构参数的取值。本申请中可以通过第二梯度值考虑结构参数的取值对第一损失函数的影响。
可以看出,由于第二损失函数用于更新结构参数,因此可以通过第三梯度值更新结构参数。
可选的,所述权重参数由第四梯度值确定,所述第四梯度值为第一损失函数对所述权重参数求一阶梯度得到的梯度值。
可以看出,由于第一损失函数用于更新权重参数,因此可以通过第四梯度值更新权重参数。
确定目标神经网络模型的结构参数的具体实现方式可以参照图8所示实施例中的步骤807,在此就不必赘述。
图12所示为本申请提供的一种训练神经网络模型的方法的示意性流程图。方法1200可以由如图2所示的训练设备220执行。
1201,获取多个构建单元、第三待训练数据以及第四待训练数据。
1202,堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数。
可选的,所述多个构建单元包括第三构建单元以及第四构建单元,所述结构参数包括与所述第三构建单元对应的第三结构参数以及与所述第四构建单元对应的第四结构参数,所述第三结构参数与所述第四结构参数不同。
1203,将所述第三待训练数据输入所述初始神经网络模型,得到第三输出结果,所述第三待训练数据用于对所述权重参数更新。
1204,将所述第四待训练数据输入所述初始神经网络模型,得到第四输出结果,所述第四待训练数据用于对所述结构参数更新。
结构参数的更新是基于结构参数的初始值进行更新,例如α1=α0+Δα,其中,α1可以是更新后的结构参数,α0可以是结构参数的初始值,Δα可以是结构参数的更新量。而在多次迭代过程中,结构参数可以被多次更新,那么,当前更新后的结构参数可以被视为在下一次更新开始后的结构参数的初始值。
步骤1201-1204的具体实现方式可以参照图8所示实施例中的步骤801-804,在此就不必赘述。
1205,根据第五梯度值、第六梯度值以及第七梯度值,对所述权重参数进行更新,以得到满足预设要求的、用于识别多媒体数据的神经网络模型,所述第五梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为所述第三损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于确定所述第三待训练数据所对应的第三标签与所述第三输出结果之间的相似度,所述第四损失函数用于确定所述第四待训练数据所对应的第四标签与所述第四输出结果之间的相似度。
为了训练最优结构参数、最优权重参数,需要确定针对结构参数的待训练数据以训练最优结构参数,以及针对权重参数的待训练数据以训练最优权重参数。其中,本申请中的第三损失函数用于确定第三标签与第三输出结果之间的相似度,而第三标签与第三输出结果均对应第三待训练数据,第三待训练数据又用于更新权重参数,因此第三损失函数可以被视为用于更新权重参数。例如,采用梯度下降法,可以根据第三损失函数对权重参数的梯度,训练最优权重参数。本申请中的第四损失函数用于确定第四标签与第四输出结果之间的相似度,而第四标签与第四输出结果均对应第四待训练数据,第四待训练数据又用于更新结构参数,因此第四损失函数可以被视为用于更新结构参数。例如,采用梯度下降法,可以根据第四损失函数对结构参数的梯度,训练最优结构参数。第三损失函数可以包含权重参数(变量)以及结构参数(变量)。第四损失函数可以包含权重参数(变量)以及结构参数(变量)。
在本申请中,第五梯度值、第六梯度值、第七梯度值的具体表现形式均可以是向量、矩阵等形式。应理解,在本申请中,第五梯度值可以是第三损失函数对所述结构参数求一阶梯度得到的梯度值的近似值。类似地,第六梯度值可以是第四损失函数对所述结构参数求二阶梯度得到的梯度值的近似值,第七梯度值可以是第三损失函数对所述权重参数求一阶梯度得到的梯度值的近似值。另外,第六梯度值可以用第六梯度值的逆来表示。
由于第五梯度值、第六梯度值、第七梯度值均可以是估算值,本申请不限定求取梯度的具体方式。例如,可以计算损失函数对某一变量的梯度函数,从而得到相应的梯度值;还可以计算某一变量在第三范围内时损失函数的函数值,从而得到损失函数的取值范围为第四范围,然后根据该第四范围与该第三范围的比值近似估算该损失函数对该变量的梯度。
另外,当通过第三损失函数更新权重参数时,需要为第三损失函数内的结构参数(变量)赋值。在本申请实施例中,不限定确定该结构参数的取值的方法。在一个示例中,该第三损失函数内的结构参数(变量)的取值可以是最近更新的结构参数的取值。在一个示例中,该第四损失函数内的结构参数(变量)的取值可以是对初始结构参数进行更新得到的数值,该初始权重参数的取值为最近更新的结构参数的取值。
可以看出,虽然第三损失函数用于更新权重参数,然而初始神经网络模型中的结构参数不是最优的结构参数,因此还需要考虑结构参数的取值对第三损失函数的影响。本申请中可以通过第五梯度值考虑权重参数的取值对第三损失函数的影响。
可以看出,由于第四损失函数用于更新结构参数,然而初始神经网络模型中的结构参数不是最优的结构参数,因此还需要考虑结构参数的取值对第四损失函数的影响。因此,非最优的结构参数会对第四损失函数产生影响,从而间接影响基于第三损失函数更新的权重参数。本申请中可以通过第六梯度值考虑结构参数的取值对第一损失函数的影响。
可以看出,由于第三损失函数用于更新权重参数,因此可以通过第七梯度值更新结构参数。
可选的,所述方法还包括:根据第八梯度值,对所述结构参数进行更新,所述第八梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值。
可以看出,由于第四损失函数用于更新结构参数,因此可以通过第八梯度值更新结构参数。
下面给出两种更新权重参数的具体表现形式。
形式1
记初始权重参数为ω0,初始结构参数为α0,第八梯度值为
Figure BDA0002215546640000281
那么可以根据第八梯度值可以更新结构参数,得到更新后的结构参数
Figure BDA0002215546640000282
其中λ3为结构参数更新学习率。
第五梯度值可以表示为
Figure BDA0002215546640000283
第六梯度值可以表示为
Figure BDA0002215546640000284
第七梯度值可以表示为
Figure BDA0002215546640000285
那么可以根据第五梯度值、第六梯度值、第七梯度值可以更新结构参数,得到更新后的权重参数
Figure BDA0002215546640000286
其中λ4为权重参数更新学习率,ξ为超参数。
形式2
记初始权重参数为ω0,初始结构参数为α0,第八梯度值为
Figure BDA0002215546640000287
那么可以根据第八梯度值可以更新结构参数,得到更新后的结构参数
Figure BDA0002215546640000288
其中λ3为结构参数更新学习率。
第五梯度值可以表示为
Figure BDA0002215546640000289
第六梯度值可以表示为:
Figure BDA00022155466400002810
第七梯度值可以表示为
Figure BDA00022155466400002811
那么可以根据第五梯度值、第六梯度值、第七梯度值可以更新其中参数,得到更新后的权重参数
Figure BDA0002215546640000291
Figure BDA0002215546640000292
其中λ4为结构参数更新学习率,ξ为超参数,τ、γ为系数。τ的取值可以很小,例如0.0001、0.00002等。γ的取值可以很小,例如0.0001、0.00002等。
通过第五梯度值、第六梯度值、第七梯度值可以避免因迭代过程不合适,而导致无法正确学习待训练数据所内含的规律。
在一个示例中,一个迭代循环中可以包括一次权重参数更新以及一次结构参数更新。
在一个示例中,一个迭代循环中可以包括N次权重参数更新以及M次结构参数更新,其中N、M为大于1的整数。
满足预设要求的神经网络模型,例如可以是初始神经网络模型经过多次迭代得到的神经网络模型,且总的迭代次数大于或等于预设的迭代上限值;又如可以是权重参数和/或结构参数的更新步长小于或等于预设阈值的神经网络模型。
上文中的步骤804已经介绍了神经网络模型对待训练数据进行识别的示例,在此不再赘述。
图13是本申请实施例提供的一种数据处理的方法的示意性流程图。方法1300可以由如图2所示的执行设备210执行。方法1300可以由如图6所示的神经网络处理器60执行。方法1300可以由如图7所示的执行设备710执行。
1301,获取多媒体文件。
步骤1301的具体实现方式可以参照图8所示实施例中的步骤801-806,在此就不必赘述。
1302,使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述权重参数由第五梯度值、第六梯度值以及第七梯度值确定,所述第五梯度值为第三损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为第四损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于对所述权重参数更新,所述第四损失函数用于对所述结构参数更新。
在一个示例中,当多媒体数据为图片,使用目标神经网络模型识别、处理该多媒体数据可以得到该图片的处理结果。图片的处理结果例如可以是图片中的物体的名称、人物类型、环境特点等。图片可以是单张图片,也可以是视频中的一帧画面。例如,图片中的人物为男人、图片中包含书本和桌子,图片的环境为室内,那么该图片的处理结果可以是“男人”、“书”、“桌子”、“室内”。
在一个示例中,当多媒体数据为语音音频,使用目标神经网络模型识别、处理该多媒体数据可以得到该语音音频中的指令。例如,多媒体数据为语音音频,该语音音频中包含一段话:“我想打给XXX”,那么该语音音频中的指令可以为“拨通XXX的电话”。
在一个示例中,当多媒体数据为文字,使用目标神经网络模型识别、处理该多媒体数据可以得到该文字的语义。例如,多媒体数据为文字,该文字中包含一段话:“我想打给XXX,不是,是打给YYY”,那么该文字的语义可以为“我想打给YYY”。
上文通过图5的(e)详细介绍了如何通过堆叠多个构建单元得到初始神经网络模型,以及初始神经网络模型的权重参数以及结构参数,在此不再详细赘述。
可选的,所述多个构建单元中任意两个构建单元的结构类型相同。
图9所示为一种构建单元的示意性结构图。构建单元900包括输入1节点、输入2节点、Q1节点、Q2节点、Q3节点、Q4节点以及输出节点,其中,Q1节点输出的数据可以被输入至Q2节点以及该构建单元的输出节点,Q2节点输出的数据可以被输入至Q3节点以及该构建单元的输出节点,Q3节点输出的数据可以被输入至Q4节点以及该构建单元的输出节点,Q4节点输出的数据可以被输入至该构建单元的输出节点。可以通过该构建单元900内的输入1节点和输入2节点,将数据输入至构建单元900。
将Z个如图9所示的构建单元900堆叠在一起,可以形成一个初始神经网络模型,该目标神经网络模型由该初始神经网络模型确定。初始神经网络模型的结构参数可以用于指示跳连接操作或者卷积操作。卷积操作例如可以是卷积核尺寸为3×3、5×5等的卷积操作。按照数据流的传递方向可以为Z个构建单元标号,其中编号较小的构建单元所输出的数据可以被输入至编号较大的构建单元中,Z为大于1的整数。如图10所示,初始神经网络模型至少包括构建单元1001以及构建单元1002。其中,构建单元1001为第i个构建单元,构建单元1002为第i+1个构建单元。构建单元1001包括输入1节点、输入2节点、Q1 i节点、Q2 i节点、Q3 i节点、Q4 i节点,以及输出节点Qi。构建单元1002包括输入3节点、输入4节点、Q1 i+1节点、Q2 i+1节点、Q3 i+1节点、Q4 i+1节点,以及输出节点Qi+1。可以将构建单元1001(第i个构建单元)输出的数据(即Qi节点输出的数据)从该输入3节点输入至构建单元1002(第i+1个构建单元),可以将输入至构建单元1001的数据(例如第i-1个构建单元输出的数据,即Qi-1节点输出的数据)从该输入2节点输入至构建单元1002。
可选的,所述目标神经网络模型包括第三构建单元以及第四构建单元,所述结构参数包括与所述第三构建单元对应的第三结构参数以及与所述第四构建单元对应的第四结构参数,所述第三结构参数与所述第四结构参数不同。
可选的,所述第三构建单元的结构类型与所述第四构建单元的结构类型相同。
可选的,所述目标神经网络模型包括第三节点以及第四节点,所述第三节点输出的数据经过目标操作后被输入至所述第四节点,所述目标操作包括跳连接操作或卷积操作。
以图10所示的神经网络模型为例,Q1 i节点与Q2 i节点之间的操作可以是跳连接操作或卷积操作。
为了得到目标神经网络模型,需要确定该目标神经网络模型的结构参数、权重参数,因此需要确定针对结构参数的损失函数,以及针对权重参数的损失函数。其中,本申请中的第三损失函数与权重参数对应,第四损失函数与结构参数对应。例如第三待训练数据与权重参数对应,而第三损失函数用于确定第三待训练数据所对应的第三标签与第三待训练数据所对应的第三输出结果之间的相似度,因此第三损失函数与权重参数对应;例如第四待训练数据与结构参数对应,而第四损失函数用于确定第四待训练数据所对应的第四标签与第四待训练数据所对应的第四输出结果之间的相似度,因此第四损失函数与结构参数对应。也就是说,第三损失函数用于更新权重参数,第四损失函数用于更新结构参数。例如,采用梯度下降法,可以根据第三损失函数对权重参数的梯度,确定目标神经网络模型的权重参数,并根据第四损失函数对结构参数的梯度,确定目标神经网络模型的结构参数。
第五梯度值、第六梯度值、第七梯度值均可以是估算值,本申请不限定求取梯度的具体方式。在本申请实施例中,不限定确定该结构参数的取值的方法。
可以看出,虽然第三损失函数用于更新权重参数,然而初始神经网络模型中的结构参数不是最优的结构参数,因此还需要考虑结构参数的取值对第三损失函数的影响。本申请中可以通过第五梯度值考虑权重参数的取值对第三损失函数的影响。
可以看出,由于第四损失函数用于更新结构参数,然而初始神经网络模型中的结构参数不是最优的结构参数,因此还需要考虑结构参数的取值对第四损失函数的影响。因此,非最优的结构参数会对第四损失函数产生影响,从而间接影响基于第三损失函数更新的权重参数。本申请中可以通过第六梯度值考虑结构参数的取值对第一损失函数的影响。
可以看出,由于第三损失函数用于更新权重参数,因此可以通过第七梯度值更新结构参数。
可选的,所述经过参数由第八梯度值确定,所述第八梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值。
可以看出,由于第四损失函数用于更新结构参数,因此可以通过第八梯度值更新结构参数。
可选的,所述第六梯度值表示为:
Figure BDA0002215546640000311
其中,
Figure BDA0002215546640000312
用于表示对所述权重函数求梯度,L3(α,ω)为所述第三损失函数,L4(α,ω)为所述第四损失函数,α1为更新后的结构参数,ω0为当前采用的权重参数,δ为系数。
确定目标神经网络模型的结构参数的具体实现方式可以参照图12所示实施例中的步骤1207,在此就不必赘述。
图14是本申请实施例提供的训练神经网络模型的装置的硬件结构示意图。图14所示的训练神经网络模型的装置1400(该装置1400具体可以是一种计算机设备)包括存储器1401、处理器1402、通信接口1403以及总线1404。其中,存储器1401、处理器1402、通信接口1403通过总线1404实现彼此之间的通信连接。
存储器1401可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1401可以存储程序,当存储器1401中存储的程序被处理器1402执行时,处理器1402用于执行本申请实施例中图8或图12所示的训练神经网络模型的方法的各个步骤。
处理器1402可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例中图8或图12所示的训练神经网络模型的方法。
处理器1402还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例中图8或图12所示的训练神经网络模型的方法的各个步骤可以通过处理器1402中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器1402还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1401,处理器1402读取存储器1401中的信息,结合其硬件完成本申请实施例的训练神经网络模型的装置中包括的单元所需执行的功能,或者执行本申请实施例中图8或图12所示的训练神经网络模型的方法。
通信接口1403使用例如但不限于收发器一类的收发装置,来实现装置1400与其他设备或通信网络之间的通信。例如,可以通过通信接口1403获取构建单元以及待训练数据(如图8或图12所示实施例中的多个构建单元、第一待训练数据以及第二待训练数据)。
总线1404可包括在装置1400各个部件(例如,存储器1401、处理器1402、通信接口1403)之间传送信息的通路。
应理解,训练神经网络模型的装置中的获取模块可以相当于训练神经网络模型的装置1400中的通信接口1403;训练神经网络模型的装置中的处理模块可以相当于处理器1402。
图15是本申请实施例提供的数据处理的装置的硬件结构示意图。图15所示的数据处理的装置1500(该装置1500具体可以是一种计算机设备)包括存储器1501、处理器1502、通信接口1503以及总线1504。其中,存储器1501、处理器1502、通信接口1503通过总线1504实现彼此之间的通信连接。
存储器1501可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1501可以存储程序,当存储器1501中存储的程序被处理器1502执行时,处理器1502用于执行本申请实施例中图11或图13所示的数据处理的方法的各个步骤。
处理器1502可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例中图11或图13所示的数据处理的方法。
处理器1502还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例中图11或图13所示的数据处理的方法的各个步骤可以通过处理器1502中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器1502还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1501,处理器1502读取存储器1501中的信息,结合其硬件完成本申请实施例的数据处理的装置中包括的单元所需执行的功能,或者执行本申请实施例中图11或图13所示的数据处理的方法。
通信接口1503使用例如但不限于收发器一类的收发装置,来实现装置1500与其他设备或通信网络之间的通信。例如,可以通过通信接口1503获取数据处理过程中所需要的数据(如图11或图13所示实施例中的多媒体数据)。
总线1504可包括在装置1500各个部件(例如,存储器1501、处理器1502、通信接口1503)之间传送信息的通路。
应理解,数据处理的装置中的获取模块可以相当于数据处理的装置1500中的通信接口1503;数据处理的装置中的处理模块可以相当于处理器1502。
应注意,尽管上述装置1400、装置1500仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置1400、装置1500还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置1400、装置1500还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置1400、装置1500也可仅仅包括实现本申请实施例所必须的器件,而不必包括图14、图15中所示的全部器件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种训练神经网络模型的方法,其特征在于,包括:
获取多个构建单元、第一待训练数据以及第二待训练数据;
堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;
将所述第一待训练数据输入所述初始神经网络模型,得到第一输出结果,所述第一待训练数据用于对所述权重参数更新;
将所述第二待训练数据输入所述初始神经网络模型,得到第二输出结果,所述第二待训练数据用于对所述结构参数更新;
根据第一梯度值、第二梯度值以及第三梯度值,对所述结构参数进行更新,以得到满足预设要求、用于识别多媒体数据的目标神经网络模型,所述第一梯度值为所述第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为所述第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于确定所述第一待训练数据所对应的第一标签与所述第一输出结果之间的相似度,所述第二损失函数用于确定所述第二待训练数据所对应的第二标签与所述第二输出结果之间的相似度。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据第四梯度值,对所述权重参数进行更新,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
3.根据权利要求1或2所述的方法,其特征在于,所述第二梯度值表示为:
Figure FDA0002215546630000011
其中,
Figure FDA0002215546630000012
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述结构参数用于指示跳连接操作或卷积操作。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述多个构建单元包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述多个构建单元中任意两个构建单元的结构类型相同。
7.一种训练神经网络模型的方法,其特征在于,包括:
获取多个构建单元、第三待训练数据以及第四待训练数据;
堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;
将所述第三待训练数据输入所述初始神经网络模型,得到第三输出结果,所述第三待训练数据用于对所述权重参数更新;
将所述第四待训练数据输入所述初始神经网络模型,得到第四输出结果,所述第四待训练数据用于对所述结构参数更新;
根据第五梯度值、第六梯度值以及第七梯度值,对所述权重参数进行更新,以得到满足预设要求的、用于识别多媒体数据的神经网络模型,所述第五梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为所述第三损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于确定所述第三待训练数据所对应的第三标签与所述第三输出结果之间的相似度,所述第四损失函数用于确定所述第四待训练数据所对应的第四标签与所述第四输出结果之间的相似度。
8.一种数据处理的方法,其特征在于,包括:
获取多媒体文件;
使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述结构参数由第一梯度值、第二梯度值以及第三梯度值确定,所述第一梯度值为第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于对所述权重参数更新,所述第二损失函数用于对所述结构参数更新。
9.根据权利要求8所述的方法,其特征在于,所述权重参数由第四梯度值确定,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
10.根据权利要求8或9所述的方法,其特征在于,所述第二梯度值表示为:
Figure FDA0002215546630000021
其中,
Figure FDA0002215546630000022
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
11.根据权利要求8至10中任一项所述的方法,其特征在于,所述目标神经网络模型包括第一节点以及第二节点,所述第一节点输出的数据经过目标操作后被输入至所述第二节点,所述目标操作包括跳连接操作或卷积操作。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述目标神经网络模型包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
13.根据权利要求12所述的方法,其特征在于,所述第一构建单元的结构类型与所述第二构建单元的结构类型相同。
14.一种数据处理的方法,其特征在于,包括:
获取多媒体文件;
使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述权重参数由第五梯度值、第六梯度值以及第七梯度值确定,所述第五梯度值为第三损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为第四损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于对所述权重参数更新,所述第四损失函数用于对所述结构参数更新。
15.一种训练神经网络模型的装置,其特征在于,包括:
获取模块,用于获取多个构建单元、第一待训练数据以及第二待训练数据;
处理模块,用于堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;
所述处理模块还用于,将所述第一待训练数据输入所述初始神经网络模型,得到第一输出结果,所述第一待训练数据用于对所述权重参数更新;
所述处理模块还用于,将所述第二待训练数据输入所述初始神经网络模型,得到第二输出结果,所述第二待训练数据用于对所述结构参数更新;
所述处理模块还用于,根据第一梯度值、第二梯度值以及第三梯度值,对所述结构参数进行更新,以得到满足预设要求、用于识别多媒体数据的目标神经网络模型,所述第一梯度值为所述第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为所述第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于确定所述第一待训练数据所对应的第一标签与所述第一输出结果之间的相似度,所述第二损失函数用于确定所述第二待训练数据所对应的第二标签与所述第二输出结果之间的相似度。
16.根据权利要求15所述的装置,其特征在于,
所述处理模块还用于,根据第四梯度值,对所述权重参数进行更新,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
17.根据权利要求15或16所述的装置,其特征在于,所述第二梯度值表示为:
Figure FDA0002215546630000031
其中,
Figure FDA0002215546630000032
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
18.根据权利要求15至17中任一项所述的装置,其特征在于,所述目标神经网络模型包括第三节点以及第四节点,所述第三节点输出的数据经过目标操作后被输入至所述第四节点,所述目标操作包括跳连接操作或卷积操作。
19.根据权利要求15至18中任一项所述的装置,其特征在于,所述多个构建单元包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
20.根据权利要求19所述的装置,其特征在于,所述多个构建单元中任意两个构建单元的结构类型相同。
21.一种训练神经网络模型的装置,其特征在于,包括:
获取模块,用于获取多个构建单元、第三待训练数据以及第四待训练数据;
处理模块,堆叠所述多个构建单元得到初始神经网络模型,所述初始神经网络模型的参数包括结构参数以及权重参数;
所述处理模块还用于,将所述第三待训练数据输入所述初始神经网络模型,得到第三输出结果,所述第三待训练数据用于对所述权重参数更新;
所述处理模块还用于,将所述第四待训练数据输入所述初始神经网络模型,得到第四输出结果,所述第四待训练数据用于对所述结构参数更新;
所述处理模块还用于,根据第五梯度值、第六梯度值以及第七梯度值,对所述权重参数进行更新,以得到满足预设要求的、用于识别多媒体数据的神经网络模型,所述第五梯度值为所述第四损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为所述第三损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于确定所述第三待训练数据所对应的第三标签与所述第三输出结果之间的相似度,所述第四损失函数用于确定所述第四待训练数据所对应的第四标签与所述第四输出结果之间的相似度。
22.一种数据处理的装置,其特征在于,包括:
获取模块,用于获取多媒体文件;
处理模块,用于使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述结构参数由第一梯度值、第二梯度值以及第三梯度值确定,所述第一梯度值为第二损失函数对所述权重参数求一阶梯度得到的梯度值,所述第二梯度值为第一损失函数对所述权重参数求二阶梯度得到的梯度值,所述第三梯度值为所述第二损失函数对所述结构参数求一阶梯度得到的梯度值,所述第一损失函数用于对所述权重参数更新,所述第二损失函数用于对所述结构参数更新。
23.根据权利要求22所述的装置,其特征在于,所述权重参数由第四梯度值确定,所述第四梯度值为所述第一损失函数对所述权重参数求一阶梯度得到的梯度值。
24.根据权利要求22或23所述的装置,其特征在于,所述第二梯度值表示为:
Figure FDA0002215546630000041
其中,
Figure FDA0002215546630000042
用于表示对所述权重参数求梯度,L1(α,ω)为所述第一损失函数,L2(α,ω)为所述第二损失函数,α0为当前采用的结构参数,ω1为更新后的权重参数,ε为系数。
25.根据权利要求22至24中任一项所述的装置,其特征在于,所述目标神经网络模型包括第一节点以及第二节点,所述第一节点输出的数据经过目标操作后被输入至所述第二节点,所述目标操作包括跳连接操作或卷积操作。
26.根据权利要求22至25中任一项所述的装置,其特征在于,所述目标神经网络模型包括第一构建单元以及第二构建单元,所述结构参数包括与所述第一构建单元对应的第一结构参数以及与所述第二构建单元对应的第二结构参数,所述第一结构参数与所述第二结构参数不同。
27.根据权利要求26所述的装置,其特征在于,所述第一构建单元的结构类型与所述第二构建单元的结构类型相同。
28.一种数据处理的装置,其特征在于,包括:
获取模块,用于获取多媒体文件;
处理模块,用于使用目标神经网络模型对所述多媒体数据进行处理,得到针对所述多媒体数据的处理结果,所述目标神经网络模型通过堆叠多个构建单元得到,所述目标神经网络模型的参数包括权重参数以及结构参数,所述权重参数由第五梯度值、第六梯度值以及第七梯度值确定,所述第五梯度值为第三损失函数对所述结构参数求一阶梯度得到的梯度值,所述第六梯度值为第四损失函数对所述结构参数求二阶梯度得到的梯度值,所述第七梯度值为所述第三损失函数对所述权重参数求一阶梯度得到的梯度值,所述第三损失函数用于对所述权重参数更新,所述第四损失函数用于对所述结构参数更新。
29.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1-14中任一项所述的方法。
30.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1-14中任一项所述的方法。
CN201910914033.XA 2019-09-25 2019-09-25 训练神经网络模型的方法、数据处理的方法及装置 Active CN112561028B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910914033.XA CN112561028B (zh) 2019-09-25 2019-09-25 训练神经网络模型的方法、数据处理的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910914033.XA CN112561028B (zh) 2019-09-25 2019-09-25 训练神经网络模型的方法、数据处理的方法及装置

Publications (2)

Publication Number Publication Date
CN112561028A true CN112561028A (zh) 2021-03-26
CN112561028B CN112561028B (zh) 2024-10-22

Family

ID=75029558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910914033.XA Active CN112561028B (zh) 2019-09-25 2019-09-25 训练神经网络模型的方法、数据处理的方法及装置

Country Status (1)

Country Link
CN (1) CN112561028B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033784A (zh) * 2021-04-18 2021-06-25 沈阳雅译网络技术有限公司 一种针对cpu和gpu设备搜索神经网络结构的方法
CN113240079A (zh) * 2021-04-29 2021-08-10 华为技术有限公司 一种模型训练方法及装置
CN113469911A (zh) * 2021-06-29 2021-10-01 展讯通信(上海)有限公司 图像去噪方法及装置、计算机可读存储介质、终端
CN113657596A (zh) * 2021-08-27 2021-11-16 京东科技信息技术有限公司 训练模型和图像识别的方法和装置
CN113922985A (zh) * 2021-09-03 2022-01-11 西南科技大学 一种基于集成学习的网络入侵检测方法及系统
CN114255234A (zh) * 2022-02-28 2022-03-29 北京鹰瞳科技发展股份有限公司 对基于眼底图像识别心脑血管风险的模型进行训练的方法及其相关产品
CN114690700A (zh) * 2022-04-11 2022-07-01 山东智达自控系统有限公司 一种基于plc的智能污水处理决策优化方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545223A (zh) * 2016-06-29 2018-01-05 腾讯科技(深圳)有限公司 图像识别方法及电子设备
CN108090565A (zh) * 2018-01-16 2018-05-29 电子科技大学 一种卷积神经网络并行化训练加速方法
WO2018140294A1 (en) * 2017-01-25 2018-08-02 Microsoft Technology Licensing, Llc Neural network based on fixed-point operations
CN108416440A (zh) * 2018-03-20 2018-08-17 上海未来伙伴机器人有限公司 一种神经网络的训练方法、物体识别方法及装置
US20190050727A1 (en) * 2018-01-12 2019-02-14 Timothy Anderson Neural network training
US20190102678A1 (en) * 2017-09-29 2019-04-04 Samsung Electronics Co., Ltd. Neural network recogntion and training method and apparatus
CN109934336A (zh) * 2019-03-08 2019-06-25 江南大学 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台
CN110070174A (zh) * 2019-04-10 2019-07-30 厦门美图之家科技有限公司 一种生成对抗网络的稳定训练方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545223A (zh) * 2016-06-29 2018-01-05 腾讯科技(深圳)有限公司 图像识别方法及电子设备
WO2018140294A1 (en) * 2017-01-25 2018-08-02 Microsoft Technology Licensing, Llc Neural network based on fixed-point operations
US20190102678A1 (en) * 2017-09-29 2019-04-04 Samsung Electronics Co., Ltd. Neural network recogntion and training method and apparatus
US20190050727A1 (en) * 2018-01-12 2019-02-14 Timothy Anderson Neural network training
CN108090565A (zh) * 2018-01-16 2018-05-29 电子科技大学 一种卷积神经网络并行化训练加速方法
CN108416440A (zh) * 2018-03-20 2018-08-17 上海未来伙伴机器人有限公司 一种神经网络的训练方法、物体识别方法及装置
CN109934336A (zh) * 2019-03-08 2019-06-25 江南大学 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台
CN110070174A (zh) * 2019-04-10 2019-07-30 厦门美图之家科技有限公司 一种生成对抗网络的稳定训练方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卓东;景军锋;张缓缓;苏泽斌;: "基于卷积神经网络的短切毡缺陷分类", 激光与光电子学进展, no. 10, 25 December 2018 (2018-12-25) *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113033784A (zh) * 2021-04-18 2021-06-25 沈阳雅译网络技术有限公司 一种针对cpu和gpu设备搜索神经网络结构的方法
CN113240079A (zh) * 2021-04-29 2021-08-10 华为技术有限公司 一种模型训练方法及装置
CN113469911A (zh) * 2021-06-29 2021-10-01 展讯通信(上海)有限公司 图像去噪方法及装置、计算机可读存储介质、终端
CN113469911B (zh) * 2021-06-29 2022-10-11 展讯通信(上海)有限公司 图像去噪方法及装置、计算机可读存储介质、终端
CN113657596A (zh) * 2021-08-27 2021-11-16 京东科技信息技术有限公司 训练模型和图像识别的方法和装置
CN113657596B (zh) * 2021-08-27 2023-11-03 京东科技信息技术有限公司 训练模型和图像识别的方法和装置
CN113922985A (zh) * 2021-09-03 2022-01-11 西南科技大学 一种基于集成学习的网络入侵检测方法及系统
CN113922985B (zh) * 2021-09-03 2023-10-31 西南科技大学 一种基于集成学习的网络入侵检测方法及系统
CN114255234A (zh) * 2022-02-28 2022-03-29 北京鹰瞳科技发展股份有限公司 对基于眼底图像识别心脑血管风险的模型进行训练的方法及其相关产品
CN114255234B (zh) * 2022-02-28 2022-05-20 北京鹰瞳科技发展股份有限公司 对基于眼底图像识别心脑血管风险的模型进行训练的方法及其相关产品
CN114690700A (zh) * 2022-04-11 2022-07-01 山东智达自控系统有限公司 一种基于plc的智能污水处理决策优化方法及系统
CN114690700B (zh) * 2022-04-11 2023-02-28 山东智达自控系统有限公司 一种基于plc的智能污水处理决策优化方法及系统

Also Published As

Publication number Publication date
CN112561028B (zh) 2024-10-22

Similar Documents

Publication Publication Date Title
CN114255361B (zh) 神经网络模型的训练方法、图像处理方法及装置
CN113570029B (zh) 获取神经网络模型的方法、图像处理方法及装置
CN111667399B (zh) 风格迁移模型的训练方法、视频风格迁移的方法以及装置
CN111882031B (zh) 一种神经网络蒸馏方法及装置
CN110175671B (zh) 神经网络的构建方法、图像处理方法及装置
CN112561027B (zh) 神经网络架构搜索方法、图像处理方法、装置和存储介质
CN112308200B (zh) 神经网络的搜索方法及装置
CN112529146B (zh) 神经网络模型训练的方法和装置
CN111914997B (zh) 训练神经网络的方法、图像处理方法及装置
CN112561028A (zh) 训练神经网络模型的方法、数据处理的方法及装置
CN112418392A (zh) 一种神经网络构建方法以及装置
CN112639828A (zh) 数据处理的方法、训练神经网络模型的方法及设备
CN114698395B (zh) 神经网络模型的量化方法和装置、数据处理的方法和装置
CN114861859B (zh) 神经网络模型的训练方法、数据处理方法及装置
CN113536970A (zh) 一种视频分类模型的训练方法及相关装置
CN113128285A (zh) 一种处理视频的方法及装置
CN113627163A (zh) 一种注意力模型、特征提取方法及相关装置
CN110795618B (zh) 内容推荐方法、装置、设备及计算机可读存储介质
WO2023165361A1 (zh) 一种数据处理方法及相关设备
WO2023040740A1 (zh) 神经网络模型优化方法及相关设备
CN111611852A (zh) 一种表情识别模型的训练方法、装置及设备
CN116888605B (zh) 神经网络模型的运算方法、训练方法及装置
WO2024067113A1 (zh) 一种动作预测方法及其相关设备
CN114298289A (zh) 一种数据处理的方法、数据处理设备及存储介质
WO2022127603A1 (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: 20220216

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant