CN111797970A - 训练神经网络的方法和装置 - Google Patents
训练神经网络的方法和装置 Download PDFInfo
- Publication number
- CN111797970A CN111797970A CN201911351051.8A CN201911351051A CN111797970A CN 111797970 A CN111797970 A CN 111797970A CN 201911351051 A CN201911351051 A CN 201911351051A CN 111797970 A CN111797970 A CN 111797970A
- Authority
- CN
- China
- Prior art keywords
- output space
- target layer
- space
- value
- neural network
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
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
技术领域
本申请涉及人工智能领域,更具体地,尤其涉及训练神经网络的方法和装置。
背景技术
深度神经网络(deep neural network,DNN)可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。按不同层的位置划分,深度神经网络内部可以包括输入层、隐含层和输出层。一般来说,第一层是输入层,最后一层是输出层,中间层都是隐含层。
深度神经网络中的每一层的工作可以用数学表达式来描述。从物理层面来看,深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间)。这五种操作包括:升维/降维;放大/缩小;旋转;平移;“弯曲”,其中,前三种操作由完成,第四种操作由“+b”完成,第五种操作则由“a()”来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重矩阵,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。
目前的深度神经网络通常会出现过拟合的问题,即深度神经网络拟合的函数虽然能够完美地预测训练集,但对包含新数据的测试集的预测结果却比较差。过拟合会降低深度神经网络处理新数据时的性能。
发明内容
本申请提供训练神经网络的方法、利用神经网络处理数据的方法和相关装置,有利于避免神经网络出现过拟合现象,从而有利于提高神经网络对图像、文本或语音进行处理时的性能。
第一方面,本申请提供了一种训练神经网络的方法,该方法包括:向神经网络输入训练数据,所述训练数据包括图像、文本或语音;根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间;将所述第一输入空间中的特征向量输入所述第二目标层,对所述神经网络进行训练;其中,所述第二目标层输入所述第一输入空间中的特征向量时所述神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
该方法中,第一目标层输出第一输出空间之后,不是直接将该第一输出空间中的特征向量输入到第二目标层,而是对第一输出空间进行处理,将处理得到的第一输入空间中的特征向量输入到第二目标层,继续对神经网络进行训练,并且,处理得到的第一输入空间与处理之前的第一输出空间相比,输入第二目标层之后,可以使得第二目标层之后的第三目标层的输出空间拟合噪声的能力下降,即可以降低神经网络拟合噪声的能力,从而可以避免神经网络出现过拟合现象,进而可以提高神经网络的泛化能力,最终有利于提高神经网络处理图像、文本或语音时的性能,例如预测结果的精度。
在一些可能的实现方式中,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
该实现方式中,根据第一输出空间确定的第一输入空间,相比于第一输出空间而言,输入第二目标层之后,应降低第三目标层的输出空间的拉德马赫复杂度。因为第三目标层的输出空间的拉德马赫复杂度降低后,对应地,第三目标层的输出空间拟合噪声的能力也会降低,从而可以避免神经网络出现过拟合现象,进而可以提高神经网络的泛化能力,最终有利于提高神经网络处理图像、文本或语音时的性能。
该方法中的神经网络可以是深度神经网络,所述第二目标层通常为所述第一目标层之后的第一个层,所述第三目标层通常为所述第一目标层之后的层,所述第三目标层可以是第二目标层,也可以是第二目标层之后的其他层。
在一些可能的实现方式中,所述根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间,包括:步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
该实现方式中,因为目标函数中包括计算第二目标层的拉德马赫复杂度的第一关系式,因此,通过获取目标函数的梯度并将该梯度确定为扰动值增量,并根据该扰动值增量确定目标扰动值,以及根据该目标扰动值对第一输出空间进行扰动处理,以获得第一输入空间,可以使得第一输入空间输入第二目标层之后,第二目标层对应的输出空间的拉德马赫复杂度有大幅下降,从而可以较大幅度降低第二目标层的输出空间拟合噪声的能力,从而可以提高训练效率。
在一些可能的实现方式中,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间,包括:根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
该实现方式中,重复执行步骤一至步骤三,直到目标函数收敛,并取目标函数收敛时对应的目标扰动值作为最终的扰动值,以及根据该最终扰动值对第一输出空间进行调整和将调整得到的输出空间作为第一输入空间。这样使得该第一输入空间输入第二目标层之后,第二目标层的输出空间拟合噪声的能力可以使得神经网络能够更好地避免过拟合现象。
可选地,在一些可能的实现方式中,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间时,可以直接根据所述目标扰动值对所述第一输出空间进行扰动处理,并将处理得到的输出空间作为所述第一输入空间。
可选地,在一些可能的实现方式中,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间时,可以根据前后两次迭代过程中的扰动值增量之间的差值来判断是否停止迭代。例如,在相邻两次迭代过程中的扰动值增量之间的差值小于或等于预设的阈值时,停止迭代。
在一些可能的实现方式中,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
也就是说,所述目标函数中,除了包括用于计算第二目标层的拉德马赫复杂度的第一关系式,还包括关于所述第一输出空间的扰动值的正则项。这样,可以约束每次计算得到的扰动值增量的大小,以约束每次计算得到的目标扰动值的大小,从而可以避免第二目标层的输出空间的拉德马赫复杂度过小,进而可以避免神经网络的表达能力损失过大,最终有助于保证神经网络的性能。
可选地,在一些可能的实现方式中,所述目标函数中包括的是其他关于第一输出空间的扰动值的正则项,例如可以是关于第一输出空间的扰动值的平均值的关系式等等。
例如,神经网络中包括分类网络时,上述几种实现方式可以在不明显减低分类精度的前提下,缩小测试集与训练集之间的分类精度差距,从而提高神经网络的性能。
在一些可能的实现方式中,所述目标函数的表达式如下:
其中,σi为-1或1,K'[k,:]表示所述第二目标层的权重矩阵中的第k行,“<,>”表示点乘,表示其中的k为使得其值最大的k,“|| ||2”表示二次范数,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,εi表示所述第一输出空间的扰动值,λ为预先配置的参数值。
在一些可能的实现方式中,所述第一输出空间、所述第一输出空间的扰动值和所述第一输入空间之间满足如下关系:
其中,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,表示所述第i个输出空间进行扰动调整得到的第i个输入空间,mi的大小与f(xi)的大小相同,mi中的每一个元素的值为0或1,εi表示所述目标第一输出空间的扰动值。
例如,可以根据所述第一输出空间和所述目标扰动值,利用上述关系式来计算所述第一输入空间。
在第一方面中,第一目标层可以是神经网络的第一层至倒数第二层中的任意一层。在训练神经网络中,可以针对神经网络的第一层至倒数第二层中的任意一个层或多个层进行上述各个实现方式所述的处理。
在一些可能的实现方式中,所述神经网络为卷积神经网络,所述第一目标层为卷积层或全连接层。这样,根据本申请的方法训练得到的卷积神经网络在用于对新的图像、文本或语音进行处理时,可以获得更好的处理性能。例如,所述神经网络用于图像分类时,使用本申请的方法训练得到的神经网络的分类准确度更高;又如,所述神经网络用于图像分割时,使用本申请的方法训练得到的神经网络的分割准确度更高;又如,所述神经网络用于目标物体检测时,使用本申请的方法训练得到的神经网络的检测准确率更高。
在一些可能的实现方式中,所述神经网络为循环神经网络,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元。此时,若所述神经网络用于语言翻译,则使用本申请训练得到的神经网络翻译的准确性更高;若所述神经网络用于语句复述,则使用本申请的方法训练得到的神经网络复述的语句的准确性更高。
第二方面,本申请提供一种训练神经网络的方法,所述方法包括:向卷积神经网络输入训练数据,所述训练数据包括图像;根据所述卷积神经网络中的第一目标层的第一输出空间,确定所述卷积神经网络中的第二目标层的第一输入空间,所述第一目标层为卷积层或全连接层;将所述第一输入空间中的特征向量输入所述第二目标层,对所述卷积神经网络进行训练;其中,所述第二目标层输入所述第一输入空间中的特征向量时所述卷积神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
在一些可能的实现方式中,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
在一些可能的实现方式中,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
在一些可能的实现方式中,所述根据所述卷积神经网络中的第一目标层的第一输出空间,确定所述卷积神经网络中的第二目标层的第一输入空间,包括:步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
在一些可能的实现方式中,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间,包括:根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
在一些可能的实现方式中,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
在一些可能的实现方式中,所述目标函数的表达式如下:
其中,σi为-1或1,K'[k,:]表示所述第二目标层的权重矩阵中的第k行,“<,>”表示点乘,表示其中的k为使得其值最大的k,“|| ||2”表示二次范数,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,εi表示所述第一输出空间的扰动值,λ为预先配置的参数值。
在一些可能的实现方式中,所述第一输出空间、所述第一输出空间的扰动值和所述第一输入空间之间满足如下关系:
其中,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,表示所述第i个输出空间进行扰动调整得到的第i个输入空间,mi的大小与f(xi)的大小相同,mi中的每一个元素的值为0或1,εi表示所述目标第一输出空间的扰动值。
可以理解的是,输入卷积神经网络的训练数据也可以是语音或文本。该卷积神经网络的训练数据为语音或文本时,该卷积神经网络的训练方法与第二方面中的训练方法类似,此处不再赘述。
第三方面,本申请提供一种训练神经网络的方法,所述方法包括:向循环神经网络输入训练数据,所述训练数据包括文本或语音;根据所述循环神经网络中的第一目标层的第一输出空间,确定所述循环神经网络中的第二目标层的第一输入空间,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元;将所述第一输入空间中的特征向量输入所述第二目标层,对所述循环神经网络进行训练;其中,所述第二目标层输入所述第一输入空间中的特征向量时所述循环神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
在一些可能的实现方式中,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
在一些可能的实现方式中,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
在一些可能的实现方式中,所述根据所述循环神经网络中的第一目标层的第一输出空间,确定所述循环神经网络中的第二目标层的第一输入空间,包括:步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
在一些可能的实现方式中,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间,包括:根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
在一些可能的实现方式中,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
在一些可能的实现方式中,所述目标函数的表达式如下:
其中,σi为-1或1,K'[k,:]表示所述第二目标层的权重矩阵中的第k行,“<,>”表示点乘,表示其中的k为使得其值最大的k,“|| ||2”表示二次范数,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,εi表示所述第一输出空间的扰动值,λ为预先配置的参数值。
在一些可能的实现方式中,所述第一输出空间、所述第一输出空间的扰动值和所述第一输入空间之间满足如下关系:
其中,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,表示所述第i个输出空间进行扰动调整得到的第i个输入空间,mi的大小与f(xi)的大小相同,mi中的每一个元素的值为0或1,εi表示所述目标第一输出空间的扰动值。
可以理解的是,输入循环神经网络的训练数据也可以是图像。该循环神经网络的训练数据为图像时,该循环神经网络的训练方法与第三方面中的训练方法类似,此处不再赘述。
第四方面,本申请提供了一种训练神经网络的装置,该装置包括:输入模块,用于向神经网络输入训练数据,所述训练数据包括图像、文本或语音;确定模块,用于根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间,所述第二目标层为所述第一目标层之后的第一个层;训练模块,用于将所述第一输入空间输入所述第二目标层,对所述神经网络进行训练;其中,所述第二目标层输入所述第一输入空间中的特征向量时所述神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力,所述第三目标层为所述第一目标层之后的层。
该装置中,第一目标层输出第一输出空间之后,不是直接将该第一输出空间中的特征向量输入到第二目标层,而是对第一输出空间进行处理,将处理得到的第一输入空间中的特征向量输入到第二目标层,继续对神经网络进行训练,并且,处理得到的第一输入空间与处理之前的第一输出空间相比,输入第二目标层之后,可以使得第三目标层的输出空间拟合噪声的能力下降,即可以降低神经网络拟合噪声的能力,从而可以避免神经网络出现过拟合现象,进而可以提高神经网络的泛化能力,最终有利于提高神经网络处理图像、文本或语音时的性能,例如预测结果的精度。
在一些可能的实现方式中,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时第三目标层的输出空间确定的。
该实现方式中,根据第一输出空间确定的第一输入空间,相比于第一输出空间而言,输入第二目标层之后,应降低第三目标层的输出空间的拉德马赫复杂度。因为第三目标层的输出空间的拉德马赫复杂度降低后,对应地,第三目标层的输出空间拟合噪声的能力也会降低,从而可以避免神经网络出现过拟合现象,进而可以提高神经网络的泛化能力,最终有利于提高神经网络处理新数据时的性能。
该装置中训练的神经网络可以是深度神经网络,其中的第三目标层可以是第二目标层,也可以是第二目标层之后的其他层。
在一些可能的实现方式中,所述确定模块具体用于执行以下步骤:步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
该实现方式中,因为目标函数中包括计算第二目标层的拉德马赫复杂度的第一关系式,因此,通过获取目标函数的梯度并将该梯度确定为扰动值增量,并根据该扰动值增量确定目标扰动值,以及根据该目标扰动值对第一输出空间进行扰动处理,以获得第一输入空间,可以使得第一输入空间中的特征向量输入第二目标层之后,第二目标层对应的输出空间的拉德马赫复杂度有大幅下降,从而可以较大幅度降低第二目标层的输出空间拟合噪声的能力,从而可以提高训练效率。
在一些可能的实现方式中,所述确定模块具体用于:根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
该实现方式中,重复执行步骤一至步骤三,直到目标函数收敛,并取目标函数收敛时对应的目标扰动值作为最终的扰动值,以及根据该最终扰动值对第一输出空间进行调整和将调整得到的输出空间作为第一输入空间。这样使得该第一输入空间输入第二目标层之后,第二目标层的输出空间拟合噪声的能力可以使得神经网络能够更好地避免过拟合现象。
可选地,在一些可能的实现方式中,所述确定模块根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间时,可以直接根据所述目标扰动值对所述第一输出空间进行扰动处理,并将处理得到的输出空间作为所述第一输入空间。
可选地,在一些可能的实现方式中,所述确定模块根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间时,可以根据前后两次迭代过程中的扰动值增量之间的差值来判断是否停止迭代。例如,在相邻两次迭代过程中的扰动值增量之间的差值小于或等于预设的阈值时,停止迭代。
在一些可能的实现方式中,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
也就是说,所述目标函数中,除了包括用于计算第二目标层的拉德马赫复杂度的第一关系式,还包括关于所述第一输出空间的扰动值的正则项。这样,可以约束每次计算得到的扰动值增量的大小,以约束每次计算得到的目标扰动值的大小,从而可以避免第二目标层的输出空间的拉德马赫复杂度过小,进而可以避免神经网络的表达能力损失过大,最终有助于保证神经网络的性能。
可选地,在一些可能的实现方式中,所述目标函数中包括的是其他关于第一输出空间的扰动值的正则项,例如可以是关于第一输出空间的扰动值的平均值的关系式等等。
例如,神经网络中包括分类网络时,上述几种实现方式可以在不明显减低分类精度的前提下,缩小测试集与训练集之间的分类精度差距,从而提高神经网络的性能。
在一些可能的实现方式中,所述目标函数的表达式如下:
其中,σi为-1或1,K'[k,:]表示所述第二目标层的权重矩阵中的第k行,“<,>”表示点乘,表示其中的k为使得其值最大的k,“|| ||2”表示二次范数,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,εi表示所述第一输出空间的扰动值,λ为预先配置的参数值。
在一些可能的实现方式中,所述第一输出空间、所述第一输出空间的扰动值和所述第一输入空间之间满足如下关系:
其中,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,表示所述第i个输出空间进行扰动调整得到的第i个输入空间,mi的大小与f(xi)的大小相同,mi中的每一个元素的值为0或1,εi表示所述目标第一输出空间的扰动值。
例如,可以根据所述第一输出空间和所述目标扰动值,利用上述关系式来计算所述第一输入空间。
在第一方面中,第一目标层可以是神经网络的第一层至倒数第二层中的任意一层。在训练神经网络中,可以针对神经网络的第一层至倒数第二层中的任意一个层或多个层进行上述各个实现方式所述的处理。
在一些可能的实现方式中,所述神经网络为卷积神经网络,所述第一目标层为卷积层或全连接层。这样,根据本申请的方法训练得到的卷积神经网络在用于对新的图像、文本或语音进行处理时,可以获得更好的处理性能。例如,所述神经网络用于图像分类时,使用本申请的方法训练得到的神经网络的分类准确度更高;又如,所述神经网络用于图像分割时,使用本申请的方法训练得到的神经网络的分割准确度更高;又如,所述神经网络用于目标物体检测时,使用本申请的方法训练得到的神经网络的检测准确率更高。
在一些可能的实现方式中,所述神经网络为循环神经网络,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元。这样,根据本申请的方法训练得到的循环神经网络在用于对新的图像、文本或语音进行处理时,可以获得更好的处理性能。例如,若所述循环神经网络用于语言翻译,则使用本申请训练得到的循环神经网络翻译的准确性更高;若所述循环神经网络用于语句复述,则使用本申请的方法训练得到的循环神经网络复述的语句的准确性更高。
第五方面,本申请提供一种训练神经网络的装置,所述装置包括:输入模块,用于向卷积神经网络输入训练数据,所述训练数据包括图像;确定模块,用于根据所述卷积神经网络中的第一目标层的第一输出空间,确定所述卷积神经网络中的第二目标层的第一输入空间,所述第一目标层为卷积层或全连接层;训练模块,用于将所述第一输入空间中的特征向量输入所述第二目标层,对所述卷积神经网络进行训练;其中,所述第二目标层输入所述第一输入空间中的特征向量时所述卷积神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
在一些可能的实现方式中,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
在一些可能的实现方式中,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
在一些可能的实现方式中,所述确定模块具体用于执行以下步骤:步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
在一些可能的实现方式中,所述确定模块具体用于:根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
在一些可能的实现方式中,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
在一些可能的实现方式中,所述目标函数的表达式如下:
其中,σi为-1或1,K'[k,:]表示所述第二目标层的权重矩阵中的第k行,“<,>”表示点乘,表示其中的k为使得其值最大的k,“|| ||2”表示二次范数,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,εi表示所述第一输出空间的扰动值,λ为预先配置的参数值。
在一些可能的实现方式中,所述第一输出空间、所述第一输出空间的扰动值和所述第一输入空间之间满足如下关系:
其中,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,表示所述第i个输出空间进行扰动调整得到的第i个输入空间,mi的大小与f(xi)的大小相同,mi中的每一个元素的值为0或1,εi表示所述目标第一输出空间的扰动值。
可以理解的是,输入卷积神经网络的训练数据也可以是语音或文本。该卷积神经网络的训练数据为语音或文本时,该卷积神经网络的训练装置的结构与第四方面中的训练装置的结构类似,此处不再赘述。
第六方面,本申请提供一种训练神经网络的装置,所述装置包括:输入模块,用于向循环神经网络输入训练数据,所述训练数据包括文本或语音;确定模块,用于根据所述循环神经网络中的第一目标层的第一输出空间,确定所述循环神经网络中的第二目标层的第一输入空间,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元;训练模块,用于将所述第一输入空间中的特征向量输入所述第二目标层,对所述循环神经网络进行训练;其中,所述第二目标层输入所述第一输入空间中的特征向量时所述循环神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
在一些可能的实现方式中,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
在一些可能的实现方式中,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
在一些可能的实现方式中,所述确定模块具体用于:步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
在一些可能的实现方式中,所述确定模块具体用于:根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
在一些可能的实现方式中,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
在一些可能的实现方式中,所述目标函数的表达式如下:
其中,σi为-1或1,K'[k,:]表示所述第二目标层的权重矩阵中的第k行,“<,>”表示点乘,表示其中的k为使得其值最大的k,“|| ||2”表示二次范数,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,εi表示所述第一输出空间的扰动值,λ为预先配置的参数值。
在一些可能的实现方式中,所述第一输出空间、所述第一输出空间的扰动值和所述第一输入空间之间满足如下关系:
其中,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数,表示元素乘,表示所述第i个输出空间进行扰动调整得到的第i个输入空间,mi的大小与f(xi)的大小相同,mi中的每一个元素的值为0或1,εi表示所述目标第一输出空间的扰动值。
可以理解的是,输入循环神经网络的训练数据也可以是图像。该循环神经网络的训练数据为图像时,该循环神经网络的训练装置的结构与第六方面中的训练装置的结构类似,此处不再赘述。
第七方面,本申请提供了一种训练神经网络的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面中的方法。
第八方面,本申请提供了一种训练神经网络的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面中的方法。
第九方面,本申请提供了一种训练神经网络的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第三方面中的方法。
第十方面,本申请提供一种计算机可读介质,该计算机可读介质存储用于设备执行的指令,该指令用于实现第一方面中的方法。
第十一方面,本申请提供一种计算机可读介质,该计算机可读介质存储用于设备执行的指令,该指令用于实现第二方面中的方法。
第十二方面,本申请提供一种计算机可读介质,该计算机可读介质存储用于设备执行的指令,该指令用于实现第三方面中的方法。
第十三方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行第一方面中的方法。
第十四方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行第二方面中的方法。
第十五方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行第三方面中的方法。
第十六方面,本申请提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。
第十七方面,本申请提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第二方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第二方面中的方法。
第十八方面,本申请提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第三方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第三方面中的方法。
第十九方面,本申请提供了一种计算设备,计算设备包括处理器和存储器,其中:存储器中存储有计算机指令,处理器执行计算机指令,以实现第一方面中的方法。
第二十方面,本申请提供了一种计算设备,计算设备包括处理器和存储器,其中:存储器中存储有计算机指令,处理器执行计算机指令,以实现第二方面中的方法。
第二十一方面,本申请提供了一种计算设备,计算设备包括处理器和存储器,其中:存储器中存储有计算机指令,处理器执行计算机指令,以实现第三方面中的方法。
附图说明
图1是本申请实施例提供的一种人工智能主体框架示意图。
图2为本申请实施例提供的一种系统架构的结构示意图。
图3为本申请实施例提供的一种卷积神经网络的结构示意图。
图4为本申请实施例提供的另一种卷积神经网络的结构示意图。
图5为本申请实施例提供的一种芯片的硬件结构示意图。
图6为本申请实施例提供的一种系统架构的示意图。
图7是本申请训练神经网络的方法的一种示例性流程图;
图8是本申请训练神经网络的方法的另一种示例性流程图;
图9是本申请训练神经网络的方法的另一种示例性流程图;
图10是本申请利用神经网络处理数据的方法的一种示例性流程图;
图11是本申请训练神经网络的装置的一种示例性结构图;
图12是本申请利用神经网络处理数据的装置的一种示例性结构图;
图13是本申请的一种装置的示例性结构图;
图14是本申请训练神经网络的方法的另一种示例性流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“信息技术(information technology,IT)价值链”(垂直轴)两个维度对上述人工智能主题框架进行详细的阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。
基础设施可以通过传感器与外部沟通,基础设施的计算能力可以由智能芯片提供。
这里的智能芯片可以是中央处理器(central processing unit,CPU)、神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processingunit,GPU)、专门应用的集成电路(application specific integrated circuit,ASIC)以及现场可编程门阵列(field programmable gate array,FPGA)等硬件加速芯片。
基础设施的基础平台可以包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。
例如,对于基础设施来说,可以通过传感器和外部沟通获取数据,然后将这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据:
基础设施的上一层的数据用于表示人工智能领域的数据来源。该数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理:
上述数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等处理方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力:
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用:
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
本申请的方案可以应用在人工智能中的很多领域,例如智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市等需要用到神经网络的领域。下面对三种较为常用的应用场景进行简单的介绍。
应用场景一:辅助/自动驾驶系统
利用本申请实施例的训练方法训练得到用于目标检测的神经网络,在高级驾驶辅助系统(advanced driving assistant system,ADAS)和自动驾驶系统(autonomousdriving system,ADS)中应用该神经网络对输入的道路画面进行处理,从而识别出道路画面中的不同物体,进而可以对路面上的行人或者障碍物进行检测和躲避,尤其是要避免碰撞行人。
应用场景二:平安城市/视频监控系统
利用本申请实施例的训练方法训练得到用于目标检测的神经网络,在平安城市系统和视频监控系统中应用该神经网络实时进行目标检测(检测行人或者车辆),并标出检测结果,以及将检测结果系统的分析单元中,以查找犯罪嫌疑人、失踪人口以及特定车辆等。
应用场景三:智能终端(相册分类、图像识物等)
利用本申请实施例的训练方法训练得到用于相册分类的神经网络,然后在智能终端(例如智能手机、平板电脑等)上利用该神经网络对图片进行分类,从而为不同的类别的图片打上标签,便于用户查看和查找。另外,这些图片的分类标签也可以提供给相册管理系统进行分类管理,节省用户的管理时间,提高相册管理的效率,提升用户体验。
本申请实施例涉及了神经网络的相关应用,为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的神经网络的相关术语和其他相关概念进行介绍。
(1)卷积神经网络(convosutionas neuras network,CNN)
卷积神经网络是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(2)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(3)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(4)循环神经网络(recurrent neural networks,RNN)
RNN是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
如图2所示,本申请实施例提供了一种系统架构200。在图2中,数据采集设备260用于采集训练数据。以用于图像处理的目标模型/规则201为例来说,训练数据可以包括训练图像以及训练图像对应的分类结果,其中,训练图像的结果可以是人工预先标注的结果。
在采集到训练数据之后,数据采集设备260将这些训练数据存入数据库230,训练设备220基于数据库230中维护的训练数据训练得到目标模型/规则201。
下面对训练设备220基于训练数据得到目标模型/规则201进行描述,训练设备220对输入的原始图像进行处理,将输出的图像与原始图像进行对比,直到训练设备120输出的图像与原始图像的差值小于一定的阈值,从而完成目标模型/规则201的训练。
上述目标模型/规则201能够用于实现本申请实施例的数据处理方法。本申请实施例中的目标模型/规则201具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库230中维护的训练数据不一定都来自于数据采集设备260的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备220也不一定完全基于数据库230维护的训练数据进行目标模型/规则201的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备220训练得到的目标模型/规则201可以应用于不同的系统或设备中,如应用于图2所示的执行设备210,所述执行设备210可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图2中,执行设备210配置输入/输出(input/output,I/O)接口212,用于与外部设备进行数据交互,用户可以通过客户设备240向I/O接口212输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的待处理图像。
预处理模块213和预处理模块214用于根据I/O接口212接收到的输入数据(如待处理图像)进行预处理,在本申请实施例中,也可以没有预处理模块213和预处理模块214(也可以只有其中的一个预处理模块),而直接采用计算模块211对输入数据进行处理。
在执行设备210对输入数据进行预处理,或者在执行设备210的计算模块211执行计算等相关的处理过程中,执行设备210可以调用数据存储系统250中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统250中。
最后,I/O接口212将处理结果,如上述得到的图像的分类结果返回给客户设备240,从而提供给用户。
值得说明的是,训练设备220可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则201,该相应的目标模型/规则201即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图2中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口212提供的界面进行操作。另一种情况下,客户设备240可以自动地向I/O接口212发送输入数据,如果要求客户设备240自动发送输入数据需要获得用户的授权,则用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端,采集如图所示输入I/O接口212的输入数据及输出I/O接口212的输出结果作为新的样本数据,并存入数据库230。当然,也可以不经过客户设备240进行采集,而是由I/O接口212直接将如图所示输入I/O接口212的输入数据及输出I/O接口212的输出结果,作为新的样本数据存入数据库230。
值得注意的是,图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系、训练数据的类型以及神经网络的类型或功能不构成任何限制,例如,在图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。又如,其中的训练数据也可以是文本、语音或其他类型的数据。
如图2所示,根据训练设备220训练得到目标模型/规则201,该目标模型/规则201在本申请实施例中可以是本申请中的神经网络,具体的,本申请实施例训练的神经网络可以为CNN,深度卷积神经网络(deep convolutional neural networks,DCNN),循环神经网络(recurrent neural network,RNNS)等等。
由于CNN是一种非常常见的神经网络,下面结合图3重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
本申请实施例中的卷积神经网络的结构可以如图3所示。在图3中,卷积神经网络(CNN)300可以包括输入层310,卷积层/池化层320(其中池化层为可选的),以及神经网络层330。
以图像处理为例(输入数据为文本或语音时的操作类似),其中,输入层310可以获取待处理图像,并将获取到的待处理图像交由卷积层/池化层320以及后面的神经网络层330进行处理,可以得到图像的处理结果。
下面对图3中的CNN 300中内部的层结构进行详细的介绍。
卷积层/池化层320:
卷积层:
如图3所示卷积层/池化层320可以包括如示例321-326层,举例来说:在一种实现中,321层为卷积层,322层为池化层,323层为卷积层,324层为池化层,325为卷积层,326为池化层;在另一种实现方式中,321、322为卷积层,323为池化层,324、325为卷积层,326为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层321为例,且以输入数据为图像为例,介绍一层卷积层的内部工作原理。输入数据为语音或文本或其他类型的数据时,卷积层的内部工作原理类似。
卷积层321可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的卷积特征图的尺寸也相同,再将提取到的多个尺寸相同的卷积特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络300有多个卷积层的时候,初始的卷积层(例如321)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络300深度的加深,越往后的卷积层(例如326)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图3中320所示例的321-326各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。例如,在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层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通过输出层输出的结果和理想结果之间的误差。
本申请实施例中的神经网络的结构可以如图4所示。在图4中,卷积神经网络(CNN)400可以包括输入层410,卷积层/池化层420(其中池化层为可选的),以及神经网络层430。与图3相比,图4中的卷积层/池化层420中的多个卷积层/池化层(421至426)并行,将分别提取的特征均输入给全神经网络层430进行处理。神经网络层430可以包括多个隐含层,即隐含层1至隐含层n,可以记为431至43n。
需要说明的是,图3和图4所示的卷积神经网络仅作为一种本申请实施例中的两种可能的卷积神经网络的示例,在具体的应用中,本申请实施例中的卷积神经网络还可以以其他网络模型的形式存在。
另外,采用本申请实施例的神经网络结构的训练方法得到的卷积神经网络的结构可以如图3和图4中的卷积神经网络结构所示。
图5为本申请实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图3和图4所示的卷积神经网络中各层的算法均可在如图5所示的芯片中得以实现。
神经网络处理器NPU 50作为协处理器挂载到主中央处理器(central processingunit,CPU)(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图3和图4所示的卷积神经网络中各层的运算可以由运算电路503或向量计算单元507执行。
上文中介绍的图2中的执行设备110能够执行本申请实施例的训练神经网络的方法或数据处理方法的各个步骤,图3和图4所示的CNN模型和图5所示的芯片也可以用于执行本申请实施例的训练神经网络的方法或数据处理方法的各个步骤。下面结合附图对本申请实施例的训练神经网络的方法和本申请实施例的数据处理方法进行详细的介绍。
如图6所示,本申请实施例提供了一种系统架构600。该系统架构包括本地设备601、本地设备602以及执行设备610和数据存储系统650,其中,本地设备601和本地设备602通过通信网络与执行设备610连接。
执行设备610可以由一个或多个服务器实现。可选的,执行设备610可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备610可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备610可以使用数据存储系统650中的数据,或者调用数据存储系统650中的程序代码来实现本申请实施例的训练神经网络的方法。
具体地,执行设备610可以执行以下过程:向神经网络输入训练数据,所述训练数据包括图像、文本或语音;根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间;将所述第一输入空间中的特征向量输入所述第二目标层,对所述神经网络进行训练;其中,所述第二目标层输入所述第一输入空间中的特征向量时所述神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
通过上述过程执行设备610能够搭建成一个目标神经网络,该目标神经网络可以用于对图像、文本或语音等数据进行处理,例如可以用于图像分类或者图像分割或者文本翻译或语音识别等等。
用户可以操作各自的用户设备(例如本地设备601和本地设备602)与执行设备610进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备610进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备601、本地设备602从执行设备610获取到目标神经网络的相关参数,将目标神经网络部署在本地设备601、本地设备602上,利用该目标神经网络对图像、文本或语音等数据,例如用于图像分类或者图像分割或者文本翻译或者语音识别等等。
在另一种实现中,执行设备610上可以直接部署目标神经网络,执行设备610通过从本地设备601和本地设备602获取待处理数据,并根据目标神经网络对待处理的图像、文本或语音等数据进行处理,例如获取待处理图像,并根据目标神经网络对待处理图像进行分类或者其他类型的图像处理。
上述执行设备210也可以为云端设备,此时,执行设备610可以部署在云端;或者,上述执行设备610也可以为终端设备,此时,执行设备610可以部署在用户终端侧,本申请实施例对此并不限定。
下面先结合图7对本申请实施例的训练神经网络的方法700进行详细的介绍。图7所示的方法可以由训练神经网络的装置来执行,该训练神经网络的装置可以是移动终端,电脑、服务器等运算能力足以用来训练神经网络的装置。
图7是本申请训练神经网络的方法的一种示例性流程图。如图7所示,该方法至少包括S710至S730。
S710,向神经网络输入训练数据,所述训练数据包括图像、文本或语音。
S720,根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间,其中,将所述第一输入空间中的特征向量输入所述第二目标层时,所述神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于将所述第一输出空间中的特征向量输入所述第二目标层时,所述第三目标层的输出空间拟合随机噪声的能力。
通常来说,所述第二目标层为所述第二目标层之后的第一个层,第三目标层位于第一目标层之后。
其中,第三目标层位于第一目标层之后,可以理解为:第三目标层为第二目标层或第二目标层之后的层。
第一目标层的第一输出空间与所述训练数据一一对应,即为第一目标层对训练数据进行处理得到的输出空间。根据第一输出空间确定的第一输入空间与第一输出空间,以及与所述训练数据也一一对应。
S730,将所述第一输入空间输入所述第二目标层,对所述神经网络进行训练。
该方法中,第一目标层输出第一输出空间之后,不是直接将该第一输出空间中的特征向量输入到第二目标层,而是对第一输出空间进行处理,将处理得到的第一输入空间中的特征向量输入到第二目标层,继续对神经网络进行训练,并且,处理得到的第一输入空间与处理之前的第一输出空间相比,在输入第二目标层之后,可以使得第二目标层或第二目标层之后的第三目标层的输出空间拟合噪声的能力下降,即可以降低神经网络拟合噪声的能力,从而可以避免神经网络出现过拟合现象,进而可以提高神经网络的泛化能力,最终有利于提高神经网络处理图像、文本或语音等数据时的性能,例如预测结果的精度。
本申请实施例中的神经网络可以是深度神经网络,例如可以是卷积神经网络或循环神经网络。
该神经网络为卷积神经网络时,该神经网络的一种示例为残差网络。该神经网络为卷积神经网络时,通常情况下,输入的训练数据可以是图像,其中的第一目标层可以是卷积层或全连接层。可以理解的是,该神经网络为卷积神经网络时,输入的训练数据也可以是文本或语音等其他类型的数据,第一目标层也可以是池化层等其他类型的网络层,本申请实施例对此不作限制。
该神经网络为循环神经网络时,通常情况下,输入的训练数据可以是文本或语音,其中的第一目标层可以包括长短时记忆(long short term memory,LSTM)单元、双向递归神经网络(bidirectional recurrent neural networks,BRNN)单元或记忆网络(memorynetworks)单元或门控循环单元等基本单元。可以理解的是,该神经网络为循环神经网络时,输入的训练数据也可以是图像等其他类型的数据,第一目标层也可以包括其他能够构成循环神经网络的基本单元。本申请并不限制神经网络的类型与输入的数据之间的对应关系。
此外,可以理解的是,若循环神经网络中的基本单元是单层的,则不同目标层对应不同时刻下的该基本单元。例如,第一目标层对应第一时刻下的该基本单元,即第一输出空间为第一时刻下该基本单元的输出空间;第二目标层为第一时刻之后的第一个执行时刻(可以称为第二时刻)下的该基本单元,即第一输入空间为第二时刻下该基本单元的输入空间;第三目标层为第一时刻之后的任意一个执行时刻下的该基本单元。
若循环神经网络中的基本单元是多层的,则不同目标层可以对应一个时刻下的该基本单元中不同的层。例如,第一目标层对应第一时刻下的该基本单元中的一个层,即第一输出空间为第一时刻下该基本单元一个层的输出空间;第二目标层为第一时刻下的该基本单元中另一个层,该另一个层位于第一目标层之后的第一个层,即第一输入空间为第一时刻下该基本单元中的该另一个层的输入空间;第三目标层为第一时刻下该基本单元中第一目标层之后的任意一个层。
本实施例中,第二目标层与第三目标层为同一个层时,根据第一目标层的第一输出空间确定得到的第一输入空间应满足的条件可以理解为:将第一输入空间中的特征向量输入第二目标层时,所述第二目标层的输出空间拟合随机噪声的能力,小于将所述第一输出空间中的特征向量输入所述第二目标层时,所述第二目标层的输出空间拟合随机噪声的能力。
例如,该神经网络包括五个层时,第一目标层可以是该神经网络的第二层,第二目标层可以是第三层,且第二目标层与第三目标层为同一层。这种情况下,根据第二层的第一输出空间确定的第三层的第一输入空间应满足:将该第一输入空间中的特向向量输入第三层时第三层的输出空间拟合噪声能力,小于,将该第一输出空间中的特征向量直接输入第三层时第三层的输出空间拟合噪声的能力。
第二目标层与第三目标层为不是同一个层的一种示例如下:该神经网络包括五个层,第一目标层可以是该神经网络的第二层,第二目标层可以是第三层,且第三目标层可以是第五层。这种情况下,根据第二层的第一输出空间确定的第三层的第一输入空间应满足:将该第一输入空间中的特征向量输入第三层时第五层的输出空间拟合噪声能力,小于,将该第一输出空间中的特征向量直接输入第三层时第五层的输出空间拟合噪声的能力。
在一些可能的实现方式中,可以通过第三目标层的拉德马赫(rademacher)复杂度来度量第三目标层的输出空间拟合噪声的能力。也就是说,根据第一输出空间确定的第一输入空间应满足如下条件:第三目标层的第一拉德马赫复杂度小于第三目标层的第二拉德马赫复杂度,第一拉德马赫复杂度是根据第二目标层输入第一输入空间中的特征向量时第三目标层的输出空间确定的,第二拉德马赫复杂度是根据第二目标层输入第一输出空间中的特征向量时第三目标层的输出空间确定的。
以第二目标层的输入空间为所述第一输入空间为例,第三目标层的拉德马赫复杂度可以根据如下公式(1)进行计算:
式(1)中,RD(f(xi))表示第三目标层的拉德马赫复杂度;σi为-1或1,表示随机噪声的值;K'[k,:]表示所述第三目标层的权重矩阵中的第k行;“<,>”表示点乘;f(xi)表示第二目标层输入所述第一输入空间中的第i个输入空间时第三目标层的输出空间中的第i个输出空间;所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数;表示其中的k为使得其值最大的k。
该实现方式中,根据第一输出空间确定的第一输入空间,相比于第一输出空间而言,在输入第二目标层之后,应降低第二目标层或第二目标层之后的其他层的输出空间的拉德马赫复杂度。因为第三目标层的输出空间的拉德马赫复杂度降低后,对应地,第三目标层的输出空间拟合噪声的能力也会降低,从而可以避免神经网络出现过拟合现象,进而可以提高神经网络的泛化能力,最终有利于提高神经网络处理新的图像、文本或语音等数据时的性能。
为了方便理解,下面的内容中,如无特殊说明,均以第三目标层与第二目标层为同一个层为例进行介绍。
在一些可能的实现方式中,S720(即所述根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间)可以包括图8中所示的S721至S723这三个步骤。
S721,根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度。
其中,每次根据训练数据对该神经网络进行的训练,且针对第一目标层第一次执行S721时,所使用的初始扰动值可以是预先设置好的,也可以是随机初始化得到的,或者该初始扰动值可以为0。该初始扰动值为0可以等同于不使用该初始扰动值。
每次根据训练数据对该神经网络进行的训练,且针对第一目标层非首次执行S721时,所使用的初始扰动值可以是在本次执行S721之前,上一次执行S721之间执行S722得到的目标扰动值。
S722,根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值。
例如,可以将初始扰动值减去扰动值增量,得到的扰动值为目标扰动值。
S723,根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
该实现方式中,因为目标函数中包括计算第二目标层的拉德马赫复杂度的第一关系式,因此,通过获取目标函数的梯度并将该梯度确定为扰动值增量,并根据该扰动值增量确定目标扰动值,以及根据该目标扰动值对第一输出空间进行扰动处理,以获得第一输入空间,可以使得第一输入空间输入第二目标层之后,第二目标层对应的输出空间的拉德马赫复杂度有大幅下降,从而可以较大幅度降低第二目标层的输出空间拟合噪声的能力,从而可以提高训练效率。
目标函数的一种示例如下面的式(2)所示:
式(2)中,σi为-1或1,表示随机噪声的值;K'[k,:]表示所述第二目标层的权重矩阵中的第k行;“<,>”表示点乘;表示其中的k为使得其值最大的k;“f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数;表示元素乘,即相同位置上的元素相乘;mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,为1表示对第i个输出空间中相应位置的输出值进行扰动,为0表示不对第i个输出空间中相应位置的输出值进行扰动;εi表示所述初始扰动值;表示根据第一输出空间和初始扰动值确定的第二目标层的第i个输入空间。
mi中每个元素的值可以随机初始化为0或1;或者,可以先随机初始化mi中的每个元素为0或1,再将初始化为1的元素周围的部分或全部元素也置为1,这样可以进一步避免神经网络出现过拟合现象。此处所说的周围是指相邻。
在一些可能的实现方式中,目标函数中还可以包括:关于所述第一输出空间的扰动值的正则项。也就是说,所述目标函数中,除了包括用于计算第二目标层的拉德马赫复杂度的第一关系式,还包括关于所述第一输出空间的扰动值的正则项。这样,可以约束每次计算得到的扰动值增量的大小,以约束每次计算得到的目标扰动值的大小,从而可以避免第二目标层的输出空间的拉德马赫复杂度过小,进而可以避免神经网络的表达能力损失过大,最终有助于保证神经网络的性能。
可选地,在一些可能的实现方式中,所述目标函数中包括的是其他关于第一输出空间的扰动值的正则项,例如可以是关于第一输出空间的扰动值的平均值的关系式等等。
例如,神经网络中包括分类网络时,上述几种实现方式可以在不明显减低分类精度的前提下,缩小测试集与训练集之间的分类精度差距,从而提高神经网络的性能。
目标函数中还包括关于所述第一输出空间的扰动值的正则项时的一种示例如公式(3)所示。
式(3)中,σi为-1或1,表示随机噪声的值;K'[k,:]表示所述第二目标层的权重矩阵中的第k行;“<,>”表示点乘;表示其中的k为使得其值最大的k;“f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数;表示元素乘,即相同位置上的元素相乘;mi的长度与f(xi)的长度相同,mi中的每一个元素的值为0或1,为1表示对第i个输出空间中相应位置的输出值进行扰动,为0表示不对第i个输出空间中相应位置的输出值进行扰动;εi表示所述初始扰动值;表示根据第一输出空间和初始扰动值确定的第二目标层的第i个输入空间;“|| ||2”表示二次范数;λ为预先配置的参数值。
在一些实现方式中,根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量时,可以根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵计算目标函数关于扰动值的梯度,并将该梯度作为第一输出空间的扰动值增量。
S723(根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间)的一种实现方式中,可以根据下面的公式(3)计算得到。
式(3)中,f(xi)表示所述第一输出空间中的第i个输出空间,所述第i个输出空间为所述训练数据中的第i个数据对应的输出空间,i为小于或等于N的正整数,N为所述训练数据的个数;表示元素乘;表示所述第i个输出空间进行扰动调整得到的第i个输入空间,N个输入空间即组成第一输入空间;mi的大小与f(xi)的大小相同,mi中的每一个元素的值为0或1,为1表示对第i个输出空间中相应位置的输出值进行扰动,为0表示不对第i个输出空间中相应位置的输出值进行扰动;εi表示所述目标第一输出空间的扰动值。
S723(根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间)的另一种实现方式中,可以先将目标扰动值、第一输出空间和第二目标层的权重矩阵代入目标函数中,计算得到目标函数的目标函数值,然后根据该目标函数值与该目标函数的初始函数值确定是否还需重复执行S721至S723,以重复更新扰动值增量,从而获得最优扰动值增量来确定最优的目标扰动值,进而获得最优的第一输入空间。这样使得该第一输入空间输入第二目标层之后,第二目标层的输出空间拟合噪声的能力可以使得神经网络能够更好地避免过拟合现象。
其中,每次根据训练数据对该神经网络进行的训练,且针对第一目标层第一次执行S723时,所使用的初始函数值可以是预先设置好的,也可以是随机初始化得到的,或者该初始函数值可以为0。该初始函数值为0可以等同于不使用该初始函数值。
每次根据训练数据对该神经网络进行的训练,且针对第一目标层非首次执行S723时,所使用的初始函数值可以是在上一次执行S723得到的目标函数值。
根据该目标函数值与该目标函数的初始函数值确定是否还需重复执行S721至S723的一种实现方式中,可以计算目标函数值与初始函数值的差的绝对值,若该绝对值小于或等于预设的阈值,则说明当前的目标扰动值已使得该目标函数收敛,可以停止重复执行S721至S723;否则说明该目标函数还没收敛,需要将初始函数值更新为当前的目标函数值,将初始扰动值更新为当前的目标扰动值,并重复执行S721至S723。
当确定目标函数收敛,可以停止重复执行S721至S723之后,可以根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间。例如,可以根据将当前目标扰动值、第一输入空间和第二目标层的权重矩阵代入公式(3),计算第一输入空间。
本实施例的S730中,将第一输入空间输入第二目标层,对神经网络进行训练,可以包括:在第二目标层根据第一输入空间生成输出空间之后,将第二目标层作为第一目标层,将该输出空间作为第一输出空间,将第二目标层之后的层作为新的第二目标层,继续执行前述图8,甚至执行图9或图14中的操作。
直到神经网络的最后一层输出结果之后,根据该神经网络的损失函数更新该神经网络各层的权重,从而完成一次训练。
也就是说,本实施例的方法中,可以降低神经网络中多个层甚至所有层拟合噪声的能力,从而进一步提高神经网络的性能。
下面结合图9介绍被训练的神经网络为卷积神经网络时,获取较优第一输入空间的一种实现方式。图9所示的方法可以包括S910至S970。
S910,获取第一目标层的第一输出空间、初始扰动值和初始目标值。
S920,根据第一输出空间、初始扰动值、第二目标层的权重矩阵和目标函数,确定扰动值增量。该步骤可以参考S721。
S930,根据初始扰动值和扰动值增量,确定目标扰动值。该步骤可以参考S722。
S940,将目标扰动值、第一输出空间、第二目标层的权重矩阵代入目标函数中,计算得到目标函数值。
S950,判断目标函数值与初始函数之间的差值是否小于或等于阈值,是则执行S960,否则执行S970。
S960,计算第一输出空间与当前目标扰动值的差值,得到第一输入空间。
S970,将初始扰动值更新为当前目标扰动值,将初始函数值更新为当前目标函数值。
在S960中获得第一输入空间后,可以将该第一输入空间输入第二目标层,继续对卷积神经网络继续训练,即继续执行S730。其中,在执行S730的过程中,还可以选定第一目标层,重复执行图9中的操作。
下面介绍被训练的神经网络为循环神经网络时,获取较优的第一输入空间的实现方式。其中,若该循环神经网络中的基本单元是多层的,一个目标层对应同一执行时刻下该基本单元中的一个层,则获取较优的第一输入空间的实现方式可以参考图9中所示的实现方式。
下面结合图14介绍循环神经网络中的基本单元是单层的,一个目标层对应一个时刻下该基本单元时,获取较优第一输入空间的一种实现方式。图14所示的方法可以包括S1410至S1470。
S1410,获取t时刻下循环神经网络的输出空间、初始扰动值和初始目标值。其中,t时刻下循环神经网络的基本单元即为第一目标层,t时刻下循环神经网络的基本单元的输出空间即为第一输出空间。
S1420,根据t时刻下循环神经网络的输出空间、初始扰动值、t时刻下循环神经网络的权重和目标函数,确定扰动值增量。
其中,t+1时刻下循环神经网络的基本单元即为第二目标层,t时刻下循环神经网络的基本单元的权重即为第二目标层的权重,t+1时刻下循环神经网络的输入空间即为第一输入空间。该步骤可以参考S721。
S1430,根据初始扰动值和扰动值增量,确定目标扰动值。该步骤可以参考S722。
S1440,将目标扰动值、t时刻下循环神经网络的输出空间、t时刻下循环神经网络的权重代入目标函数中,计算得到目标函数值。
S1450,判断目标函数值与初始函数之间的差值是否小于或等于阈值,是则执行S1460,否则执行S1470。
S1460,计算t时刻下循环神经网络的输出空间与当前目标扰动值的差值,得到t+1时刻下循环神经网络的输入空间。
S1470,将初始扰动值更新为当前目标扰动值,将初始函数值更新为当前目标函数值。
在S1460中获得t+1时刻下循环神经网络的输入空间后,可以将该输入空间输入该循环神经网络,继续对循环神经网络继续训练,即继续执行S730。在执行S730的过程中,还可以将某个时刻确定为t时刻,然后执行图14中的操作。
本实施例中,可选地,可以通过第三目标层的VC维(vapnik-chervonenkisdimension)、最大差异(maximum discrepancy)或高斯复杂度(gaussian complexity)等信息来度量第三目标层的输出空间拟合噪声的能力。通过上述任意信息度量第三目标层的输出空间拟合噪声的能力时,根据第一目标层的第一输出空间确定第二目标层的第一输入空间的方式,可以参考前述通过第三目标层的拉德马赫复杂度度量第三目标层的输出空间拟合噪声的能力时,根据第一目标层的第一输出空间确定第二目标层的第一输入空间的方式,此处不再赘述。
使用上述方法训练得到神经网络之后,该神经网络可以部署到实际的应用场景中,例如部署到语言翻译、语句复述、智能驾驶、图像分类、图像分割或目标检测的应用场景中,以根据神经网络进行语言翻译、语句复述、智能驾驶、图像分类、图像分割或目标检测,从而实现相应的目的需求。
图10是本申请利用神经网络处理数据的方法的一种示例性流程图。该方法可以包括S1010和S1020。
S1010,获取待处理数据,所述待处理数据包括待处理图像、待处理文本或待处理语音。
可以理解的是,所述待处理数据还可以是其他类似的数据,例如,车辆轨迹、温度、湿度、天气等,本申请实施例对待处理数据的类型不作限定。
S1020,将所述待处理数据输入神经网络,得到处理结果,其中,所述神经网络在训练过程中,所述神经网络的第二目标层的第一输入空间是根据所述神经网络的第一目标层的第一输出空间确定的,且所述第二目标层输入所述第一输入空间中的特征向量时所述神经网络的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
该神经网络可以是前述训练方法训练得到的神经网络。例如,该神经网络可以是卷积神经网络或循环神经网络。该神经网络可以用于实现目标检测、图像分类、图像分割、语音识别或文本翻译等功能。
输入该神经网络的待处理图像的类型与训练该神经网络时使用的数据的类型相同。例如,该神经网络为卷积神经网络时,输入该神经网络的待处理数据可以是图像;该神经网络为循环神经网络时,输入该神经网络的待处理数据可以是文本或语音。
因为该方法中的神经网络在训练过程中,所述神经网络的第二目标层的第一输入空间是根据所述神经网络的第一目标层的第一输出空间确定的,且所述第二目标层输入所述第一输入空间时第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间时第三目标层的输出空间拟合随机噪声的能力,即所述神经网络拟合噪声的能力较低,因此,所述神经网络的泛化能力较高,即神经网络处理图像、文本或语音等数据时有较高的性能,例如预测结果的精度较高。
本实施例中的神经网络可以是根据前述训练神经网络的任意一个方法训练得到,因此也具有前述训练方法训练得到的神经网络所具有的特征,并在进行数据处理时,也能达到相应的效果。
图11是本申请训练神经网络的装置的一种示例性结构图。该装置1100包括输入模块1110,确定模块1120和训练模块1130。该装置1100可以实现前述图7至图9中任一个所示的方法。
例如,输入模块1110用于执行S710,确定模块1120用于执行S720,训练模块1130用于执行S730。
可选地,确定模块1120可以具体用于执行S721至S723。
可选地,确定模块1120可以具体用于执行S910至S970。
在一些可能的实现方式中,装置1100可以是图2中的训练设备220;在另一些可能的实现方式中,装置1100可以是图5所示的神经网络处理器50;在另一些可能的实现方式中,装置1100可以是图6中所述的执行设备610。
装置1100可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。装置1100可以是云数据中心中用于对神经网络进行训练的服务器。装置1100也可以是创建在云数据中心中的用于对神经网络进行训练的虚拟机。装置1100还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于对神经网络进行训练,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,装置1100中的输入模块1110、确定模块1120和训练模块1130可以分布式地部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。又如,确定模块1120包括多个子模块时,这多个子模块可以部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。
装置1100可以由云服务提供商在云服务平台抽象成一种神经网络的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供训练神经网络的云服务,用户可以通过应用程序接口(application program interface,API)或者通过云服务平台提供的网页界面上传待训练的神经网络(进一步地还可以上传原始训练集)至云环境,由装置1100接收待训练的神经网络以及训练集,使用训练集对待训练的神经网络进行训练,最终训练得到的神经网络由装置1100返回至用户所在的边缘设备。
当装置1100为软件装置时,装置1100也可以单独部署在任意环境的一个计算设备上。
图12是本申请利用神经网络处理数据的装置的一种示例性结构图。该装置1200包括获取模块1210和处理模块1220。该装置1200可以实现前述图10所示的方法。例如,获取模块1210用于执行S1010,处理模块1220用于执行S1020。
在一些可能的实现方式中,装置1200可以是图2中的执行设备210;在另一些可能的实现方式中,装置1200可以是图5所示的神经网络处理器50;在另一些可能的实现方式中,装置1200可以是图6中所述的本地设备601或本地设备602。
装置1200可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。装置1200可以是云数据中心中用于利用神经网络进行数据处理的服务器。装置1200也可以是创建在云数据中心中的用于利用神经网络进行数据处理的虚拟机。装置1200还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于利用神经网络进行数据处理,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,装置1200中的获取模块1210和处理模块1220可以分布式地部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。又如,处理模块1220包括多个子模块时,这多个子模块可以部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。
装置1200可以由云服务提供商在云服务平台抽象成一种神经网络的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供利用训练神经网络处理数据的云服务,用户可以通过应用程序接口(application programinterface,API)或者通过云服务平台提供的网页界面上传处理数据至云环境,由装置1200接收待处理数据,使用神经网络对待处理数据进行处理,最终处理得到的数据由装置1200返回至用户所在的边缘设备。
当装置1200为软件装置时,装置1200也可以单独部署在任意环境的一个计算设备上。
本申请还提供一种如图13所示的装置1300,装置1300包括处理器1302、通信接口1303和存储器1304。装置1300的一种示例为芯片。装置1300的另一种示例为计算设备。
处理器1302、存储器1304和通信接口1303之间可以通过总线通信。存储器1304中存储有可执行代码,处理器1302读取存储器1304中的可执行代码以执行对应的方法。存储器1304中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
例如,存储器1304中的可执行代码用于实现图7至图10中任一图所示的方法,处理器1302读取存储器1304中的该可执行代码以执行图7至图10中任一图所示的方法。
其中,处理器1302可以为中央处理器(central processing unit,CPU)。存储器1304可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器1304还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。
表1至图表3为使用本申请的方法或装置针对图像训练数据训练得到的卷积神经网络,与使用现有技术中的方法或装置训练得到的卷积神经网络,在相同测试集上的测试精度的对比图。CIFAR-10数据集是指加拿大前沿研究院公布的一个数据集,其中包括10类图像;CIFAR-100数据集是指加拿大前沿研究院公布的一个数据集,其中包括100类图像;ImageNet数据集是指图像网络大规模视觉识别挑战(ImageNet large scale visualrecognition challenge,ILSVRC)竞赛所用公开数据集。
表1 CIFAR-10和CIFAR-100数据集上的分类结果
表1中,第一列表示训练的神经网络为卷积神经网络(CNN),该卷积神经网络包括三个卷积层和两个全链接层;第二列表示将CIFAR-10数据集作为测试集时,对应训练方法对CNN进行训练得到的神经网络的测试精度;第三列表示将CIFAR-100数据集作为测试集时,对应训练方法对CNN进行训练得到的神经网络的测试精度;不同行对应不同的训练方法。其中,不同的训练方法均只对两个全连接层的输出空间进行了扰动。
例如,第二行对应的训练方法中,不进行扰动;第三行对应的训练方法为论文“Srivastava et al.2014”中介绍的方法;第四行对应的训练方法为论文“Kingma,Salimans,and welling 2015”中介绍的方法;第五行对应的训练方法为论文“Molchanov,Ashukha,and Vetrov 2017”;第六行对应的训练方法为论文“Zhai and Wang 2018”中介绍的方法;最后一行对应的训练方法中包括本申请的训练方法中的操作。
表2 CIFAR-10和CIFAR-100数据集上的分类结果
神经网络 | 测试精度(%) | 测试精度(%) |
ResNet | 93.95 | 71.81 |
ResNet | 94.18 | 73.08 |
ResNet | 94.50 | 73.71 |
表2中,第一列表示训练的神经网络为残差网络-56(ResNet-56),该卷积神经网络包括三个卷积层和两个全链接层;第二列表示将CIFAR-10数据集作为测试集时,对应训练方法对ResNet-56进行训练得到的神经网络的测试精度;第三列表示将CIFAR-100数据集作为测试集时,对应训练方法对ResNet-56进行训练得到的神经网络的测试精度;不同行对应不同的训练方法。其中,不同的训练方法均只对三个卷积层的输出空间进行了扰动。
例如,第二行对应的训练方法中,不进行扰动;第三行对应的训练方法为论文“Ghiasi,Lin,and Le 2018”中介绍的方法;最后一行对应的训练方法中包括本申请的训练方法中的操作。
表3 ImageNet数据集上的分类结果
神经网络 | 测试精度(%) | 测试精度(%) |
ResNet-50 | 76.51 | 93.20 |
ResNet-50 | 76.80 | 93.41 |
ResNet-50 | 77.10 | 93.50 |
ResNet-50 | 77.41 | 93.74 |
ResNet-50 | 76.52 | 93.21 |
ResNet-50 | 77.63 | 93.82 |
ResNet-50 | 77.17 | 93.45 |
ResNet-50 | 78.13 | 94.02 |
ResNet-50 | 77.71 | 93.89 |
ResNet-50 | 78.76 | 94.33 |
表3中,第一列表示训练的神经网络为残差网络-50(ResNet-50),该卷积神经网络包括三个卷积层和两个全链接层;第二列和第三列表示将ImageNet数据集作为测试集时,对应训练方法对ResNet-50进行训练得到的神经网络的测试精度;不同行对应不同的训练方法。其中,第二列是按照下面的测试准则得到的测试精度:若神经网络输出的分类结果中概率最大的分类结果与被测试的分类结果相同,则认为分类准确,否则认为分类不准确,第二列的测试精度也可以称为top-1精度;第三列是按照下面的测试准侧得到的测试精度:若神经网络输出的分类结果按照概率从大到小排序后,前五个概率对应的分类结果中包括被测试的分类结果,则认为分类准确,否则认为不准确,第三列的测试精度也可以称为top-5精度。其中,不同的训练方法均只对三个卷积层的输出空间进行了扰动。
例如,第二行对应的训练方法中,不进行扰动;第三行对应的训练方法为论文“Srivastava et al.2014”中介绍的方法;第四行对应的训练方法为论文“Larsson,Maire,and Shakhnarovich 2016”中介绍的方法;第五行对应的训练方法为论文“Tompson etal.2015”中介绍的方法;第六行对应的训练方法为论文“DeVries and Taylor 2017”中介绍的方法;第七行对应的训练方法为论文“Cubuk et al.2018”中介绍的方法;第八行对应的训练方法为论文“Szegedy et al.2016”中介绍的方法;第九行对应的训练方法为论文“Ghiasi,Lin,and Le2018”中介绍的方法;倒数第二行和最后一行对应的训练方法中包括本申请的训练方法中的操作,不同之处在于,到处第二行对应的方法中涉及mi时,mi中每个元素的值是随机初始化直接得到的,而倒数第一行对应的训练方法中涉及mi时,是通过“先随机初始化mi中的每个元素为0或1,再将初始化为1的元素周围的部分或全部元素也置为1”的方式得到的。
由表1至表3可知,本申请的方法训练得到的卷积神经网络对图像进行处理的性能要远好于其他方法的训练得到的卷积神经网络对图像进行处理的性能。具体而言,与其他方法相比,本申请的方法或装置能够很大程度地提高卷积神经网络在图像测试集上的准确率,减少卷积神经网络在图像训练集与该卷积神经网络在图像测试集上的准确率之间的差距,提高泛化性能。
表4为使用本申请的方法或装置针对文本训练数据训练得到的循环神经网络,与使用现有技术中的方法或装置训练得到的循环神经网络,在相同测试集上的测试精度的对比图。IMDb数据集是指互联网电影资料库(internet movie database,IMDb)。
表4 IMDb数据集上的实验结果
神经网络 | 测试精度(%) |
LSTM | 81.88 |
LSTM | 82.17 |
LSTM | 82.40 |
表4中,第一列表示训练的神经网络为包括LSTM单元的循环神经网络,该循环神经网络可以称为LSTM网络;第二列表示将IMDb数据集作为测试集时,对应训练方法对LSTM网络进行训练得到的神经网络的测试精度;不同行对应不同的训练方法。
例如,第二行对应的训练方法中,不进行扰动;第三行对应的训练方法为论文“Srivastava et al.2014”中介绍的方法;第四行对应的训练方法中包括本申请的训练方法中的操作。
由表4可知,本申请的方法训练得到的LSTM网络对文本进行处理的性能要远好于其他方法的训练得到的LSTM网络对相同文本进行处理的性能。具体而言,与其他方法相比,本申请的方法或装置能够很大程度地提高LSTM网络在文本测试集上的准确率,减少LSTM网络在文本训练集与该LSTM网络在文本测试集上的准确率之间的差距,提高泛化性能。
表5为使用本申请的方法或装置针对语音训练数据训练得到的循环神经网络,与使用现有技术中的方法或装置训练得到的循环神经网络,在相同语音数据集上的测试精度的对比图。该语音数据集是名为UrbanSoundk8k的语音分类数据集,其中包括10类、8732段带标签的语音。
表5 UrbanSoundk8k数据集上的实验结果
神经网络 | 测试精度(%) |
LSTM | 72.79 |
LSTM | 78.31 |
LSTM | 78.68 |
表5中,第一列表示训练的神经网络为包括LSTM单元的循环神经网络,该循环神经网络可以称为LSTM网络;第二列表示将UrbanSoundk8k数据集作为测试集时,对应训练方法对LSTM网络进行训练得到的神经网络的测试精度;不同行对应不同的训练方法。
例如,第二行对应的训练方法中,不进行扰动;第三行对应的训练方法为论文“Srivastava et al.2014”中介绍的方法;第四行对应的训练方法中包括本申请的训练方法中的操作。
由表5可知,本申请的方法训练得到的LSTM网络对语音数据进行处理的性能要远好于其他方法的训练得到的LSTM网络对相同语音数据进行处理的性能。具体而言,与其他方法相比,本申请的方法或装置能够很大程度地提高LSTM网络在语音测试集上的准确率,减少LSTM网络在语音训练集与该LSTM网络在语音测试集上的准确率之间的差距,提高泛化性能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (56)
1.一种训练神经网络的方法,其特征在于,包括:
向神经网络输入训练数据,所述训练数据包括图像、文本或语音;
根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间;
将所述第一输入空间中的特征向量输入所述第二目标层,对所述神经网络进行训练;
其中,所述第二目标层输入所述第一输入空间中的特征向量时所述神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
2.如权利要求1所述的方法,其特征在于,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
3.如权利要求1或2所述的方法,其特征在于,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
4.如权利要求3所述的方法,其特征在于,所述根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间,包括:
步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;
步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;
步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
5.如权利要求4所述的方法,其特征在于,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间,包括:
根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;
在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
6.如权利要求5所述的方法,其特征在于,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
9.如权利要求1至8中任一项所述的方法,其特征在于,所述神经网络为卷积神经网络,所述第一目标层为卷积层或全连接层。
10.如权利要求1至8中任一项所述的方法,其特征在于,所述神经网络为循环神经网络,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元。
11.一种训练神经网络的方法,其特征在于,包括:
向卷积神经网络输入训练数据,所述训练数据包括图像;
根据所述卷积神经网络中的第一目标层的第一输出空间,确定所述卷积神经网络中的第二目标层的第一输入空间,所述第一目标层为卷积层或全连接层;
将所述第一输入空间中的特征向量输入所述第二目标层,对所述卷积神经网络进行训练;
其中,所述第二目标层输入所述第一输入空间中的特征向量时所述卷积神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
12.如权利要求11所述的方法,其特征在于,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
13.如权利要求11或12所述的方法,其特征在于,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
14.如权利要求13所述的方法,其特征在于,所述根据所述卷积神经网络中的第一目标层的第一输出空间,确定所述卷积神经网络中的第二目标层的第一输入空间,包括:
步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;
步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;
步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
15.如权利要求14所述的方法,其特征在于,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间,包括:
根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;
在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
16.如权利要求15所述的方法,其特征在于,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
19.一种训练神经网络的方法,其特征在于,包括:
向循环神经网络输入训练数据,所述训练数据包括文本或语音;
根据所述循环神经网络中的第一目标层的第一输出空间,确定所述循环神经网络中的第二目标层的第一输入空间,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元;
将所述第一输入空间中的特征向量输入所述第二目标层,对所述循环神经网络进行训练;
其中,所述第二目标层输入所述第一输入空间中的特征向量时所述循环神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
20.如权利要求19所述的方法,其特征在于,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
21.如权利要求19或20所述的方法,其特征在于,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
22.如权利要求21所述的方法,其特征在于,所述根据所述循环神经网络中的第一目标层的第一输出空间,确定所述循环神经网络中的第二目标层的第一输入空间,包括:
步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;
步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;
步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
23.如权利要求22所述的方法,其特征在于,所述根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间,包括:
根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;
在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
24.如权利要求23所述的方法,其特征在于,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
27.一种训练神经网络的装置,其特征在于,包括:
输入模块,用于向神经网络输入训练数据,所述训练数据包括图像、文本或语音;
确定模块,用于根据所述神经网络中的第一目标层的第一输出空间,确定所述神经网络中的第二目标层的第一输入空间;
训练模块,用于将所述第一输入空间中的特征向量输入所述第二目标层,对所述神经网络进行训练;
其中,所述第二目标层输入所述第一输入空间中的特征向量时所述神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
28.如权利要求27所述的装置,其特征在于,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
29.如权利要求27或28所述的装置,其特征在于,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
30.如权利要求29所述的装置,其特征在于,所述确定模块具体用于执行以下步骤:
步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;
步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;
步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
31.如权利要求30所述的装置,其特征在于,所述确定模块具体用于:
根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;
在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
32.如权利要求31所述的装置,其特征在于,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
35.如权利要求27至34中任一项所述的装置,其特征在于,所述神经网络为卷积神经网络,所述第一目标层为卷积层或全连接层。
36.如权利要求27至34中任一项所述的装置,其特征在于,所述神经网络为循环神经网络,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元。
37.一种训练神经网络的装置,其特征在于,包括:
输入模块,用于向卷积神经网络输入训练数据,所述训练数据包括图像;
确定模块,用于根据所述卷积神经网络中的第一目标层的第一输出空间,确定所述卷积神经网络中的第二目标层的第一输入空间,所述第一目标层为卷积层或全连接层;
训练模块,用于将所述第一输入空间中的特征向量输入所述第二目标层,对所述卷积神经网络进行训练;
其中,所述第二目标层输入所述第一输入空间中的特征向量时所述卷积神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
38.如权利要求37所述的装置,其特征在于,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
39.如权利要求37或38所述的装置,其特征在于,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
40.如权利要求39所述的装置,其特征在于,所述确定模块具体用于执行以下步骤:
步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;
步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;
步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
41.如权利要求40所述的装置,其特征在于,所述确定模块具体用于:
根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;
在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
42.如权利要求41所述的装置,其特征在于,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
45.一种训练神经网络的装置,其特征在于,包括:
输入模块,用于向循环神经网络输入训练数据,所述训练数据包括文本或语音;
确定模块,用于根据所述循环神经网络中的第一目标层的第一输出空间,确定所述循环神经网络中的第二目标层的第一输入空间,所述第一目标层包括长短时记忆单元、双向递归神经网络单元、记忆网络单元或门控循环单元;
训练模块,用于将所述第一输入空间中的特征向量输入所述第二目标层,对所述循环神经网络进行训练;
其中,所述第二目标层输入所述第一输入空间中的特征向量时所述循环神经网络中的第三目标层的输出空间拟合随机噪声的能力,小于所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间拟合随机噪声的能力。
46.如权利要求45所述的装置,其特征在于,所述第三目标层的第一拉德马赫复杂度小于所述第三目标层的第二拉德马赫复杂度,所述第一拉德马赫复杂度是根据所述第二目标层输入所述第一输入空间中的特征向量时所述第三目标层的输出空间确定的,所述第二拉德马赫复杂度是根据所述第二目标层输入所述第一输出空间中的特征向量时所述第三目标层的输出空间确定的。
47.如权利要求45或46所述的装置,其特征在于,所述第二目标层为所述第一目标层之后的第一个层,所述第三目标层与所述第二目标层为同一层。
48.如权利要求47所述的装置,其特征在于,所述确定模块具体用于:
步骤一、根据所述第一输出空间、所述第一输出空间的初始扰动值、所述第二目标层的权重矩阵和目标函数,确定所述第一输出空间的扰动值增量,所述目标函数为所述第一输出空间的扰动值的函数,所述目标函数中包括根据所述第二目标层的输入空间和所述第二目标层的权重矩阵确定所述第二目标层的拉德马赫复杂度的第一关系式,所述第一关系式包括根据所述第一输出空间的扰动值和所述第一输出空间确定所述第二目标层的输入空间的关系式,所述扰动值增量为所述目标函数的梯度;
步骤二、根据所述初始扰动值和所述扰动值增量确定所述第一输出空间的目标扰动值;
步骤三、根据所述目标扰动值和所述第一输出空间,确定所述第一输入空间。
49.如权利要求48所述的装置,其特征在于,所述确定模块具体用于:
根据所述目标扰动值、所述第一输出空间和所述第二目标层的权重矩阵,确定所述目标函数的目标函数值;
在所述目标函数值与初始函数值之间的差值小于或等于预设的阈值时,根据所述目标扰动值对所述第一输出空间进行扰动调整,并将调整得到的输出空间确定为所述第一输入空间,否则,将所述初始函数值更新为所述目标函数值,将所述初始扰动值更新为所述目标扰动值,并重复执行所述步骤一至步骤三。
50.如权利要求49所述的装置,其特征在于,所述目标函数中还包括:关于所述第一输出空间的扰动值的正则项。
53.一种训练神经网络的装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的计算机程序,以使得所述装置实现如权利要求1至26中任一项所述的方法。
54.一种训练神经网络的计算设备,其特征在于,所述计算设备包括处理器和存储器,其中:
所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,以实现所述权利要求1至26中任一项权利要求所述的方法。
55.一种计算机可读介质,其特征在于,其上存储有指令,当所述指令在处理器上运行时,使得所述处理器执行如权利要求1至26中任一项所述的方法。
56.一种计算机程序产品,其特征在于,包括指令,当所述指令在处理器上运行时,使得所述处理器执行如权利要求1至26中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911351051.8A CN111797970A (zh) | 2019-12-24 | 2019-12-24 | 训练神经网络的方法和装置 |
PCT/CN2020/138651 WO2021129668A1 (zh) | 2019-12-24 | 2020-12-23 | 训练神经网络的方法和装置 |
US17/848,081 US20220327363A1 (en) | 2019-12-24 | 2022-06-23 | Neural Network Training Method and Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911351051.8A CN111797970A (zh) | 2019-12-24 | 2019-12-24 | 训练神经网络的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797970A true CN111797970A (zh) | 2020-10-20 |
Family
ID=72805461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911351051.8A Pending CN111797970A (zh) | 2019-12-24 | 2019-12-24 | 训练神经网络的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220327363A1 (zh) |
CN (1) | CN111797970A (zh) |
WO (1) | WO2021129668A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112562702A (zh) * | 2020-11-30 | 2021-03-26 | 哈尔滨工程大学 | 基于循环帧序列门控循环单元网络的语音超分辨率方法 |
CN112598012A (zh) * | 2020-12-23 | 2021-04-02 | 清华大学 | 神经网络模型中数据处理方法、存储介质和电子装置 |
WO2021129668A1 (zh) * | 2019-12-24 | 2021-07-01 | 华为技术有限公司 | 训练神经网络的方法和装置 |
CN114554205A (zh) * | 2020-11-26 | 2022-05-27 | 华为技术有限公司 | 一种图像编解码方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110084281A (zh) * | 2019-03-31 | 2019-08-02 | 华为技术有限公司 | 图像生成方法、神经网络的压缩方法及相关装置、设备 |
KR20190118387A (ko) * | 2018-04-10 | 2019-10-18 | 배재대학교 산학협력단 | 합성곱 신경망 기반 이미지 처리 시스템 및 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256630A (zh) * | 2018-01-23 | 2018-07-06 | 深圳市唯特视科技有限公司 | 一种基于低维流形正则化神经网络的过拟合解决方法 |
CN108562811B (zh) * | 2018-03-12 | 2020-05-22 | 西安理工大学 | 基于双向长短期记忆的复杂电能质量扰动分析方法 |
CN111797970A (zh) * | 2019-12-24 | 2020-10-20 | 华为技术有限公司 | 训练神经网络的方法和装置 |
-
2019
- 2019-12-24 CN CN201911351051.8A patent/CN111797970A/zh active Pending
-
2020
- 2020-12-23 WO PCT/CN2020/138651 patent/WO2021129668A1/zh active Application Filing
-
2022
- 2022-06-23 US US17/848,081 patent/US20220327363A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190118387A (ko) * | 2018-04-10 | 2019-10-18 | 배재대학교 산학협력단 | 합성곱 신경망 기반 이미지 처리 시스템 및 방법 |
CN110084281A (zh) * | 2019-03-31 | 2019-08-02 | 华为技术有限公司 | 图像生成方法、神经网络的压缩方法及相关装置、设备 |
Non-Patent Citations (1)
Title |
---|
王新迎, 《中国博学位论文全文数据库(电子期刊)》, pages 50 - 52 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129668A1 (zh) * | 2019-12-24 | 2021-07-01 | 华为技术有限公司 | 训练神经网络的方法和装置 |
CN114554205A (zh) * | 2020-11-26 | 2022-05-27 | 华为技术有限公司 | 一种图像编解码方法及装置 |
CN114554205B (zh) * | 2020-11-26 | 2023-03-10 | 华为技术有限公司 | 一种图像编解码方法及装置 |
CN112562702A (zh) * | 2020-11-30 | 2021-03-26 | 哈尔滨工程大学 | 基于循环帧序列门控循环单元网络的语音超分辨率方法 |
CN112562702B (zh) * | 2020-11-30 | 2022-12-13 | 哈尔滨工程大学 | 基于循环帧序列门控循环单元网络的语音超分辨率方法 |
CN112598012A (zh) * | 2020-12-23 | 2021-04-02 | 清华大学 | 神经网络模型中数据处理方法、存储介质和电子装置 |
CN112598012B (zh) * | 2020-12-23 | 2022-12-02 | 清华大学 | 神经网络模型中数据处理方法、存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
US20220327363A1 (en) | 2022-10-13 |
WO2021129668A1 (zh) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175671B (zh) | 神经网络的构建方法、图像处理方法及装置 | |
CN111507378A (zh) | 训练图像处理模型的方法和装置 | |
EP4064130A1 (en) | Neural network model update method, and image processing method and device | |
US20230206069A1 (en) | Deep Learning Training Method for Computing Device and Apparatus | |
US20220215227A1 (en) | Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium | |
CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
US20220215259A1 (en) | Neural network training method, data processing method, and related apparatus | |
CN112639828A (zh) | 数据处理的方法、训练神经网络模型的方法及设备 | |
CN112215332B (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
US20230215159A1 (en) | Neural network model training method, image processing method, and apparatus | |
US20230153615A1 (en) | Neural network distillation method and apparatus | |
CN111797970A (zh) | 训练神经网络的方法和装置 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
CN111368972B (zh) | 一种卷积层量化方法及其装置 | |
CN111612215A (zh) | 训练时间序列预测模型的方法、时间序列预测方法及装置 | |
US20240135174A1 (en) | Data processing method, and neural network model training method and apparatus | |
CN111340190A (zh) | 构建网络结构的方法与装置、及图像生成方法与装置 | |
EP4170548A1 (en) | Method and device for constructing neural network | |
CN111368656A (zh) | 一种视频内容描述方法和视频内容描述装置 | |
CN113537462A (zh) | 数据处理方法、神经网络的量化方法及相关装置 | |
CN113592060A (zh) | 一种神经网络优化方法以及装置 | |
CN111797881A (zh) | 图像分类方法及装置 | |
CN113191241A (zh) | 一种模型训练方法及相关设备 | |
CN111695673A (zh) | 训练神经网络预测器的方法、图像处理方法及装置 | |
US20220222934A1 (en) | Neural network construction method and apparatus, and image processing method and apparatus |
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 |