一种模型训练方法及相关装置与流程

文档序号:30596464发布日期:2022-07-01 20:46阅读:73来源:国知局
一种模型训练方法及相关装置与流程

1.本技术涉及人工智能技术领域,尤其涉及一种模型训练方法及相关装置。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
3.稀疏时序数据是一组按照时间先后顺序进行排列的非稠密数据序列。常见的稀疏时序数据例如包括人体骨骼关键点数据、心电图数据和惯性测量单元(imu)数据。通过对稀疏时序数据进行分类识别,可以得到有用的信息。例如,基于人体骨骼关键点数据,可以识别得到人体的姿态动作;基于心电图数据,可以诊断得到人体的身体状况;基于可穿戴设备上的imu数据,可以识别得到人体的运动状态。
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.图1为本技术实施例提供的人工智能主体框架的一种结构示意图;
44.图2a为本技术实施例提供的一种数据处理系统;
45.图2b为本技术实施例提供的另一种数据处理系统;
46.图2c为本技术实施例提供的数据处理的相关设备的示意图;
47.图3a为本技术实施例提供的一种系统100架构的示意图;
48.图3b为本技术实施例提供的一种应用场景的示意图;
49.图3c为本技术实施例提供的一种时序数据的具体应用示意图;
50.图4为本技术实施例提供的一种模型训练方法的流程示意图;
51.图5为本技术实施例提供的一种降噪分类网络的结构示意图;
52.图6为本技术实施例提供的局部-全局特征关联模块和混合分类器的结构示意图;
53.图7为本技术实施例提供的一种对降噪分类网络进行训练的流程示意图;
54.图8为本技术实施例提供的一种生成噪声数据的示意图;
55.图9a为本技术实施例提供的一种构造局部-全局特征关联损失的流程示意图;
56.图9b为本技术实施例提供的一种构造局部-全局特征关联损失和混合分类损失的流程示意图;
57.图10为本技术实施例提供的现有方案与本技术方案的对比示意图;
58.图11为本技术实施例提供的一种模型训练装置的结构示意图;
59.图12为本技术实施例提供的一种降噪分类装置的结构示意图;
60.图13为本技术实施例提供的执行设备的一种结构示意图;
61.图14为本技术实施例提供的训练设备的一种结构示意图;
62.图15为本技术实施例提供的芯片的一种结构示意图。
具体实施方式
63.下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
64.下面结合附图,对本技术的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
65.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分
方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
66.首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“it价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“it价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
67.(1)基础设施
68.基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(cpu、npu、gpu、asic、fpga等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
69.(2)数据
70.基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
71.(3)数据处理
72.数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
73.其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
74.推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
75.决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
76.(4)通用能力
77.对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
78.(5)智能产品及行业应用
79.智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、平安城市等。
80.接下来介绍几种本技术的应用场景。
81.图2a为本技术实施例提供的一种数据处理系统,该数据处理系统包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户
设备为数据处理的发起端,作为数据降噪分类请求的发起方,通常由用户通过用户设备发起请求。
82.上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自智能终端的数据降噪分类请求,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的数据处理。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在数据处理设备上,也可以在其它网络服务器上。
83.在图2a所示的数据处理系统中,用户设备可以接收用户的指令,例如用户设备可以获取用户输入/选择的一组数据,然后向数据处理设备发起请求,使得数据处理设备针对用户设备得到的该数据执行数据降噪分类应用,从而得到针对该数据的对应的处理结果。示在图2a中,数据处理设备可以执行本技术实施例的模型训练方法。
84.图2b为本技术实施例提供的另一种数据处理系统,在图2b中,用户设备直接作为数据处理设备,该用户设备能够直接获取来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图2a相似,可参考上面的描述,在此不再赘述。
85.在图2b所示的数据处理系统中,用户设备可以接收用户的指令,例如用户设备可以获取用户在用户设备中所选择的一张数据,然后再由用户设备自身针对该数据执行数据处理应用,从而得到针对该数据的对应的处理结果。
86.在图2b中,用户设备自身就可以执行本技术实施例的模型训练方法。
87.图2c是本技术实施例提供的数据处理的相关设备的示意图。
88.上述图2a和图2b中的用户设备具体可以是图2c中的本地设备301或者本地设备302,图2a中的数据处理设备具体可以是图2c中的执行设备210,其中,数据存储系统250可以存储执行设备210的待处理数据,数据存储系统250可以集成在执行设备210上,也可以设置在云上或其它网络服务器上。
89.图2a和图2b中的处理器可以通过神经网络模型或者其它模型(例如,基于支持向量机的模型)进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型针对数据执行数据处理应用,从而得到相应的处理结果。
90.图3a是本技术实施例提供的一种系统100架构的示意图,在图3a中,执行设备110配置输入/输出(input/output,i/o)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向i/o接口112输入数据,所述输入数据在本技术实施例中可以包括:各个待调度任务、可调用资源以及其他参数。
91.在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理(比如进行本技术中神经网络的功能实现)过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
92.最后,i/o接口112将处理结果返回给客户设备140,从而提供给用户。
93.值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则,该相应的目标模型/规则即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。其中,训练数据可以存储在数据库130中,且来自
于数据采集设备160采集的训练样本。
94.在图3a中所示情况下,用户可以手动给定输入数据,该手动给定可以通过i/o接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向i/o接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由i/o接口112直接将如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果,作为新的样本数据存入数据库130。
95.值得注意的是,图3a仅是本技术实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3a中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。如图3a所示,可以根据训练设备120训练得到神经网络。
96.本技术实施例还提供的一种芯片,该芯片包括神经网络处理器npu。该芯片可以被设置在如图3a所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图3a所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则。
97.神经网络处理器npu,npu作为协处理器挂载到主中央处理器(central processing unit,cpu)(host cpu)上,由主cpu分配任务。npu的核心部分为运算电路,控制器控制运算电路提取存储器(权重存储器或输入存储器)中的数据并进行运算。
98.在一些实现中,运算电路内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路是二维脉动阵列。运算电路还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路是通用的矩阵处理器。
99.举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)中。
100.向量计算单元可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元可以用于神经网络中非卷积/非fc层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
101.在一些实现中,向量计算单元能将经处理的输出的向量存储到统一缓存器。例如,向量计算单元可以将非线性函数应用到运算电路的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路的激活输入,例如用于在神经网络中的后续层中的使用。
102.统一存储器用于存放输入数据以及输出数据。
103.权重数据直接通过存储单元访问控制器(direct memory access controller,
dmac)将外部存储器中的输入数据搬运到输入存储器和/或统一存储器、将外部存储器中的权重数据存入权重存储器,以及将统一存储器中的数据存入外部存储器。
104.总线接口单元(bus interface unit,biu),用于通过总线实现主cpu、dmac和取指存储器之间进行交互。
105.与控制器连接的取指存储器(instruction fetch buffer),用于存储控制器使用的指令;
106.控制器,用于调用指存储器中缓存的指令,实现控制该运算加速器的工作过程。
107.一般地,统一存储器,输入存储器,权重存储器以及取指存储器均为片上(on-chip)存储器,外部存储器为该npu外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr sdram)、高带宽存储器(high bandwidth memory,hbm)或其他可读可写的存储器。
108.由于本技术实施例涉及大量神经网络的应用,为了便于理解,下面先对本技术实施例涉及的相关术语及神经网络等相关概念进行介绍。
109.(1)神经网络
110.神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
[0111][0112]
其中,s=1、2、
……
n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
[0113]
神经网络中的每一层的工作可以用数学表达式来描述:从物理层面神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,w是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量w决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重w控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
[0114]
因为希望神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先
配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
[0115]
(2)反向传播算法
[0116]
神经网络可以采用误差反向传播(back propagation,bp)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
[0117]
下面从神经网络的训练侧和神经网络的应用侧对本技术提供的方法进行描述。
[0118]
本技术实施例提供的神经网络的训练方法,涉及数据的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本技术中的样本对)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的降噪分类模型;并且,本技术实施例提供的数据降噪分类方法可以运用上述训练好的降噪模型,将输入数据(如本技术中的待处理数据)输入到所述训练好的降噪分类模型中,得到输出数据。需要说明的是,本技术实施例提供的模型训练方法和数据降噪分类方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
[0119]
在日常生活中,稀疏时序数据无处不在。稀疏时序数据是一组按照时间先后顺序进行排列的非稠密数据序列。其中,稀疏时序数据中的稀疏与稠密相对,常见的稠密的数据例如为图像,常见的稀疏时序数据则例如包括体感游戏中多帧输入的人体骨骼点坐标数据,人体心电图数据和imu获取的姿态数据等。在实际应用中,通过对稀疏时序数据进行分类识别,可以得到大量有用的信息。
[0120]
例如,人体骨骼点坐标数据在体感交互领域有着非常广泛的应用。在体感游戏场景中,通常是通过采用体感交互设备获取人体骨骼点坐标数据并识别手部骨骼点来实现双手的虚拟交互。
[0121]
又例如,人体心电图数据是医生进行心血管疾病诊断的重要依据之一,随着人工智能技术的普及,应用基于大数据的深度学习实现自动化分析诊断可以突破传统统计模型的准确性和应用范围的局限。基于对心电图数据进行分类识别的自动化分析诊断技术可以更加深入地解读患者海量数据以及实现患者的精准分类。
[0122]
再例如,imu在只能手机、平板电脑等智能终端以及虚拟现实头盔等可穿戴设备上已经非常普及。imu采集到的imu数据可以作为人体动作状态识别的重要依据,例如基于智能手环或智能手表上的陀螺仪所采集的imu数据,可以实现佩戴者运动状态的识别。
[0123]
上述所提及的各类应用场景均建立在能够对时序数据执行分类识别的基础之上,而真实环境中的稀疏时序数据会受到各种噪声干扰,进而导致稀疏时序数据的分类精度出现明显下降。例如,对于人体骨骼点坐标数据,由于身体被遮挡导致人体部分骨骼关键点坐
标抖动或者缺失,从而出现动作类别预测错误。对于心电图数据,无论是医院、救护车、飞机、轮船、诊所还是家里,干扰源无处不在。对于imu数据,imu常见的系统误差包括有imu开机后恒定的零偏误差,比例因子误差,不重合及非正交误差,非线性误差和温度误差等误差,这些误差都会不同程度地影响后续的分类识别任务。因此,时序数据降噪在各类应用场景中是一个不容忽视的问题。
[0124]
以人体骨骼点坐标数据为例,基于骨骼点的动作识别方法是以人体骨骼点坐标为直接输入,由于其数据量小,输入数据的语义特征明显,对复杂环境的高鲁棒性等特点,使其在人机交互,智能监控,服务机器人等领域有着广泛的应用。类似于图像处理领域的噪声,用户场景下的骨骼点坐标数据通常会由于遮挡或光照等问题,而出现骨骼关键点缺失或抖动等噪声问题。然而,现有的人体动作识别方法要求输入信息是完整、无缺失的,因此在将上述具有噪声问题的骨骼点坐标数据作为输入时,容易出现人体动作识别错误的现象。
[0125]
基于此,相关技术中通常是对稀疏时序数据进行降噪后,再基于原有的分类方法对降噪后的稀疏时序数据进行分类识别。为了实现上述稀疏时序数据的降噪,现有的数据降噪方法通常是通过训练特定的降噪网络来实现稀疏时序数据的降噪。例如,在输入为人体骨骼点坐标数据时,在降噪网络的训练阶段使用保持视觉合理性的平滑损失来引导网络参数的更新,最终得到用于实现数据降噪的网络。一般来说,相关技术中的降噪网络通常是基于数据无位姿歧义、时序平滑和/或保持视觉合理性等方式为目标来实现降噪网络的训练。而对于一个端到端的降噪分类任务来说,其最终的目标是数据的分类精度,因此相关技术中的降噪网络优化目标和最终的分类精度目标之间存着间隙,导致相关技术中对降噪后的稀疏时序数据的分类识别精度较低,难以保证稀疏时序数据的正常识别。
[0126]
有鉴于此,本技术实施例提供了一种模型训练方法及相关装置,在训练降噪分类网络的过程中,基于无噪声数据在降噪分类网络的降噪网络的输出以及噪声数据在该降噪网络的中间层的输出求取第一损失函数,基于无噪声数据和噪声数据在整个降噪分类网络的输出求取第二损失函数,并基于第一损失函数和第二损失函数对降噪分类网络进行训练,以得到目标网络。通过对降噪分类网络进行训练,并基于无噪声数据以及噪声数据在降噪网络的输出以及降噪分类网络的输出来求取损失函数,能够保证降噪目标和分类精度目标一致,并使得网络在降噪阶段能够学习到更完备的全局特征,增强了网络抑制局部噪声和扰动的能力,提高了网络对稀疏时序数据进行分类识别的精度。
[0127]
本技术实施例所提供的模型训练方法可以应用于终端上,该终端为能够执行模型训练的设备。在基于本技术实施例所提供的模型训练方法训练得到目标网络后,终端可以基于该目标网络对获取到的时序数据进行降噪分类。示例性地,该终端例如可以智能电视机、是个人电脑(personal computer,pc)、笔记本电脑、服务器、手机(mobile phone)、平板电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备、虚拟现实(virtua l reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制(industrial co ntrol)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medicalsurgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportatio n safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。该终端可以是运行安卓系统、ios系统、windows系统以及
其他系统的设备。
[0128]
为了便于理解,以下将结合附图对本技术实施例所提供的一个具体的应用场景进行介绍。可以参阅图3b,图3b为本技术实施例提供的一种应用场景的示意图。如图3b所示,一个可能的应用场景为:智能电视机基于人体位姿、头部位姿、眼睛凝视方向、脸部表情、手势动作或语音等时序数据,对用户的意图进行分类识别,并基于分类识别得到的用户的意图,执行相应的操作,从而完成与用户的交互。
[0129]
可以参阅图3c,图3c为本技术实施例提供的一种时序数据的具体应用示意图。具体来说,在智能电视机上可以安装有摄像头、麦克风等数据采集装置。通过摄像头以及麦克风等数据采集装置,智能电视机能够获取位于智能电视机周围的用户的相关数据。例如,智能电视机通过摄像头获取描述用户手势意图的手部关键点数据、描述用户身体动作意图的人体位姿数据、描述用户凝视方向意图的头部姿态数据和/或描述用户表情意图的脸部关键点数据等时序数据。又例如,智能电视机通过麦克风获取描述用户语音意图的音频数据。此外,智能电视机上还可以设置有通信装置,能够接收外部的数据采集装置所发送的数据。例如,智能电视机上设置有蓝牙模块,能够接收外部的智能手表或智能手环所发送的惯性测量单元数据。基于获取到的用于描述用户意图的时序数据,智能电视机能够通过内置的分类模型,对用户意图进行分类识别,得到用户意图的分类预测结果,从而完成相应的交互响应操作。
[0130]
可以理解的是,在实际应用中,智能电视机所获取到的时序数据可以是前述的一种或多种类型的数据,智能电视机能够基于所获取到的一种或多种类型的数据,通过分类模型,对用户意图进行分类识别。简单来说,对于智能电视机中所预置的分类模型来说,分类模型的输入数据可以是一种或多种类型的数据。例如,分类模型的输入数据为上述描述用户凝视方向意图的头部姿态数据以及描述用户手势意图的手部关键点数据这两种数据;又例如,分类模型的输入数据为描述用户语音意图的音频数据这一种数据。在输入数据为多种类型的数据时,分类模型能够基于多种类型的数据的组合,对用户意图进行分类识别,得到用户意图的分类预测结果。
[0131]
示例性地,在输入数据为描述用户凝视方向意图的头部姿态数据以及描述用户手势意图的手部关键点数据的情况下,当头部姿态数据具体表示为用户凝视方向为智能电视机所在方向且手部关键点数据具体表示为向右挥手时,则分类模型能够预测得到用户意图为切换电视频道。
[0132]
可以参阅图4,图4为本技术实施例提供的一种模型训练方法的流程示意图。如图4所示,该模型训练方法包括以下的步骤401-406。
[0133]
步骤401,获取样本对,该样本对包括噪声数据和噪声数据对应的无噪声数据。
[0134]
本实施例中,终端可以获取到包括多个样本对的样本集合,该样本集合中的每个样本对都包括有一对噪声数据和无噪声数据。其中,样本对中的无噪声数据与噪声数据是对应的,即样本对中的噪声数据去掉噪声后即为该噪声数据对应的无噪声数据,或者说,样本对中的无噪声数据添加噪声后即得到该无噪声数据对应的噪声数据。可选的,该样本对中的噪声数据可以为稀疏时序数据,例如该噪声数据为骨骼点坐标数据、心电图数据、惯性测量单元数据或故障诊断数据。其中,故障诊断数据例如可以为设备运行数据或者电网运行数据,比如电网运行过程中实时产生的电压、电流、频率或波形等数据。
[0135]
示例性地,该样本对中的噪声数据可以是一种或多种类型的数据,例如噪声数据仅为惯性测量单元数据,或者噪声数据为头部姿态数据以及手部关键点数据。为了便于描述,以下将以样本对中的噪声数据为一种类型的数据为例,对本技术实施例的模型训练方法进行介绍。
[0136]
在实际应用中,终端可以是在获取到无噪声数据之后,在无噪声数据上添加随机的噪声,以得到对应的噪声数据,从而构造得到样本对。在训练过程中,终端可以逐次从样本集合中获取样本对,以实现对降噪分类网络的训练。
[0137]
在一个可能的示例中,本实施例中用于执行模型训练方法的终端例如可以为服务器,通过服务器执行图4对应的模型训练方法,得到训练好的模型。然后,训练好的模型可以在智能电视机出厂前部署于智能电视机中;或者,在智能电视机出厂后,智能电视机能够通过网络连接服务器,并且通过下载或更新的方式获得服务器上的训练好的模型,从而实现在智能电视机上部署训练好的模型。
[0138]
步骤402,将无噪声数据输入降噪分类网络,得到第一输出数据和第二输出数据。
[0139]
本实施例中,降噪分类网络包括降噪网络和分类网络,该降噪网络与该分类网络连接,且该降噪网络的输入即为降噪分类网络的输入,该降噪网络的输出为分类网络的输入。该降噪网络用于对输入降噪分类网络的数据进行降噪处理,得到降噪后的数据。在将无噪声数据输入降噪分类网络之后,可以得到第一输出数据和第二输出数据。其中,该第一输出数据为降噪网络的输出,该第二输出数据为分类网络的输出,即第二输出数据为分类网络所输出的、无噪声数据对应的分类结果。
[0140]
可选的,该降噪网络可以为自编码器,该自编码器包括编码器和解码器。其中,自编码器也称为自动编码器,是一种人工神经网络,能够通过无监督学习,学到输入数据的高效表示。在实际应用中,通过对自编码器增加约束条件,可以使得自编码器能够对噪声数据实现降噪处理。在自编码器中,编码器用于对输入数据进行压缩编码,解码器则用于对编码器输出的数据进行数据重构。通过由自编码器中的编码器对输入数据进行压缩编码,得到输入数据的关键信息,然后由自编码器中的解码器对压缩后的数据进行数据重构,以基于输入数据的关键信息实现输入数据的还原,并且还原后的数据实现了噪声的消除,即基于自编码器能够实现数据的降噪处理。示例性地,编码器和解码器可以是包括有多层卷积层的循环神经网络(recurrent neural network,rnn)。
[0141]
其中,上述的第一输出数据可以是将无噪声数据输入降噪分类网络之后,由降噪网络中的编码器对无噪声数据进行处理后所得到的输出数据。一般地,由降噪网络中的编码器处理得到的数据也称为内容向量。内容向量是指自编码器中编码器的输出,一般为一组高纬度特征向量。
[0142]
该分类网络用于获取经过降噪网络处理后的数据,并输出输入分类网络的数据所对应的一组概率值向量,向量中的每个元素值为则为输入数据对应类别的概率大小。一般地,概率最高的类别即为输入数据所属的类别。也就是说,分类网络用于对获取到的数据进行分类,得到数据对应的类别。示例性地,在输入降噪分类网络的数据为智能手环所采集的imu数据时,该分类网络用于在步行、跑步、骑行以及爬阶梯这四个类别中对imu数据进行分类。例如,在该分类网络输出的概率标签为{0.1,0.7,0.15,0.05}时,可以确定概率为0.7的类别(即跑步)为imu数据所属的类别。
[0143]
其中,上述的第二输出数据可以是将无噪声数据输入降噪分类网络之后,经过降噪网络和分类网络处理之后,由分类网络所输出的数据。
[0144]
步骤403,将噪声数据输入降噪分类网络,得到第三输出数据和第四输出数据,第三输出数据是基于降噪网络的中间层得到的,第四输出数据为分类网络的输出。
[0145]
本实施例中,在将与上述无噪声数据对应的噪声数据输入降噪分类网络之后,终端可以获取降噪分类网络中的降噪网络的中间层所提取得到的第三输出数据,该第三输出数据为降噪网络的中间层所提取得到的特征数据。此外,终端还可以获取降噪分类网络中的分类网络输出的第四输出数据,该第四输出数据即为该分类网络所输出的、噪声数据对应的分类结果。
[0146]
可选的,该第三输出数据可以是基于降噪网络中的编码器的中间层得到的。示例性地,该编码器中可以包括一个或多个中间层,终端可以获取编码器中的每个中间层所输出的特征数据,并将这些特征数据作为第三输出数据。例如,该编码器为一个包括三层卷积层的循环神经网络(recurrent neural network,rnn),则该编码器的中间层则为该编码器中的后面两层卷积层,这两层卷积层所输出的数据则为第三输出数据。
[0147]
可以理解的是,步骤402和步骤403并无执行顺序上的限定,在实际应用中可以先执行步骤402,也可以是先执行步骤403。本实施例不对步骤402和步骤403的执行顺序做具体限定。
[0148]
步骤404,根据第一输出数据和第三输出数据确定第一损失函数,该第一损失函数用于表示第一输出数据与第三输出数据之间的差异。
[0149]
由于第一输出数据和第三输出数据都是基于降噪网络得到的,因此在得到第一输出数据和第三输出数据之后,可以基于第一输出数据和第三输出数据确定第一损失函数,以表征第一输出数据和第三输出数据之间的差异。这样,通过求取无噪声数据以及噪声数据分别在降噪网络的输出之间的第一损失函数,并基于该第一损失函数对降噪分类网络进行训练,能够使得降噪分类网络在降噪处理阶段学到更接近无噪声数据的全局特征,从而增强降噪网络抑制局部噪声和扰动的能力。
[0150]
可选的,在第三输出数据是基于降噪网络中的编码器的中间层得到的情况下,第三输出数据包括编码器的一个或多个中间层所输出的数据。在这种情况下,可以求取每个中间层所输出的数据与第一输出数据之间的差异值,并且通过求取多个中间层所输出的数据与第一输出数据之间的差异值之和,得到第一损失函数。
[0151]
可选的,在一个可能的实施例中,在步骤403中,终端在将噪声数据输入降噪分类网络,并得到降噪网络的中间层输出的特征数据之后,终端可以将得到的特征数据划分为多个子特征数据,得到第三输出数据,该第三输出数据则包括多个子特征数据。
[0152]
示例性地,在噪声数据为稀疏时序数据的情况下,终端可以按照时间顺序将特征数据均匀地划分为多个子特征数据,得到第三输出数据,多个子特征数据中的每个子特征数据对应的时间段的长度相同。例如,在降噪网络的中间层输出的特征数据为t0-t3时间段的数据时,终端可以将该特征数据按照时间顺序划分得到t0-t1时间段的第一子特征数据、t1-t2时间段的第二子特征数据、t2-t3时间段的第三子特征数据,其中,第一子特征数据、第二子特征数据和第三子特征数据对应的时间段的长度相同。
[0153]
那么,在划分得到多个子特征数据之后,终端求取第三输出数据中每个子特征数
据与第一输出数据之间的差异值,并且基于多个子特征数据与第一输出数据之间的差异值之和,确定第一损失函数。这样,通过提取降噪网络中不同的中间层所输出的噪声数据对应的特征数据,并均匀划分得到时序局部特征,以及基于降噪网络所输出的无噪声数据对应的特征数据构造时序全局特征,并基于时序局部特征和时序全局特征构造损失函数,能够引导降噪网络更充分地学习全局时序特征,从而增强降噪网络抑制局部噪声和扰动的能力。
[0154]
对于时序数据来说,时序数据是连贯的,且相邻的时序数据具有一定的关联性,基于噪声数据对应的局部时序特征与无噪声数据对应的全局时序特征来构造损失函数,能够指导降噪网络学习到更为丰富的全局时序信息,从而增强降噪网络抑制局部噪声和扰动的能力。例如,在噪声数据为缺失了一小段时间内的数据的时序数据时,基于上述方式来构造损失函数并训练降噪网络,能够使得降噪网络能够基于学习到的全局时序信息,还原得到所缺失的数据,从而能够以较好的降噪效果实现噪声数据的降噪。
[0155]
可选的,在一个可能的实施例中,由于第一输出数据是降噪网络中的编码器所输出的数据,而第三输出数据是降噪网络的编码器的中间层所输出的数据,两者的维度并不相同。因此,在求取第一损失函数之前,可以对第一输出数据和第三输出数据进行维度对齐操作,以使得两者的维度相同,然后再求取两者之间的差异值。
[0156]
示例性地,终端分别对第一输出数据和第三输出数据中的每个子特征数据执行维度对齐操作,得到维度对齐的第一输出数据和第三输出数据。具体地,终端可以预先构建多个维度对齐子网络,通过将第一输出数据输入其中一个维度对齐子网络,将第三输出数据中的每个子特征数据输入其他对应的维度对齐子网络,得到维度对齐的第一输出数据和第三输出数据。其中,维度对齐子网络以门控循环单元(gated recurrent unit,gru)为基本单元,通过多层gru构成维度对齐子网络。维度对齐子网络能够对输入的数据进行维度的变更。在第三输出数据与第一输出数据的维度对齐后,终端确定维度对齐的第三输出数据中每个子特征数据与维度对齐的第一输出数据之间的差异值。
[0157]
示例性地,基于第一输出数据和第三输出数据确定第一损失函数的过程可以如以下的公式1所示。
[0158][0159]
其中,表示第一损失函数;l表示编码器的第l层中间层;i表示第i个时序局部特征;log()表示对数函数;exp()表示指数函数;表示对编码器第l层的中间层输出的特征均匀划分后得到的第i个时序局部特征;ρ
l
表示编码器第l层中间层时序局部特征对应的维度对齐子网络;表示编码器输出的内容向量对应的维度对齐子网络,即第一输出数据对应的维度对齐子网络。
[0160]
具体地,采用gru为基本单元的维度对齐子网络可以形式化表示为gru(x,num_layers,out_dim),其中,num_layers为网络层数,out_dim表示期望输出维度。
[0161]
步骤405,根据第二输出数据和第四输出数据确定第二损失函数,第二损失函数用于表示第二输出数据以及第四输出数据与无噪声数据的真实类别标签之间的差异。
[0162]
其中,第二输出数据为将无噪声数据输入降噪分类网络后,降噪分类网络的输出,即降噪分类网络所预测的无噪声数据对应的类别结果。第四输出数据为将噪声数据输入降噪分类网络后,降噪分类网络的输出,即降噪分类网络所预测的噪声数据对应的类别结果。实际上,无噪声数据和噪声数据对应的真实类别标签是相同的,因此,终端可以通过求取第二输出数据与无噪声数据的真实类别标签的第一差异值以及第四输出数据与无噪声数据的真实类别标签的第二差异值来确定第二损失函数。例如,通过求取第二输出数据与无噪声数据的真实类别标签的第一差异值与第四输出数据与无噪声数据的真实类别标签的第二差异值之和,来得到第二损失函数。
[0163]
以无噪声数据为imu数据为例,在该imu数据对应的类别为跑步时,则该imu数据对应的真实类别标签可以为{0,1,0,0}。其中,真实类别标签中的四个元素值分别表示步行、跑步、骑行以及爬阶梯这四个类别。假设,在将无噪声数据输入降噪分类网络后,所得到的第二输出数据为{0.1,0.7,0.15,0.05}。那么,求取第二输出数据与无噪声数据的真实类别标签的第一差异值的过程实际上就是求取向量{0.1,0.7,0.15,0.05}与向量{0,1,0,0}之间的差异值。
[0164]
示例性地,基于第二输出数据和第四输出数据确定第二损失函数的过程可以如以下的公式2所示。
[0165]
l2=l
mul
(x
normal
)+l
mul
(x
noise
)
ꢀꢀꢀ
公式2
[0166]
其中,l2表示第二损失函数;l
mul
(x
normal
)表示第二输出数据与无噪声数据的真实类别标签之间的交叉熵损失;l
mul
(x
noise
)表示第四输出数据与无噪声数据的真实类别标签之间的交叉熵损失。
[0167]
在公式2中,
[0168]
其中,p(x
noise
)表示输入样本x
noise
的预测类别为y
noise,i
的概率。
[0169]
在公式2中,
[0170]
其中,p(x
normal
)表示输入样本x
normal
的预测类别为y
normal,i
的概率。
[0171]
在实际应用中,除了通过求取交叉熵损失来表示输出数据与真实类别标签的差异值之外,也可以是通过其他的差异度量方式来表示输出数据与真实类别标签的差异值,本实施例并不对此做具体限定。
[0172]
步骤406,至少根据第一损失函数和第二损失函数,训练降噪分类网络,直至满足预设训练条件,得到目标网络。
[0173]
在得到第一损失函数和第二损失函数之后,终端可以基于第一损失函数和第二损失函数求取总损失函数,该总损失函数可以是第一损失函数与第二损失函数之和,该总损失函数也可以是将第一损失函数与第一比例系数的乘积加上第二损失函数与第二比例系数的乘积所得到的。在得到总损失函数之后,终端基于总损失函数对降噪分类网络进行训练。其中,终端基于总损失函数对降噪分类网络进行训练的过程包括:终端基于总损失函数的值调整降噪分类网络(包括降噪网络和分类网络)中的参数,并且重复执行步骤401-406,从而实现不断地调整降噪分类网络中的参数,直至求得的总损失函数小于预设阈值,即可确定已满足预设训练条件,得到目标网络。该目标网络即为训练好的降噪分类网络,能够用于后续的数据降噪和分类。
[0174]
可选的,在降噪分类网络的训练过程中,终端可以通过误差反向传播算法对降噪分类网络的参数进行更新。简单来说,终端可以通过误差反向传播算法,在降噪分类网络的训练过程中修正初始的降噪分类网络中参数的大小,使得降噪分类网络的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的降噪分类网络中的参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
[0175]
可选的,在一个可能的实施例中,在降噪分类网络的训练过程中,还可以引入二值分类器,该二值分类器能够基于降噪分类网络所提取的特征,对输入降噪分类网络的数据进行二分类预测,即预测输入降噪分类网络的数据是噪声数据还是无噪声数据。简单来说,该二值分类器所输出的二分类结果为一个概率值向量,该向量中包括两个元素值,分别表示输入数据属于无噪声数据类别以及噪声数据类别的概率大小。然后,基于二值分类器所输出的二分类结果以及输入数据对应的真实二分类标签,确定第三损失函数,该第三损失函数用于与第一损失函数和第二损失函数一并求取总损失函数,即该第三损失函数同样用于降噪分类网络的训练。
[0176]
具体地,终端获取第一特征,并根据第一特征预测无噪声数据对应的二分类结果,得到第一预测结果。其中,第一特征是在无噪声数据输入降噪分类网络之后,降噪分类网络中的分类网络提取的。例如,在无噪声数据输入降噪分类网络之后,降噪分类网络中的分类网络对所输入的数据进行特征提取,并基于提取得到的特征进行多类别预测,以实现对无噪声数据的分类。那么,终端可以通过获取分类网络所提取的特征,得到第一特征。然后,终端将获取到的第一特征输入二值分类器中,以预测得到无噪声数据对应的二分类结果。
[0177]
终端获取第二特征,并根据第二特征预测噪声数据对应的二分类结果,得到第二预测结果。其中,第二特征是在噪声数据输入降噪分类网络之后,降噪分类网络中的分类网络提取的。类似地,在噪声数据输入降噪分类网络之后,降噪分类网络中的分类网络对所输入的数据进行特征提取,并基于提取得到的特征进行多类别预测。终端则可以通过获取分类网络所提取的特征,得到第二特征。然后,终端将获取到的第二特征输入二值分类器中,以预测得到噪声数据对应的二分类结果。
[0178]
在得到第一预测结果和第二预测结果之后,终端确定第一预测结果和无噪声数据的真实二分类标签之间的第三差异值,以及第二预测结果与噪声数据的真实二分类标签之间的第四差异值,并根据第三差异值和第四差异值确定第三损失函数。
[0179]
最终,终端至少根据第一损失函数、第二损失函数和第三损失函数,训练降噪分类网络。其中,该总损失函数可以是第一损失函数、第二损失函数以及第三损失函数之和,该总损失函数也可以是第一损失函数与第一比例系数的乘积、第二损失函数与第二比例系数的乘积以及第三损失函数与第三比例系数之和。在实际应用中,可以根据降噪分类的精度需求,调整第一比例系数、第二比例系数以及第三比例系数,在此不做具体限定。
[0180]
示例性地,基于第一预测结果和第二预测结果确定第三损失函数的过程可以如以下的公式3所示。
[0181]
l3=l
bin
(x
normal
)+l
bin
(x
noise
)
ꢀꢀꢀ
公式3
[0182]
其中,l3表示第三损失函数;l
bin
(x
normal
)表示第一预测结果和无噪声数据的真实二分类标签之间的交叉熵损失;l
bin
(x
noise
)表示第二预测结果和噪声数据的真实二分类标
签之间的交叉熵损失。
[0183]
在公式3中,
[0184]
其中,p(x
normal
)表示对应输入x
normal
预测标签为bi的概率,n为batch样本数量。
[0185]
在公式3中,
[0186]
其中,p(x
noise
)表示对应输入x
noise
预测标签为bi的概率,n为batch样本数量。
[0187]
本实施例中,通过在训练阶段引入二值分类器,并且基于降噪分类网络中的分类网络所提取的特征,通过二值分类器来预测输入数据的二分类结果,获得二分类结果对应的损失函数。通过在原有损失函数的基础上,引入二分类结果对应的损失函数,能够引入一个额外的评价维度,使得训练得到的降噪分类网络对于不同类型的输入数据能够有自适应性的降噪分类尺度,提高降噪分类网络的分类精度。例如,对于无噪声数据以及噪声数据,降噪分类网络能够学习到不同的降噪分类尺度,从而使得无论输入数据是无噪声数据还是噪声数据,训练好的降噪分类网络都能够有较高的降噪分类精度。
[0188]
为了便于理解,以下将结合具体例子描述本技术实施例所提供的模型训练方法。
[0189]
可以参阅图5,图5为本技术实施例提供的一种降噪分类网络的结构示意图。如图5所示,在服务器500上保存有训练集501以及测试集502,且服务器500上还部署有降噪分类网络503。其中,训练集501包括多个样本对,用于训练降噪分类网络503;测试集502同样包括多个样本对,用于检验训练得到的降噪分类网络的性能。
[0190]
降噪分类网络503包括有降噪网络5031和分类网络5032。降噪网络5031中包括编码器50311和解码器50312,编码器50311用于对输入数据进行压缩编码,解码器50312则用于对编码器50311输出的数据进行数据重构。基于编码器50311和解码器50312,能够实现输入数据的降噪处理。分类网络5032中包括特征提取模块50321和分类器50322,特征提取模块50321用于对解码器50312所输出的数据进行特征提取,分类器50322则用于基于特征提取模块50321提取得到的特征进行多类别的预测,得到预测结果,即输入降噪分类网络503对应的预测类别。
[0191]
此外,为实现降噪分类网络503的训练,服务器500上还部署有局部-全局特征关联模块504和混合分类器505。其中,局部-全局特征关联模块504用于基于无噪声数据在降噪网络5031的输出以及噪声数据在降噪网络5031的输出,求取局部-全局特征关联损失,即上述的第一损失函数。
[0192]
具体地,可以参阅图6,图6为本技术实施例提供的局部-全局特征关联模块和混合分类器的结构示意图。如图6所示,局部-全局特征关联模块504包括特征划分模块5041和维度对齐子网络5042,特征划分模块5041用于获取噪声数据在编码器50311的中间层对应的输出数据(即特征数据),并且按照时间顺序对获取到的特征数据进行均匀划分,得到子特征数据。维度对齐子网络5042用于对均匀划分得到的子特征数据以及无噪声数据在编码器50311的输出数据进行维度对齐。这样,局部-全局特征关联模块504可以基于维度对齐后的数据求取求取局部-全局特征关联损失,即上述的第一损失函数。
[0193]
混合分类器505则用于基于分类器50322的输出以及降噪分类网络503的原始输入
数据对应的真实类别标签,求取多类别分类损失,即上述的第二损失函数。混合分类器505还用于特征划分模块5041的输出以及降噪分类网络503的原始输入数据对应的真实二分类标签,求取二分类损失,即上述的第三损失函数。如图6所示,混合分类器505包括二值分类器5051和多类别分类器5052,二值分类器5051用于求取二分类损失,多类别分类器5052用于求取多类别分类损失。示例性地,二值分类器5051可以是由两层全连接层加softmax层组成的,多类别分类器5052可以是由时空图神经网络构成的人体动作识别(human action recognition,har)分类器。
[0194]
在训练过程中,服务器500基于局部-全局特征关联模块504求得的第一损失函数以及混合分类器505求得的第二损失函数和第三损失函数,通过误差反向传播算法对降噪分类网络503中的参数进行更新,直至满足预设训练条件,得到目标网络。
[0195]
以下将基于图5所示的降噪分类网络,详细介绍对降噪分类网络进行训练的过程。可以参阅图7,图7为本技术实施例提供的一种对降噪分类网络进行训练的流程示意图。如图7所示,在实验中,将人体骨骼关键点坐标数据输入降噪分类网络503中,基于局部全局特征关联模块504和混合分类器505得到对应的局部全局特征损失和混合分类损失,并根据局部全局特征损失和混合分类损失计算得到总损失函数。然后,由网络参数更新模块802基于计算得到的总损失函数,采用误差反向传播算法对降噪分类网络503中的降噪网络5031和分类网络5032的参数进行更新,从而实现降噪分类网络503的训练。
[0196]
具体地,下面将详细描述对降噪分类网络进行训练的流程。
[0197]
一、在训练开始前,准备训练集和测试集。
[0198]
在开始训练降噪分类网络之前,需要在服务器上准备好数据集,即训练集和测试集。其中,训练集和测试集均包括多个样本对,每个样本对中包括无噪声数据和噪声数据,且样本对中的无噪声数据和噪声数据均为时序数据。在实际应用中,可以是根据降噪分类网络所应用的场景来准备数据集。例如,在降噪分类网络用于对人体动作分类识别时,则准备由骨骼点坐标数据构成的训练集和测试集。
[0199]
具体地,构造训练集和测试集的过程可以如图8所示。图8为本技术实施例提供的一种生成噪声数据的示意图。终端可以是在获取到无噪声数据之后,在无噪声数据上添加随机的噪声,例如不同程度的噪声,以得到对应的噪声数据,从而构造得到样本对。在构造得到多个样本对之后,可以将一部分样本对划分为训练集,另一部分样本对则划分为测试集。其中,训练集和测试集所包括的样本对的比例例如可以为4:1。
[0200]
二、构造局部-全局特征关联损失。
[0201]
在训练阶段,服务器获取样本对中的噪声数据输入时编码器中间层所输出的特征数据,并且对获取到的特征数据进行均匀划分,得到时序局部特征。服务器还获取样本对中的无噪声数据输入时编码器所输出的内容向量,即时序全局特征。然后,服务器通过特征维度对齐子网络将划分得到的时序局部特征和无噪声数据对应的内容向量进行维度对齐,并构造局部-全局特征关联损失,即上述的第一损失函数。其中,服务器可以是基于上述的公式1来构造局部-全局特征关联损失,具体可以参考上述的公式1。
[0202]
示例性地,可以参阅图9a,图9a为本技术实施例提供的一种构造局部-全局特征关联损失的流程示意图。如图9a所示,x
normal
表示样本对中的无噪声数据,x
noise
表示样本对中的噪声数据,e1表示编码器,g表示编码器所输出的内容向量,d1表示解码器。在输入无噪声
数据之后,服务器获取编码器所输出的内容向量g。在输入噪声数据之后,服务器则获取编码器的中间层所输出的特征数据(即图9a中的划分前的中间层时序特征),并且对获取到的特征数据进行均分划分,得到子特征数据(即图9a中的划分后的中间层时序特征)。然后,服务器基于维度对齐子网络对划分后的中间层时序特征以及内容向量g进行维度对齐,并构造局部-全局特征关联损失。
[0203]
三、构造混合分类损失。
[0204]
服务器所构造的混合分类器包括多类别分类器和二值分类器。对于样本对中的无噪声数据和噪声数据,混合分类器可以分别计算无噪声数据x
normal
和噪声数据x
noise
对应的混合损失,即多类别损失和二分类损失。具体地,服务器计算无噪声数据x
normal
和噪声数据x
noise
对应的混合分类损失的过程可以如以下的公式4和公式5所示。
[0205]
l
hc1
=l
bin
(x
normal
)+al
mul
(x
normal
)
ꢀꢀꢀ
公式4
[0206]
l
hc2
=l
bin
(x
noise
)+αl
mul
(x
noise
)
ꢀꢀꢀ
公式5
[0207]
其中,l
hc1
为无噪声数据x
normal
对应的混合分类损失;l
hc2
为噪声数据x
noise
对应的混合分类损失;l
bin
(x
normal
)表示第一预测结果和无噪声数据的真实二分类标签之间的交叉熵损失;α为比例系数;l
bin
(x
noise
)表示第二预测结果和噪声数据的真实二分类标签之间的交叉熵损失;l
mul
(x
normal
)表示第二输出数据与无噪声数据的真实类别标签之间的交叉熵损失;l
mul
(x
noise
)表示第四输出数据与无噪声数据的真实类别标签之间的交叉熵损失。
[0208]
可以参阅图9b,图9b为本技术实施例提供的一种构造局部-全局特征关联损失和混合分类损失的流程示意图。x
normal
表示样本对中的无噪声数据,x
noise
表示样本对中的噪声数据,e1表示编码器,g表示编码器所输出的内容向量,d1表示解码器。在输入无噪声数据之后,服务器获取编码器所输出的内容向量g。在输入噪声数据之后,服务器则获取编码器的中间层所输出的特征数据,并且对获取到的特征数据进行均分划分,得到子特征数据然后,服务器基于维度对齐子网络对划分后的中间层时序特征以及内容向量g进行维度对齐,并构造局部-全局特征关联损失l
ln
。此外,降噪网络对无噪声数据和噪声数据进行降噪处理之后,由分类网络中的特征提取模块继续对降噪网络所输出的数据进行特征提取处理,并且提取得到的特征数据分别输入多类别分类器(binary classifier c1)和二值分类器(har classifier c2),以得到无噪声数据混合分类损失l
hc1
以及噪声数据对应的混合分类损失l
hc2

[0209]
四、构造整个降噪分类网络的总损失函数,完成降噪分类网络的参数更新。
[0210]
在基于步骤三和步骤四得到局部-全局特征关联损失和混合分类损失之后,服务器以局部-全局特征关联损失和混合分类损失之间的比例和作为整个降噪分类网络的总损失函数,并利用误差反向传播算法完成降噪分类网络的参数更新。其中,整个降噪分类网络的总损失函数可以如以下的公式6所示。
[0211]
l
total
=l
ln
+λ(l
hc1
+l
hc2
)
ꢀꢀꢀ
公式6
[0212]
其中,l
total
为降噪分类网络的总损失函数;l
ln
为局部-全局特征关联损失;λ为比例系数;l
hc1
为无噪声数据x
normal
对应的混合分类损失;l
hc2
为噪声数据x
noise
对应的混合分类损失。
[0213]
在降噪分类网络训练完毕后,可以将训练得到的目标网络部署于服务器或者智能
手机等终端上,以实现时序数据的降噪分类应用。
[0214]
可以参阅图10,图10为本技术实施例提供的现有方案与本技术方案的对比示意图。如图10所示,图10为现有方案中的分类网络以及采用本技术方法所训练的降噪分类网络的训练情况的对比图。其中,图10中的横坐标表示训练阶段的迭代次数,其单位为103;纵坐标为训练阶段现有方案中的分类网络以及采用本技术方法所训练的降噪分类网络在验证集上的损失函数曲线对比。根据图10可以看出,采用本技术方法所训练的降噪分类网络在迭代次数为20000时,其验证集损失已经低于现有方案中的分类网络。在迭代次数大于40000时,采用本技术方法所训练的降噪分类网络则开始收敛。
[0215]
可以参阅表1,表1为现有方案中的人体动作分类模型st-gcn以及采用本技术实施例提供的模型训练方法训练得到的降噪分类网络的分类精度的对比。
[0216]
表1
[0217] 噪声级别=0噪声级别=1噪声级别=3噪声级别=5现有方案81.57%73.78%57.76%42.73%本技术方案84.49%84.11%83.28%82.20%
[0218]
在表1中,噪声级别n(n=0,1,3,5)表示在正常的人体骨骼点坐标数据中的每帧骨骼点上随机选取n个骨骼关节并添加随机的空间平移噪声。其中,添加噪声后的骨骼点空间坐标被限制在正常骨骼点空间坐标所确定的最小包围盒内。在噪声级别=0时,采用本技术实施例提供的模型训练方法训练得到的降噪分类网络能够起到数据增强的作用,可提升模型分类精度。随着噪声级别增大,本技术方案的降噪分类网络和现有方案中的分类网络的差距也逐渐增大。
[0219]
本技术实施例还提供一种降噪分类方法,该方法包括:获取待分类数据;将所述待分类数据输入目标网络,得到预测结果,所述预测结果为所述待分类数据的分类结果。所述待分类数据包括稀疏时序数据,该稀疏时序数据包括骨骼点坐标数据、心电图数据、惯性测量单元数据或故障诊断数据。其中,所述目标网络用于对所述待分类数据进行降噪处理以及分类,所述目标网络是基于以上实施例所述的模型训练方法训练得到的,具体可以参阅上述实施例的介绍,在此不再赘述。可选的,所述目标网络可以是部署于智能电视机上,用于对智能电视机所获取到的数据进行降噪分类,以得到分类预测结果,该分类预测结果具体用于表示用户意图。这样,智能电视机能够基于得到的分类预测结果,执行与用户意图相关的交互响应操作,例如执行切换频道操作。
[0220]
以上描述了本技术实施例所提供的模型训练方法以及降噪分类方法,以下将介绍用于执行以上实施例所提及的方法的设备。
[0221]
可以参阅图11,图11为本技术实施例提供的一种模型训练装置的结构示意图。如图11所示,该模型训练装置包括:获取单元1101和处理单元1102。所述获取单元1101,用于获取样本对,所述样本对包括噪声数据和所述噪声数据对应的无噪声数据;所述处理单元1102,用于将所述无噪声数据输入降噪分类网络,得到第一输出数据和第二输出数据,所述降噪分类网络包括降噪网络和分类网络,所述第一输出数据为所述降噪网络的输出,所述第二输出数据为所述分类网络的输出;所述处理单元1102,还用于将所述噪声数据输入所述降噪分类网络,得到第三输出数据和第四输出数据,所述第三输出数据是基于所述降噪网络的中间层得到的,所述第四输出数据为所述分类网络的输出;所述处理单元1102,还用
于根据所述第一输出数据和所述第三输出数据确定第一损失函数,所述第一损失函数用于表示所述第一输出数据与所述第三输出数据之间的差异;所述处理单元1102,还用于根据所述第二输出数据和所述第四输出数据确定第二损失函数,所述第二损失函数用于表示所述第二输出数据以及所述第四输出数据与所述无噪声数据的真实类别标签之间的差异;所述处理单元1102,还用于至少根据所述第一损失函数和所述第二损失函数,训练所述降噪分类网络,直至满足预设训练条件,得到目标网络。
[0222]
可选地,在一种可能的实现方式中,所述降噪网络包括编码器和解码器,所述编码器用于对输入数据进行压缩编码,所述解码器用于对所述编码器输出的数据进行数据重构;所述第一输出数据为所述编码器的输出,所述第三输出数据是基于所述编码器的中间层得到的。
[0223]
可选地,所述处理单元1102,还用于:将所述噪声数据输入所述降噪分类网络,得到所述降噪网络的中间层输出的特征数据;将所述特征数据划分为多个子特征数据,得到所述第三输出数据,所述第三输出数据包括所述多个子特征数据;确定所述第三输出数据中每个子特征数据与所述第一输出数据之间的差异值;根据所述每个子特征数据与所述第一输出数据之间的差异值,确定所述第一损失函数。
[0224]
可选地,在一种可能的实现方式中,所述处理单元1102,还用于按照时间顺序将所述特征数据均匀地划分为多个子特征数据,得到所述第三输出数据,所述多个子特征数据中的每个子特征数据对应的时间段的长度相同;其中,所述噪声数据为时序数据。
[0225]
可选地,在一种可能的实现方式中,所述处理单元1102,还用于:分别对所述第一输出数据和所述第三输出数据中的每个子特征数据执行维度对齐操作,得到维度对齐的第一输出数据和第三输出数据。确定维度对齐的第三输出数据中每个子特征数据与维度对齐的第一输出数据之间的差异值。
[0226]
可选地,在一种可能的实现方式中,所述处理单元1102,还用于:确定所述第二输出数据与所述无噪声数据的真实类别标签之间的差异,得到第一差异值;确定所述第四输出数据与所述无噪声数据的真实类别标签之间的差异,得到第二差异值;根据所述第一差异值和所述第二差异值,获取所述第二损失函数;其中,所述第二输出数据为多分类的预测结果,用于表示所述分类网络预测的结果。
[0227]
可选地,在一种可能的实现方式中,所述获取单元1101,还用于获取第一特征,并根据所述第一特征预测所述无噪声数据对应的二分类结果,得到第一预测结果,所述第一特征是在所述无噪声数据输入降噪分类网络之后,所述降噪分类网络中的分类网络提取的;所述获取单元1101,还用于获取第二特征,并根据所述第二特征预测所述噪声数据对应的二分类结果,得到第二预测结果,所述第二特征是在所述噪声数据输入降噪分类网络之后,所述降噪分类网络中的分类网络提取的;所述处理单元1102,还用于根据所述第一预测结果和所述无噪声数据的真实二分类标签、所述第二预测结果和所述噪声数据的真实二分类标签,确定第三损失函数;所述处理单元1102,还用于至少根据所述第一损失函数、所述第二损失函数和所述第三损失函数,训练所述降噪分类网络;其中,所述无噪声数据对应的二分类结果为无噪声类型或噪声类型,所述噪声数据对应的二分类结果为无噪声类型或噪声类型。
[0228]
可选地,在一种可能的实现方式中,至少根据所述第一损失函数和所述第二损失
函数,通过误差反向传播算法对所述降噪分类网络的参数进行更新。
[0229]
可选地,在一种可能的实现方式中,所述噪声数据包括稀疏时序数据。
[0230]
可选地,在一种可能的实现方式中,所述稀疏时序数据包括骨骼点坐标数据、心电图数据、惯性测量单元数据或故障诊断数据。
[0231]
可以参阅图12,图12为本技术实施例提供的一种降噪分类装置的结构示意图。本技术实施例提供一种降噪分类装置,该装置包括:获取单元1201和处理单元1202。所述获取单元1201,用于获取待分类数据。所述处理单元1202,用于将所述待分类数据输入目标网络,得到预测结果,所述预测结果为所述待分类数据的分类结果;其中,所述目标网络用于对所述待分类数据进行降噪处理以及分类,所述目标网络是基于以上实施例所述的模型训练方法训练得到的。
[0232]
接下来介绍本技术实施例提供的一种执行设备,请参阅图13,图13为本技术实施例提供的执行设备的一种结构示意图,执行设备1300具体可以表现为手机、平板、笔记本电脑、智能穿戴设备、服务器等,此处不做限定。其中,执行设备1300上可以部署有图13对应实施例中所描述的数据处理装置,用于实现图13对应实施例中数据处理的功能。具体的,执行设备1300包括:接收器1301、发射器1302、处理器1303和存储器1304(其中执行设备1300中的处理器1303的数量可以一个或多个,图13中以一个处理器为例),其中,处理器1303可以包括应用处理器13031和通信处理器13032。在本技术的一些实施例中,接收器1301、发射器1302、处理器1303和存储器1304可通过总线或其它方式连接。
[0233]
存储器1304可以包括只读存储器和随机存取存储器,并向处理器1303提供指令和数据。存储器1304的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器1304存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
[0234]
处理器1303控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0235]
上述本技术实施例揭示的方法可以应用于处理器1303中,或者由处理器1303实现。处理器1303可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1303可以是通用处理器、数字信号处理器(digital signal processing,dsp)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1303可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1304,处理器1303读取存储器1304中的信息,结合其硬件完成上述方法的步骤。
[0236]
接收器1301可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1302可用于通过第一接口输出数字或字符信息;发射器1302还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1302还可以包括显示屏等显示设备。
[0237]
本技术实施例中,在一种情况下,处理器1303,用于执行图4对应实施例中的执行设备执行的降噪模型的训练方法。
[0238]
本技术实施例还提供了一种训练设备,请参阅图14,图14为本技术实施例提供的训练设备的一种结构示意图,具体的,训练设备1400由一个或多个服务器实现,训练设备1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1414(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1414可以设置为与存储介质1430通信,在训练设备1400上执行存储介质1430中的一系列指令操作。
[0239]
训练设备1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458;或,一个或一个以上操作系统1441,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
等等。
[0240]
本技术实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
[0241]
本技术实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
[0242]
本技术实施例提供的执行设备、训练设备或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的数据处理方法,或者,以使训练设备内的芯片执行上述实施例描述的数据处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
[0243]
具体的,请参阅图15,图15为本技术实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器npu 1500,npu 1500作为协处理器挂载到主cpu(host cpu)上,由host cpu分配任务。npu的核心部分为运算电路1503,通过控制器1504控制运算电路1503提取存储器中的矩阵数据并进行乘法运算。
[0244]
在一些实现中,运算电路1503内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路1503是二维脉动阵列。运算电路1503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1503是通
用的矩阵处理器。
[0245]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器1502中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器1501中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1508中。
[0246]
统一存储器1506用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,dmac)1505,dmac被搬运到权重存储器1502中。输入数据也通过dmac被搬运到统一存储器1506中。
[0247]
biu为bus interface unit即,总线接口单元(bus interface unit,biu)1510,用于axi总线与dmac和取指存储器(instruction fetch buffer,ifb)1509的交互。
[0248]
总线接口单元1510,用于取指存储器1509从外部存储器获取指令,还用于存储单元访问控制器1505从外部存储器获取输入矩阵a或者权重矩阵b的原数据。
[0249]
dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器1506或将权重数据搬运到权重存储器1502中或将输入数据数据搬运到输入存储器1501中。
[0250]
向量计算单元1507包括多个运算处理单元,在需要的情况下,对运算电路1503的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如batch normalization(批归一化),像素级求和,对特征平面进行上采样等。
[0251]
在一些实现中,向量计算单元1507能将经处理的输出的向量存储到统一存储器1506。例如,向量计算单元1507可以将线性函数;或,非线性函数应用到运算电路1503的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1507生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1503的激活输入,例如用于在神经网络中的后续层中的使用。
[0252]
控制器1504连接的取指存储器(instruction fetch buffer)1509,用于存储控制器1504使用的指令;
[0253]
统一存储器1506,输入存储器1501,权重存储器1502以及取指存储器1509均为on-chip存储器。外部存储器私有于该npu硬件架构。
[0254]
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述程序执行的集成电路。
[0255]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0256]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以
很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本技术各个实施例所述的方法。
[0257]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0258]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1