CN105512725B - 一种神经网络的训练方法和设备 - Google Patents

一种神经网络的训练方法和设备 Download PDF

Info

Publication number
CN105512725B
CN105512725B CN201510932132.2A CN201510932132A CN105512725B CN 105512725 B CN105512725 B CN 105512725B CN 201510932132 A CN201510932132 A CN 201510932132A CN 105512725 B CN105512725 B CN 105512725B
Authority
CN
China
Prior art keywords
neural network
initial depth
output
output node
depth neural
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.)
Active
Application number
CN201510932132.2A
Other languages
English (en)
Other versions
CN105512725A (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.)
Hangzhou Yixian Advanced Technology Co., Ltd.
Original Assignee
Hangzhou Langhe Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Langhe Technology Co Ltd filed Critical Hangzhou Langhe Technology Co Ltd
Priority to CN201510932132.2A priority Critical patent/CN105512725B/zh
Publication of CN105512725A publication Critical patent/CN105512725A/zh
Application granted granted Critical
Publication of CN105512725B publication Critical patent/CN105512725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

本发明的实施方式提供了一种神经网络的训练方法。该方法包括:构建第一初始深度神经网络;利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络;其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象。此外,本发明的实施方式提供了一种神经网络的训练设备。

Description

一种神经网络的训练方法和设备
技术领域
本发明的实施方式涉及数据处理技术领域,更具体地,本发明的实施方式涉及一种神经网络的训练方法和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
许多计算机应用、网络服务应用都具有利用输入对象计算输出对象的数据处理需求。例如,在具有图像识别功能的应用中,图像作为输入对象,图像所属的图像标签作为输出对象,这些应用需要根据图像计算出图像所属的图像标签,从而实现图像识别。其中,图像标签表示图像划分的类别。
目前,在现有的数据处理技术中,利用输入对象计算输出对象的数据处理,可以采用神经网络来实现。具体地,神经网络可以为输入对象提供多个可输出对象,采用已知对应关系的输入对象与输出对象所组成的训练数据,对神经网络进行训练,以使得训练后的神经网络能够表示不同的输入对象与各可输出对象之间的对应关系,因此,将未知对应输出对象的输入对象输入到训练后的神经网络之后,训练后的神经网络通过计算就可以输出该输入对象对应的输出对象。
发明内容
发明人经过研究发现,现有技术中,神经网络具有输入层和输出层,其中,输出层上的每一个输出节点对应于一个可输出对象,即,输出层上的节点数量与可输出对象的数量是相同的。但是,在可输出对象的数量过大的情况下,如果训练数据较少或对应各可输出对象的训练数据不均衡,就可能导致神经网络训练的过程中总体误差的上下波动,导致训练无法收敛,从而造成训练后的神经网络无法为输入对象计算出准确的输出对象。
因此在现有技术中,神经网络训练经常出现无法收敛的问题,从而造成训练后的神经网络无法为输入对象计算准确的输出对象,这是非常令人烦恼的过程。
为此,非常需要一种改进的神经网络训练方法和设备,以避免神经网络训练无法收敛的问题,从而使得训练后的神经网络可以为输入变量计算准确的输出变量。
在本上下文中,本发明的实施方式期望提供一种神经网络的训练方法和设备。
在本发明实施方式的第一方面中,提供了一种训练神经网络的方法,包括:构建第一初始深度神经网络;利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络;其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象。
在本发明第一方面的一个实施例中,所述方法还包括:对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络;利用第二训练数据对所述第二初始深度神经网络进行训练,以形成第二目标深度神经网络;其中,所述第二初始深度神经网络的输出层上包括第二输出节点,每一所述第二输出节点分别对应所述第二初始深度神经网络的每一可输出对象,所述第二输出节点的数量等于所述第二初始深度神经网络的可输出对象的数量;所述第一初始深度神经网络的可输出对象为待识别对象的第一类别,所述第二初始深度神经网络的可输出对象为待识别对象的第二类别,所述第二类别为所述第一类别的细化分类。
在本发明第一方面的另一个实施例中,所述对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络,包括:在所述第一目标深度神经网络中,将输出层上的每一第一输出节点扩展成至少一个所述第二输出节点并删除输出层上的所述辅助节点,以形成所述第二初始深度神经网络;其中,对于任意一个所述第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
在本发明第一方面的又一个实施例中,所述对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络,包括:在所述第一目标深度神经网络中,将输出层上的每一所述第一输出节点扩展成至少一个所述第二输出节点并增加输出层之前一层上的节点数量,以形成所述第二初始深度神经网络;其中,对于任意一个所述第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
在本发明第一方面的再一个实施例中,利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络,包括:将所述第一训练数据的输入值输入所述第一初始深度神经网络的输入层,在所述第一初始深度神经网络中对所述输入值进行正向处理,以在所述第一初始深度神经网络的输出层得到正向处理输出值;计算所述输入值在第一训练数据中对应的输出值与所述正向处理输出值之间的误差值;以所述误差值输入所述第一初始深度神经网络的输出层,在所述第一初始深度神经网络中对所述误差值进行反向传播,以修正所述第一初始深度神经网络中的参数,从而形成所述第一目标深度神经网络。
在本发明第一方面的又再一个实施例中,所述方法应用于图像识别,所述待识别对象为图像信息,所述第二类别为用于对图像进行分类的图像标签,所述第一类别为用于对所述图像标签进行分类的类别。
在本发明实施方式的第二方面中,提供了一种训练神经网络的设备,包括:构建模块,用于构建第一初始深度神经网络;第一训练模块,用于利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络;其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象。
在本发明第二方面的一个实施例中,所述设备还包括:改造模块,用于对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络;第二训练模块,用于利用第二训练数据对所述第二初始深度神经网络进行训练,以形成第二目标深度神经网络;其中,所述第二初始深度神经网络的输出层上包括第二输出节点,每一所述第二输出节点分别对应所述第二初始深度神经网络的每一可输出对象,所述第二输出节点的数量等于所述第二初始深度神经网络的可输出对象的数量;
所述第一初始深度神经网络的可输出对象为待识别对象的第一类别,所述第二初始深度神经网络的可输出对象为待识别对象的第二类别,所述第二类别为所述第一类别的细化分类。
在本发明第二方面的另一个实施例中,所述改造模块,具体用于在所述第一目标深度神经网络中,将输出层上的每一所述第一输出节点扩展成至少一个所述第二输出节点并删除输出层上的所述辅助节点,以形成所述第二初始深度神经网络;其中,对于任意一个第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
在本发明第二方面的又一个实施例中,所述改造模块,具体用于在所述第一目标深度神经网络中,将输出层上的每一第一输出节点扩展成至少一个第二输出节点并增加输出层之前一层上的节点数量,以形成所述第二初始深度神经网络;其中,对于任意一个第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
在本发明第二方面的再一个实施例中,所述第一训练模块包括:正向处理子模块,用于将所述第一训练数据的输入值输入所述第一初始深度神经网络的输入层,在所述第一初始深度神经网络中对所述输入值进行正向处理,以在所述第一初始深度神经网络的输出层得到正向处理输出值;计算子模块,用于计算所述输入值在第一训练数据中对应的输出值与所述正向处理输出值之间的误差值;反向处理子模块,用于以所述误差值输入所述第一初始深度神经网络的输出层,在所述第一初始深度神经网络中对所述误差值进行反向传播,以修正所述第一初始深度神经网络中的参数,从而形成所述第一目标深度神经网络。
在本发明第二方面的又再一个实施例中,所述设备应用于图像识别,所述待识别对象为图像信息,所述第二类别为用于对图像进行分类的图像标签,所述第一类别为用于对所述图像标签进行分类的类别。
根据本发明实施方式的方法和设备,为了建立输入对象与输出对象之间的对应关系,构建第一初始深度神经网络,并利用第一训练输入对第一初始深度神经网络进行训练,以形成第一目标深度神经网络,其中,在第一初始深度神经网络的输出层上,除了对应其可输出对象的第一输出节点之外还增加了不对应任何可输出对象的辅助节点,也即,第一初始深度神经网络的输出层上的节点数量大于第一初始深度神经网络的可输出对象的数量,因此,在对第一初始深度神经网络进行训练的过程中,输出层上更多的节点数量使得第一初始深度神经网络的正向处理输出值经过归一化处理能够得到更小的平均误差,在更小的误差下第一初始深度神经网络的反向处理具有更小波动的参数变化,因此,神经网络的训练过程更稳定、更容易收敛,训练后得到的神经网络能够更准确地为输入对象计算输出对象。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了本发明的实施方式的一个示例性应用场景的框架示意图;
图2示意性地示出了本发明中神经网络的训练方法一实施例的流程图;
图3示意性地示出了本发明实施例中一种第一初始深度神经网络示例的结构示意图;
图4示意性地示出了本发明中神经网络的训练设备一实施例的结构图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种训练神经网络的方法和设备。
在本文中,需要理解的是,所涉及的术语“神经网络”表示的是一种数据处理模型。通过训练神经网络,训练后的神经网络可用于建立输入对象与输出对象之间的对应关系。对于训练过的神经网络,将输入对象输入到神经网络的输入层,在神经网络的输出层上可以得到与该输入对象对应的输出对象。其中,神经网络具有输入层与输出层,输入层上提供有对应可输入对象的输入节点,输出层上提供有对应可输出对象的输出节点,可输入对象表示可输入到神经网络的输入对象,可输出对象表示神经网络可输出的输出对象。可以理解的是,神经网络的输入节点与输出节点,可以根据神经网络的应用场景来设置和确定,本发明实施方式对此不做限定。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术中,在神经网络的输出层上仅具有输出节点,而每一个输出节点对应于一个可输出对象,也即,输出层上的节点数量与可输出对象的数量是相同的。当可输出对象的数量过多时,神经网络的输出层上就具有数量过多的输出节点。对于具有大量输出节点的神经网络来说,如果训练数据较少或者对应于各可输出对象(即对应于各输出节点)的训练数据的数量不均衡,神经网络在训练的过程中就会产生上下波动的总体误差,从而导致训练无法收敛,因此,训练后的神经网络就无法为输入对象准确地计算出相对应的输出对象。
为了避免神经网络的训练无法收敛,在本发明的实施方式中,在深度神经网络的输出层上,除了对应其可输出对象的输出节点之外还增加了不对应任何可输出对象的辅助节点,也即,深度神经网络的输出层上的节点数量大于深度神经网络的可输出对象的数量,因此,在对该深度神经网络进行训练的过程中,输出层上更多的节点数量使得深度神经网络的正向处理输出值经过归一化处理能够得到更小的平均误差,在更小的误差下深度神经网络的反向处理具有波动更小的参数变化,因此,神经网络的训练过程更稳定、更容易收敛,训练后得到的神经网络也就能够更准确地为输入对象计算相对应的输出对象。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,图1是本发明的实施方式的一个示例性应用场景的框架示意图。其中,用户通过用户界面交互设备(例如客户端102)与提供网络应用服务的服务器101进行交互。本领域技术人员可以理解,图1所示的框架示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,此处的客户端102可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)与服务器101交互的任何用户终端设备,包括但不限于:现有的、正在研发的或将来研发的、膝上型计算机、智能手机、非智能手机、各种平板电脑等。
还需要注意的是,此处的服务器101仅是现有的、正在研发的或将来研发的、能够向用户提供语音信息传输的设备的一个示例。本发明的实施方式在此方面不受任何限制。
基于图1所示的框架,服务器101可以构建第一初始深度神经网络。然后,服务器101可以利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络。其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象。
另外,本发明的应用场景中,虽然此处将本发明实施方式的动作描述为由服务器101执行,但是这些动作也可以由客户端102执行,当然也可以部分由客户端202执行、部分由客户端201执行。本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。
示例性方法
下面结合图1的应用场景,参考图2~3来描述根据本发明示例性实施方式的用于训练神经网络的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
参见图2,示出了本发明中神经网络的训练方法一实施例的流程图。在本实施例中,所述方法例如具体可以包括如下步骤:
步骤201、构建第一初始深度神经网络。
其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象。
具体地,第一初始深度神经网络可以包括一个输入层、若干个隐层和一个输出层,每一层上都至少有一个节点。其中,输入层是由至少一个输入节点组成,每一个输入节点对应于第一初始深度神经网络的一个可输入对象,也即,输入层上的节点数量与可输入对象的数量是相等的。输出层是由至少一个输出节点和至少一个辅助节点组成,每一个输入节点对应于第一初始深度神经网络的一个可输出对象,而辅助节点则不对应任何可输出对象,也即,输出层上的节点数量大于可输出对象的数量。此外,第一初始深度神经网络的隐层可以根据输入层与输出层来设置。例如,第一初始深度神经网络的隐层可以包括卷积层和全连接层。卷积层的数量例如为4个,全连接层的数量例如为3个。
图3示出了一种第一初始深度神经网络示例的结构示意图。在该示例中,“A”表示第一初始深度神经网络的输入层,“B”表示第一初始神经网路的输出层,“C1”~“Ck”表示第一初始深度神经网络的隐层,“a1”~“am”表示输入层上的输入节点,“b1”~“bn”表示输出层上的输出节点,“d1”~“di”表示输出层上的辅助节点。
可以理解的是,第一初始神经网络用于建立一组可输入对象与一组可输出对象之间的对应关系。其中,第一初始深度神经网络的可输入对象与可输出对象可以根据第一初始深度神经网络的应用场景来设置。例如,第一初始深度神经网络可以应用于图像识别的应用场景。具体地,作为待识别对象的图像信息,所述第一初始深度神经网络的可输入对象可以是从图像信息中提取的特征属性信息,例如,可以向该第一初始深度神经网络输入待识别图像中各像素点的像素信息,例如各像素点的RGB信息。所述第一初始深度神经网络的可输出对象可以是用于划分图像信息所属类别的图像标签,如汽车图像的图像标签可以是汽车的品牌“奥迪”、“宝马”、“奔驰”等,或者也可以是汽车的类型“轿车”、“跑车”、“SUV”等。每一个可输出对象表示一种图像标签,每一个可输出对象用于输出一种图像标签。不同的可输出对象表示不同种类的图像标签。不同的可输出对象用于输出不同种类的图像标签的具体值。
步骤202、利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络。
具体地,所述第一训练数据具体包括至少一组可输入对象的历史具体值与至少一组可输出对象的历史具体值,并且,该组可输入对象的历史具体值与该组可输入对象的历史具体值是已知相对应的。例如,在图像识别的应用场景中,若一个图像信息本身是已知的且该图像信息的图像标签也是已知的,则该图像信息可以提供一组已知对应关系的可输入对象的历史具体值与可输出图像的具体值。具体地,该图像信息中提取出的各种特征属性的具体值可以作为一组可输入对象的历史具体值,该图像的图像标签的具体值可以作为一组可输出对象的历史具体值。该组可输入对象的历史具体值与该组可输出对象的历史具体值是同一个图像信息提供的,因此,该组可输入对象的历史具体值与该组可输出对象的历史具体值之间是已知相对应的。
可以理解的是,由于第一训练数据是已知相对应的可输入对象的历史具体值与可输出对象的历史具体值,因此,若利用第一训练数据对第一初始深度神经网络训练而形成第一目标深度神经网络,则第一目标深度神经网络能够表示任意一组可输入对象的具体值与其对应的可输出对象的具体值之间的对应关系。对于任意一组可输入对象的具体值,将该组可输入对象的具体值输入第一目标深度神经网络的输入节点,则第一目标深度神经网络的输出节点将输出与该组可输入对象的具体值相对应的一组可输出对象的具体值。例如,在图像识别的应用场景中,以一个未知图像标签的图像信息作为待识别对象,该待识别对象的特征属性信息的具体值可以输入到所述第一目标深度神经网络的输入层上对应的各输入节点。经过所述第一目标深度神经网络的计算处理,所述第一目标深度神经网络的输出层上各输出节点对应输出该待识别对象对应各图像标签的具体值,根据该待识别对象对应各图像标签的具体值可以确定该待识别对象属于哪一或哪些图像标签。
在本实施例中,利用所述第一训练数据对所述第一初始深度神经网络的训练过程,可以包括所述第一训练数据在所述第一初始深度神经网络中的正向处理过程和反向处理过程。具体地,步骤202例如可以包括:将所述第一训练数据的输入值输入所述第一初始深度神经网络的输入层,在所述第一初始深度神经网络中对所述输入值进行正向处理,以在所述第一初始深度神经网络的输出层得到正向处理输出值;计算所述输入值在第一训练数据中对应的输出值与所述正向处理输出值之间的误差值;以所述误差值输入所述第一初始深度神经网络的输出层,在所述第一初始深度神经网络中对所述误差值进行反向传播,以修正所述第一初始深度神经网络中的参数,从而形成所述第一目标深度神经网络。其中,所述误差值具体可以采用误差函数(Loss Function)来计算。
例如,在图像识别的应用场景中,对于所述第一训练数据中的一个已知的图像信息,将该图像信息的特征属性信息的具体值输入到第一初始深度神经网络的输入层上的各个输入节点。根据第一初始深度神经网路中各层之间的参数,从输入层向输出层逐层计算每一层上各节点的具体值,直至计算出第一初始深度神经网络的输出层上各节点的具体值,作为输出层上各节点在正向处理下输出的具体值。然后,根据该图像信息对应图像标签的具体值与输出层上各节点在正向处理下输出的具体值,计算输出层上各节点的误差值,并利用输出层上各节点的误差值对所述第一初始深度神经网络进行反向处理,得到参数修正量,再利用参数修正量对第一初始深度神经网络中相应的参数进行修正。
可以理解的是,深度神经网络的训练过程通常需要利用多个训练数据进行多次正向处理和反向处理。例如,在图像识别的应用场景中,第一训练数据通常包含多个已知的图像信息,每一个已知的图像信息可以用于对所述第一初始深度神经网络进行一次正向处理和反向处理,以完成所述第一初始深度神经网络的一次参数修正过程。经过多个已知的图像信息对所述第一初始深度神经网络的训练,若训练后的深度神经网络在正向处理以后计算出的误差值小于预设的阈值,则第一初始深度神经网络的训练完成,此时得到的深度神经网络即是第一目标深度神经网络。
需要说明的是,由于在输出层上的辅助节点不对应任何可输出对象,对于任何一组可输入对象的具体值,与其对应的是辅助节点不输出具体值或输出“0”等表示没有输出结果的具体值。因此,在第一初始深度神经网络的训练过程中,若正向处理在输出层的辅助节点上输出了具体值,则该具体值即是该辅助节点的误差值。在第一初始深度神经网络训练完成形成了第一目标深度神经网络以后,任意一组可输入对象的具体值输入到第一目标深度神经网络。经过第一目标深度神经网络的计算,第一目标深度神经网络的输出层上辅助节点不输出具体值或仅输出“0”等没有输出结果的具体值。
在本实施例的一些实施方式中,本实施例例如还可以包括:
步骤203、对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络;
步骤204、利用第二训练数据对所述第二初始深度神经网络进行训练,以形成第二目标深度神经网络;
其中,所述第二初始深度神经网络的输出层上包括第二输出节点,每一所述第二输出节点分别对应所述第二初始深度神经网络的每一可输出对象,所述第二输出节点的数量等于所述第二初始深度神经网络的可输出对象的数量;
所述第一初始深度神经网络的可输出对象为待识别对象的第一类别,所述第二初始深度神经网络的可输出对象为待识别对象的第二类别,所述第二类别为所述第一类别的细化分类。
在图像信息识别的应用场景中,所述待识别对象为图像信息,所述第二类别为用于对图像进行分类的图像标签,所述第一类别为用于对所述图像标签进行分类的类别。例如,对于汽车图像来说,第一类别可以是汽车的类型“轿车”、“跑车”、“SUV”等,第二类别可以是汽车的型号“奥迪A3”、“奥迪Q5”、“奥迪R8”等。
可以理解的是,在经过两个阶段的训练形成可以应用的深度神经网络的实施方式中,第一初始深度神经网络形成第一目标深度神经网络的训练过程实际上是第一阶段的训练,或者也可以说是预训练的阶段。由于第二类别是第一类别的细化分类,第一类别的数量比第二类别的数量要少得多,因此,以第一类别作为可输出对象进行预训练,预训练阶段更容易收敛,再在预训练得到第一目标深度神经网络的基础上,以第二类别作为可输出对象进行第二阶段的训练,训练得到的第二目标深度神经网络更准确地反映待识别对象与第二类别之间的对应关系。
需要说明的是,为了实现两个阶段的训练形成可以应用的深度神经网络,预训练形成的第一目标深度神经网络需要经过改造之后得到第二初始深度神经网络,以便对第二初始深度神经网络进行第二阶段的训练。
在本实施例的一些实施方式中,一方面,第一目标深度神经网络的输出层上输出节点对应第一类别,第一初始深度神经网络的输出层上输出节点对应第二类别,其中,第二类别是第一类别的细化分类。因此,第一目标深度神经网络的输出层上对应于第一类别的各输出节点需要扩展成相应第二类别的输出节点。另一方面,在两个阶段训练过程中,第二类别的数量相对第一类别要多,第一目标深度神经网络可以删除辅助节点形成第二初始深度神经网络,针对第二初始深度神经网络的第二阶段训练在无辅助节点的情况下也可以容易收敛,提高了第二阶段训练的计算效率。具体地,步骤203例如可以包括:在所述第一目标深度神经网络中,将输出层上的每一第一输出节点扩展成至少一个所述第二输出节点并删除输出层上的所述辅助节点,以形成所述第二初始深度神经网络;其中,对于任意一个所述第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。其中,对于任意一个对应于第一类别的输出节点,该输出节点可以扩展成至少一个与第一类别下的第二类别相对应的输出节点。
在本实施例的另一些实施方式中,一方面,第一目标深度神经网络的输出层上输出节点对应第一类别,第一初始深度神经网络的输出层上输出节点对应第二类别,其中,第二类别是第一类别的细化分类。因此,第一目标深度神经网络的输出层上对应于第一类别的各输出节点需要扩展成相应第二类别的输出节点。另一方面,在第一目标深度神经网络的输出层之前一层上增加节点数量形成第二初始深度神经网络,这样可以使得第二初始深度神经网络更容易收敛。具体地,步骤203例如可以包括:在所述第一目标深度神经网络中,将输出层上的每一所述第一输出节点扩展成至少一个所述第二输出节点并增加输出层之前一层上的节点数量,以形成所述第二初始深度神经网络;其中,对于任意一个所述第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。其中,输出层之前一层上节点数量例如可以增加120%。
此外,第一目标深度神经网络在改造成第二初始深度神经网络时,也可以将第一目标深度神经网络的后两层初始化为接近于0的参数,并根据正太分布进行采样。
此外,本实施例提及的第一训练数据和第二训练数据,可以采用minibatch作为输入数据。本实施例中的第一初始深度神经网络可以是经过初始化的深度神经网络。
通过本实施例的技术方案,在第一初始深度神经网络的输出层上,除了对应其可输出对象的第一输出节点之外还增加了不对应任何可输出对象的辅助节点,也即,第一初始深度神经网络的输出层上的节点数量大于第一初始深度神经网络的可输出对象的数量,因此,在对第一初始深度神经网络进行训练的过程中,输出层上更多的节点数量使得第一初始深度神经网络的正向处理输出值经过归一化处理能够得到更小的平均误差,在更小的误差下第一初始深度神经网络的反向处理具有更小波动的参数变化,因此,神经网络的训练过程更稳定、更容易收敛,训练后得到的神经网络能够更准确地为输入对象计算输出对象。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的、用于神经网络的训练设备。
参见图4,示出了本发明中神经网络的训练设备一实施例的结构图。在本实施例中,所述设备例如具体可以包括:
构建模块401,用于构建第一初始深度神经网络;
第一训练模块402,用于利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络;
其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象。
在本实施例的一些实施方式中,所述设备例如还可以包括:
改造模块,用于对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络;
第二训练模块,用于利用第二训练数据对所述第二初始深度神经网络进行训练,以形成第二目标深度神经网络;
其中,所述第二初始深度神经网络的输出层上包括第二输出节点,每一所述第二输出节点分别对应所述第二初始深度神经网络的每一可输出对象,所述第二输出节点的数量等于所述第二初始深度神经网络的可输出对象的数量;
所述第一初始深度神经网络的可输出对象为待识别对象的第一类别,所述第二初始深度神经网络的可输出对象为待识别对象的第二类别,所述第二类别为所述第一类别的细化分类。
在本实施例的另一些实施方式中,所述改造模块,具体可以用于在所述第一目标深度神经网络中,将输出层上的每一所述第一输出节点扩展成至少一个所述第二输出节点并删除输出层上的所述辅助节点,以形成所述第二初始深度神经网络;
其中,对于任意一个第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
在本实施例的又一些实施方式中,所述改造模块,具体可以用于在所述第一目标深度神经网络中,将输出层上的每一第一输出节点扩展成至少一个第二输出节点并增加输出层之前一层上的节点数量,以形成所述第二初始深度神经网络;
其中,对于任意一个第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
在本实施例的再一些实施方式中,所述第一训练模块402例如可以包括:
正向处理子模块,用于将所述第一训练数据的输入值输入所述第一初始深度神经网络的输入层,在所述第一初始深度神经网络中对所述输入值进行正向处理,以在所述第一初始深度神经网络的输出层得到正向处理输出值;
计算子模块,用于计算所述输入值在第一训练数据中对应的输出值与所述正向处理输出值之间的误差值;
反向处理子模块,用于以所述误差值输入所述第一初始深度神经网络的输出层,在所述第一初始深度神经网络中对所述误差值进行反向传播,以修正所述第一初始深度神经网络中的参数,从而形成所述第一目标深度神经网络。
在本实施例的又再一些实施方式中,所述设备可以应用于图像识别,所述待识别对象为图像信息,所述第二类别为用于对图像进行分类的图像标签,所述第一类别为用于对所述图像标签进行分类的类别。
通过本实施例的技术方案,在第一初始深度神经网络的输出层上,除了对应其可输出对象的第一输出节点之外还增加了不对应任何可输出对象的辅助节点,也即,第一初始深度神经网络的输出层上的节点数量大于第一初始深度神经网络的可输出对象的数量,因此,在对第一初始深度神经网络进行训练的过程中,输出层上更多的节点数量使得第一初始深度神经网络的正向处理输出值经过归一化处理能够得到更小的平均误差,在更小的误差下第一初始深度神经网络的反向处理具有更小波动的参数变化,因此,神经网络的训练过程更稳定、更容易收敛,训练后得到的神经网络能够更准确地为输入对象计算输出对象。
应当注意,尽管在上文详细描述中提及了神经网络的训练设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (12)

1.一种方法,包括:
构建第一初始深度神经网络;
利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络;
对于任意一组可输入对象的具体值,将该组可输入对象的具体值输入所述第一目标深度神经网络的输入节点,则所述第一目标深度神经网络的输出节点将输出与该组可输入对象的具体值相对应的一组可输出对象的具体值;
其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象;
所述第一初始深度神经网络的可输入对象是从图像信息中提取的特征属性信息;
所述第一初始深度神经网络的可输出对象是用于划分图像信息所属类别的图像标签。
2.根据权利要求1所述的方法,还包括:
对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络;
利用第二训练数据对所述第二初始深度神经网络进行训练,以形成第二目标深度神经网络;
其中,所述第二初始深度神经网络的输出层上包括第二输出节点,每一所述第二输出节点分别对应所述第二初始深度神经网络的每一可输出对象,所述第二输出节点的数量等于所述第二初始深度神经网络的可输出对象的数量;
所述第一初始深度神经网络的可输出对象为待识别对象的第一类别,所述第二初始深度神经网络的可输出对象为待识别对象的第二类别,所述第二类别为所述第一类别的细化分类。
3.根据权利要求2所述的方法,其中,所述对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络,包括:
在所述第一目标深度神经网络中,将输出层上的每一第一输出节点扩展成至少一个所述第二输出节点并删除输出层上的所述辅助节点,以形成所述第二初始深度神经网络;
其中,对于任意一个所述第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
4.根据权利要求2所述的方法,所述对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络,包括:
在所述第一目标深度神经网络中,将输出层上的每一所述第一输出节点扩展成至少一个所述第二输出节点并增加输出层之前一层上的节点数量,以形成所述第二初始深度神经网络;
其中,对于任意一个所述第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
5.根据权利要求1所述的方法,其中,利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络,包括:
将所述第一训练数据的输入值输入所述第一初始深度神经网络的输入层,在所述第一初始深度神经网络中对所述输入值进行正向处理,以在所述第一初始深度神经网络的输出层得到正向处理输出值;
计算所述输入值在第一训练数据中对应的输出值与所述正向处理输出值之间的误差值;
以所述误差值输入所述第一初始深度神经网络的输出层,在所述第一初始深度神经网络中对所述误差值进行反向传播,以修正所述第一初始深度神经网络中的参数,从而形成所述第一目标深度神经网络。
6.根据权利要求2所述的方法,应用于图像识别,
所述待识别对象为图像信息,所述第二类别为用于对图像进行分类的图像标签,所述第一类别为用于对所述图像标签进行分类的类别。
7.一种设备,包括:
构建模块,用于构建第一初始深度神经网络;
第一训练模块,用于利用第一训练数据对所述第一初始深度神经网络进行训练,以形成第一目标深度神经网络;
计算模块,用于对于任意一组可输入对象的具体值,将该组可输入对象的具体值输入第一目标深度神经网络的输入节点,则第一目标深度神经网络的输出节点将输出与该组可输入对象的具体值相对应的一组可输出对象的具体值;
其中,所述第一初始深度神经网络的输出层上包括第一输出节点和辅助节点,其中,每一所述第一输出节点分别对应所述第一初始深度神经网络的每一可输出对象,所述第一输出节点的数量等于所述第一初始深度神经网络的可输出对象的数量,所述辅助节点不对应所述第一初始深度网络的任何可输出对象;
所述第一初始深度神经网络的可输入对象是从图像信息中提取的特征属性信息;
所述第一初始深度神经网络的可输出对象是用于划分图像信息所属类别的图像标签。
8.根据权利要求7所述的设备,还包括:
改造模块,用于对所述第一目标深度神经网络上的节点进行改造,以形成第二初始深度神经网络;
第二训练模块,用于利用第二训练数据对所述第二初始深度神经网络进行训练,以形成第二目标深度神经网络;
其中,所述第二初始深度神经网络的输出层上包括第二输出节点,每一所述第二输出节点分别对应所述第二初始深度神经网络的每一可输出对象,所述第二输出节点的数量等于所述第二初始深度神经网络的可输出对象的数量;
所述第一初始深度神经网络的可输出对象为待识别对象的第一类别,所述第二初始深度神经网络的可输出对象为待识别对象的第二类别,所述第二类别为所述第一类别的细化分类。
9.根据权利要求8所述的设备,其中,所述改造模块,具体用于在所述第一目标深度神经网络中,将输出层上的每一所述第一输出节点扩展成至少一个所述第二输出节点并删除输出层上的所述辅助节点,以形成所述第二初始深度神经网络;
其中,对于任意一个第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
10.根据权利要求8所述的设备,其中,所述改造模块,具体用于在所述第一目标深度神经网络中,将输出层上的每一第一输出节点扩展成至少一个第二输出节点并增加输出层之前一层上的节点数量,以形成所述第二初始深度神经网络;
其中,对于任意一个第一输出节点,该第一输出节点扩展出的第二输出节点对应的第二类别为该第一输出节点对应的第一类别的细化类别。
11.根据权利要求7所述的设备,其中,所述第一训练模块包括:
正向处理子模块,用于将所述第一训练数据的输入值输入所述第一初始深度神经网络的输入层,在所述第一初始深度神经网络中对所述输入值进行正向处理,以在所述第一初始深度神经网络的输出层得到正向处理输出值;
计算子模块,用于计算所述输入值在第一训练数据中对应的输出值与所述正向处理输出值之间的误差值;
反向处理子模块,用于以所述误差值输入所述第一初始深度神经网络的输出层,在所述第一初始深度神经网络中对所述误差值进行反向传播,以修正所述第一初始深度神经网络中的参数,从而形成所述第一目标深度神经网络。
12.根据权利要求8所述的设备,应用于图像识别,
所述待识别对象为图像信息,所述第二类别为用于对图像进行分类的图像标签,所述第一类别为用于对所述图像标签进行分类的类别。
CN201510932132.2A 2015-12-14 2015-12-14 一种神经网络的训练方法和设备 Active CN105512725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510932132.2A CN105512725B (zh) 2015-12-14 2015-12-14 一种神经网络的训练方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510932132.2A CN105512725B (zh) 2015-12-14 2015-12-14 一种神经网络的训练方法和设备

Publications (2)

Publication Number Publication Date
CN105512725A CN105512725A (zh) 2016-04-20
CN105512725B true CN105512725B (zh) 2018-08-28

Family

ID=55720688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510932132.2A Active CN105512725B (zh) 2015-12-14 2015-12-14 一种神经网络的训练方法和设备

Country Status (1)

Country Link
CN (1) CN105512725B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341546B (zh) * 2016-04-29 2021-06-08 中科寒武纪科技股份有限公司 一种用于执行batch normalization运算的装置和方法
US10832135B2 (en) * 2017-02-10 2020-11-10 Samsung Electronics Co., Ltd. Automatic thresholds for neural network pruning and retraining
US10776697B2 (en) * 2017-04-18 2020-09-15 Huawei Technologies Co., Ltd. System and method for training a neural network
CN107862239A (zh) * 2017-09-15 2018-03-30 广州唯品会研究院有限公司 一种结合文本与图片进行图片识别的方法及其装置
CN107590534B (zh) * 2017-10-17 2021-02-09 北京小米移动软件有限公司 训练深度卷积神经网络模型的方法、装置及存储介质
US11386328B2 (en) * 2018-05-30 2022-07-12 Robert Bosch Gmbh Method, apparatus and computer program for generating robust automated learning systems and testing trained automated learning systems
US11610116B2 (en) * 2018-12-31 2023-03-21 SK Hynix Inc. Storage device performance optimization using deep learning
CN110162337B (zh) * 2019-05-31 2020-07-03 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111241964A (zh) * 2020-01-06 2020-06-05 北京三快在线科技有限公司 目标检测模型的训练方法、装置、电子设备和存储介质
US11960989B2 (en) 2020-07-24 2024-04-16 SK Hynix Inc. Read threshold estimation systems and methods using deep learning

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345656B (zh) * 2013-07-17 2016-01-20 中国科学院自动化研究所 一种基于多任务深度神经网络的数据识别方法及装置
CN103778414A (zh) * 2014-01-17 2014-05-07 杭州电子科技大学 基于深度神经网络的实时人脸识别方法
CN104112263B (zh) * 2014-06-28 2018-05-01 南京理工大学 基于深度神经网络的全色图像与多光谱图像融合的方法
CN104866868B (zh) * 2015-05-22 2018-09-07 杭州朗和科技有限公司 基于深度神经网络的金属币识别方法和装置
CN104966097B (zh) * 2015-06-12 2019-01-18 成都数联铭品科技有限公司 一种基于深度学习的复杂文字识别方法

Also Published As

Publication number Publication date
CN105512725A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
CN105512725B (zh) 一种神经网络的训练方法和设备
CN107529650B (zh) 闭环检测方法、装置及计算机设备
CN110110843B (zh) 用于处理图像的方法和系统
EP4145353A1 (en) Neural network construction method and apparatus
US10699161B2 (en) Tunable generative adversarial networks
US11501563B2 (en) Image processing method and system
Zhang et al. Dynamic extreme learning machine and its approximation capability
CN107563332A (zh) 用于确定无人车的驾驶行为的方法和装置
CN113033566B (zh) 模型训练方法、识别方法、设备、存储介质及程序产品
CN107729948A (zh) 图像处理方法及装置、计算机产品和存储介质
CN108681743A (zh) 图像对象识别方法和装置、存储介质
CN110929047A (zh) 关注邻居实体的知识图谱推理方法和装置
US11176672B1 (en) Machine learning method, machine learning device, and machine learning program
CN109359527B (zh) 基于神经网络的头发区域提取方法及系统
CN114663593B (zh) 三维人体姿态估计方法、装置、设备及存储介质
CN110458084A (zh) 一种基于倒置残差网络的人脸年龄估计方法
JP2023145545A (ja) 製造プロセスのためのシステム、方法、および媒体
CN110009059A (zh) 用于生成模型的方法和装置
CN109543125B (zh) 电力调度数据网中网络元素的绘制方法和装置
CN106022294A (zh) 一种面向智能机器人的人机交互方法及装置
CN111598213A (zh) 网络训练方法、数据识别方法、装置、设备和介质
CN110163151B (zh) 人脸模型的训练方法、装置、计算机设备和存储介质
CN112446462A (zh) 目标神经网络模型的生成方法和装置
CN109448039B (zh) 一种基于深度卷积神经网络的单目视觉深度估计方法
CN109448120A (zh) 三维建筑模型的处理方法、装置和计算机设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190620

Address after: 311215 Room 102, 6 Blocks, C District, Qianjiang Century Park, Xiaoshan District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Yixian Advanced Technology Co., Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou Langhe Technology Limited