一种神经网络训练方法及装置与流程

文档序号:25082783发布日期:2021-05-18 13:25阅读:85来源:国知局
一种神经网络训练方法及装置与流程

1.本申请涉及计算机技术领域,具体涉及一种神经网络训练方法及装置。


背景技术:

2.人工神经网络可以从信息处理角度对人脑神经元网络进行抽象,以建立模型,并按不同的连接方式组成不同的网络,例如,可以组成包括多个隐藏层的深度神经网络。随着对人工神经网络的不断深入研究,人们在各个领域都取得了很大的进展。
3.在对相关技术的研究和实践过程中,本申请的发明人发现,在深度神经网络模型的训练过程中,常常容易出现过拟合的问题,导致模型在训练集上表现很好,而在测试集上表现逊色,使得训练得到的模型并没有理解数据背后的规律、具有较差的泛化能力。


技术实现要素:

4.本申请实施例提供一种神经网络训练方法及装置,可以提高神经网络训练的效率,并改善神经网络训练中的过拟合现象。
5.本申请实施例提供一种神经网络训练方法,包括:
6.获取待确定连接关系的原生神经网络,其中,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;
7.获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;
8.基于所述节点连接策略信息,从目标网络层的训练节点中确定与所述当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网络中除所述当前网络层外的至少一个网络层;
9.建立所述当前训练节点与所述目标连接节点之间的连接关系,得到连接后神经网络;
10.通过针对样本数据在所述连接后神经网络中执行前向传递,得到预测输出结果;
11.基于所述预测输出结果,更新所述连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
12.相应的,本申请实施例还提供一种神经网络训练装置,包括:
13.第一获取单元,用于获取待确定连接关系的原生神经网络,其中,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;
14.第二获取单元,用于获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;
15.节点确定单元,用于基于所述节点连接策略信息,从目标网络层的训练节点中确定与所述当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网络中除所述当前网络层外的至少一个网络层;
16.连接建立单元,用于建立所述当前训练节点与所述目标连接节点之间的连接关
系,得到连接后神经网络;
17.前向传递单元,用于通过针对样本数据在所述连接后神经网络中执行前向传递,得到预测输出结果;
18.权重更新单元,用于基于所述预测输出结果,更新所述连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
19.在一实施例中,所述节点确定单元,包括:
20.解析子单元,用于对所述节点连接策略信息进行解析,得到所述目标连接节点对应的节点数量信息与节点选择方式;
21.选择子单元,用于基于所述节点选择方式,从所述目标网络层的训练节点中选择与所述节点数量信息相符的目标连接节点。
22.在一实施例中,所述选择子单元,用于:
23.获取所述训练节点的节点连接属性;根据所述节点数量信息,确定所述目标连接节点的节点数量;基于所述节点连接属性,按照所述节点选择方式从所述训练节点中选择所述节点数量的目标连接节点。
24.在一实施例中,所述第二获取单元,包括:
25.参数确定子单元,用于确定所述原生神经网络的网络结构参数;
26.信息获取子单元,用于获取所述原生神经网络的样本数据的样本属性信息;
27.信息确定子单元,用于基于所述网络结构参数与所述样本属性信息,确定所述节点连接策略信息。
28.在一实施例中,所述样本属性信息包括所述样本数据对应的场景标签信息与数据结构信息;所述信息确定子单元,用于:
29.基于所述网络结构参数与所述场景标签信息,确定所述节点连接策略信息的节点数量信息;根据所述数据结构信息,匹配所述节点连接策略信息的节点选择方式;基于所述节点数量信息与所述节点选择方式,确定所述节点连接策略信息。
30.在一实施例中,所述连接后神经网络包括样本输入层、预测输出层、以及至少一个中间隐藏层;所述前向传递单元,包括:
31.输入子单元,用于将所述样本数据输入所述样本输入层,得到针对所述样本数据的特征映射信息;
32.传递子单元,用于传递所述特征映射信息到所述中间隐藏层,以触发生成所述预测输出层需要的结果预测矩阵;
33.第一确定子单元,用于基于所述预测输出层与所述结果预测矩阵,确定所述预测输出结果。
34.在一实施例中,所述权重更新单元,包括:
35.第二确定子单元,用于确定所述样本数据对应的目标输出结果;
36.误差计算子单元,用于基于所述目标输出结果与所述预测输出结果,计算针对所述样本数据的预测误差;
37.反向传递子单元,用于基于所述预测误差,通过在所述连接后神经网络中执行反向传递来更新所述训练节点的权重信息,以确定出训练后神经网络。
38.在一实施例中,所述连接后神经网络包括样本输入层、预测输出层、以及至少一个
中间隐藏层;所述反向传递子单元,用于:
39.基于所述预测误差,确定所述预测输出层对应的梯度信息;基于所述梯度信息,对所述预测输出层中训练节点对应的权重信息进行更新;传递所述梯度信息到所述中间隐藏层,以触发对所述中间隐藏层中训练节点对应的权重信息进行更新。
40.在一实施例中,所述反向传递子单元,用于:
41.基于所述预测误差,通过在所述连接后神经网络中执行反向传递来更新所述训练节点的权重信息;确定所述样本数据在所述连接后神经网络的各训练迭代中对应的训练损失;计算所述训练损失的变化梯度;当检测到所述变化梯度符合预设的梯度阈值时,确定针对所述连接后神经网络的训练完成,得到训练后神经网络。
42.本申请实施例可以获取待确定连接关系的原生神经网络,其中,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;基于所述节点连接策略信息,从目标网络层的训练节点中确定与所述当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网络中除所述当前网络层外的至少一个网络层;建立所述当前训练节点与所述目标连接节点之间的连接关系,得到连接后神经网络;通过针对样本数据在所述连接后神经网络中执行前向传递,得到预测输出结果;基于所述预测输出结果,更新所述连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
43.该方案提供了一种神经网络训练方法,可以建立原生神经网络的训练节点之间的部分连接关系得到连接后神经网络,并对该连接后神经网络进行模型训练。在本方案中,对于各训练节点的输出特征既不是完全丢弃、也不是添加复杂的扰动,而是通过保留训练节点间的部分连接,来有效地控制神经网络模型的复杂度和参数量。因此,在对基于本方案得到的连接后神经网络进行训练时,由于改善了神经网络模型的复杂度,使得连接后神经网络在训练时避免出现仅“死记硬背”记下训练数据且无法变通地预测没有“见过”的数据,而是能实现即使对于未知的数据也可以有稳定的预测输出。因此,本方案可以通过显著减少连接后神经网络在训练过程中的测试误差而不增加训练误差,使得神经网络模型训练过程中的过拟合问题能够得到改善,并提高了训练后神经网络模型的泛化能力。
附图说明
44.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1是本申请实施例提供的神经网络训练方法的场景示意图;
46.图2是本申请实施例提供的神经网络训练方法的流程图;
47.图3是本申请实施例提供的神经网络训练方法的节点连接示意图;
48.图4是本申请实施例提供的神经网络训练方法的执行步骤示意图;
49.图5是本申请实施例提供的神经网络训练方法的神经网络示意图;
50.图6是本申请实施例提供的神经网络训练方法的另一神经网络示意图;
51.图7是本申请实施例提供的神经网络训练方法的另一神经网络示意图;
52.图8是本申请实施例提供的神经网络训练方法的另一神经网络示意图;
53.图9是本申请实施例提供的神经网络训练方法的另一节点连接示意图;
54.图10是本申请实施例提供的神经网络训练方法的另一节点连接示意图;
55.图11是本申请实施例提供的神经网络训练方法的另一节点连接示意图;
56.图12是本申请实施例提供的神经网络训练方法的另一执行步骤示意图;
57.图13是本申请实施例提供的神经网络训练方法的另一流程示意图;
58.图14是本申请实施例提供的神经网络训练方法的另一神经网络示意图;
59.图15是本申请实施例提供的神经网络训练装置的结构示意图;
60.图16是本申请实施例提供的神经网络训练装置的另一结构示意图;
61.图17是本申请实施例提供的神经网络训练装置的另一结构示意图;
62.图18是本申请实施例提供的神经网络训练装置的另一结构示意图;
63.图19是本申请实施例提供的神经网络训练装置的另一结构示意图;
64.图20是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
65.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
66.本申请实施例提供一种神经网络训练方法及装置。具体地,本申请实施例提供适用于计算机设备的神经网络训练装置。其中,该计算机设备可以为终端或服务器等设备,该终端可以为手机、平板电脑、笔记本电脑等设备。该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。
67.本申请实施例将以神经网络训练方法由服务器执行为例,来介绍神经网络训练方法。
68.服务器在进行神经网络模型的训练之前,可以首先确定原生神经网络中各训练节点之间的连接关系;具体地,确定各训练节点之间的连接关系,可以通过为训练节点分配节点连接策略信息,并基于该节点连接策略信息,确定该训练节点对应的目标连接节点。而在神经网络模型中,建立训练节点之间的连接关系可以通过分配在训练节点之间进行信息传递时对应的权重来实现,以便在后续的模型训练中对可以该权重进行更新,并确定该权重的最优值。
69.服务器在获取确定了连接关系的神经网络后,可以执行对该连接后神经网络的训练,例如,可以通过针对样本数据在该连接后神经网络中执行前向传递,以得到该连接后神经网络对该样本数据的预测输出结果,并且,可以通过分析样本数据的目标输出结果与该预测输出结果之间的差距,通过反向传递来更新该连接后神经网络中各训练节点之间的权重信息,以确定出训练后神经网络。
70.在另一实施例中,神经网络训练方法可以由服务器和终端共同执行。
71.参考图1,服务器10上可以进行神经网络的训练,具体地,服务器10可以基于针对
原生神经网络中训练节点的节点连接策略信息,确定原生神经网络中各训练节点之间的连接关系,如,确定训练节点的目标连接节点,以及分配该训练节点与该目标连接节点之间的权重,等等。
72.例如,服务器10可以从终端20获取用于对连接后神经网络进行训练的样本数据,该样本数据可以为图像数据、语音数据、文本数据或用户行为数据,等等。服务器10随即可以针对该样本数据,通过在连接后神经网络中执行前向传递与反向传递来执行神经网络的训练来确定出训练后神经网络,以便后续可以通过该训练后神经网络执行针对该样本数据的数据分析,例如,图像检测、语音检测、文本翻译、用户行为分析,等等。
73.该神经网络训练系统,可以获取待确定连接关系的原生神经网络,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;基于节点连接策略信息,从目标网络层的训练节点中确定与当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网络中除所述当前网络层外的至少一个网络层;建立当前训练节点与目标连接节点之间的连接关系,得到连接后神经网络;通过针对样本数据在连接后神经网络中执行前向传递,得到预测输出结果;基于预测输出结果,更新连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
74.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
75.随着人工智能(artificial intelligence,ai)技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
76.其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
77.本申请实施例提供的一种神经网络训练方法涉及人工智能的深度学习等技术,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本申请实施例以神经网络训练方法由服务器执行为例来进行说明,具体的,由集成在服务器中的神经网络训练装置来执行,如图2所述,该神经网络训练方法的具体流程可以如下:
78.101、获取待确定连接关系的原生神经网络,其中,该原生神经网络包括至少两个网络层,该网络层包括至少一个训练节点。
79.其中,神经网络(neuralnetworks,简写为nns)或称人工神经网络(artificialneuralnetworks,简写为anns)或称连接模型(英文为connectionmodel)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
80.其中,神经元或称节点是神经网络最基本的单元,节点可以通过层或称网络层的方式组合,具体地,每一网络层中的每个节点可以和前一网络层、后一网络层中的节点连
接,从而形成了一个完整的神经网络。因而,神经网络的主要架构是由三个部分组成,即节点、网络层,和由节点之间的连接关系构成的网络。
81.在本实施例中,可以将确定了节点与网络层,并且待确定节点之间的连接关系的神经网络称为原生神经网络,具体地,该原生神经网络可以包括至少两个网络层,每个网络层中可以包括至少一个训练节点,可以在确定了训练节点之间的连接关系以后进行进一步的模型训练。
82.其中,原生神经网络的连接关系可以通过确定训练节点之间的连接关系来建立,而训练节点之间的连接关系具体可以通过为训练节点之间分配权重来建立。值得注意的是,为训练节点之间分配权重除了可以确定神经网络的各网络层之间的连接方式,还可以在神经网络的训练过程中对该权重进行更新与重置、以确定该权重的最优值;而若未建立训练节点之间的连接关系,除了会影响神经网络的网络架构以外,还会使得在后续的训练过程中不会针对该权重的值进行计算与更新。
83.在一实施例中,可以将本神经网络训练方法应用在图像检测中,则步骤101可以相应地具体为:获取待确定连接关系的原生神经网络,其中,该原生神经网络包括至少两个网络层,该网络层包括至少一个训练节点。
84.102、获取当前网络层中当前训练节点的节点连接策略信息,其中,当前训练节点为当前网络层中的需要确定连接关系的训练节点。
85.其中,节点连接策略信息可以为用于描述原生神经网络中的训练节点在选择对应的目标连接节点时所遵循的策略规则,训练节点可以基于该节点连接策略信息,确定其对应的目标连接节点,进而与该目标连接节点建立连接关系。
86.例如,在获取了待确定连接关系的原生神经网络后,可以从该原生神经网络中选择一网络层“layer1”,并针对该网络层中的一训练节点“node1”,获取该训练节点的节点连接策略信息,以便后续可以确定该训练节点在该原生神经网络的其他网络层中的目标连接节点。
87.其中,当确定了训练节点“node1”在该原生神经网络中的所有目标连接节点后,即确定了训练节点“node1”的连接关系;同理,当确定了网络层“layer1”中所有训练节点的目标连接节点时,即为确定了网络层“layer1”的训练节点之间的连接关系;当确定了原生神经网络中所有网络层的训练节点之间的连接关系时,即为确定了该原生神经网络的连接关系。
88.值得注意的是,当针对网络层“layer1”与训练节点“node1”确定连接关系时,网络层“layer1”即为当前网络层、训练节点“node1”即为当前训练节点;同理,当针对原生神经网络中的其他网络层与其他训练节点确定连接关系时,当前网络层与当前训练节点应相应变化。即,当前网络层为原生神经网络中待确定训练节点之间连接关系的网络层,当前训练节点为所述当前网络层中的需要确定连接关系的训练节点。
89.在实际应用中,为训练节点分配节点连接策略信息的方法可以有多种,可以基于实际业务需求进行调整,例如,可以考虑原生神经网络的网络结构、原生神经网络的样本数据等多方面的因素。具体地,步骤“获取当前网络层中当前训练节点的节点连接策略信息”,可以包括:
90.确定原生神经网络的网络结构参数;
91.获取原生神经网络的样本数据的样本属性信息;
92.基于该网络结构参数与该样本属性信息,确定节点连接策略信息。
93.其中,网络结构参数可以为描述原生神经网络结构的相关参数,例如,可以包括神经网络的深度(即网络层的层数)、神经网络的宽度(即每个网络层的通道数)、神经网络的训练节点总数,等等。
94.其中,样本数据可以用于对连接后神经网络进行训练,而样本数据的种类可以有多种,例如,可以为图像数据、语音数据、文本数据或用户行为数据,等等。样本数据的样本属性信息可以为用于描述样本数据的相关属性的信息,例如,样本属性信息可以包括样本数据在采集时所对应的场景标签信息、样本数据的数据结构信息、样本数据的数量信息、样本数据的用户属性信息,等等。
95.在一实施例中,样本数据的样本属性信息可以包括样本数据对应的场景标签信息与数据结构信息,因此,可以进一步地基于网络结构参数与场景标签信息,以及数据结构信息,来确定节点连接策略信息。具体地,步骤“基于该网络结构参数与该样本属性信息,确定节点连接策略信息”,可以包括:
96.基于网络结构参数与场景标签信息,确定节点连接策略信息的节点数量信息;
97.根据数据结构信息,匹配节点连接策略信息的节点选择方式;
98.基于节点数量信息与节点选择方式,确定节点连接策略信息。
99.其中,节点数量信息可以用于描述需要与训练节点建立连接关系的目标连接节点的数量。节点数量信息的表现形式可以有多种,例如,当节点数量信息为具体的节点数量,如10个时,则可以表示需要从目标网络层中选择10个训练节点作为当前训练节点的目标连接节点。又如,当节点数量信息为比例的形式,如60%时,则可以表示需要选择目标网络层中的60%的训练节点作为当前训练节点的目标连接节点。又如,当节点数量信息为区间的形式时,如(0,nnwidth]时,则可以表示需要从目标网络层中选择不超过nnwidth数量的训练节点作为当前训练节点的目标连接节点,其中,nnwidth可以为原生神经网络的宽度;等等。
100.其中,场景标签信息可以为描述样本数据具体的应用场景的信息,例如,在脸部支付的应用场景中,样本数据可以为脸部支付设备采集到的脸部特征数据,因而相应地,该样本数据的场景标签信息可以为“脸部支付”对应的场景标签。又如,在语音转换的应用场景中,样本数据可以为终端采集到的语音数据,因而相应地,该样本数据的场景标签信息可以为“语音转换”对应的场景标签。又如,在文本识别的应用场景中,样本数据可以为包括待识别文本的图像数据,因而相应地,该样本数据的场景标签信息可以为“文本识别”对应的场景标签与“图像识别”对应的场景标签,等等。
101.在一实施例中,在确定节点连接策略信息的节点数量信息时,除了考虑网络结构参数外,还可以结合具体业务需求、将场景标签信息的因素考虑在内。例如,对于具有较大深度与广度的复杂神经网络,与具有较小深度及广度的简单神经网络,所设置的节点数量可以不同;譬如,可以为复杂神经网络设置较大的节点数量信息、为简单神经网络设置较小的节点数量信息,以更好地贴合神经网络的结构复杂度,使得后续针对连接后神经网络的训练可以更有效地进行。而将场景标签信息的因素也考虑在内,则可以在此基础上可以更好地满足业务需求,例如,对于图像、语音或视频等较为复杂的样本数据,可以设置较大的
节点数据信息,而对于相较之下较为简单的样本数据,则可以设置较小的节点数据信息,以便后续的训练可以更有效地执行神经网络训练。
102.其中,样本数据的数据结构信息可以用于描述样本数据的数据结构特征,例如,对于彩色图像类型的样本数据,其数据结构可以为包括若干颜色通道下的像素矩阵;又如,对于语音类型的样本数据,其数据结构可以为若干组离散的声音采样值;又如,对于用户行为数据,其数据结构可以为以行和列的形式组织的若干数据表;等等。
103.其中,节点选择方式可以用于描述当前训练节点在目标网络层的训练节点中,选择一定数量的目标连接节点时,所遵循的规则。节点选择方式可以有多种,例如,可以为随机选择;又如,可以为基于正太分布进行选择;又如,可以为使用预设的函数进行选择;等等。
104.因此,可以针对样本数据的不同数据结构特点,为当前训练节点的节点连接策略信息匹配不同的节点选择方式。值得注意的是,在实际应用中,节点选择方式的匹配,除了可以考虑数据结构信息的影响以外,还可以考虑其他因素,本申请对此不作限制。
105.在确定了节点数量信息与节点选择方式后,即可确定节点连接策略信息,以便后续可以基于该节点连接策略信息进行目标连接节点的选择。
106.在一实施例中,可以将本神经网络训练方法应用在图像检测中,则步骤102可以相应地具体为:获取当前网络层中当前训练节点的节点连接策略信息。
107.103、基于节点连接策略信息,从目标网络层的训练节点中确定与当前训练节点对应的目标连接节点,其中,目标网络层为原生神经网络中除当前网络层外的至少一个网络层。
108.其中,目标网络层可以为当前网络层的下一网络层,或者神经网络中的任意其他网络层。由于目标网络层中可以包括至少一个训练节点,且本申请区别于全连接方法,提供了一种网络层之间的训练节点的部分连接方法。因此,可以基于节点连接策略信息,从目标网络层的训练节点中确定需要与当前训练节点建立连接关系的目标连接节点。
109.在一实施例中,参考图3,该神经网络中包括样本输入层、中间隐藏层1、中间隐藏层2、以及预测输出层;其中,除预测输出层外,其他网络层中均包括5个训练节点。如图3,以中间隐藏层1为例,其目标网络层为中间隐藏层2,并且,对于中间隐藏层1中的训练节点201,其从中间隐藏层2中选择了训练节点202、训练节点204、以及训练节点206作为目标连接节点。值得注意的是,对于当前训练节点所选择的目标连接节点,图3中以实线箭头的方式可视化地作出了展示,相应地,虚线箭头即表示两个训练节点之间无连接关系。
110.在另一实施例中,参考图4,可以对原生神经网络中每一网络层的每一训练节点计算其部分连接信息、即节点连接策略信息,以确定该训练节点的目标连接节点,从而得到连接后神经网络,以便后续对该连接后神经网络执行前向传递与反向传递等步骤。具体来说就是会通过把训练节点之间从n到n的连接方式,转化为n到m的连接方式,其中m小于n,或m等于n。
111.在实际应用中,可以基于节点连接策略信息,从目标网络层的n个训练节点中确定与当前训练节点对应的m个目标连接节点,其中,m为小于或者等于n的数。具体地,步骤“基于节点连接策略信息,从目标网络层的训练节点中确定与当前训练节点对应的目标连接节点”,可以包括:
112.对节点连接策略信息进行解析,得到目标连接节点对应的节点数量信息与节点选择方式;
113.基于该节点选择方式,从目标网络层的训练节点中选择与该节点数量信息相符的目标连接节点。
114.其中,由于在基于网络结构参数与场景标签信息确定了节点数量信息、并根据数据结构信息匹配了节点选择方式后,基于节点数量信息与节点选择方式确定了节点连接策略信息,因此,在需要确定当前训练节点的目标连接节点时,即可从节点连接策略信息中解析出节点数量信息与节点选择方式。
115.由于节点选择方式可以用于描述在目标网络层的训练节点中选择一定数量的目标连接节点时所遵循的规则,因此,可以基于该节点选择方式,从目标网络层中确定当前训练节点的目标连接节点。具体地,步骤“基于该节点选择方式,从目标网络层的训练节点中选择与该节点数量信息相符的目标连接节点”,可以包括:
116.获取训练节点的节点连接属性;
117.根据节点数量信息,确定目标连接节点的节点数量;
118.基于该节点连接属性,按照该节点选择方式从训练节点中选择该节点数量的目标连接节点。
119.其中,训练节点的节点连接属性可以用于描述目标网络层的训练节点的连接情况。例如,描述该训练节点是否处于连接状态、是否建立过连接关系、建立了多少次连接关系、与哪些网络层中的哪些训练节点建立过连接关系,等等。
120.由于节点数量信息描述了需要与训练节点建立连接关系的目标连接节点的数量,因此,可以根据节点数量信息确定节点数量。例如,当节点数量信息为具体的节点数量,如10个时,即可确定节点数量为10;又如,当节点数量信息为比例的形式,如60%时,即可确定节点数量为目标网络层的训练节点数与该比例的乘积值;又如,当节点数量信息为区间的形式时,如(0,max]时,即可确定需要从目标网络层中选择不超过max数量的训练节点作为当前训练节点的目标连接节点,其中,max为预设的最大数值;等等。
121.在实际应用中,将节点连接属性的因素考虑在内,可以有利于更好地把握目标网络层中的训练节点的连接分配情况。例如,可以避免出现某些训练节点被分配了很多连接,而某些训练节点被分配了很少的连接,使得神经网络中的连接分配过于不均,从而影响了神经网络的表现;又如,可以更好地基于业务需求进行连接分配,使得某些训练节点具有较多的连接,而某些训练节点具有较少的连接;等等。
122.在确定了目标网络层中训练节点的节点连接属性,与当前训练节点选择目标连接节点所遵循的节点选择方式后,即可确定当前训练节点的目标连接节点。
123.在一实施例中,参考图5,该原生神经网络包括七个网络层,具体为:一个样本输入层、一个预测输出层以及五个中间隐藏层;并且,每个网络层中包括若干个训练节点。在确定每个当前训练节点的目标连接节点时,遵循的节点选择方式可以为随机选择;节点数量的限制可以简单设置为选取目标网络层中的部分训练节点、而非全部训练节点;并且,可以不利用目标网络层中训练节点的节点连接属性对目标连接节点的选择加以干涉,因此,可以得到如图6所示的连接后神经网络。其中,该连接后神经网络中每个训练节点与仅与目标网络层中的部分训练节点建立连接。
124.当节点选择方式为随机选择,可能导致出现神经网络的训练节点间连接分配不平衡的情况,如图6所示,中间隐藏层2中的训练节点都与中间隐藏层3中的训练节点207建立了连接关系,使得训练节点207中接受了来自前三个网络层中的大部分信息。但由于训练节点207仅与中间隐藏层4中的训练节点208建立连接关系,因此,来自前三个网络层中的大部分信息,仅传递给了中间隐藏层4中的一个训练节点。
125.此外,由于在确定目标连接节点时,若不将训练节点的节点连接属性考虑在内,则可能会出现如图6所示的,汇集了前面网络层中大部分信息的训练节点207仅与下一网络层中的一个训练节点208相连接,而未接收到前面网络层中任何信息的训练节点209反而与下一网络层中的大部分训练节点建立了连接。
126.在另一实施例中,在确定每个当前训练节点的目标连接节点时,遵循的节点选择方式可以为基于预设的比例分摊当前网络层与目标网络层之间的连接关系;节点数量的设置可以为选择目标网络层中60%的训练节点作为目标连接节点;并且,可以将目标网络层中训练节点的节点连接属性考虑在内,那么,可以得到如图7所示的连接后神经网络。其中,该连接后神经网络中每个训练节点与仅与目标网络层中的60%的训练节点建立连接,并且,由于考虑到每个训练节点的节点连接属性,网络层之间的连接关系也得到了比较均衡的分配。
127.在另一实施例中,在确定每个当前训练节点的目标连接节点时,遵循的节点选择方式可以为遵循正太分布分配当前网络层与目标网络层之间的连接关系;节点数量的设置可以为选择目标网络层中60%的训练节点作为目标连接节点;并且,将目标网络层中训练节点的节点连接属性考虑在内,那么,可以得到如图8所示的连接后神经网络。其中,该连接后神经网络中每个训练节点与仅与目标网络层中的60%的训练节点建立连接,并且,由于考虑到每个训练节点的节点连接属性,网络层之间的连接关系可以按照预设的节点选择方式进行布局与分配。
128.在实际应用中,可以对节点选择方式以及节点数量进行其他设置,以更好地实现业务需求。
129.值得注意的是,在一实施例中,可以当将本神经网络训练方法应用在图像检测中,则步骤103可以相应地具体为:基于节点连接策略信息,从目标网络层的训练节点中确定与当前训练节点对应的目标连接节点。
130.104、建立当前训练节点与目标连接节点之间的连接关系,得到连接后神经网络。
131.其中,建立训练节点之间的连接关系可以通过为训练节点之间分配权重来实现,因此相应地,没有建立连接关系的训练节点之间不会分配起到连接作用的权重。为训练节点之间分配权重,可以使得信息可以基于该权重,经由训练节点在神经网络中传递。因此,建立当前训练节点与目标连接节点之间的连接关系,可以通过为该当前训练节点与该目标连接节点之间分配起到连接作用的权重来实现,当为所有确定了连接关系的训练节点分配权重后,即可得到连接后神经网络。
132.分配权重的方式可以有多种,例如,可以采用随机函数生成随机值,并将该随机值赋予待分配的权重;又如,可以采用高斯分布来初始化待分配的权重;又如,可以采用均匀分布来初始化待分配的权重;等等。
133.在一实施例中,可以当将本神经网络训练方法应用在图像检测中,则步骤104可以
相应地具体为:建立当前训练节点与目标连接节点之间的连接关系,得到连接后神经网络。
134.105、通过针对样本数据在连接后神经网络中执行前向传递,得到预测输出结果。
135.其中,可以通过连接后神经网络对样本数据进行预测,得到预测输出结果。例如,若样本数据包括待售房屋的房屋面积、使用年限、地理位置等信息,可以通过将样本数据输入连接后神经网络中,得到该连接后神经网络针对该待售房屋的售价预测结果;又如,若样本数据包括图像在各图像通道上的像素值,可以将该样本数据输入连接后神经网络中,以得到该连接后神经网络针对该图像的图像检测结果;等等。
136.由于连接后神经网络包括至少一个网络层,因此,样本数据可以通过前向传递,在连接后神经网络中逐层传递信息,至最后的输出层生成预测输出结果。具体地,可以将样本数据输入连接后神经网络中,通过触发该连接后神经网络中的各训练节点将样本数据与权重进行加权求和,并将得到的值通过激活函数转换后,传递到下一连接的训练节点,直至最后得到预测输出结果。
137.可以将连接后神经网络中的网络层划分为样本输入层、预测输出层、以及至少一个中间隐藏层,则步骤“通过针对样本数据在连接后神经网络中执行前向传递,得到预测输出结果”,可以包括:
138.将样本数据输入所述样本输入层,得到针对该样本数据的特征映射信息;
139.传递特征映射信息到中间隐藏层,以触发生成预测输出层需要的结果预测矩阵;
140.基于该预测输出层与该结果预测矩阵,确定预测输出结果。
141.其中,特征映射信息可以为样本输入层在获取样本数据后,通过该样本输入层中的训练节点、以及该训练节点与下一网络层中的目标连接节点之间的权重,计算得出的特征矩阵。
142.在实际应用中,样本输入层的训练节点用于获取样本数据,因此,可以不对样本输入层的训练节点设置激活函数,从而,样本输出层生成的特征映射信息可以为将样本数据与权重进行加权求和后得到的特征矩阵。
143.由于样本输入层的训练节点与中间隐藏层的训练节点之间建立了连接关系,因此,来自样本输入层的特征映射信息可以通过连接的训练节点,逐层传递到预测输出层,以触发该预测输出层生成需要的结果预测矩阵。值得注意的时,中间隐藏层的训练节点可以设置有激活函数,因此,信息在中间隐藏层传递时,除了包括与对应的权重加权求和的操作,还可以包括通过激活函数将该加权求和得到的值进行转换后输出到下一连接的训练节点的操作。
144.特征映射信息可以通过中间隐藏层,在连接后神经网络中进行逐层传递与信息转换,最后生成预测输出层需要的结果预测矩阵。而预测输出层中的训练节点,可以基于其对应的权重与激活函数,通过对该结果预测矩阵进行计算,生成预测输出结果。
145.在一实施例中,参考图4,样本数据,或称训练数据d中可以包括n组样本,其中,每组样本可以由包括样本特征集的x向量、与包括样本真实标签的y向量组成,具体地,第i组样本可以记作(x
i
,y
i
);连接后神经网络中第l层网络层对应的权重可以记录为向量k
l
,因此,连接后神经网络的网络权重可以记为k
l
。如图4所示,在实际应用中,可以通过该连接后神经网络中每一网络层中的各训练节点来执行针对样本数据的前向传递,具体地,可以在确定该训练节点的部分连接信息后,计算该网络层的特征图,并对于建立连接关系的训练
节点,进行网络的前向传递。
146.在一实施例中,可以当将本神经网络训练方法应用在图像检测中,则步骤105可以相应地具体为:通过针对样本数据在连接后神经网络中执行前向传递,得到预测输出结果,其中,所述样本数据为待检测的图像数据。
147.106、基于预测输出结果,更新连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
148.其中,当连接后神经网络通过前向传递,生成了针对样本数据的预测输出结果后,由于该预测输出结果可能与目标输出结果存在较大的距离、即该连接后神经网络所生成的预测输出结果具有较大的误差,因此,需要对该连接后神经网络进行训练,以使得其可以针对样本数据生成更为准确的预测输出结果。而训练可以对连接后神经网络中各训练节点的权重信息进行更新,具体地,可以有多种方式实现,例如,可以通过在前向传递的基础上进行反向传递实现。具体地,步骤“基于预测输出结果,更新连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络”,可以包括:
149.确定样本数据对应的目标输出结果;
150.基于该目标输出结果与预测输出结果,计算针对该样本数据的预测误差;
151.基于该预测误差,通过在连接后神经网络中执行反向传递来更新训练节点的权重信息,以确定出训练后神经网络。
152.其中,样本数据对应的目标输出结果应该与样本数据的样本真实标签对应,具体地,目标输出结果与样本真实标签可以不相同,但应该一致。例如,在利用神经网络进行图像识别、以确定图像中的生物是小猫还是小狗时,对于样本(x,y),x向量可以为输入图像的像素值,y向量可以为该图像的真实标签,如“小猫”,而针对该输入图像的目标输出结果可以为:检测到小猫的概率为0.99,检测到小狗的概率为0.01,那么,虽然目标输出结果与样本真实标签不相同,但是一致的,即都指向了图像内容为小猫的结果。
153.其中,预测误差描述了样本数据的目标输出结果与连接后神经网络生成的预测输出结果之间的差距,换言之,预测误差描述了该连接后神经网络的表现,具体地,若预测误差较大,则说明该连接后神经网络具有较差的表现,若预测误差较小,则说明该连接后神经网络具有较优的表现。
154.预测误差的计算方法可以有多种,例如,可以直接将目标输出结果与预测输出结果之间的差值作为预测误差;又如,可以将目标输出结果与预测输出结果之间的最小绝对值偏差作为预测误差;又如,可以计算目标输出结果与预测输出结果之间的最小平方误差作为预测误差;又如,可以计算目标输出结果与预测输出结果之间的交叉熵损失函数作为预测误差;等等。
155.在一实施例中,参考图4,在实际应用中,可以在连接后神经网络执行完前向传递后,通过反向传递更新该连接后神经网络的网络权重,以实现对该连接后神经网络的一次训练。
156.由于连接后神经网络针对样本数据的预测输出结果可能存在表现欠佳的情况,因此,可以基于预测误差对连接后神经网络进行训练,具体地,可以在前向传递的基础上,通过反向传递来更新连接后神经网络中各训练节点的权重信息来实现。连接后神经网络可以包括样本输入层、预测输出层、以及只杀偶一个中间隐藏层,具体地,步骤“基于该预测误
差,通过在连接后神经网络中执行反向传递来更新训练节点的权重信息”,可以包括:
157.基于该预测误差,确定预测输出层对应的梯度信息;
158.基于该梯度信息,对该预测输出层中训练节点对应的权重信息进行更新;
159.传递该梯度信息到中间隐藏层,以触发对中间隐藏层中训练节点对应的权重信息进行更新。
160.其中,预测输出层的梯度信息可以用于描述预测输出层中,各训练节点对应的权重信息基于预测误差的矫正幅度。例如,可以通过求取预测误差相较于预测输出层中各训练节点对应的权重的梯度,来确定预测输出层对应的梯度信息。
161.由于该梯度信息描述了预测输出层中训练节点对应的权重信息的矫正幅度,因此,可以基于该梯度信息,对预测输出层中各训练节点对应的权重信息进行更新。在实际应用中,可以引入学习率以调节对权重信息的矫正幅度,避免因为“步子大了”而错失权重信息的最优值、或因为“步子小了”而导致训练过于缓慢。
162.进一步地,在对预测输出层中训练节点对应的权重信息进行更新后,可以传递该梯度信息到中间隐藏层,以触发对中间隐藏层中训练节点对应的权重信息进行更新,从而实现了对连接后神经网络的网络权重进行了一次更新。由于在实际应用中,对连接后神经网络的训练可以包括多次更新网络权重的过程,例如,可以根据样本数据执行前向传递,得到预测输出结果后,计算预测误差,并反向传递误差,以调整网络权重,如果连接后神经网络没有达到预期效果,则可以迭代执行上述步骤,直至收敛,训练停止。因此,具体地,步骤“基于该预测误差,通过在连接后神经网络中执行反向传递来更新训练节点的权重信息,以确定出训练后神经网络”,可以包括:
163.基于该预测误差,通过在连接后神经网络中执行反向传递来更新训练节点的权重信息;
164.确定样本数据在连接后神经网络的各训练迭代中对应的训练损失;
165.计算该训练损失的变化梯度;
166.当检测到变化梯度符合预设的梯度阈值时,确定针对连接后神经网络的训练完成,得到训练后神经网络。
167.其中,通过正向传递与反向传递,可以对连接后神经网络中训练节点的权重信息进行更新,值得注意是,在实际应用中,可以通过多次迭代执行更新权重信息所需的步骤,以确定各训练节点对应权重的最优值,从而得到训练后神经网络。
168.其中,各训练迭代所对应的训练损失可以用于描述,在各训练迭代后对连接后神经网络的训练成效。例如,可以将每次迭代训练结束后,连接后神经网络针对样本数据的预测误差作为训练损失。
169.由于针对连接后神经网络的每一次训练都可以更新其网络权重,使得连接后神经网络针对样本数据的预测能力得到改善,因此,每一次网络权重的更新都可以使训练损失减小。在实际应用中,可以通过计算多次训练迭代对应的训练损失的变化梯度,来反映随着训练的进行,连接后神经网络针对样本数据的预测能力的进步速度。进一步地,可以在当检测到该变化梯度符合预设的梯度阈值时,即可确定针对连接后神经网络的训练完成,得到训练后神经网络。
170.在一实施例中,参考图4,在实际应用中,可以通过对连接后神经网络执行多次前
向传递与反向传递来进行训练,并在检测到训练收敛时,确定训练完成、得到训练后神经网络。
171.在一实施例中,可以当将本神经网络训练方法应用在图像检测中,则步骤106可以相应地具体为:基于预测输出结果,更新连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
172.由上可知,本实施例可以获取待确定连接关系的原生神经网络,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;基于节点连接策略信息,从目标网络层的训练节点中确定与当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网络中除所述当前网络层外的至少一个网络层;建立当前训练节点与目标连接节点之间的连接关系,得到连接后神经网络;通过针对样本数据在连接后神经网络中执行前向传递,得到预测输出结果;基于预测输出结果,更新连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
173.该方案可以建立原生神经网络的训练节点之间的部分连接关系得到连接后神经网络,并对该连接后神经网络进行模型训练。在本方案中,对于各训练节点的输出特征既不是完全丢弃、也不是添加复杂的扰动,而是通过保留训练节点间的部分连接,来有效地控制神经网络模型的复杂度和参数量。因此,在对基于本方案得到的连接后神经网络进行训练时,由于改善了神经网络模型的复杂度,使得连接后神经网络在训练时避免出现仅“死记硬背”记下训练数据且无法变通地预测没有“见过”的数据,而是能实现即使对于未知的数据也可以有稳定的预测输出。因此,本方案可以通过显著减少连接后神经网络在训练过程中的测试误差而不增加训练误差,使得神经网络模型训练过程中的过拟合问题能够得到改善,并提高了训练后神经网络模型的泛化能力。
174.进一步地,该方案通过建立原生神经网络的训练节点之间的部分连接关系,能够有针对性地改善神经网络训练过程中出现的过拟合与欠拟合问题。例如,本方案能够改善图9所示的全连接网络的不足,具体地,由于全连接网络的计算复杂度高,使得在全连接网络中,节点与节点间输入信息差异不明显,导致全连接网络的泛化能力不高。而本方案提出的部分连接方式,能够降低神经网络的计算复杂度,进而改善神经网络的泛化能力。
175.再如,本方案能够改善图10所示的随机失活网络的不足,具体地,在随机失活网络中,通过随机地丢弃部分节点,且保留的节点仍然通过全连接的方式与下一网络层中的存活节点建立连接,使得神经网络容易产生欠拟合的问题。而本方案提供的部分连接方式,能够灵活地调整部分连接的数量,从而能够改善神经网络的欠拟合问题。
176.又如,本方案能够改善如图11所示的,基于特征图扰动的神经网络训练方法的不足,具体地,在图11所述的神经网络中,可以通过复杂的计算方式来生成扰动值,以实现对各网络层的输出特征进行扰动。但是,如图12所示,通过研究特征图扰动来对神经网络进行训练的方法,需要计算神经网络中每一层的特征图,进而生成扰动值以及相应的样本标志,随后在得到扰动后的特征图后再进行进一步的训练,因此,该方法在实现上较为复杂,而且需要占用较多的计算资源。而本方案提出的神经网络训练方法,能够以相对更为简单与直观的方式,通过基于部分连接的思想来对神经网络进行有效的训练,也无需占用过多的资源。
177.此外,该方案在确定节点连接策略信息时,将原生神经网络的网络结构参数以及样本数据的样本属性信息均考虑在内,使得决定网络结构的部分连接信息能够随着原生神经网络自身以及业务需求的变化进行灵活地变换。并且,该方案在应用节点连接策略信息以得到连接后神经网络时,还提供了多种可供参考的节点连接方式。这些措施都有利于在神经网络训练时,有效地降低模型的复杂度,进而改善过拟合问题,并提高模型训练的效率。
178.根据上面实施例所描述的方法,以下将举例进一步详细说明。
179.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
180.在本实施例中,将以神经网络训练装置集成在服务器与终端为例进行说明,该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群;该终端可以为手机、平板电脑、笔记本电脑等设备。
181.如图13所示,一种神经网络训练方法,具体流程如下:
182.301、服务器获取待确定连接关系的原生神经网络,其中,该原生神经网络包括至少两个网络层,该网络层包括至少一个训练节点。
183.在一实施例中,原生神经网络的网络层可以包括样本输入层、预测输出层、以及至少一个中间隐藏层。其中,各网络层可以包括至少一个训练节点,并且,各网络层的训练节点之间可以建立连接关系。服务器可以获取待确定连接关系的原生神经网络,并在后续通过样本数据对连接后神经网络进行训练,以得到训练后神经网络。
184.值得注意的是,原生神经网络在确定连接关系后,可作为独立运行的模型,执行针对样本数据的预测,也可以作为一个更大的神经网络里的子模块,并与其他子模块协作执行针对样本数据的预测。例如,参考图14,图中展示了用于执行图像识别的神经网络的网络模型,该网络模型可以用于判断输入的样本图像是属于“鱼”、“船”、“车”或“马”,并且,该网络模型中包括多个卷积层与多个池化层,并且,还包括通过建立训练节点之间的部分连接关系得到的部分连接子模块。
185.302、服务器获取当前网络层中当前训练节点的节点连接策略信息,其中,当前训练节点为当前网络层中的需要确定连接关系的训练节点。
186.其中,可以基于原生神经网络与样本数据来确定当前训练节点的节点连接策略信息,例如,可以基于原生神经网络的网络结构参数、以及样本数据的样本属性信息来确定节点数量信息与节点选择方式,以便可以进一步地基于节点数量信息与节点选择方式确定节点连接策略信息。
187.例如,节点连接策略信息可以为通过随机选择的方式,从目标网络层中选取80%的训练节点作为当前训练节点的目标连接节点。
188.在一实施例中,参考图14,在训练图中所示的神经网络或运行图中所示的神经网络以执行图像检测任务前,服务器可以确定图中的部分连接子模块中的训练节点的节点连接策略信息,以便后续可以基于该节点连接策略信息建立训练节点之间的连接关系。
189.303、服务器基于节点连接策略信息,从目标网络层的训练节点中确定与当前训练
节点对应的目标连接节点,其中,目标网络层为原生神经网络中除当前网络层外的至少一个网络层。
190.由于节点连接策略信息描述了原生神经网络中的训练节点在选择对应的目标连接节点时所遵循的策略规则,因此,训练节点可以基于该节点连接策略信息,确定其对应的目标连接节点,进而与该目标连接节点建立连接关系。
191.例如,若节点连接策略信息为通过随机选择的方式,从目标网络层中选取80%的训练节点作为当前训练节点的目标连接节点,那么,服务器可以基于该节点连接策略信息,在确定原生神经网络的当前训练节点所对应的目标连接节点的时候,可以从该当前训练节点的目标网络层中,随机选取该层中80%的训练节点作为目标连接节点。
192.在一实施例中,参考图14,在训练图中所示的神经网络或运行图中所示的神经网络以执行图像检测任务前,服务器可以基于图中部分连接子模块中的训练节点的节点连接策略信息,确定各训练节点的目标连接节点,以便后续可以基于该连接关系得到连接后的部分连接子模块。
193.304、服务器建立当前训练节点与目标连接节点之间的连接关系,得到连接后神经网络。
194.在实际应用中,建立当前训练节点与目标连接节点之间的连接关系可以通过分配权重来实现,即在原生神经网络中,可以通过分配训练节点之间的权重来将各训练节点连接,以得到连接后神经网络。
195.分配权重的方式可以有多种,例如,可以采用随机函数生成随机值,并将该随机值赋予待分配的权重;又如,可以采用高斯分布来初始化待分配的权重;又如,可以采用均匀分布来初始化待分配的权重;等等。
196.在一实施例中,参考图14,可以建立图中原生神经网络中训练节点与目标连接节点之间的连接关系,具体地,可以通过分配对应的权重实现,以得到连接后神经网络。
197.在一实施例中,参考图14,在训练图中所示的神经网络或运行图中所示的神经网络以执行图像检测任务前,服务器可以建立图中部分连接子模块中的训练节点及其目标连接节点之间的连接关系,例如,可以通过分配相应地权重实现,以得到连接后的部分连接子模块。
198.305、终端向服务器发送样本数据。
199.样本数据可以为用于对连接后神经网络进行训练所用到的数据,例如,当希望使用训练后的神经网络执行监督学习任务时,样本数据中除了包括样本特征集以外,还可以包括样本的样本真实标签;又如,当希望使用训练后的神经网络执行无监督学习任务时,可以使用仅包括样本特征集的样本数据;等等。
200.在一实施例中,参考图14,服务器中运行有图中所示用于执行图像检测任务的神经网络,相应地,终端可以向该服务器发送待检测的图像样本数据。
201.306、服务器通过针对终端发送的样本数据在连接后神经网络中执行前向传递,得到预测输出结果。
202.连接后神经网络可以包括样本输入层、预测输出层、以及至少一个中间隐藏层。服务器可以通过前向传递,将样本数据的信息在连接后神经网络里逐层传递、从样本输入层经由中间隐藏层传递至预测输出层,从而得到连接后神经网络针对该样本数据的预测输出
结果。
203.在一实施例中,参考图14,服务器可以针对终端发送的图像样本数据,在图中所示的包括部分连接子模块的神经网络中执行前向传递,得到预测输出结果。
204.307、服务器基于预测输出结果,更新连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
205.服务器可以基于连接后神经网络针对样本数据的预测输出结果来判断该连接后神经网络的表现,进一步地,可以基于预测输出结果与目标输出结果之间的差距,通过反向传递来更新各训练节点对应的权重信息,以完成对该连接后神经网络的一次迭代训练。
206.在一实施例中,参考图14,服务器可以基于预测输出结果,更新图中所示的包括部分连接子模块的神经网络中各训练节点的权重信息,以确定出训练后神经网络。图14所示的训练后神经网络,可以准确地对输入的样本图像进行判断,具体地,其判断样本图像属于“鱼”的概率为0.04、属于“船”的概率为0.94、属于“车”的概率为0.01、属于“鸟”概率为0.01,因此,可以判断该样本图像是属于“船”。在实际应用中,仅一次迭代训练不足以完成对神经网络的训练,因此,服务器可以确定连接后神经网络在各训练迭代中的训练损失,并基于该训练损失判断训练是否收敛,从而得以确定针对连接后神经网络的训练是否完成。
207.由上可知,本申请实施例可以建立原生神经网络的训练节点之间的部分连接关系得到连接后神经网络,并对该连接后神经网络进行模型训练。在本方案中,对于各训练节点的输出特征既不是完全丢弃、也不是添加复杂的扰动,而是通过保留训练节点间的部分连接,来有效地控制神经网络模型的复杂度和参数量。因此,在对基于本方案得到的连接后神经网络进行训练时,由于改善了神经网络模型的复杂度,使得连接后神经网络在训练时避免出现仅“死记硬背”记下训练数据且无法变通地预测没有“见过”的数据,而是能实现即使对于未知的数据也可以有稳定的预测输出。因此,本方案可以通过显著减少连接后神经网络在训练过程中的测试误差而不增加训练误差,使得神经网络模型训练过程中的过拟合问题能够得到改善,并提高了训练后神经网络模型的泛化能力。
208.而且,还能将通过部分连接得到的神经网络作为更大的神经网络里的子模块,从而增加了神经网络的多样性以及组合能力,使得可以通过部分连接的方式,有针对性地对神经网络中的子模块进行改善,进而改善了整体上神经网络的表现。
209.为了更好地实施以上方法,相应的,本申请实施例还提供一种神经网络训练装置,其中,该神经网络训练装置可以集成在服务器或终端中。该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群;该终端可以为手机、平板电脑、笔记本电脑等设备。
210.例如,如图15所示,该神经网络训练装置可以包括第一获取单元401,第二获取单元402,节点确定单元403,连接建立单元404,前向传递单元405以及权重更新单元406,如下:
211.第一获取单元401,用于获取待确定连接关系的原生神经网络,其中,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;
212.第二获取单元402,用于获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;
213.节点确定单元403,用于基于所述节点连接策略信息,从目标网络层的训练节点中确定与所述当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网
络中除所述当前网络层外的至少一个网络层;
214.连接建立单元404,用于建立所述当前训练节点与所述目标连接节点之间的连接关系,得到连接后神经网络;
215.前向传递单元405,用于通过针对样本数据在所述连接后神经网络中执行前向传递,得到预测输出结果;
216.权重更新单元406,用于基于所述预测输出结果,更新所述连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
217.在一实施例中,参考图16,所述节点确定单元403,包括:
218.解析子单元4031,用于对所述节点连接策略信息进行解析,得到所述目标连接节点对应的节点数量信息与节点选择方式;
219.选择子单元4032,用于基于所述节点选择方式,从所述目标网络层的训练节点中选择与所述节点数量信息相符的目标连接节点。
220.在一实施例中,所述选择子单元4032,用于:
221.获取所述训练节点的节点连接属性;根据所述节点数量信息,确定所述目标连接节点的节点数量;基于所述节点连接属性,按照所述节点选择方式从所述训练节点中选择所述节点数量的目标连接节点。
222.在一实施例中,参考图17,所述第二获取单元402,包括:
223.参数确定子单元4021,用于确定所述原生神经网络的网络结构参数;
224.信息获取子单元4022,用于获取所述原生神经网络的样本数据的样本属性信息;
225.信息确定子单元4023,用于基于所述网络结构参数与所述样本属性信息,确定所述节点连接策略信息。
226.在一实施例中,所述样本属性信息包括所述样本数据对应的场景标签信息与数据结构信息;所述信息确定子单元4023,用于:
227.基于所述网络结构参数与所述场景标签信息,确定所述节点连接策略信息的节点数量信息;根据所述数据结构信息,匹配所述节点连接策略信息的节点选择方式;基于所述节点数量信息与所述节点选择方式,确定所述节点连接策略信息。
228.在一实施例中,所述连接后神经网络包括样本输入层、预测输出层、以及至少一个中间隐藏层;参考图18,所述前向传递单元405,包括:
229.输入子单元4051,用于将所述样本数据输入所述样本输入层,得到针对所述样本数据的特征映射信息;
230.传递子单元4052,用于传递所述特征映射信息到所述中间隐藏层,以触发生成所述预测输出层需要的结果预测矩阵;
231.第一确定子单元4053,用于基于所述预测输出层与所述结果预测矩阵,确定所述预测输出结果。
232.在一实施例中,参考图19,所述权重更新单元406,包括:
233.第二确定子单元4061,用于确定所述样本数据对应的目标输出结果;
234.误差计算子单元4062,用于基于所述目标输出结果与所述预测输出结果,计算针对所述样本数据的预测误差;
235.反向传递子单元4063,用于基于所述预测误差,通过在所述连接后神经网络中执
行反向传递来更新所述训练节点的权重信息,以确定出训练后神经网络。
236.在一实施例中,所述连接后神经网络包括样本输入层、预测输出层、以及至少一个中间隐藏层;所述反向传递子单元4063,用于:
237.基于所述预测误差,确定所述预测输出层对应的梯度信息;基于所述梯度信息,对所述预测输出层中训练节点对应的权重信息进行更新;传递所述梯度信息到所述中间隐藏层,以触发对所述中间隐藏层中训练节点对应的权重信息进行更新。
238.在一实施例中,所述反向传递子单元4063,用于:
239.基于所述预测误差,通过在所述连接后神经网络中执行反向传递来更新所述训练节点的权重信息;确定所述样本数据在所述连接后神经网络的各训练迭代中对应的训练损失;计算所述训练损失的变化梯度;当检测到所述变化梯度符合预设的梯度阈值时,确定针对所述连接后神经网络的训练完成,得到训练后神经网络。
240.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
241.由上可知,本实施例的神经网络训练装置中第一获取单元401获取待确定连接关系的原生神经网络,其中,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;由第二获取单元402获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;由节点确定单元403基于所述节点连接策略信息,从目标网络层的训练节点中确定与所述当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网络中除所述当前网络层外的至少一个网络层;由连接建立单元404建立所述当前训练节点与所述目标连接节点之间的连接关系,得到连接后神经网络;由前向传递单元405通过针对样本数据在所述连接后神经网络中执行前向传递,得到预测输出结果;由权重更新单元406基于所述预测输出结果,更新所述连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
242.该方案可以建立原生神经网络的训练节点之间的部分连接关系得到连接后神经网络,并对该连接后神经网络进行模型训练。在本方案中,对于各训练节点的输出特征既不是完全丢弃、也不是添加复杂的扰动,而是通过保留训练节点间的部分连接,来有效地控制神经网络模型的复杂度和参数量。因此,在对基于本方案得到的连接后神经网络进行训练时,由于改善了神经网络模型的复杂度,使得连接后神经网络在训练时避免出现仅“死记硬背”记下训练数据且无法变通地预测没有“见过”的数据,而是能实现即使对于未知的数据也可以有稳定的预测输出。因此,本方案可以通过显著减少连接后神经网络在训练过程中的测试误差而不增加训练误差,使得神经网络模型训练过程中的过拟合问题能够得到改善,并提高了训练后神经网络模型的泛化能力。
243.此外,本申请实施例还提供一种计算机设备,该计算机设备可以为服务器或终端等设备,如图20所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
244.该计算机设备可以包括有一个或一个以上计算机可读存储介质的存储器501、输入单元502、显示单元503、包括有一个或者一个以上处理核心的处理器504、以及电源505等部件。本领域技术人员可以理解,图20中示出的计算机设备结构并不构成对计算机设备的
限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
245.存储器501可用于存储软件程序以及模块,处理器504通过运行存储在存储器501的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器501还可以包括存储器控制器,以提供处理器504和输入单元502对存储器501的访问。
246.输入单元502可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元502可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器504,并能接收处理器504发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元502还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
247.显示单元503可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元503可包括显示面板,可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light-emitting diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器504以确定触摸事件的类型,随后处理器504根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在一些实施例中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
248.处理器504是计算机设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器501内的软件程序和/或模块,以及调用存储在存储器501内的数据,执行计算机设备的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器504可包括一个或多个处理核心;优选的,处理器504可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器504中。
249.计算机设备还包括给各个部件供电的电源505(比如电池),优选的,电源可以通过电源管理系统与处理器504逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源505还可以包括一个或一个以上的直流或交流电源、再充电系统、电源
故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
250.尽管未示出,计算机设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备中的处理器504会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器501中,并由处理器504来运行存储在存储器501中的应用程序,从而实现各种功能,如下:
251.获取待确定连接关系的原生神经网络,其中,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;获取当前网络层中当前训练节点的节点连接策略信息;基于所述节点连接策略信息,从目标网络层的训练节点中确定与所述当前训练节点对应的目标连接节点;建立所述当前训练节点与所述目标连接节点之间的连接关系,得到连接后神经网络;通过针对样本数据在所述连接后神经网络中执行前向传递,得到预测输出结果;基于所述预测输出结果,更新所述连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
252.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
253.由上可知,本实施例的计算机设备可以建立原生神经网络的训练节点之间的部分连接关系得到连接后神经网络,并对该连接后神经网络进行模型训练。在本方案中,对于各训练节点的输出特征既不是完全丢弃、也不是添加复杂的扰动,而是通过保留训练节点间的部分连接,来有效地控制神经网络模型的复杂度和参数量。因此,在对基于本方案得到的连接后神经网络进行训练时,由于改善了神经网络模型的复杂度,使得连接后神经网络在训练时避免出现仅“死记硬背”记下训练数据且无法变通地预测没有“见过”的数据,而是能实现即使对于未知的数据也可以有稳定的预测输出。因此,本方案可以通过显著减少连接后神经网络在训练过程中的测试误差而不增加训练误差,使得神经网络模型训练过程中的过拟合问题能够得到改善,并提高了训练后神经网络模型的泛化能力。
254.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
255.为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种神经网络训练方法中的步骤。例如,该指令可以执行如下步骤:
256.获取待确定连接关系的原生神经网络,其中,所述原生神经网络包括至少两个网络层,所述网络层包括至少一个训练节点;获取当前网络层中当前训练节点的节点连接策略信息,其中,所述当前训练节点为所述当前网络层中的需要确定连接关系的训练节点;基于所述节点连接策略信息,从目标网络层的训练节点中确定与所述当前训练节点对应的目标连接节点,其中,所述目标网络层为所述原生神经网络中除所述当前网络层外的至少一个网络层;建立所述当前训练节点与所述目标连接节点之间的连接关系,得到连接后神经网络;通过针对样本数据在所述连接后神经网络中执行前向传递,得到预测输出结果;基于所述预测输出结果,更新所述连接后神经网络中各训练节点的权重信息,以确定出训练后神经网络。
257.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
258.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆
体(ram,random access memory)、磁盘或光盘等。
259.由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种神经网络训练方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据网络训练方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
260.以上对本申请实施例所提供的一种神经网络训练方法、装置和系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1