神经网络系统及该神经网络系统的训练方法

文档序号:10489443阅读:419来源:国知局
神经网络系统及该神经网络系统的训练方法
【专利摘要】本发明涉及一种神经网络系统及该神经网络系统的训练方法。该神经网络系统包括:输入层;隐含层;以及每个隐含层之后的输出层,其中,输出层包括分类器和重构器。本发明的神经网络系统能够同时优化分类误差和重构误差,从而更好地从一个数据集中学习特征并更完整地提取该数据集的信息,以用于辅助训练另一个相似的数据集上的神经网络系统。
【专利说明】
神经网络系统及该神经网络系统的训练方法
技术领域
[0001] 本发明涉及信息处理领域,更具体地涉及一种神经网络系统及该神经网络系统的 训练方法。
【背景技术】
[0002] 近来,基于深度神经网络的方法在字符识别领域取得一些发展。许多研究表明,传 统的深度神经网络(DNN)在一个数据集A上训练的模型A_M,可以用于辅助训练在另一个数 据集B上的模型B_M,使得B_M比直接用数据集B训练出的模型具有更好的性能。也就是 说,深度神经网络具有一定的迀移学习的能力。
[0003] 传统的深度神经网络是一种层级模型,由一个输入层,若干个隐含层和一个输出 层组成。图1是传统的深度神经网络模型的示意图。其中,输入层一般为待处理的数据,隐 含层的类型包括:卷积层、池化层、全连接层等等。对于分类问题而言,输出层一般为一个线 性分类器,如sof tmax,SVM (支持向量机)等等。
[0004] 传统的用神经网络进行迀移学习的过程为:给定两个带标注的数据集A和B,先用 神经网络在数据集A上训练一个模型M_A (称为迀移学习的第一阶段),然后,用数据集B对 M_A进行微调,得到数据集B上对应的模型M_B (称为迀移学习的第二阶段);或者,将M_A 中最后的若干个隐含层(一般为1~3个)替换成新的结构,然后用数据集B训练时保持 M_A中前几层不变,只训练新加入的几个隐含层,得到数据集B上对应的模型M_B (也称作迀 移学习的第二阶段)。
[0005] 传统的深度神经网络的优化目标是使得分类误差最小,优化方法为后向传播算 法。图2示出了后向传播算法的示意图。首先,输入层的信息随着DNN网络做前向传播,到 输出层之后与真值比较,得到一个误差;然后,这个误差逐层往回传,从而修正每一层的参 数。如此迭代地进行,直到得到一个算法收敛。
[0006] 传统的后向传播算法面临着误差弥散的问题,即误差在逐层往回传的过程中越来 越小,使得深度神经网络的前几个隐含层得不到充分的训练。参考文献【1】提出,直接优化 隐含层可以解决误差弥散问题,其方法如图3所示,前向传播时,输入层的信息通过隐含层 传递至每一个输出层;后向传播时,每一个输出层所产生的误差逐层回传至输入层,并修改 每一层的参数,直到算法收敛。这里,图3中分类器相当于图1和图2中的输出层。
[0007] 不管是传统的算法还是参考文献【1】中的算法,其优化的目标是使得分类误差最 小。然而,对于迀移学习而言,在数据集A上的分类误差最小并不能保证该模型对数据集B 是最优的。
[0008] 因此,需要一种能够同时优化分类误差和重构误差的改进的DNN,能更好的从数据 集A上学习特征以用于数据集B中,以及该神经网络系统的训练方法。
[0009] 参考文献【I 】:CY Lee, S Xie, P Gallagher, Z Zhang, Z Tu. Deeply-Supervised Nets. arXiv 2014.

【发明内容】

[0010] 在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理 解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关 键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念, 以此作为稍后论述的更详细描述的前序。
[0011] 本发明的一个主要目的在于,提供一种神经网络系统,包括:输入层;隐含层;以 及每个隐含层之后的输出层,其中,输出层包括分类器和重构器。
[0012] 根据本发明的一个方面,提供了对上述神经网络系统进行训练的训练方法,该神 经网络系统包括N个隐含层和N个输出层,该训练方法包括:用第1个输出层训练第1个隐 含层;用第2个输出层训练第2个隐含层,并微调第2个隐含层;用第3个输出层训练第3 个隐含层,并微调第1个和第2个隐含层;依次对后面各层进行训练,直至用第N个输出层 训练第N个隐含层,并微调第1个至第N-I个隐含层。
[0013] 另外,本发明的实施例还提供了用于实现上述方法的计算机程序。
[0014] 此外,本发明的实施例还提供了至少计算机可读介质形式的计算机程序产品,其 上记录有用于实现上述方法的计算机程序代码。
[0015] 通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优 点将更加明显。
【附图说明】
[0016] 参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其 它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似 的技术特征或部件将采用相同或类似的附图标记来表示。
[0017] 图1示出了传统的深度神经网络模型的示意图;
[0018] 图2示出了后向传播算法的示意图;
[0019] 图3示出了另一种深度神经网络模型的示意图;
[0020] 图4示出了根据本发明的一个实施例的神经网络系统的示意图400 ;
[0021] 图5示出了根据本发明的一个实施例的对神经网络系统进行训练的方法500的流 程图;
[0022] 图6示出了根据本发明的层级累进训练法用第一个输出层训练第一个隐含层的 示意图;
[0023] 图7示出了根据本发明的层级累进训练法用第二个输出层训练前两个隐含层的 不意图;以及
[0024] 图8是示出可以用于实施本发明的对神经网络系统进行训练的方法的计算设备 的示例性结构图。
【具体实施方式】
[0025] 下面参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描 述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应 当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知 的部件和处理的表示和描述。
[0026] 本发明提出了一种改进的神经网络系统,该神经网络系统能够同时优化分类误差 和重构误差,从而能够更好地从一个数据集中学习特征并更完整地提取该数据集的信息, 以用于辅助训练另一个相似的数据集上的神经网络系统。
[0027] 图4示出了根据本发明的一个实施例的神经网络系统的示意图400。如图4所示, 根据本发明的一个实施例的神经网络系统,包括输入层402,隐含层404,以及在每一个隐 含层后面的输出层,该输出层包括一个分类器406和一个重构器408,共同构成了一个输出 层。
[0028] 分类器406的类型可以与图3中的神经网络系统中的分类器的类型一致。对于含 有卷积层的神经网络系统而言,重构器可以为反卷积层;对于不含卷积层的神经网络系统 而言,重构器可以是诸多自编码器(Autoencoder)中的一种,如稀疏自编码器,去噪自编码 器等等。
[0029] 对于图4中所示的神经网络系统的每一层输出层(分类器+重构器),优选地,该 输出层的优化函数为:
[0030] min λ Ec+(I-A)Er (I)
[0031] 其中E。为分类器所产生的分类误差,E1^为重构器所产生的重构误差,λ为平衡因 子。平衡因子λ随着输出层的深度(输出层的深度定义为该输出层前一隐含层距离输入 层的层数)而增大。
[0032] 设k为某一输出层的深度,N为神经网络系统的深度,则优选地,平衡因子λ需要 满足:
[0033] λ = f(k) e [0, 1]单调递增,且 f(N) = 1 (2)
[0034] 依据以上⑵式的条件,在一个示例中,平衡因子λ可以取:
[003!
[003<
[003:
[0038] 可以看到,根据本发明的一个实施例的神经网络系统的输出层除了包括分类器以 外,还包括重构器,在对该神经网络系统进行训练的过程中,重构器可以用于重构输入层。 当利用神经网络系统进行迀移学习的过程中,在迀移学习的第一阶段,在数据集A上训练 得到根据本发明的一个实施例的神经网络系统,可以更完整地提取数据集A上的信息,从 而可以在迀移学习的第二阶段更好地用于辅助训练数据集B上的神经网络系统。
[0039] 此外,通过采用既包含分类器所产生的分类误差,又包含重构器所产生的重构误 差的优化函数,可以同时优化分类误差和重构误差,使得能够更好地从数据集A学习特征 并更完整地提取数据集A上的信息,以用于辅助数据集B的训练。
[0040] 下面,将结合附图,说明根据本发明的一个实施例对上述神经网络系统进行训练 的方法。
[0041] 图5示出了根据本发明的一个实施例的对神经网络系统进行训练的方法500的流 程图。
[0042] 根据本发明的一个实施例的神经网络系统可以采用传统的逐层训练法或者参考 文献【1】中的一起训练法进行训练。另外,也可以采用本发明提出的层级累进训练法进行 训练。
[0043] 具体来说,对于图4所示的神经网络系统模型,首先在步骤S502中,利用第一个输 出层训练第一个隐含层。图6示出了根据本发明的层级累进训练法用第一个输出层训练第 一个隐含层的示意图。
[0044] 待第一个隐含层训练完成以后,在步骤S504中,再用第二个输出层训练前两个隐 含层。要注意地是,这里不仅是训练第二个隐含层,同时还要微调第一个隐含层。图7示出 了根据本发明的层级累进训练法用第二个输出层训练前两个隐含层的示意图。在图6和图 7中,实线框表示正在进行训练的相关层,虚线框表示训练已完成或待进行训练的相关层。
[0045] 待第二个隐含层训练完成之后,在步骤S506中,开始用第三个输出层训练前三个 隐含层。即,训练第三个隐含层,同时微调前两个隐含层。
[0046] 在步骤S508中,对于后面各层的训练方法可以以此类推,假设神经网络系统的深 度为N,则最后用第N个输出层训练第N个隐含层,并微调第1个至第N-I个隐含层,然后完 成了对神经网络系统的训练。
[0047] 通过上述训练方法500,可以得到根据本发明的一个实施例的神经网络系统。
[0048] 在一个实施例中,在上述训练过程中,可以逐步降低已训练好的隐含层的学习速 率。假设,当前训练的输出层的深度为k,当前的学习速率为II,则第p个隐含层的学习速 率定义为公式(5):
[0049] n P= n *ak ρ (5)
[0050] 其中,a e (〇, I)为衰减系数。
[0051] 在传统的神经网络系统训练过程中,每一个权重w按照如下公式(6)进行调整:
[0052] w(l+1) = w η *grad (w1) (6)
[0053] 其中w1为训练第i轮时w的值,grad(w D表示训练第i轮时w的梯度,这里的n 即为上文所述的学习速率。
[0054] 在一个具体实施例中,当采用深度神经网络模型进行迀移学习时,首先在迀移学 习的第一阶段,对数据集A中采用以上所述的根据本发明的一个实施例的方法进行训练, 得到神经网络模型A_M以后,将中间隐含层的所对应的输出层全部移除。这时改进的深度 神经网络模型模型退化成传统的深度神经网络模型模型。然后可以用传统的方法来对数据 集B对应的深度神经网络模型模型进行训练。
[0055] 本发明提出一种改进的神经网络系统以及对其进行训练的训练方法。该神经网络 系统能够同时优化分类误差和重构误差,从而能够更好地从数据集A上学习特征并更完整 地提取数据集A上的信息,以用于辅助训练数据集B上的神经网络系统。
[0056] 以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的 普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在 任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者 它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们 的基本编程技能就能实现的。
[0057] 因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来 实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包 含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构 成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以 是任何公知的存储介质或者将来所开发出来的任何存储介质。
[0058] 在通过软件和/或固件实现本发明的实施例的情况下,从存储介质或网络向具有 专用硬件结构的计算机,例如图8所示的通用计算机800安装构成该软件的程序,该计算机 在安装有各种程序时,能够执行各种功能等等。
[0059] 在图8中,中央处理单元(CPU)801根据只读存储器(ROM)802中存储的程序或从 存储部分808加载到随机存取存储器(RAM) 803的程序执行各种处理。在RAM 803中,也根 据需要存储当CPU 801执行各种处理等等时所需的数据。CPU 801、R0M 802和RAM 803经 由总线804彼此链路。输入/输出接口 805也链路到总线804。
[0060] 下述部件链路到输入/输出接口 805 :输入部分806 (包括键盘、鼠标等等)、输出 部分807 (包括显示器,比如阴极射线管(CRT)、液晶显示器(IXD)等,和扬声器等)、存储部 分808 (包括硬盘等)、通信部分809 (包括网络接口卡比如LAN卡、调制解调器等)。通信 部分809经由网络比如因特网执行通信处理。根据需要,驱动器810也可链路到输入/输 出接口 805。可拆卸介质811比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在 驱动器810上,使得从中读出的计算机程序根据需要被安装到存储部分808中。
[0061] 在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆 卸介质811安装构成软件的程序。
[0062] 本领域的技术人员应当理解,这种存储介质不局限于图8所示的其中存储有程 序、与设备相分离地分发以向用户提供程序的可拆卸介质811。可拆卸介质811的例子 包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(⑶-ROM)和数字通用盘 (DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是 ROM 802、存储部分808中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被 分发给用户。
[0063] 本发明还提出一种存储有机器可读取的指令代码的程序产品。指令代码由机器读 取并执行时,可执行上述根据本发明实施例的方法。
[0064] 相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包 括在本发明的公开中。存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等。
[0065] 本领域的普通技术人员应理解,在此所例举的是示例性的,本发明并不局限于此。
[0066] 在本说明书中,"第一"、"第二"以及"第N个"等表述是为了将所描述的特征在文 字上区分开,以清楚地描述本发明。因此,不应将其视为具有任何限定性的含义。
[0067] 作为一个示例,上述方法的各个步骤以及上述设备的各个组成模块和/或单元可 以实施为软件、固件、硬件或其组合,并作为相应设备中的一部分。上述装置中各个组成模 块、单元通过软件、固件、硬件或其组合的方式进行配置时可使用的具体手段或方式为本领 域技术人员所熟知,在此不再赘述。
[0068] 作为一个示例,在通过软件或固件实现的情况下,可以从存储介质或网络向具有 专用硬件结构的计算机(例如图8所示的通用计算机800)安装构成该软件的程序,该计算 机在安装有各种程序时,能够执行各种功能等。
[0069] 在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征 可以以相同或类似的方式在一个或更多个其他实施方式中使用,与其他实施方式中的特征 相组合,或替代其他实施方式中的特征。
[0070] 应该强调,术语"包括/包含"在本文使用时指特征、要素、步骤或组件的存在,但 并不排除一个或更多个其他特征、要素、步骤或组件的存在或附加。
[0071] 此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其 他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发 明的技术范围构成限制。
[0072] 本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精 神和范围的情况下可以进行各种改变、替代和变换。而且,本发明的范围不仅限于说明书 所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明 的公开内容将容易理解,根据本发明可以使用执行与在此的相应实施例基本相同的功能或 者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因 此,所附的权利要求旨在在它们的范围内包括这样的过程、设备、手段、方法或者步骤。
[0073] 基于以上的说明,可知公开至少公开了以下技术方案:
[0074] 附记1、一种神经网络系统,包括:
[0075] 输入层;
[0076] 隐含层;以及
[0077] 每个隐含层之后的输出层,其中,所述输出层包括分类器和重构器。
[0078] 附记2、根据附记1所述的神经网络系统,其中,所述输出层的优化函数为:
[0079] 所述分类器所产生的分类误差和所述重构器所产生的重构误差利用平衡因子进 行线性求和的最小值。
[0080] 附记3、根据附记2所述的神经网络系统,其中,所述平衡因子满足所述输出层的 深度的单调递增函数,并且所述函数在所述神经网络系统的深度处的函数值为1。
[0081] 附记4、根据附记3所述的神经网络系统,其中,所述平衡因子满足以下函数之一:
,其中λ为平衡因子,k为某一输出层的深 度,N为所还神经IWJ络糸统的深度,p为仕蒽正整数。
[0082] 附记5、根据附记1所述的神经网络系统,其中,所述重构器为以下中的至少一项: 反卷积层、稀疏自编码器、去噪自编码器。
[0083] 附记6、根据附记1所述的神经网络系统,其中,在对所述神经网络系统进行训练 的过程中,所述重构器用于重构所述输入层。
[0084] 附记7、根据附记1所述的神经网络系统,其中,所述神经网络系统用于迀移学习 的第一阶段。
[0085] 附记8、一种对根据附记1-7所述的神经网络系统进行训练的训练方法,所述神经 网络系统包括N个隐含层和N个输出层,所述训练方法包括:
[0086] 用第1个输出层训练第1个隐含层;
[0087] 用第2个输出层训练第2个隐含层,并微调第2个隐含层;
[0088] 用第3个输出层训练第3个隐含层,并微调第1个和第2个隐含层;
[0089] 依次对后面各层进行训练,直至用第N个输出层训练第N个隐含层,并微调第1个 至第N-I个隐含层。
[0090] 附记9、根据附记8所述的神经网络系统的训练方法,其中,在训练过程中,逐步降 低已训练好的隐含层的学习速率,所述学习速率为如下这样的参数:该参数与当前训练得 到的权重的梯度相乘再与当前权重求差以得到下一次训练的权重。
[0091] 附记10、根据附记9所述的神经网络系统的训练方法,其中,通过将当前层的学习 速率乘以衰减系数的m次幂来得到降低的指定层的学习速率,所述衰减系数取值在0到1 之间,m为所述当前层的深度减去所述指定层的深度。
【主权项】
1. 一种神经网络系统,包括: 输入层; 隐含层;W及 每个隐含层之后的输出层,其中,所述输出层包括分类器和重构器。2. 根据权利要求1所述的神经网络系统,其中,所述输出层的优化函数为: 所述分类器所产生的分类误差和所述重构器所产生的重构误差利用平衡因子进行线 性求和的最小值。3. 根据权利要求2所述的神经网络系统,其中,所述平衡因子满足所述输出层的深度 的单调递增函数,并且所述函数在所述神经网络系统的深度处的函数值为1。4. 根据权利要求3所述的神经网络系统,其中,所述平衡因子满足W下函数之一:其中λ为平衡因子,k为某一输出层的深度, N为所述神经网络系统的深度,P为任意正整数。5. 根据权利要求1所述的神经网络系统,其中,所述重构器为W下中的至少一项:反卷 积层、稀疏自编码器、去噪自编码器。6. 根据权利要求1所述的神经网络系统,其中,在对所述神经网络系统进行训练的过 程中,所述重构器用于重构所述输入层。7. 根据权利要求1所述的神经网络系统,其中,所述神经网络系统用于迁移学习的第 一阶段。8. -种对根据权利要求1-7所述的神经网络系统进行训练的训练方法,所述神经网络 系统包括N个隐含层和N个输出层,所述训练方法包括: 用第1个输出层训练第1个隐含层; 用第2个输出层训练第2个隐含层,并微调第2个隐含层; 用第3个输出层训练第3个隐含层,并微调第1个和第2个隐含层; 依次对后面各层进行训练,直至用第N个输出层训练第N个隐含层,并微调第1个至第 N-1个隐含层。9. 根据权利要求8所述的神经网络系统的训练方法,其中,在训练过程中,逐步降低已 训练好的隐含层的学习速率,所述学习速率为如下运样的参数:该参数与当前训练得到的 权重的梯度相乘再与当前权重求差W得到下一次训练的权重。10. 根据权利要求9所述的神经网络系统的训练方法,其中,通过将当前层的学习速率 乘W衰减系数的m次幕来得到降低的指定层的学习速率,所述衰减系数取值在0到1之间, m为所述当前层的深度减去所述指定层的深度。
【文档编号】G06N3/08GK105844331SQ201510020691
【公开日】2016年8月10日
【申请日】2015年1月15日
【发明人】陈理, 王淞, 范伟, 孙俊, 直井聪
【申请人】富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1