CN110751260A - 电子设备、任务处理的方法以及训练神经网络的方法 - Google Patents
电子设备、任务处理的方法以及训练神经网络的方法 Download PDFInfo
- Publication number
- CN110751260A CN110751260A CN201810822023.9A CN201810822023A CN110751260A CN 110751260 A CN110751260 A CN 110751260A CN 201810822023 A CN201810822023 A CN 201810822023A CN 110751260 A CN110751260 A CN 110751260A
- Authority
- CN
- China
- Prior art keywords
- neural network
- task
- training
- information
- input data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种电子设备、任务处理的方法以及训练神经网络的方法。该方法包括:获取任务对应的输入数据,然后通过任务对应的各神经网络,分别对输入数据进行相应处理,然后基于各神经网络的处理结果以及任务对应的神经网络权重信息,确定任务对应的处理结果。本申请实施例实现了降低神经网络的计算成本以及存储成本,进而降低任务的处理复杂度。
Description
技术领域
本申请涉及机器学习技术领域,具体而言,本申请涉及一种电子设备、任务处理的方法以及训练神经网络的方法。
背景技术
随着信息技术的发展,机器学习领域也随之发展,在机器学习领域,神经网络的方法越来越得到研究者的关注,并得到越来越广泛的使用。在机器学习的任务中,通常是将任务分解为几个子任务进行完成,例如一个完整的语音唤醒任务可以被分解为自动反欺骗语音识别子任务(可选)、语音活动点检测子任务、语种识别子任务(可选)、关键词检测子任务以及说话人识别子任务,其处理流程如图1所示。现有技术中,针对任务的各个子任务分别构建并训练对应的神经网络模型,每个神经网络模型分别处理对应的子任务。在实际处理该任务时,按照各子任务的执行顺序,依次利用各子任务对应的神经网络模型来进行相应处理,最终得到该任务的处理结果。
在大数据时代,使用更多的训练数据,更深的网络层数以及更多的网络节点往往能得到更好的性能,但随之而来的是更大的神经网络模型。对于一个任务来说,任务对应的神经网络模型大小是各个子任务模型大小之和,另外,任务往往需要支持多语言,对于支持多语言的任务,模型大小和计算量会随着支持语言的数目成倍增加,从而导致神经网络的计算成本以及存储成本较大,进而导致对任务处理的复杂度较高。
发明内容
本申请提供了一种电子设备、任务处理的方法以及训练神经网络的方法,用于降低神经网络的计算成本以及存储成本。
第一方面,提供了一种基于神经网络任务处理的方法,该方法包括:
获取任务对应的输入数据;
通过任务对应的各神经网络,分别对输入数据进行相应处理;
基于所述各神经网络的处理结果以及所述任务对应的神经网络权重信息,确定所述任务对应的处理结果。
第二方面,提供了一种电子设备,包括:
处理器;以及
存储器,配置用于存储机器可读指令,指令在由处理器执行时,使得处理器执行第一方面所示的基于神经网络的任务处理的方法。
第三方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现第一方面所示的基于神经网络的任务处理的方法。
第四方面,提供了一种基于神经网络的任务处理的装置,包括:
获取模块,用于获取任务对应的输入数据;
处理模块,用于通过任务对应的各神经网络,分别对获取模块获取的输入数据进行相应处理;
确定模块,用于基于各神经网络的处理结果以及任务对应的神经网络权重信息,确定任务对应的处理结果。
第五方面,提供了一种训练神经网络的方法,包括:
构建任务对应的各神经网络;
基于任务对应的训练数据,分别训练构建的各神经网络;
根据训练得到的各神经网络,训练任务对应的神经网络权重信息。
第六方面,提供了一种电子设备,包括:
处理器;以及
存储器,配置用于存储机器可读指令,指令在由处理器执行时,使得处理器执行第五方面所示的训练神经网络的方法。
第七方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现第五方面所示的训练神经网络的方法。
第八方面,提供了一种训练神经网络的装置,包括:
构建模块,用于构建任务对应的各神经网络;
训练模块,用于基于任务对应的训练数据,分别训练构建模块构建的各神经网络;
训练模块,还用于根据训练得到的各神经网络,训练任务对应的神经网络权重信息。
本申请实施例提供了一种电子设备、任务处理的方法,与现有技术相比,本申请实施例获取任务对应的输入数据,并通过任务对应的各神经网络,分别对上述输入数据进行相应处理,然后基于各神经网络的处理结果以及任务对应的神经网络权重信息,确定任务对应的处理结果。即本申请实施例中将一个任务对应神经网络分解为多个基础的神经网络,各基础的神经网络可以具有较小的拓扑结构,在进行任务处理时,并不是按照各子任务的执行顺序,依次利用各子任务对应的神经网络来进行相应处理,而是各神经网络对任务的输入数据分别进行处理,任务的输出与对应的神经网络权重有关,从而可以减小神经网络的计算成本以及存储成本,进而可以降低对神经网络计算的复杂度。
本申请实施例中提供了一种电子设备以及训练神经网络的方法,与现有技术相比,本申请实施例基于任务对应的训练数据,分别训练针对该任务构建的各神经网络,然后根据训练得到的各神经网络,训练该任务对应的神经网络权重信息。即本申请实施例中将一个任务的神经网络分解为多个基础的神经网络,在对神经网络进行训练时,可以基于训练样本分别对各个基础的神经网络进行训练,从而可以降低对神经网络进行训练的复杂度,各基础的神经网络可以具有较小的拓扑结构,进而可以降低神经网络的计算成本以及存储成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种现有的语音唤醒流程示意图;
图2为本申请实施例提供的一种基于神经网络基底任务处理的流程示意图;
图3为本申请实施例提供的一种训练神经网络的方法的流程示意图;
图4a为本申请实施例提供的一种基于神经网络基底任务处理的线上应用示意图;
图4b为本申请实施例提供的另一种基于神经网络基底任务处理的流程示意图;
图4c为本申请实施例中神经网络基底在线更新示意图;
图4d为本申请实施例中对子任务对应的权重信息进行更新的示意图;
图4e为本申请实施例中使用已有原权重初始化在线更新示意图;
图4f为本申请实施例中使用迁移学习在线更新示意图;
图4g为本申请实施例中使用迁移学习在线更新示例图;
图4h为本申请实施例中使用已有权重作进行权重在线更新的示例图;
图4i为本申请实施例中语音唤醒任务中,基于被授权人的神经网络基底权重更新示例图;
图5a为本申请实施例中另一种训练神经网络基底的流程示意图;
图5b为本申请实施例中又一种训练神经网络基底的流程示意图;
图6为本申请实施例中线下训练神经网络的示意图;
图7为本申请实施例中语音信号处理任务的神经网络基底训练流程示意图;
图8为本申请实施例中智能驾驶任务的神经网络基底训练流程示意图;
图9为本申请实施例中情绪分析任务的神经网络基底训练流程示意图;
图10为本申请实施例中视频分析任务的神经网络基底训练流程示意图;
图11a为本申请实施例中训练基于任务构建的神经网络基底的流程示意图;
图11b为本申请实施例中训练基于任务构建的神经网络基底实例图;
图12为本申请实施例中训练基于设备构建的神经网络基底示意图;
图13为本申请实施例中训练基于设备构建的神经网络基底实例图;
图14为本申请实施例中对神经网络基底进行SVD分解得到压缩后的神经网络基底的示意图;
图15为本申请实施例中相互独立的神经网络基底的训练示意图;
图16为本申请实施例训练神经网络基底权重的示意图;
图17为本发明实施例中电子设备的结构示意图;
图18为本发明实施例中电子设备的计算***的框图;
图19为本申请实施例中基于神经网络的任务处理的装置结构示意图;
图20为本申请实施例中训练神经网络的装置结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在机器学习领域,神经网络的方法现在越来越得到研究者的关注,但是现有的神经网络模型的存储成本以及计算成本较高,为了降低神经网络的存储成本以及计算成本,压缩神经网络模型变得至关重要,特别是对于一些实时应用,例如在线学习、增量学习以及自动驾驶。在移动端如何能让神经网络模型在移动设备上运行,也是模型压缩加速的一个重要目标。
现有的模型压缩方法包括参数剪枝和共享、低秩矩阵分解以及知识蒸馏等。其中参数剪枝和共享的方法试图去除冗余以及不重要的网络参数,低秩矩阵分解主要使用矩阵分解的方法来估计神经网络模型的信息参数,知识蒸馏主要是通过学习一个蒸馏模型,训练更小的网络来实现大的网络输出。
基于上述模型压缩方法得到的压缩神经网络模型虽然在一定程度上减小模型结构大小,但是存在以下缺点:
(1)参数剪枝和共享的模型压缩方法需要更多的迭代以得到收敛的模型,并且需要手动设置网络层的超参数;矩阵分解的模型压缩方法仅能对网络逐层进行优化,并不能全局进行压缩,因此需要更多的计算量,同时也会对后面网络层的输入造成严重的影响,从而带来精度的损失;知识蒸馏的方法只能应用于Softmax作为损失函数的分类问题中,并且模型的假设有时太严格,神经网络模型的性能较差;
(2)现有的神经网络压缩和加速技术(包括:参数剪枝和共享的模型压缩方法、矩阵分解的模型压缩方法以及知识蒸馏的方法)都依赖于原模型,模型的修改基于原模型的网络结构,降低了修改的空间,并且针对复杂的任务,无论是参数剪枝和共享模型压缩方法,还是矩阵分解的模型压缩方法,对于任务的处理结果的精度较低,因此处理结果往往并不可靠;
(3)现有的神经网络压缩和加速技术(包括:参数剪枝和共享的模型压缩方法、矩阵分解的模型压缩方法以及知识蒸馏的方法)均是针对单个子任务进行压缩和加速的。对于包含多个子任务的复杂任务,需要分别对各个子任务的模型分别进行优化,计算量大,模型大小依然跟子任务数目有关;
(4)现有的神经网络压缩和加速技术(包括:参数剪枝和共享的模型压缩方法、矩阵分解的模型压缩方法以及知识蒸馏的方法)中,对于某一任务,如果需要增加新的模块或者子任务,例如将语音唤醒技术应用于家庭智能音箱上,需要增加判断语音来自家庭人员中的哪一个,也就是说话人识别功能,则需要对新的模块或子任务构建并训练模型,以及进行优化,再者当对某个模块或者子任务有改动时,需要重新训练模型并优化模型;
(5)各个子任务间有一定的相关性和冗余计算,例如,在语音唤醒任务中,语种识别子任务和关键词检测子任务都需要音素建模处理,该处理步骤在两个子任务间属于冗余计算;因为语音的内容对语种识别子任务和关键词检测子任务都有用,所以语种识别子任务和关键词检测子任务都需要对语音内容建模,这会造成冗余计算;每个子任务对应的神经网络都需要进行特征提取处理,不同的子任务可能提取相似的特征,对于语音来说,梅尔频率倒谱系数(Mel Frequency Cepstral Coefficients,MFCC)特征信息是最常用的,如果各个子任务的神经网络都提取MFCC特征,就会产生较多的冗余计算;相关的任务会训练不同的神经网络,因此会增加冗余计算,并且增大了模型大小。
为了解决上述现有技术中的技术问题,本申请实施例提供了一种训练神经网络的方法,以便得到的神经网络的计算成本和存储成本更小,能够更好的适用在移动端。本发明提出的训练神经网络的方法可以看作一种模型压缩的方法,该模型压缩的方法基于任务层面的端对端的框架。基于不同的任务,本申请实施例中的模型压缩的方法将任务分解为多个不同的基础的神经网络,其中,可以将基础的神经网络称为神经网络基底,本申请实施例中下述提到的神经网络基底均可以替换为神经网络或基础的神经网络;对同一个任务,各神经网络基底相互独立并且使用较小的模型,也就是说,神经网络基底的网络可以具有较小的拓扑结构,各个子任务只需要基于神经网络基底,对各神经网络基底训练对应的权重,并且可在线对模型进行自适应学习。本申请实施例中压缩后的神经网络模型可以应用于多个应用场景,例如应用于语音唤醒领域。
本申请实施例中模型压缩的方法与现有技术相比,有以下优点:
1)不需要单独对神经网络进行压缩优化,并且不需要手动设置模型的超参数或者逐层进行网络优化,并且由于模型结构较小,计算量也小;
2)本申请实施例中提出的模型压缩方法不依赖于原模型,神经网络基底可自定义模型结构;
3)对包含多个子任务的复杂任务有更好的模型压缩效果,神经网络基底可进行全局优化,不依赖于子任务;
4)当增加了新的模块功能或者子任务时,可以仅训练该模块功能或者子任务对应的权重信息(其中,该功能模块或者子任务对应的权重信息即为各个神经网络基底分别对应的权重信息),不更改神经网络基底;再者某个功能模块或者子任务有改动时,只需要更新该功能模块或者该子任务对应的权重信息;并且可自适应更新神经网络基底中各层分别对应的权重信息或者部分层分别对应的权重信息或者更新该功能模块或者子任务对应的权重信息;
5)各个神经网络基底相互独立,因此各个任务的输出与各任务对应的神经网络权重有关,不需要额外的冗余计算。
下面详细介绍本申请实施例提出的方法,首先介绍本申请实施例的设计思路,然后介绍基于神经网络的任务处理的方法以及训练神经网络的方法,然后结合具体的实施例以及图详细介绍本申请实施例提出的上述两种方法:
本申请实施例的设计思路来源于线性代数的思想,即空间中任意一个向量V可以由一些正交基底加权求和得到,如公式(1)所示:
V=w1V1+w2V2+…+wnVn=WVB (1)
类似地,一个矩阵M可以由一些独立的矩阵基底加权求和得到,公式(2)所示:
M=w1M1+w2M2+…+wnMn=WMB (2)
其中,M1,M2,…,Mn为矩阵基底,w1,w2,…,wn为矩阵基底的权重向量;类似地,W表示为:W={w1 w2 … wn},MB表示如下:同样地可以推理神经网络的输出可以有几个独立的神经网络基底加权求和得到,如下公式(3)所示:
O=a1w1H1+a2w2H2+…+anwnHn (3)
其中,H1,H2,…,Hn为各神经网络某一层的输出,w1,w2,…,wn为连接神经网络某一层与下一层的权重参数,w1H1,w2H2,…,wnHn可看成神经网络基底,a1,a2,…,an为各神经网络基底分别对应的权重。
因此本申请实施例提出的基于神经网络的任务的处理方法,将任务分解成几个轻巧并且独立的神经网络基底,任务的结果由基底加权求和得到。
下述介绍基于本申请实施例的设计思路,设计的基于神经网络的任务处理的方法,该方法是基于神经网络基底进行线上处理的方法,如图2所示,其中,
步骤S201、获取任务对应的输入数据。
步骤S202、通过任务对应的各神经网络基底,分别对输入数据进行相应处理。
具体地,任务对应的神经网络基底的数目可以不大于任务对应的子任务的数目。也就是说,任务对应的神经网络基底的数目与现有技术中各子任务对应的神经网络的数目相比,会大大减少。例如,在现有技术中,语音唤醒任务需要5个子任务分别对应的神经网络依次处理,而本申请实施例只需要构建并训练3个神经网络基底。
具体的,任务对应的各神经网络可以满足如下至少一项:
不同神经网络的输入节点数目不同;
不同神经网络的输出节点数目不同;
任一神经网络对任一输入数据的处理结果与该神经网络对其他输入数据的处理结果的相关性,大于与其他神经网络对其他输入数据的处理结果的相关性;
不同任务对应相同神经网络的权重信息不同;
神经网络的数目小于任务包含的子任务的数目。
如果任务对应的各神经网络满足上述任一项,则可以表示任务对应的各神经网络之间相互独立,因此各个任务的输出与各任务对应的神经网络权重有关,不需要额外的冗余计算。
步骤S203、基于各神经网络基底的处理结果以及任务对应的神经网络基底权重信息,确定任务对应的处理结果。
其中,若任务不包含子任务,则任务对应的神经网络基底权重信息可以包括:任务对应各神经网络基底的权重信息。其中,神经网络基底权重信息也可以称为神经网络权重信息。
若任务包含至少两个子任务,则任务对应的神经网络基底权重信息可以包括:任一子任务对应各神经网络基底的权重信息。其中,可以将子任务对应各神经网络基底的权重信息称为子任务对应的神经网络基底权重信息。
具体地,步骤S202包括:针对任务对应的各神经网络基底,分别从输入数据中提取对应的特征信息;通过各神经网络基底,分别处理对应的特征信息,得到相应的处理结果。
具体地,若任务为语音信号处理任务,则从输入数据中提取出的特征信息包括以下至少一项:梅尔频率倒谱系数(Mel Frequency CepstralCoefficients,MFCC)特征信息;梅尔标度滤波器组(Mel-scale Filter Bank,F-Bank)特征信息;常数Q值倒谱系数(Constant Q Cepstral Coefficients,CQCC)特征信息;感知线性预测系数(PerceptualLinear Predictive,PLP)特征信息;线性预测倒谱系数(Linear Prediction CepstrumCoefficient,LPCC)特征信息;拼接特征信息;其他可应用于语音信号处理的特征信息。
其中,特征提取的步骤也可以由各个神经网络基底来处理,例如,将输入数据分别输入到各个神经网络基底,各个神经网络基底分别提取相应的特征信息。
其中,可以从相同的输入数据中提取各神经网络基底对应的特征信息,也可以从不同的输入数据中提取各神经网络基底对应的特征信息。
具体地,神经网络基底包括:与输入数据的属性信息对应的神经网络基底、与任务的检测目标对应的神经网络基底、与任务的处理设备对应的神经网络基底、以及与任务的子任务对应的神经网络基底中的至少一项。
具体地,输入数据的属性信息包括:输入数据包含的信息元素、输入数据对应的语言信息、输入数据的模态信息。
具体地,若任务为语音信号处理任务,输入数据包含的信息元素包括语音内容、信道信息、语音来源属性中的至少一项,则任务对应的神经网络基底包括以下至少一项:语音内容对应的神经网络基底;信道信息对应的神经网络基底;语音来源属性对应的神经网络基底;或者,
若任务为智能驾驶任务,任务对应的检测目标包括对象、对象移动方向、对象移动速度中的至少一项,则任务对应的神经网络基底包括以下至少一项:对象识别对应的神经网络基底;对象移动方向对应的神经网络基底;对象移动速度对应的神经网络基底;或者,
若任务为情绪分析任务,输入数据的模态信息包括文本信息、面部表情信息、语音信息中的至少一项,则任务对应的神经网络基底包括以下至少一项:文本信息对应的神经网络基底;面部表情信息对应的神经网络基底;语音信息对应的神经网络基底;或者,
若任务为视频分析任务,输入数据的模态信息包括文本信息、图像信息、语音信息中的至少一项,则任务对应的神经网络基底包括以下至少一项:文本信息对应的神经网络基底;图像信息对应的神经网络基底;音频信息对应的神经网络基底;或者,
若任务为智能驾驶任务,任务的子任务包括目标检测、识别乘车人指令、验证乘车人身份中的至少一项,则任务对应的神经网络基底包括以下至少一项:目标检测对应的神经网络基底;乘车人指令识别对应的神经网络基底;乘车人身份验证对应的神经网络基底。
具体的,若任务不包含子任务,则步骤S203包括:根据任务对应各神经网络基底的权重信息,对各神经网络基底的处理结果进行加权处理,得到任务对应的处理结果。
若任务包含至少两个子任务,则步骤S203包括:针对各子任务,分别根据该子任务对应各神经网络基底的权重信息,对各神经网络基底的处理结果进行加权处理,得到该子任务对应的处理结果;根据各子任务的处理结果,确定任务的处理结果。
上述加权处理可以为加权平均或加权求和等处理。
具体地,若任务为语音唤醒任务,则根据各子任务的处理结果,确定任务的处理结果,包括:基于语音唤醒任务的各子任务对应的处理结果,判断语音唤醒任务的处理结果是否为成功唤醒。例如,若语音唤醒任务的各子任务对应的处理结果,分别大于对应的阈值,则语音唤醒任务的处理结果为成功唤醒,反之,则唤醒失败。
进一步地,该方法还包括:当检测到预设触发条件时,对至少一个神经网络基底和/或任务对应的神经网络基底权重信息进行更新。
其中,预设触发条件包括:任务发生变更;任务的任一子任务发生变更、设备的使用用户发生变更、任一神经网络基底的节点发生变更、获取到预设数量的输入数据、以及达到预设时间点中的至少一项。
具体地,对至少一个神经网络基底进行更新,包括:基于更新操作对应的数据样本,重新训练至少一个神经网络基底中的各个神经网络基底。
具体地,对任一神经网络基底的训练,包括:对任一神经网络基底各层分别对应的权重信息的训练、以及对任一神经网络基底部分层分别对应的权重信息的训练。
其中,更新操作对应的数据样本包括:训练数据、以及第一历史输入数据中的至少一项。
具体地,基于更新操作对应的数据样本,训练至少一个神经网络基底中各个神经网络基底,包括:步骤S1(图中未标注)、步骤S2(图中未标注)以及步骤S3(图中未标注)中的至少一项。其中,
步骤S1、将训练数据以及第一历史输入数据作为更新操作对应的数据样本,重新训练待更新的神经网络基底各层分别对应的权重信息。
步骤S2、将第一历史输入数据作为更新操作对应的数据样本,重新训练待更新的神经网络基底各层分别对应的权重信息。
步骤S3、将第一历史输入数据作为更新操作对应的数据样本,重新训练待更新的神经网络基底的部分层分别对应的权重信息;和/或,将第一历史输入数据以及训练数据作为更新操作对应的数据样本,重新训练待更新的神经网络基底的部分层分别对应的权重信息。
具体地,对任务对应的神经网络基底权重信息进行更新,包括:基于第二历史输入数据以及训练数据,对任务对应的神经网络基底权重信息进行更新。
若任务包含至少两个子任务,则对任务对应的神经网络基底权重信息进行更新,包括:基于第二历史输入数据以及训练数据,对待更新的子任务对应的神经网络基底权重信息进行更新。
具体地,基于第二历史输入数据以及训练数据,对待更新的子任务对应的权重信息进行更新,包括:步骤S4(图中未标注)以及步骤S5(图中未标注)中的至少一项,其中,
步骤S4、以待更新的子任务的权重信息为基础,利用第二历史输入数据,对待更新的子任务对应的权重信息进行更新;其中,可以通过第二历史输入数据,对各神经网络基底进行一次迭代,得到子任务对应的更新后的权重信息,可以将该方式称为自适应更新方式;或者,也可以通过第二历史输入数据,对各神经网络基底进行多次迭代,得到子任务对应的更新后的权重信息,可以将该方式称为在线学习方式。
步骤S5、利用第二历史输入数据,并通过迁移学习的方式对待更新的子任务对应的权重信息进行更新。
本申请实施例提供了一种任务处理的方法,与现有技术相比,本申请实施例获取任务对应的输入数据,并通过任务对应的各神经网络,分别对上述输入数据进行相应处理,然后基于各神经网络的处理结果以及任务对应的神经网络权重信息,确定任务对应的处理结果。即本申请实施例中将一个任务对应神经网络分解为多个基础的神经网络,各基础的神经网络可以具有较小的拓扑结构,在进行任务处理时,并不是按照各子任务的执行顺序,依次利用各子任务对应的神经网络来进行相应处理,而是各神经网络对任务的输入数据分别进行处理,任务的输出与对应的神经网络权重有关,从而可以减小神经网络的计算成本以及存储成本,进而可以降低对神经网络计算的复杂度。
下述介绍基于本申请实施例的设计思路,设计的训练神经网络的方法,如图3所示,其中,训练神经网络的方法可以在上述基于神经网络任务处理的方法的基础上实现,也可以单独实现,在本申请实施例中不做限定。其中,
步骤S301、构建任务对应的各神经网络基底。
步骤S302、基于任务对应的训练数据,分别训练构建的各神经网络基底。
步骤S303、根据训练得到的各神经网络基底,训练任务对应的神经网络基底权重信息。
其中,神经网络基底权重信息也可以称为神经网络权重信息。
任务对应的神经网络基底权重信息可以包括任务对应各神经网络基底的权重信息。
若任务包含至少两个子任务,则任务对应的神经网络基底权重信息包括:任一子任务对应各神经网络基底的权重信息。
具体地,步骤S301包括:基于以下至少一项信息,构建任务对应的各神经网络基底:任务的输入数据的属性信息;任务对应的检测目标;任务对应的处理设备;任务对应的子任务。
具体地,任务的输入数据的属性信息包括:输入数据包含的信息元素、输入数据对应的语言信息、输入数据的模态信息中的至少一项。
具体地,步骤S302包括:针对任务对应的各神经网络基底,分别从训练数据中提取对应的特征信息;针对各神经网络基底,分别基于该神经网络基底对应的特征信息,训练该神经网络基底。
进一步地,步骤S302之后还包括:对训练得到的各神经网络基底进行压缩处理,得到各压缩后的神经网络基底。
进一步地,步骤S302之后还可以包括:基于训练数据,通过对抗学习的方式,对各神经网络基底进行训练,得到相互独立的各神经网络基底。
具体地,通过对抗学习的方式,对各神经网络基底进行训练,包括:
将当前待训练的神经网络作为生成模型,将其它待训练的神经网络作为判别模型,对当前待训练的神经网络进行训练。
具体训练过程如下所示:
步骤一、确定当前待训练的神经网络基底;
步骤二、将当前待训练的神经网络基底作为生成模型,将其它待训练的神经网络基底作为判别模型,对当前待训练的神经网络基底进行训练;
循环步骤一、步骤二直至各个神经网络基底全部训练完成;
循环步骤一、步骤二以及步骤三,直至达到预设循环次数。
具体地,对当前待训练的神经网络基底(可以为压缩后的神经网络基底)进行训练包括:步骤S6(图中未标注)以及步骤S7(图中未标注)中的至少一项,其中,
步骤S6、通过网络训练损失值,训练当前待训练的神经网络基底各层分别对应的权重信息。
其中,网络训练损失值为训练损失与对抗损失之和。
步骤S7、通过训练损失以及对抗损失分别训练当前待训练的神经网络基底各层分别对应的权重信息。
具体地,步骤303中训练任务对应的神经网络基底权重信息,包括:获取各神经网络基底对训练数据的处理结果,以及任务针对训练数据的处理结果;根据各神经网络基底的处理结果以及任务的处理结果,训练任务对应的神经网络基底权重信息。
若任务包含至少两个子任务,则训练任务对应的神经网络基底权重信息,进一步包括:针对任务的各子任务,分别执行步骤S8(图中未标注)以及步骤S9(图中未标注),其中,
步骤S8、获取各神经网络基底对训练数据的处理结果,以及该子任务针对训练数据的处理结果。
步骤S9、根据各神经网络基底的处理结果以及该子任务的处理结果,训练该子任务对应各神经网络基底的权重信息。
具体地,通过下述公式训练子任务对应各神经网络基底的权重信息:
其中,Ok为第k个子任务针对训练数据的处理结果;Bi为第i个神经网络基底针对训练数据的处理结果;Wik为第k个子任务对应第i个神经网络基底的权重,n为神经网络基底的数目。
本申请实施例中提供了一种训练神经网络的方法,与现有技术相比,本申请实施例基于任务对应的训练数据,分别训练针对该任务构建的各神经网络,然后根据训练得到的各神经网络,训练该任务对应的神经网络权重信息。即本申请实施例中将一个任务的神经网络分解为多个基础的神经网络,在对神经网络进行训练时,可以基于训练样本分别对各个基础的神经网络进行训练,从而可以降低对神经网络进行训练的复杂度,各基础的神经网络可以具有较小的拓扑结构,进而可以降低神经网络的计算成本以及存储成本。
下述结合具体的实施例详见介绍基于神经网络的任务处理的方法,以及训练神经网络的方法,其中,
其中,实施例一主要介绍了基于神经网络基底对任务进行处理,即线上应用的过程;实施例二主要介绍了当检测到满足预设触发条件时,线上训练神经网络基底和/或各个神经网络基底分别对应的权重的过程;实施例三涉及一种训练神经网络的方法,即涉及线下对各个神经网络基底以及任务对应的神经网络基底权重信息进行训练的过程;具体详见下述实施例。
实施例一
本申请实施例提供了一种基于神经网络的任务处理的方法,该方法包括:获取任务对应的输入数据,并从任务对应的输入数据中分别提取各个神经网络基底对应的特征信息,例如,神经网络基底1对应的特征信息、神经网络基底2对应的特征信息…神经网络基底n对应的特征信息,并将提取到的特征信息分别输入至对应的神经网络基底,然后将各个神经网络基底的输出结果基于任务或任务的各子任务对应各神经网络基底的权重信息进行加权求和,得到任务或子任务对应的处理结果,例如,任务包含m个子任务时,将各个神经网络基底的输出结果基于子任务1对应各神经网络基底的权重信息进行加权求和,得到子任务1对应的处理结果;基于子任务2对应各神经网络基底的权重信息进行加权求和,得到子任务2对应的处理结果;…;基于子任务m对应各神经网络基底的权重信息进行加权求和,得到子任务m对应的处理结果,如图4a所示。
下面详细介绍基于神经网络基底的任务处理的方法,具体如图4b所示,其中,
步骤S401、获取任务对应的输入数据。
对于本申请实施例,基于任务不同,获取到的输入数据也不相同,并且获取输入数据的方式也不相同。例如,若任务为智能终端上的语音唤醒任务,则该任务对应的输入数据为通过智能终端上的麦克风收集到的语音数据;若任务为智能音箱的语音处理任务,则该任务对应的输入数据为通过智能音箱上的麦克风收集到的语音信号;若任务为图像识别任务,则该任务对应的输入数据为通过应用图像识别设备收集到的图像数据。
对于本申请实施例,任务不同,获取到任务对应的输入数据的类型数量也不相同。一个任务可能需要采集多种类型输入数据,另一个任务可能仅需要采集一种类型输入数据。例如,多模态的视频分析任务,需要采集到的输入数据包括:语音类型的输入数据、图像类型的输入数据以及文本类型的输入数据;语音唤醒任务,仅需要采集到的输入数据为语音类型的输入数据。
步骤S402、针对任务对应的各神经网络基底,分别从输入数据中提取对应的特征信息。
对于本申请实施例,若该任务为语音信号处理任务,则从输入数据中提取出的特征信息包括:MFCC特征信息、F-bank特征信息、CQCC特征信息、PLP特征信息、LPCC特征信息、拼接特征信息、其他语音特征信息中的至少一项。
对于本申请实施例,不同的神经网络基底输入的特征信息可以相同,也可以不相同。在本申请实施例中,各神经网络基底的输入可以为同一种特征,也可以为不同特征的拼接特征。在本申请实施例中不做限定。
例如,在语音信号处理任务中,各个神经网络基底输入的特征信息可以均为MFCC特征;也可以为:基于内容的神经网络基底输入的特征信息为MFCC特征信息、基于信道的神经网络基底输入的特征信息可以为CQCC特征信息、基于语音来源的神经网络基底输入的特征信息可以为MFCC特征信息、MFCC特征的一阶差分信息以及MFCC特征的二阶差分信息的拼接特征信息。
其中,特征提取的步骤也可以由各个神经网络基底来处理,例如,将输入数据分别输入到各个神经网络基底,各个神经网络基底分别提取相应的特征信息。
其中,可以从相同的输入数据中提取各神经网络基底对应的特征信息,也可以从不同的输入数据中提取各神经网络基底对应的特征信息。例如,对于语音信号处理任务,输入数据均为语音,那么可以从输入的语音数据中提取各神经网络基底对应的特征信息;对于情绪分析任务,输入数据包括文本信息、面部表情信息、语音信息,那么可以从文本信息中提取对应的特征信息输入到文本信息对应的神经网络基底,从面部表情中提取对应的特征信息输入到面部表情对应的神经网络基底,从语音信息中提取对应的特征信息输入到语音信息对应的神经网络基底。
对于本申请实施例,该神经网络基底可以为以下四类神经网络基底中的至少一项。在本申请实施例中,该四类神经网络基底包括:与输入数据的属性信息对应的神经网络基底;与任务的检测目标对应的神经网络基底;与任务的处理设备对应的神经网络基底;与任务的子任务对应的神经网络基底。
具体地,与输入数据的属性信息对应的神经网络中输入数据的属性信息包括:输入数据包含的信息元素、输入数据对应的语言信息、输入数据的模态信息中至少一项。
进一步地,任务不相同,该任务对应的输入数据也不相同,因此该任务对应的神经网络基底也不同。下面详见介绍几种任务分别对应的神经网络基底:
1)与输入数据包含的信息元素对应的神经网络基底:
若任务为语音信号处理任务,输入数据包含的信息元素包括语音内容、信道信息、语音来源属性中的至少一项,则任务对应的神经网络基底可以包括:语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一项。
对于本申请实施例,一段语音通常包括三个重要的元素:内容、信道以及语音来源属性,在本申请实施例中,内容即“该段语音说的是什么”;信道为语音从发声到被听到的媒介,例如声道、录音设备、噪声环境等;语音来源属性为该段语音的人的来源属性信息,例如,发生该段语音的人的性别、属性、年龄等。在本申请实施例中,语音信号处理任务通常可以分为:基于语音内容的任务、基于信道信息的任务、基于语音来源属性的任务。
例如,自动语音识别任务、关键词检测任务、语种识别任务均为基于语音内容的任务;降噪任务以及自动反欺骗任务均为基于语音信道信息的任务;说话人确认以及说话人识别均为基于语音来源属性的任务。因此语音信号处理任务对应的神经网络基底可以包括语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底。
2)与输入数据对应的语言信息对应的神经网络基底:
若任务需要对于多语言进行扩展,由于有些语言发音可能相似,或者具有相同的音素,因此可以对语言进行分类,并针对不同的语系建立神经网络基底,则该任务对应神经网络基底包括:拉丁语系对应的神经网络基底、汉藏语系对应的神经网络基底、日耳曼语系对应的神经网络基底。
其中,拉丁语系包括:法语、西班牙语、葡萄牙语、意大利语等;汉藏语系包括:汉语普通话、藏语、闽南语、缅甸语等;日耳曼语系包括:英语、德语、荷兰语等。
3)与任务的检测目标对应的神经网络基底:
若任务为智能驾驶任务(如自动驾驶任务),任务对应的检测目标包括对象、对象移动方向、对象移动速度中的至少一项,则任务对应的神经网络基底包括:对象识别对应的神经网络基底、对象移动方向对应的神经网络基底、以及对象移动速度对应的神经网络基底中的至少一项。
例如,在智能驾驶任务中,当检测到要进行右转弯时,需要检测汽车各方向的目标对象、目标对象移动方向以及目标对象移动速度,因此任务对应的神经网络基底包括:对象识别对应的神经网络基底、对象移动方向对应的神经网络基底、以及对象移动速度对应的神经网络基底。
4)与输入数据的模态信息对应的神经网络基底:
若任务为情绪分析任务,情感信息可以通过文本信息、说话人的面部表情和说话人的语音等多种模态来传递,通过文本,面部表情和语音对情感进行多模态分析能得到更优的分析结果。因此对于情绪分析任务,输入数据的模态信息包括文本信息、面部表情信息、语音信息中的至少一项,则任务对应的神经网络基底包括:文本信息对应的神经网络基底、面部表情信息对应的神经网络基底、以及语音信息对应的神经网络基底中的至少一项。
在本申请实施例中,文本信息对应的神经网络基底用于对文本信息进行处理;面部表情对应的神经网络基底用于对说话人的面部表情进行分析处理;语音信息对应的神经网络基底用于对说话人的语音信息进行分析处理。
若任务为视频分析任务,视频内容主要包括:音频数据、图像数据以及文本数据,即输入数据的模态信息包括文本信息、图像信息、语音信息中的至少一项,则任务对应的神经网络基底包括:文本信息对应的神经网络基底、图像信息对应的神经网络基底以及音频信息对应的神经网络基底中的至少一项。
在本申请实施例中,文本信息对应的神经网络基底用于对文本信息进行分析;图像信息对应的神经网络基底用于对图像信息进行分析;语音信息对应的神经网络用于对语音信息进行分析。
5)与任务的子任务对应的神经网络基底:
对于本申请实施例,任务对应的神经网络基底可以与包含的子任务相对应。在本申请实施例中,若任务为智能驾驶任务,任务的子任务包括目标检测、识别乘车人指令、验证乘车人身份中的至少一项,则任务对应的神经网络基底包括:目标检测对应的神经网络基底、乘车人指令识别对应的神经网络基底以及乘车人身份验证对应的神经网络基底中的至少一项。
6)与任务的处理设备对应的神经网络基底:
对于本申请实施例,任务对应的神经网络基底可以与执行该任务所需的设备相对应。在本申请实施例中,由于设备的内存和计算资源有限,一个复杂的任务可能需要多个设备协同完成,例如,有的设备(设备1)用于完成视觉任务,有的设备(设备2)用于完成语音指令,有的设备(设备3)负责各个设备间交互信令,因此该任务对应的神经网络基底包括:设备1对应的神经网络基底、设备2对应的神经网络基底以及设备3对应的神经网络基底。
对于本申请实施例,一般情况下,任务对应的神经网络基底的数目小于任务对应的子任务的数目。例如在包含5个子任务的语音唤醒任务中,根据语音处理信号处理的输入数据包含的信息元素,可以构建3个神经网络基底,分别为基于语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底,使用神经网络基底同样网络结构较现有技术的模型大小降低40%,计算量降低至少40%。
本申请实施例提出的任务处理的方法还可以应用到其他任意使用神经网络来处理任务的场景,比如增强现实(Augmented Reality,AR)场景、虚拟现实(Virtual Reality,VR)场景等。
此外,本申请实施例提出的任务处理的方法还可以应用在多任务并行处理、串行处理或协同处理的场景,在多任务或多设备的应用场景中,各任务之间可以相互独立或者具有一定的相关性。
在多任务处理场景中,在处理某个任务时,也可能会参考其他任务的处理结果,例如,语音唤醒任务和语音识别任务一般是串行处理的任务,语音唤醒的结果为成功唤醒后,语音识别任务对用户输入的语音进行识别处理,由于语音识别任务可能需要验证用户当前输入的语音和唤醒时输入的语音是否对应同一说话人,因此可能会参考到语音唤醒任务中说话人识别这一子任务的处理结果。
其中,多任务处理时,不同任务对应的神经网络基底可以相同,但是该任务对应各神经网络基底的权重信息不同,或者该任务的子任务对应各神经网络基底的权重信息不同。例如,用户想要使用终端上的智能语音功能,可能会先输入唤醒语音来启动该功能,语音唤醒任务对应的各神经网络基底根据输入的唤醒语音进行相应处理,再根据语音唤醒任务的各子任务分别对应各神经网络基底的权重信息,得到语音唤醒任务最终的唤醒结果,如果成功唤醒,那么用户可能后续再输入相应的控制语音来进行相应的语音操控,语音识别任务的神经网络基底和语音唤醒任务的神经网络基底可以相同,但是各子任务对应各神经网络基底的权重信息不同,各神经网络基底根据输入的控制语音进行相应处理,再根据语音识别任务的各子任务分别对应各神经网络基底的权重信息,得到语音识别任务最终的处理结果。
此外,不同任务对应的神经网络基底也可以不同,即针对不同任务分别构建并训练不同的神经网络基底。
本申请实施例中,任务对应的各神经网络基底可以满足如下至少一项:
不同神经网络基底的输入节点数目不同;
不同神经网络基底的输出节点数目不同;
任一神经网络基底对任一输入数据的处理结果与该神经网络基底对其他输入数据的处理结果的相关性,大于与其他神经网络基底对所述其他输入数据的处理结果的相关性;
不同任务对应相同神经网络基底的权重信息不同;
神经网络基底的数目小于任务包含的子任务的数目。
如果任务对应的各神经网络基底满足上述任一项,则可以表示任务对应的各神经网络基底之间相互独立,因此各个任务的输出与各任务对应的神经网络基底权重有关,不需要额外的冗余计算。
若任务对应n个神经网络基底,神经网络基底i、神经网络基底j分别为其中任一神经网络基底,神经网络基底i对输入数据x的处理结果为结果ix,神经网络基底i对输入数据y的处理结果为结果iy,神经网络基底j对输入数据y的处理结果为结果jy,可以确定结果ix和结果iy之间的相关性,以及结果ix和结果jy之间的相关性,如果结果ix和结果iy之间的相关性大于结果ix和结果jy之间的相关性,则任务对应的各神经网络基底之间可能相互独立。
其中,若为语音信号处理任务,则不同的输入数据可以为输入的不同的语音,例如用户前后分别输入的两句唤醒语音。
步骤S403、通过各神经网络基底,分别处理对应的特征信息,得到相应的处理结果。
步骤S404、针对各子任务,分别根据该子任务对应各神经网络基底的权重信息,对各神经网络基底的处理结果进行加权处理,得到该子任务对应的处理结果。
其中,上述加权处理可以包括加权求和或加权平均等处理。
步骤S405、根据各子任务分别对应的处理结果,确定任务的处理结果。
如果该任务并不包含子任务,则可以直接根据该任务对应各神经网络基底的权重信息,对各神经网络基底的处理结果进行加权处理,得到该任务对应的处理结果。
在一个可能的实现方式中,则步骤S405包括:基于语音唤醒任务的各子任务对应的处理结果,判断语音唤醒任务的处理结果是否为成功唤醒,例如,若语音唤醒任务的各子任务对应的处理结果,分别大于对应的阈值,则语音唤醒任务的处理结果为成功唤醒。
对于本申请实施例,若该任务为语音唤醒任务,语音唤醒任务的子任务包括自动反欺骗识别子任务、语音活动检测(Voice Activity Detection,VAD)子任务、语种识别子任务、关键词检测子任务以及说话人识别子任务,其中,若自动反欺骗识别子任务、VAD子任务、语种识别子任务、关键词检测子任务以及说话人识别子任务分别对应的处理结果大于对应的阈值,则该语音唤醒处理任务处理决策为成功唤醒。
实施例二
本申请实施例的另一种可能的实现方式,在实施例一的基础上,还包括实施例二所示的操作,其中,
该实施例中至少介绍了线上自适应学习(在线更新)的过程,其中线上自适应学习的过程包括:对神经网络基底进行更新和/或对任务对应的神经网络权重信息进行更新的过程,若任务包含子任务,则对任务对应的神经网络权重信息进行更新包括对至少一个子任务对应的神经网络基底权重信息进行更新,具体如下包括步骤S406(图中未标注),其中,步骤S406(图中未标注)可以在步骤S401、步骤S402、步骤S403、步骤404以及步骤S405中任一步骤之前执行,也可以在其中任一步骤之后执行,还可以与其中任一步骤同时执行。
线上自适应学习包括历史输入数据收集、历史输入数据特征提取、自适应训练神经网络基底、自适应训练任务或各个子任务对应的神经网络基底权重信息。其中,线上历史输入数据收集与历史输入数据特征提取与线下训练时的数据收集以及数据特征提取一致,具体详见实施例三。在此不再赘述。
其中线上自适应训练各个神经网络基底,以及线上训练任务或各个子任务对应的神经网络的权重信息,详见下文。
步骤S406、当检测到预设触发条件时,对至少一个神经网络基底和/或任务对应的神经网络基底权重信息进行更新。
其中,预设触发条件包括以下至少一项:
任务发生变更;任一子任务发生变更;设备的使用用户发生变更;任一神经网络基底的节点发生变更;获取到预设数量的输入数据;达到预设时间点。具体地,通过检测设备登录账号是否发生变更,以确定设备的使用用户是否发生变更;输入数据指的是设备使用用户输入的相关数据,例如,设备使用用户输入的语音唤醒内容。
其中,任务发生变更可以包括任务的增加了子任务,减少了子任务,任务的目标发生改变、任务对应的处理环境发生改变、任务的输入数据发生改变等。
子任务发生变更可以包括子任务的目标发生改变,子任务对应的处理环境发生改变、子任务的输入数据发生改变等,如语音唤醒任务增加了一个设定的标准唤醒词。
由于各个神经网络基底是相互独立的,因此可以对某个或者多个神经网络基底进行更新,如图4c所示,对神经网络基底2进行更新,得到更新后的神经网络基底2。
具体地,当检测到预设触发条件时,基于历史输入数据对至少一个神经网络基底和/或至少一个子任务对应的神经网络基底权重信息进行更新。
对于本申请实施例,基于第一历史输入数据对至少一个神经网络基底进行更新;和/或,基于第二历史输入数据对至少一个子任务对应的神经网络基底权重信息进行更新。
在本申请实施例中,触发条件不同,获取到的历史输入数据也不相同。例如,若触发条件为任一子任务发生变更,则历史输入数据可以为针对新任务的训练数据;若触发条件为设备的使用用户发生变更,则历史输入数据为收集到的新用户的相关输入数据;若触发条件为任一神经网络基底的节点发生变更,则历史输入数据为与变更节点相关的输入数据;若触发条件为获取到预设数量的输入数据,则历史输入数据为获取到的预设数量的输入数据。
对于本申请实施例,第一历史输入数据用于更新至少一个神经网络基底,第二历史输入数据用于更新至少一个子任务对应的神经网络基底权重信息,第一历史输入数据与第二历史输入数据可以相同,也可以不相同,第二历史输入数据可以包括第一历史输入数据作为训练样本经过神经网络基底后的输出数据(即处理结果)以及新收集的与触发条件相关的输入数据经过神经网络基底后的输出数据,也可以仅包括新收集的与触发条件相关的输入数据经过神经网络基底后的输出数据。在本申请实施例中不做限定。
具体地,步骤S406中对至少一个神经网络基底进行更新的方式,包括:步骤SA(图中未标注),其中,
步骤SA、基于更新操作对应的数据样本(即为自适应学习的训练样本),重新训练至少一个神经网络基底中各个神经网络基底。
其中,对任一神经网络基底的训练,包括:对任一神经网络基底各层分别对应的权重信息的训练以及对任一神经网络基底部分层分别对应的权重信息的训练。
其中,自适应学习的训练样本包括:训练数据以及第一历史输入数据中的至少一项。
对于本申请实施例,基于第一历史输入数据,重新训练至少一个神经网络基底中各个神经网络基底,之前可以获取预设时间段内的历史输入数据以及该输入数据对应的输出标签。在本申请实施例中,基于第一历史输入数据,重新训练至少一个神经网络基底中各个神经网络基底,可以包括:基于第一预设时间段内获取到历史输入数据以及该历史输入数据对应的输出标签,对当前的待更新的神经网络基底进行自适应更新。
对于本申请实施例,基于训练数据,重新训练至少一个神经网络基底中各个神经网络基底的方式为基于训练数据以及人工对训练数据标注输出标签,自适应更新当前待更新的神经网络基底,具体的更新过程与线下对神经网络进行训练的过程一致,在此不再赘述。
对于本申请实施例,在对任一神经网络基底进行更新时,可以对神经网络基底进行全局更新或者局部更新。在本申请实施例中,全局更新即对该神经网络基底中各层的权重进行训练;局部更新即更新神经网络基底的部分层或者部分节点。在本申请实施例中,在进行全局更新时,利用的自适应学习的训练样本为训练数据以及第一历史输入数据,或者仅利用第一历史输入数据;在进行局部更新时,可以仅利用第一历史输入数据,也可以利用训练数据。
例如,当设备的使用用户变更时,可以使用新的用户数据(用户的输入数据)对相关的神经网络基底进行个性化自适应学习,具体地,可以使用原来的神经网络基底模型为初始模型,使用新的用户数据迭代训练出新的模型(全局更新),也可以保留神经网络基底的前几层,更新某一层或者某些层(局部更新)。
又如,当收集到更多的输入数据时,可定期或者当收集的数据达到一定数量时,可对性能表现较差或者相关的神经网络基底进行个性化自适应学习,可以使用原来的模型为初始模型,使用新增的输入数据据迭代更新模型(全局更新),或者保留神经网络基底的部分层,更新某一层或者某些层(局部更新)。
又例如,若在语音唤醒任务中,需要更新语音唤醒的唤醒词,则将新的唤醒词的语音作为第一历史输入数据,重新训练基于内容的神经网络基底;若神经网络的节点需要增加或者减少(增加新的说话人时),基于语音来源属性的神经网络基底需要增加新的节点,增加的节点数与增加的说话人数相同,其中新增加的说话人语音为第一历史输入数据,可以基于新增加的说话人语音更新基于语音来源属性的神经网络基底的最后一层权重参数。
具体地,步骤SA包括步骤SA1(图中未标注)、步骤SA2(图中未标注)以及步骤SA3(图中未标注)中的至少一项,其中,
步骤SA1、将训练数据以及第一历史输入数据作为自适应学习的训练样本,重新训练待更新的神经网络基底各层分别对应的权重信息。
步骤SA2、将第一历史输入数据作为自适应学习的训练样本,重新训练待更新的神经网络基底各层分别对应的权重信息。
步骤SA3、将第一历史输入数据作为自适应学习的训练样本,重新训练待更新的神经网络基底的部分层分别对应的权重信息,和/或,将第一历史输入数据以及训练数据作为自适应学习的训练样本,重新训练待更新的神经网络基底的部分层分别对应的权重信息。
对于本申请实施例,当检测到预设触发条件时,可以仅对神经网络基底进行在线自适应学习,或者仅对各个子任务对应的权重信息进行在线自适应学习,或者在对神经网络基底进行自适应学习之后,对各个子任务对应的权重信息进行在线自适应学习。在此不再赘述。
下述详述对各个子任务对应的权重信息进行在线自适应学习的方法。
其中,对各个子任务对应的权重信息进行在线自适应学习的方式即为以子任务原有的权重信息(各个神经网络基底分别对应的权重信息(w1、w2、wn)为基准自适应更新各个神经网络基底分别对应的权重信息(w′1、w′2w′n),如图4d所示。
进一步地,步骤S406中对至少一个子任务对应的神经网络基底权重信息进行更新,包括:基于第二历史输入数据以及训练数据,对待更新的子任务对应的权重信息进行更新。
对于本申请实施例,在利用第二历史输入数据以及训练数据,并通过自适应更新的方式对待更新的子任务对应的权重信息进行更新的过程,与,之前均需要获取第二预设时间段内第二历史输入数据,以及第二历史输入数据经过待更新的子任务对应的权重信息之后的输出标签,然后基于第二预设时间段内第二历史输入数据以及经过待更新的子任务对应的权重信息之后的输出标签与训练数据以及训练数据对应的标签,对待更新的子任务对应的权重信息进行自适应更新。
对于本申请实施例,第二历史输入数据可以包括第一历史输入数据经过神经网络基底对应的输出数据,以及其它历史输入数据经过神经网络基底后的输出数据;第二历史输入数据也可以不包括第一历史数据经过神经网络基底对应的输出数据,在本申请实施例中不做限定。
其中,基于第二历史输入数据以及训练数据,对待更新的子任务对应的权重信息进行更新,具体包括步骤SB(图中未标注)以及步骤SC(图中未标注)中的至少一项,其中,
步骤SB、以待更新的子任务的权重信息为基础,利用第二历史输入数据,对待更新的子任务对应的权重信息进行更新。
其中,可以通过第二历史输入数据,对各神经网络基底进行一次迭代,得到子任务对应的更新后的权重信息,可以将该方式称为自适应更新方式;或者,也可以通过第二历史输入数据,对各神经网络基底进行多次迭代,得到子任务对应的更新后的权重信息,可以将该方式称为在线学习方式。
如图4e所示,历史输入数据通过已有的神经网络基底,得到各神经网络基底的输出,然后以已有的权重信息为基础,对权重信息进行更新得到更新后的权重信息。或者使用历史输入数据对各神经网络基底的输出重新训练得到新的权重信息(更新后的权重信息)。
对于本申请实施例,在线学习的方式即只要获取到数据即利用获取到的数据进行在线学习,自适应更新的方式为数据收集到一定数量时,利用收集到的一定数量的数据进行自适应更新。
步骤SD、利用第二历史输入数据,并通过迁移学习的方式对待更新的子任务对应的权重信息进行更新。
对于本申请实施例,利用第二历史输入数据,并通过迁移学习的方式对待更新的子任务对应的权重信息进行更新。如图4f所示,使用迁移学习的方法,通过学习已有数据(训练神经网络基底时的训练数据)和历史输入数据的差异,利用学习到的数据差异,已有数据和已有权重信息的关系,从而得到符合历史输入数据分布的权重信息(从而得到更新后的子任务对应的权重信息)。
下述通过三个实例,介绍线上自适应学习的过程,其中,
第一个实例:可对任务对应的权重信息或者任务中任一子任务对应的权重信息进行更新(个性化自适应学习):
用户可自定义唤醒词,例如用户可以使用“你好,小猪”,“唤醒,小兔子”等,而不是单一的使用固定词“hi XX”。在线上,当用户想要自定义唤醒词,需要先收集若干条该用户的自定义唤醒词语音,作为历史输入数据,提取特征,通过各神经网络基底,得到各神经网络基底的输出数据,然后使用该历史输入数据对基于内容的神经网络基底进行更新,也可以使用原唤醒词的基于内容的神经网络基底作为初始值,使用该历史输入数据更新各子任务对应的权重信息;用户还可以自定义多个唤醒词,分别对各唤醒词训练或者更新得到各子任务对应各唤醒词的权重信息;或者在特定环境(噪声环境)下进行自适应学习权重,例如如果用户是一个出租车司机,他会经常在出租车上使用唤醒功能,如果按照原来的神经网络基底及权重信息进行处理,由于噪音较大可能很难成功唤醒,因此可以在线自适应学习汽车环境下的神经网络基底权重信息。具体地,收集汽车环境下的语音输入数据,当检测到在该环境下收集到了足够的输入数据,可以使用迁移学习的方法更新权重,如图4g,通过学习已有注册语音和实时收集的历史输入语音的差异,利用学习到的数据差异,得到汽车环境下各子任务对应的权重信息,使得用户能够在汽车环境下使用唤醒词唤醒设备。***保留原始模型和新的模型,在实际使用中,根据***检测到的环境使用不同的模型;用户也可以在不同的环境下自定义不同的唤醒词;也可以对不同的唤醒词,赋予设备中的应用不同的访问权限,当使用某个唤醒词唤醒设备后,按照对应唤醒词的访问权限,可以正常使用或者限制访问权限。
第二个实例:使用输入数据对性能不好的任务对应的权重信息或者任务中任一子任务对应的权重信息在线更新或者定期对任务对应的权重信息或者任务中任一子任务对应的权重信息进行更新:
例如,当唤醒功能上线以后,可以获得更多的输入数据。使用输入数据训练模型往往能达到更好的性能。当收集到更多的真实输入数据,在真实输入数据达到一定的数据量或者到了某个固定的时间点,可以使用真实输入数据训练原始模型,如图4h。对收集到的输入数据(如用户语音信息)提取特征,通过各神经网络基底得到各基底的输出,然后按照上述方法训练任一子任务对应各个神经网络基底的权重信息,或者以原来的权重模型作为初始模型,使用历史输入数据更新权重模型,得到更新后的权重信息。
第三个实例:当某个子任务授权给他人时,可对子任务的权重信息进行更新(在线自适应学习):
例如,如果某人想把智能设备上的语音唤醒功能授权给他人使用,首先录制被授权人的注册语音,对被授权人的注册语音提取特征,通过神经网络基底得到各基底的输出,然后使用上述方式在线学习被授权人使用时的授权权重。在实际使用中,语音先通过已有的说话人识别子任务判断语音发音人是否有授权。如果判断有授权,使用授权权重来对神经网络基底的处理结果进行加权处理得到任务的处理结果,设备能够被被授权人唤醒,当收回授权时,使用原始权重来对神经网络基底的处理结果进行加权处理得到任务的处理结果,原被授权人的语音唤醒将会失效,如图4i所示。
实施例三
本实施例可以在实施例一至实施例二中任一实施例的基础上实现,还可以不基于上述实施例单独实现,若本实施例在实施例一至实施例二的基础上实现,则本实施例中的步骤S501-步骤S504可以在步骤S401之前执行,如图5a所示,其中,步骤S505-步骤S509所执行的操作与步骤S401-步骤S405所执行的操作相似,在此不再赘述;若本实施例不基于上述实施例单独实现,则步骤S501-S504的执行顺序如图5b所示,其中,
实施例三为线下对神经网络基底进行训练的过程,如图6所示,主要包括采集训练数据,对训练数据进行特征提取,基于提取到的特征对已构建的神经网络基底进行训练,然后对任务对应的神经网络基底权重进行训练,具体如下所示:
步骤S501、构建任务对应的各神经网络基底。
对于本申请实施例,神经网络基底其实也是神经网络,神经网络基底的数目与神经网络的数目一致,并且神经网络基底的类型与神经网络的类型一致。在本申请实施例中,神经网络的类型可以是循环神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional Neural Network,CNN)或者神经网络的其他变形网络。
具体地,步骤S501包括:基于任务的输入数据的属性信息、任务对应的检测目标、任务对应的处理设备以及任务对应的子任务中的至少一项,构建任务对应的各神经网络基底。
其中,任务的输入数据的属性信息包括:输入数据包含的信息元素、输入数据对应的语言信息、以及输入数据的模态信息中的至少一项。
具体地,若任务为语音信号处理任务,输入数据包含的信息元素包括语音内容、信道信息、语音来源属性中的至少一项,则构建任务对应的神经网络基底包括以下至少一项:语音内容对应的神经网络基底;信道信息对应的神经网络基底;语音来源属性对应的神经网络基底;
若任务为智能驾驶任务,任务对应的检测目标包括对象、对象移动方向、对象移动速度中的至少一项,则构建任务对应的神经网络基底包括以下至少一项:对象识别对应的神经网络基底;对象移动方向对应的神经网络基底;对象移动速度对应的神经网络基底;
若任务为情绪分析任务,输入数据的模态信息包括文本信息、面部表情信息、语音信息中的至少一项,则构建任务对应的神经网络基底包括以下至少一项:文本信息对应的神经网络基底;面部表情信息对应的神经网络基底;语音信息对应的神经网络基底;
若任务为视频分析任务,输入数据的模态信息包括文本信息、图像信息、语音信息中的至少一项,则构建任务对应的神经网络基底包括以下至少一项:文本信息对应的神经网络基底;图像信息对应的神经网络基底;音频信息对应的神经网络基底;
若任务为智能驾驶任务,任务的子任务包括目标检测、识别乘车人指令、验证乘车人身份中的至少一项,则构建任务对应的神经网络基底包括以下至少一项:目标检测对应的神经网络基底;乘车人指令识别对应的神经网络基底;乘车人身份验证对应的神经网络基底。
构建的神经网络基底根据具体的任务训练得到。神经网络基底训练的损失函数可以使用交叉熵、最小均方误差等常用方法或者根据任务定义,优化算法可以是梯度下降等常用方法。各神经网络基底的输出与各子任务、不同模态或者任务相关。以语音信号处理为例,基于语音内容的神经网络基底的输出可以是音素状态、音素、单词、短语、语种或者其他与语音内容相关的向量。基于信道信息的神经网络基底的输出可以是设备标签、噪声环境的向量化表示或者其他与信道相关的向量化表示。基于语音来源属性的神经网络基底输出可以是性别标签、说话人标签或者其他包含语音来源属性的向量化表示。
步骤S502、针对任务对应的各神经网络基底,分别从训练数据中提取对应的特征信息。
其中,特征提取的步骤也可以由各个神经网络基底来处理,例如,将训练数据分别输入到各个神经网络基底,各个神经网络基底分别提取相应的特征信息。
其中,可以从相同的训练数据中提取各神经网络基底对应的特征信息,也可以从不同的训练数据中提取各神经网络基底对应的特征信息。例如,对于语音信号处理任务,训练数据均为语音,那么可以从语音数据中提取各神经网络基底对应的特征信息;对于情绪分析任务,训练数据包括文本信息、面部表情信息、语音信息,那么可以从文本信息中提取对应的特征信息输入到文本信息对应的神经网络基底,从面部表情中提取对应的特征信息输入到面部表情对应的神经网络基底,从语音信息中提取对应的特征信息输入到语音信息对应的神经网络基底。
对于本申请实施例,若构建的任务对应的各神经网络基底分别为语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底,则从采集到的语音训练数据中提取语音内容特征信息、信道特征信息以及语音来源属性特征信息,如图7所示。
对于本申请实施例,若构建的任务对应的各神经网络基底分别为对象识别对应的神经网络基底;对象移动方向对应的神经网络基底;对象移动速度对应的神经网络基底,则从检测目标数据中提取用于对象识别的特征、用于识别对象移动方向的特征、用于识别对象移动速度的特征,如图8所示。
对于本申请实施例,若构建任务对应的神经网络基底包括以下至少一项:文本信息对应的神经网络基底;面部表情信息对应的神经网络基底;语音信息对应的神经网络基底,则从采集到的文本数据中提取文本数据特征,从采集到的面部表情数据中提取面部表情特征,从采集到的语音数据中提取语音数据特征,如图9所示。
对于本申请实施例,若构建任务对应的神经网络基底包括以下至少一项:文本信息对应的神经网络基底、图像信息对应的神经网络基底以及音频信息对应的神经网络基底,则分别从采集到的音频数据中提取音频数据特征,从采集到的图像数据中提取图像数据特征信息,从采集到的文本数据中采集文本数据特征信息,如图10所示。
对于本申请实施例,若任务对应的神经网络基底是基于该任务中所包含的目标任务进行创建的,该目标任务之间可以存在信息交叠,因此构建的神经网络基底包括基于目标任务1的神经网络基底、基于目标任务2的神经网络基底….基于目标任务n的神经网络基底,则分别从采集到的目标任务1的数据中提取目标任务1的特征信息、从采集到的目标任务2的数据中提取目标任务2的特征信息…从采集到的目标任务n的数据中提取目标任务n的特征信息,如图11a所示,其中,目标任务可以为子任务,也可以为多个子任务的组合,也可以为多个子任务中部分任务的组合,在此不做限定。在本申请实施例中,若目标任务分别为目标检测任务、识别乘车人指令、验证乘车人身份,则构建的神经网络基底分别为目标检测对应的神经网络基底、乘车人指令识别对应的神经网络基底、乘车人身份验证对应的神经网络基底,分别从采集到的目标检测任务数据中提取检测目标特征信息、从采集到的乘车人身份验证任务数据中提取乘车人身份特征信息,从采集到的乘车人指令数据中提取乘车人指令特征信息,如图11b所示。
对于本申请实施例,若一个任务需要利用多个设备协同执行,例如,一个任务需要设备1、设备2…设备n协同执行,则构建的神经网络基底可以为基于设备1的神经网络基底、基于设备2的神经网络2…基于设备n的神经网络基底,并且可以分别从由设备1采集到的数据中提取设备1对应的特征信息,从由设备2采集到的数据中提取设备2对应的特征信息,从由设备n采集到的数据中提取设备n对应的特征信息,如图12所示。
对于本申请实施例,若一项任务,某些设备完成基于视觉的任务,某些设备完成基于语音的任务,有些设备完成基于交互数据的任务,则可以构建基于图像的神经网络基底、基于语音的神经网络基底以及基于交互数据的神经网络基底,则可以分别从采集到的图像数据中提取图像数据特征,从采集到的语音数据中提取语音数据特征,从设备交互数据中提取设备交互特征信息,如图13所示。
步骤S503、针对各神经网络基底,分别基于该神经网络基底对应的特征信息,训练该神经网络基底。
具体地,如图7所示,基于提取到的语音内容特征信息对基于语音内容的神经网络基底进行训练,基于信道特征信息对基于信道的神经网络基底进行训练,基于语音来源属性特征信息对基于语音来源属性的神经网络基底进行训练。
具体地,如图8所示,基于提取到的用于对象识别的特征对对象识别对应的神经网络基底进行训练,基于提取到的用于识别对象移动方向的特征对对象移动方向对应的神经网络基底进行训练,基于提取到的用于识别对象移动速度的特征信息对对象移动速度对应的神经网络基底进行训练。
具体地,如图9所示,基于提取到的文本数据特征对文本信息对应的神经网络基底进行训练,基于面部表情特征对面部表情信息对应的神经网络基底进行训练,基于语音数据特征对语音信息对应的神经网络基底进行训练。
具体地,如图10所示,基于提取到的图像数据特征信息对图像信息对应的神经网络基底进行训练,基于提取到的音频数据特征对音频信息对应的神经网络基底进行训练,基于提取到的文本数据特征信息对文本信息对应的神经网络基底进行训练。
具体地,如图11a所示,基于目标任务1的特征信息对基于目标任务1的神经网络基底进行训练,基于目标任务2的特征信息对基于目标任务2的神经网络基底进行训练,基于目标任务n的特征信息对基于目标任务n的神经网络基底进行训练。在本申请实施例中,如11b所示,基于检测目标特征信息对目标检测对应的神经网络基底进行训练,基于乘车人身份特征信息对乘车人指令识别对应的神经网络基底进行训练,基于乘车人指令特征信息,对乘车人身份验证对应的神经网络基底进行训练。
具体地,如图12所示,基于设备1对应的特征信息对基于设备1的神经网络基底进行训练,基于设备2对应的特征信息对基于设备2的神经网络基底进行训练,…基于设备n对应的特征信息对基于设备n的神经网络基底进行训练。
如图13所示,基于图像数据特征对基于图像的神经网络基底进行训练,基于语音数据特征对基于语音的神经网络基底进行训练,基于设备交互特征信息对基于交互数据的神经网络基底进行训练。
进一步地,步骤S503之后还可以包括步骤SE和/或步骤SF,其中,步骤SE与步骤SF可以不相互依赖实现,也可以相互依赖实现。在本申请实施例不做限定。若步骤SE与步骤SF相互依赖实现,则步骤SE可以在步骤SF之前执行,还可以在步骤SF之后执行,还可以与步骤SF同时执行,步骤SE与步骤SF可以不相互依赖实现。具体执行顺序不做限定。
步骤SE、对训练得到的各神经网络基底进行压缩处理,得到各压缩后的神经网络基底。
对于本申请实施例,利用矩阵分解,例如奇异值分解(SingularValueDecomposition,SVD)或者其他神经网络压缩方法对训练得到的各神经网络进行压缩,从而得到神经网络基底的拓扑结构。在本申请实施例中,压缩后的神经网络基底为轻量级的神经网络基底。
其中,Mm×n为训练后的神经网络基底的权重参数,Um×r和VT r×n为压缩后的矩阵。SVD的方法即引入一个中间层,该中间层包含r个神经元,Um×r、表示前一层与中间层的权重参数,VT r×n表示中间层与下一层的权重参数,从而得到压缩后的神经网络基底模型。由此,模型参数可以由m×n压缩到r×(m+n),假如原始神经网络每个隐藏层使用同样的节点,通过该步模型参数可以将模型压缩为原始模型的10%。
对于本申请实施例,还可以通过如下方式,获得轻量级的神经网络基底:基于预设压缩比率构建神经网络基底;训练构建后的神经网络基底,得到轻量级的神经网络基底。在本申请实施例中,通过压缩比率定义轻量级的神经网络基底的拓扑结构;训练构建后的神经网络基底的方式详见步骤S502以及步骤S503,在此不在赘述。
步骤SF、基于训练数据,通过对抗学习的方式,对各神经网络基底进行训练,得到相互独立的各神经网络基底。
对于本申请实施例,通过训练相互独立的各神经网络基底,能够保证尽可能少的冗余运算,其中,训练相互独立的神经网络基底可以但不限于通过对抗学习的方式对各个神经网络基底进行训练得到的。
通过对抗学习的方式,对各神经网络基底进行训练,包括:
步骤一、确定当前待训练的神经网络基底;
步骤二、将当前待训练的神经网络基底作为生成模型,将其它待训练的神经网络基底作为判别模型,对当前待训练的神经网络基底进行训练;
步骤三、循环步骤一、步骤二直至各个神经网络基底全部训练完成。
多次迭代执行步骤一至步骤三,直至得到相互独立的各神经网络基底。
对当前待训练的神经网络基底进行训练包括:
通过网络训练损失值,训练当前待训练的压缩后的神经网络基底各层分别对应的权重信息,所述网络训练损失值为初始化损失与对抗损失之和;和/或,
通过初始化损失以及对抗损失分别训练当前待训练的压缩后的神经网络基底各层分别对应的权重信息。
其中,初始化损失为线下对神经网络基底进行训练时的损失值,对抗损失为对神经网络基底进行对抗训练时的损失。
具体地,训练相互独立的神经网络基底的方式如图15所示,对抗神经网络是在生成模型和判别模型的对抗过程中学习的,在训练相互独立的神经网络基底过程中,把当前待训练的神经网络作为生成模型,其它神经网络基底作为判别模型。网络训练的损失值(在图中用损失来表示)为初始化损失(训练损失)和对抗损失求和得到,使用得到的损失值训练神经网络各层的权重;也可以分别使用初始化损失(训练损失)和对抗损失分两次更新神经网络的权重;初始化损失(训练损失)由步骤S503训练神经网络基底过程中对应的损失,对抗损失在不同神经网络基底的对抗学习中得到的。
训练得到的各神经网络基底满足如下至少一项:
不同神经网络的输入节点数目不同;
不同神经网络的输出节点数目不同;
任一神经网络对任一输入数据的处理结果与该神经网络对其他输入数据的处理结果的相关性,大于与其他神经网络对所述其他输入数据的处理结果的相关性;
不同任务对应相同神经网络的权重信息不同;
神经网络的数目小于所述任务包含的子任务的数目。
步骤S504、根据训练得到的各神经网络基底,训练任务对应的神经网络基底权重信息。
其中,若任务不包括子任务,则任务对应的神经网络基底权重信息包括:该任务对应各神经网络基底的权重信息;
具体地,步骤S504包括:获取各神经网络基底对训练数据的处理结果,以及任务针对训练数据的处理结果;根据各神经网络基底的处理结果以及任务的处理结果,训练任务对应各神经网络基底的权重信息。
若任务包含至少两个子任务,则任务对应的神经网络基底权重信息包括:任一子任务对应的神经网络基底权重信息,即任一子任务对应各神经网络基底的权重信息。
具体地,步骤S504中训练任务的各子任务分别对应的神经网络基底权重信息的方式,包括:
针对任务的各子任务,分别执行步骤SH以及步骤SI,其中,
步骤SH、获取各神经网络基底对训练数据的处理结果,以及该子任务针对训练数据的处理结果。
步骤SI、根据各神经网络基底的处理结果以及该子任务的处理结果,训练该子任务对应各神经网络基底的权重信息。
对于本申请实施例,在对各个子任务分别对应的神经网络基底的权重信息进行训练的过程中,可以将对神经网络基底权重信息的训练可以看成是对一个不带隐含层的神经网络的训练,其中,在对神经网络进行训练过程中,各个神经网络基底的输出作为对各个子任务分别对应的神经网络基底的权重信息进行训练的输入样本数据,各个子任务分别对应的标签信息作为输出样本。
例如,在语音唤醒任务中自动反欺骗语音识别子任务中,自动反欺骗语音识别子任务的标签信息为正常语音或者非正常语音,可用0、1表示;VAD子任务的标签信息为噪声、语音、静音、音乐等;语种识别子任务对应的标签信息为不同语种的类别信息;关键词检测子任务的输出样本标签可以用不同的词、音素或者短语,说话人识别子任务对应的输出样本为说话人的类别标签。
具体地,如图7所示,将基于语音内容的神经网络基底、基于语音信道的神经网络基底、基于语音来源属性的神经网络基底分别对应的输出样本(即处理结果),作为训练权重的输入样本,分别对任务1对应的权重信息(子任务1对应各神经网络基底的权重信息)、子任务2对应的权重信息(子任务2对应各神经网络基底的权重信息)…子任务n对应的权重信息(子任务n对应各神经网络基底的权重信息)进行训练。
具体地,如图8所示,将对象识别对应的神经网络基底、对象移动方向对应的神经网络基底、对象移动速度对应的神经网络基底分别对应的输出样本,作为输入样本,分别对任务1对应的权重信息、子任务2对应的权重信息…子任务n对应的权重信息进行训练。
具体地,如图9所示,将文本信息对应的神经网络基底;面部表情信息对应的神经网络基底;语音信息对应的神经网络基底分别对应的输出样本,作为输入样本,分别对任务1对应的权重信息、子任务2对应的权重信息…子任务n对应的权重信息进行训练。
具体地,如图10所示,将文本信息对应的神经网络基底、图像信息对应的神经网络基底以及音频信息对应的神经网络基底分别对应的输出样本,作为输入样本,分别对任务1对应的权重信息、子任务2对应的权重信息…子任务n对应的权重信息进行训练。
具体地,如图11a所示,将目标任务1的神经网络基底、基于目标任务2的神经网络基底….基于目标任务n的神经网络基底分别对应的输出样本,作为输入样本,分别对任务1对应的权重信息、子任务2对应的权重信息…子任务m对应的权重信息进行训练。在本申请实施例中,如图11b所示,将目标检测对应的神经网络基底、乘车人指令识别对应的神经网络基底、乘车人身份验证对应的神经网络基底对应的神经网络基底分别对应的输出样本,作为输入样本,分别对任务1对应的权重信息、子任务2对应的权重信息…子任务n对应的权重信息进行训练。
具体地,如图12所示,将基于设备1的神经网络基底、基于设备2的神经网络…基于设备n的神经网络基底分别对应的输出样本,作为输入样本,分别对任务1对应的权重信息、子任务2对应的权重信息…子任务m对应的权重信息进行训练。
具体地,如图13所示,将基于图像的神经网络基底、基于语音的神经网络基底以及基于交互数据的神经网络基底分别对应的输出样本,作为输入样本,分别对任务1对应的权重信息、子任务2对应的权重信息…子任务n对应的权重信息进行训练。
对于本申请实施例,对各任务对应的神经网络基底权重信息进行训练可以使用有监督的方法进行多次迭代训练得到。具体如下所示:
(a)通过下述公式(4)训练各子任务对应各神经网络基底的权重信息,如图16所示。
其中,Ok为第k个子任务针对训练数据的处理结果;Bi为第i个神经网络基底针对训练数据的处理结果;Wik为第k个子任务对应第i个神经网络基底的权重,n为神经网络基底的数目。
(b)针对各个子任务对应输入数据均相同,例如语音唤醒任务中各个子任务的输入数据均为语音信号,神经网络基底一旦训练完成,则当有新的子任务时,不需要对神经网络基底进行训练,仅需要训练该新的子任务对应的权重信息即可,如图16所示。
现有技术中线下对神经网络进行训练时,针对一个任务(可能包含多个子任务),通过联合训练的方式对该任务对应的各个神经网络进行训练的,具体地,通过联合训练的方式对该任务对应的各个神经网络进行训练时,获取训练样本,针对第一子任务训练各个神经网络,然后基于针对第一子任务训练各个神经网络的输出样本作为训练样本,针对第二子任务训练各个神经网络…直至对各个子任务完成训练。
可以以联合训练语音唤醒任务对应的各个神经网络为例,介绍现有技术中线下对神经网络的训练流程,现有技术中的语音唤醒任务对应的神经网络包括:自动反欺骗神经网络(可选)、VAD神经网络、语种识别神经网络(可选)、关键词检测神经网络以及说话人识别神经网络;在训练时,针对自动反欺骗训练语音唤醒任务对应的神经网络,输出可以为反欺骗语音以及真实语音,然后以真实的语音作为训练样本,对语音唤醒任务对应的神经网络进行VAD训练,输出结果为语音、静音以及噪音,然后以语音作为训练样本,对语音唤醒任务对应的神经网络进行语种识别训练,得到属于各个语种分别对应的语音,然后以各个语种对应的语音作为训练样本,对语音唤醒任务对应的神经网络进行关键词检测以及说话人识别训练,以实现对语音唤醒神经网络的训练。
本申请实施例中将一个任务的神经网络分解为多个基础的神经网络,在对神经网络进行训练时,可以基于训练样本分别对各个基础的神经网络进行训练,从而可以降低对神经网络进行训练的复杂度,各基础的神经网络可以具有较小的拓扑结构,进而可以降低神经网络的计算成本以及存储成本。
实施例四
本实施例是以语音唤醒的场景,介绍基于神经网络进行任务处理的方法以及对神经网络进行训练的方法。
其中,本实施例中可以包括三个实例,第一个实例中主要介绍在语音唤醒的场景中基于神经网络进行任务处理的方法;第二个实例主要介绍在语音唤醒的场景中进行在线更新(线上自适应学习)的过程;第三个实例中主要介绍在语音唤醒的场景中线下训练神经网络的方法,具体如下所示:
第一个实例
该实例主要介绍在语音唤醒的场景中基于神经网络对语音唤醒任务进行处理的方式,其中,
步骤S601(图中未标注)、获取语音唤醒任务对应的输入数据。
对于本申请实施例,步骤S601可以为通过智能终端上的麦克风获取对应的语音类型的输入数据。
步骤S602(图中未标注)、针对语音唤醒任务对应的各神经网络基底,分别从输入数据中提取对应的特征信息。
其中,步骤S602中语音唤醒任务对应的各神经网络基底包括:语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一项。各神经网络基底之间可以相互独立。
其中,语音唤醒任务分别对应的各个神经网络基底输入的特征信息可以均为MFCC特征;也可以为:基于内容的神经网络基底输入的特征信息为MFCC特征信息、基于信道的神经网络基底输入的特征信息可以为CQCC特征信息、基于语音来源的神经网络基底输入的特征信息可以为MFCC特征信息、MFCC特征的一阶差分信息以及MFCC特征的二阶差分信息的拼接特征信息。
步骤S603(图中未标注)、通过语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一项,分别处理对应的特征信息,得到相应的处理结果。
对于本申请实施例,步骤S603中的分别处理的特征信息,详见步骤S602,在此不做赘述。
步骤S604(图中未标注)、针对各子任务,分别根据该子任务对应各神经网络基底的权重信息,对各神经网络基底的处理结果进行加权处理,得到该子任务对应的处理结果。
具体地,步骤S604中的各子任务包括语音唤醒任务的子任务,具体包括自动反欺骗识别子任务(可选)、VAD子任务、语种识别子任务(可选)、关键词检测子任务以及说话人识别子任务。
具体地,针对自动反欺骗识别子任务,根据自动反欺骗识别子任务对应各神经网络基底的权重信息,对语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底分别对应的处理结果进行加权处理,得到自动反欺骗识别子任务对应的处理结果。
具体地,针对VAD子任务,根据VAD子任务对应各神经网络基底的权重信息,对语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底分别对应的处理结果进行加权处理,得到VAD子任务对应的处理结果。
具体地,针对语种识别子任务,根据语种识别子任务对应各神经网络基底的权重信息,对语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底分别对应的处理结果进行加权处理,得到语种识别子任务对应的处理结果。
具体地,针对关键词检测子任务,根据关键词检测子任务对应各神经网络基底的权重信息,对语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底分别对应的处理结果进行加权处理,得到关键词检测子任务对应的处理结果。
具体地,针对说话人识别子任务,根据说话人识别子任务对应各神经网络基底的权重信息,对语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底分别对应的处理结果进行加权处理,得到说话人识别子任务对应的处理结果。
步骤S605(图中未标注)、根据语音唤醒任务中的各子任务分别对应的处理结果,确定语音唤醒任务的处理结果。
具体地,步骤S605包括:根据自动反欺骗识别子任务(可选)、VAD子任务、语种识别子任务(可选)、关键词检测子任务以及说话人识别子任务分别对应的处理结果大于对应的阈值,则该语音唤醒处理任务处理决策为成功唤醒。
第二个实例
该实例主要介绍在语音唤醒的场景下,进行在线更新(线上自适应学习)的过程,其中,该实例中至少介绍了线上自适应学习的过程,其中线上自适应学习的过程包括:对语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一个神经网络基底进行更新和/或对至少一个子任务(自动反欺骗识别子任务、VAD子任务、语种识别子任务、关键词检测子任务以及说话人识别子任务)对应的神经网络基底权重信息进行更新的过程,具体如下包括步骤S606(图中未标注),其中,步骤S606(图中未标注)可以在步骤S601、步骤S602、步骤S603、步骤604以及步骤S605中任一步骤之前执行,也可以在其中任一步骤之后执行,还可以与其中任一步骤同时执行。
其中线上自适应训练语音唤醒场景下的各个子任务对应的神经网络基底,以及线上训练各个子任务对应的神经网络权重信息,详见下文。
步骤S606、当检测到预设触发条件时,对至少一个神经网络基底(语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一个神经网络基底)和/或至少一个子任务(自动反欺骗识别子任务、VAD子任务、语种识别子任务、关键词检测子任务以及说话人识别子任务中至少一个子任务)对应的神经网络基底权重信息进行更新。
其中,预设触发条件包括以下至少一项:
任务发生变更;任务的任一子任务发生变更;设备的使用用户发生变更;任一神经网络基底的节点发生变更;获取到预设数量的输入数据;达到预设时间点。
具体地,通过检测设备登录账号是否发生变更,以确定设备的使用用户是否发生变更;获取到预设数量的输入数据中的输入数据指的是设备使用输入的相关数据,例如,设备使用用户输入的语音唤醒内容。
具体地,步骤S606中对至少一个神经网络基底进行更新的方式,包括:步骤Sa(图中未标注),其中,
步骤Sa、基于更新操作对应的数据样本,重新训练语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底。
具体地,步骤Sa包括步骤Sa1(图中未标注)、步骤Sa2(图中未标注)以及步骤Sa3(图中未标注)中的至少一项,其中,
步骤Sa1、将训练数据以及第三历史输入数据作为更新操作对应的数据样本,重新训练待更新的神经网络基底各层分别对应的权重信息。
对于本申请实施例,第三历史输入数据即为在语音唤醒场景下对应的第一历史输入数据,具体详见实施例二。在此不再赘述。
对于本申请实施例,待更新的神经网络基底可以为包括:语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一个神经网络基底。
步骤Sa2、将第三历史输入数据作为更新操作对应的数据样本,重新训练待更新的神经网络基底各层分别对应的权重信息。
步骤Sa3、将第三历史输入数据作为更新操作对应的数据样本,重新训练待更新的神经网络基底的部分层分别对应的权重信息。
进一步地,步骤S606中对自动反欺骗识别子任务、VAD子任务、语种识别子任务、关键词检测子任务以及说话人识别子任务中至少一个子任务对应的神经网络基底权重信息进行更新,包括步骤Sb(图中未标注)、步骤Sc(图中未标注)以及步骤Sd(图中未标注)中的至少一项,其中,
步骤Sb、以待更新的子任务的权重信息为基础,利用第四历史输入数据,并通过自适应更新的方式对待更新的子任务对应的权重信息进行更新。
对于本申请实施例,第四历史输入数据为语音唤醒场景下对应第二历史输入数据,具体详见实施例二,在此不在赘述。
步骤Sc、以待更新的子任务的权重信息基础,利用第四历史输入数据,并通过在线学习的方式,对待更新的子任务对应的权重信息进行更新。
步骤Sd、利用第四历史输入数据,并通过迁移学习的方式对待更新的子任务对应的权重信息进行更新。
第三个实例
该实例可以在本申请实施例四中第一个实例或者第二个实例的基础上实现,还可以不基于本申请实施例四中第一个实例或者第二个实例单独实现,若本实例在本申请实施例四中第一个实例或者第二个实例的基础上实现,则本实施例中的步骤S701-步骤S704可以在步骤S601之前执行,其中,步骤S705-步骤S709所执行的操作信息与步骤S601-步骤S605所执行的操作相似,在此不再赘述;若本实施例不基于本申请实施例四中第一个实例或者第二个实例单独实现。其中,
步骤S701、构建语音唤醒任务对应的语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一个神经网络基底。
步骤S702、针对语音内容对应的神经网络基底、信道信息对应的神经网络基底、语音来源属性对应的神经网络基底中的至少一个神经网络基底中的各个神经网络基底,分别从训练数据中提取对应的特征信息。
具体地,步骤S702中从训练数据中提取到的特征信息包括:从采集到的语音训练数据中提取语音内容特征信息、信道特征信息以及语音来源属性特征信息。
步骤S703、针对各神经网络基底,分别基于该神经网络基底对应的特征信息,训练该神经网络基底。
具体地,步骤S703包括:基于提取到的语音内容特征信息对基于语音内容的神经网络基底进行训练;基于信道特征信息对基于信道的神经网络基底进行训练;基于语音来源属性特征信息对基于语音来源属性的神经网络基底进行训练。
进一步地,步骤S703之后还可以包括步骤Se(图中未标注)和/或步骤Sf(图中未标注),其中,步骤Se与步骤Sf可以不相互依赖实现,也可以相互依赖实现。在本申请实施例不做限定。若步骤Se与步骤Sf相互依赖实现,则步骤Se可以在步骤Sf之前执行,还可以在步骤Sf之后执行,还可以与步骤Sf同时执行,步骤Se与步骤Sf可以不相互依赖实现。具体执行顺序不做限定。
步骤Se、对训练得到的各神经网络基底进行压缩处理,得到各压缩后的神经网络基底。
具体地,步骤Se包括以下至少一项:对训练后的基于语音内容的神经网络基底进行压缩处理,得到压缩处理后的基于语音内容的神经网络基底;对训练后的基于信道的神经网络基底进行压缩处理,得到压缩处理后的基于信道的神经网络基底;对训练后的基于语音来源属性的神经网络基底进行压缩处理,得到压缩处理后的基于语音来源属性的神经网络基底。
步骤Sf、基于训练数据,通过对抗学习的方式,对各神经网络基底进行训练,得到相互独立的各神经网络基底。
具体地,基于训练数据,通过对抗学习的方式,对基于语音内容的神经网络基底、基于信道的神经网络基底以及基于语音来源属性的神经网络基底进行训练,得到相互独立的各神经网络基底。
步骤S704、根据训练后的基于语音内容的神经网络基底、训练后的基于信道的神经网络基底、训练后的基于语音来源属性的神经网络基底,训练语音唤醒任务的各子任务分别对应的神经网络基底权重信息。
其中,任一子任务对应的神经网络基底权重信息包括:该子任务对应各神经网络基底的权重信息。
具体地,步骤S704中训练任务的各子任务分别对应的神经网络基底权重信息的方式,包括:
针对语音唤醒任务的各子任务,分别执行步骤Sh(图中未标注)以及步骤Si(图中未标注),其中,
步骤Sh、获取基于语音内容的神经网络基底、基于信道的神经网络基底以及基于语音来源属性的神经网络基底对训练数据的处理结果,以及该子任务针对训练数据的处理结果。
步骤Si、根据步骤Sh中获取到的各神经网络基底的处理结果以及该子任务的处理结果,训练该子任务对应各神经网络基底的权重信息。
例如,在语音唤醒任务中自动反欺骗语音识别子任务中,自动反欺骗语音识别子任务的标签信息为正常语音或者非正常语音,可用0、1表示;语音激活检测(VoiceActivity Detection,VAD)子任务的标签信息为噪声、语音、静音、音乐等;语种识别子任务对应的标签信息为不同语种的类别信息;关键词检测子任务的输出样本标签可以用不同的词、音素或者短语,说话人识别子任务对应的输出样本为说话人的类别标签。
实施例五
本发明实施例提供了一种电子设备,适用于上述方法实施例,如图17所示,包括:处理器1701;以及存储器1702,配置用于存储机器可读指令,上述指令在由上述处理器执行时,使得上述处理器执行上述方法。
图18示意性示出了根据本公开实施例的可用于实现本公开的电子设备的计算***的框图。如图18所示,计算***1800包括处理器1810、计算机可读存储介质1820、输出接口1830、以及输入接口1840。该计算***1800可以执行上面参考图2、图3、图4b、图5a、图5b描述的方法,以实现基于通过任务对应的各神经网络基底,对输入数据进行相应处理,并基于各神经网络基底的处理结果以及任务的各子任务分别对应的神经网络基底权重信息,确定各子任务分别对应的处理结果,然后根据各子任务分别对应的处理结果,确定任务的处理结果;或者以实现训练各个神经网络基底以及各个神经网络基底分别对应的权重信息。具体地,处理器1510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1810还可以包括用于缓存用途的板载存储器。处理器1810可以是用于执行参考图2、图3、图4b、图5a、图5b描述的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质1820,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质1820可以包括计算机程序1821,该计算机程序1821可以包括代码/计算机可执行指令,其在由处理器1810执行时使得处理器1810执行例如上面结合图2、图3、图4b、图5a、图5b所描述的方法流程及其任何变形。计算机程序1821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1821中的代码可以包括一个或多个程序模块,例如包括1821A、模块1821B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1810执行时,使得处理器1810可以执行例如上面结合图2、图3、图4b、图5a、图5b所描述的方法流程及其任何变形。
根据本公开的实施例,处理器1810可以使用输出接口1830和输入接口1840来执行上面结合图2、图3、图4b、图5a、图5b所描述的方法流程及其任何变形。
实施例六
本申请实施例提供了一种基于神经网络的任务处理的装置,如图19所示,该基于神经网络的任务处理的装置1900包括:获取模块1901、处理模块1902、确定模块1903,其中,
获取模块1901,用于获取任务对应的输入数据。
处理模块1902,用于通过任务对应的各神经网络,分别对获取模块1901获取的输入数据进行相应处理。
确定模块1903,用于基于任务对应的神经网络权重信息以及处理模块1902处理得到的各神经网络的处理结果,确定任务对应的处理结果。
本申请实施例提供了一种基于神经网络的任务处理的装置,与现有技术相比,本申请实施例获取任务对应的输入数据,并通过任务对应的各神经网络,分别对上述输入数据进行相应处理,然后基于各神经网络的处理结果以及任务对应的神经网络权重信息,确定任务对应的处理结果。即本申请实施例中将一个任务对应神经网络分解为多个基础的神经网络,各基础的神经网络可以具有较小的拓扑结构,在进行任务处理时,并不是按照各子任务的执行顺序,依次利用各子任务对应的神经网络来进行相应处理,而是各神经网络对任务的输入数据分别进行处理,任务的输出与对应的神经网络权重有关,从而可以减小神经网络的计算成本以及存储成本,进而可以降低对神经网络计算的复杂度。
本申请实施例适用于上述方法实施例,在此不再赘述。
实施例七
本申请实施例提供了一种训练神经网络的装置,如图20所示,该训练神经网络的装置2000包括:构建模块2001、训练模块2002,其中,
构建模块2001,用于构建任务对应的各神经网络;
训练模块2002,用于基于任务对应的训练数据,分别训练构建模块2001构建的各神经网络;
训练模块2002,还用于根据训练得到的各神经网络,训练任务对应的神经网络权重信息。
本申请实施例中提供了一种训练神经网络的装置,与现有技术相比,本申请实施例基于任务对应的训练数据,分别训练针对该任务构建的各神经网络,然后根据训练得到的各神经网络,训练该任务对应的神经网络权重信息。即本申请实施例中将一个任务的神经网络分解为多个基础的神经网络,在对神经网络进行训练时,可以基于训练样本分别对各个基础的神经网络进行训练,从而可以降低对神经网络进行训练的复杂度,各基础的神经网络可以具有较小的拓扑结构,进而可以降低神经网络的计算成本以及存储成本。
本申请实施例适用于上述方法实施例,在此不在赘述。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (27)
1.一种基于神经网络的任务处理的方法,其特征在于,包括:
获取任务对应的输入数据;
通过所述任务对应的各神经网络,分别对所述输入数据进行相应处理;
基于所述各神经网络的处理结果以及所述任务对应的神经网络权重信息,确定所述任务对应的处理结果。
2.根据权利要求1所述的方法,其特征在于,通过所述任务对应的各神经网络,对所述输入数据进行相应处理,包括:
针对所述任务对应的各神经网络,分别从所述输入数据中提取对应的特征信息;
通过各神经网络,分别处理对应的特征信息,得到相应的处理结果。
3.根据权利要求2所述的方法,其特征在于,所述任务为语音信号处理任务;
从所述输入数据中提取出的特征信息包括以下至少一项:梅尔频率倒谱系数MFCC特征信息;梅尔标度滤波器组F-bank特征信息;常数Q值倒谱系数CQCC特征信息;感知线性预测系数PLP特征信息;线性预测倒谱系数LPCC特征信息;拼接特征信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述神经网络包括以下至少一项:
与输入数据的属性信息对应的神经网络;
与所述任务的检测目标对应的神经网络;
与所述任务的处理设备对应的神经网络;
与所述任务的子任务对应的神经网络。
5.根据权利要求4所述的方法,其特征在于,所述输入数据的属性信息包括:输入数据包含的信息元素、输入数据对应的语言信息、输入数据的模态信息。
6.根据权利要求5所述的方法,其特征在于,若所述任务为语音信号处理任务,则所述任务对应的神经网络包括以下至少一项:语音内容对应的神经网络;信道信息对应的神经网络;语音来源属性对应的神经网络;
或者,
若所述任务为智能驾驶任务,则所述任务对应的神经网络包括以下至少一项:对象识别对应的神经网络;对象移动方向对应的神经网络;对象移动速度对应的神经网络;
或者,
若所述任务为情绪分析任务,则所述任务对应的神经网络包括以下至少一项:文本信息对应的神经网络;面部表情信息对应的神经网络;语音信息对应的神经网络;
或者,
若所述任务为视频分析任务,则所述任务对应的神经网络包括以下至少一项:文本信息对应的神经网络;图像信息对应的神经网络;音频信息对应的神经网络;
或者,
若所述任务为智能驾驶任务,则所述任务对应的神经网络包括以下至少一项:目标检测对应的神经网络;乘车人指令识别对应的神经网络;乘车人身份验证对应的神经网络。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述任务对应的神经网络权重信息包括:所述任务对应各神经网络的权重信息;
所述确定所述任务对应的处理结果,包括:
根据所述任务对应各神经网络的权重信息,对各神经网络的处理结果进行加权处理,得到所述任务对应的处理结果。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述任务包含至少两个子任务,所述任务对应的神经网络权重信息包括:任一子任务对应各神经网络的权重信息;
所述确定所述任务对应的处理结果,包括:
针对各子任务,分别根据该子任务对应各神经网络的权重信息,对各神经网络的处理结果进行加权处理,得到该子任务对应的处理结果;
根据各子任务的处理结果,确定所述任务的处理结果。
9.根据权利要求8所述的方法,其特征在于,所述任务为语音唤醒任务;
根据各子任务的处理结果,确定所述任务的处理结果,包括:
基于所述语音唤醒任务的各子任务对应的处理结果,判断所述语音唤醒任务的处理结果是否为成功唤醒。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
当检测到预设触发条件时,对至少一个神经网络和/或所述任务对应的神经网络权重信息进行更新;
所述预设触发条件包括以下至少一项:
所述任务发生变更;所述任务的任一子任务发生变更;设备的使用用户发生变更;任一神经网络的节点发生变更;获取到预设数量的输入数据;达到预设时间点。
11.根据权利要求10所述的方法,其特征在于,对至少一个神经网络进行更新,包括:
基于更新操作对应的数据样本,训练所述至少一个神经网络中的各个神经网络;
对任一神经网络的训练,包括:对任一神经网络各层分别对应的权重信息的训练以及对任一神经网络部分层分别对应的权重信息的训练;
所述更新操作对应的数据样本包括以下至少一项:
训练数据;第一历史输入数据。
12.根据权利要求10或11所述的方法,其特征在于,对所述任务对应的神经网络权重信息进行更新,包括:
基于第二历史输入数据以及训练数据,对所述任务对应的神经网络权重信息进行更新。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述任务对应的各神经网络满足如下至少一项:
不同神经网络的输入节点数目不同;
不同神经网络的输出节点数目不同;
任一神经网络对任一输入数据的处理结果与该神经网络对其他输入数据的处理结果的相关性,大于与其他神经网络对所述其他输入数据的处理结果的相关性;
不同任务对应相同神经网络的权重信息不同;
神经网络的数目小于所述任务包含的子任务的数目。
14.一种训练神经网络的方法,其特征在于,包括:
构建任务对应的各神经网络;
基于所述任务对应的训练数据,分别训练构建的各神经网络;
根据训练得到的各神经网络,训练所述任务对应的神经网络权重信息。
15.根据权利要求14所述的方法,其特征在于,基于以下至少一项信息,构建任务对应的各神经网络:
所述任务的输入数据的属性信息;
所述任务对应的检测目标;
所述任务对应的处理设备;
所述任务对应的子任务。
16.根据权利要求15所述的方法,其特征在于,所述任务的输入数据的属性信息包括:输入数据包含的信息元素、输入数据对应的语言信息、输入数据的模态信息。
17.根据权利要求14-16任一项所述的方法,其特征在于,训练构建的各神经网络后,还包括:
对训练得到的各神经网络进行压缩处理,得到各压缩后的神经网络。
18.根据权利要求14-17任一项所述的方法,其特征在于,训练构建的各神经网络后,还包括:
基于所述训练数据,通过对抗学习的方式,对各神经网络进行训练。
19.根据权利要求18所述的方法,其特征在于,通过对抗学习的方式,对各神经网络进行训练,包括:
将当前待训练的神经网络作为生成模型,将其它待训练的神经网络作为判别模型,对所述当前待训练的神经网络进行训练。
20.根据权利要求19所述的方法,其特征在于,对所述当前待训练的神经网络进行训练,包括以下至少一项:
通过网络训练损失值,训练所述当前待训练的神经网络各层分别对应的权重信息,所述网络训练损失值为训练损失与对抗损失之和;
通过训练损失以及对抗损失分别训练所述当前待训练的神经网络各层分别对应的权重信息。
21.根据权利要求14-20任一项所述的方法,其特征在于,所述任务对应的神经网络权重信息包括所述任务对应各神经网络的权重信息。
22.根据权利要求14-20任一项所述的方法,其特征在于,所述任务包含至少两个子任务,所述任务对应的神经网络权重信息包括:任一子任务对应各神经网络的权重信息。
23.根据权利要求14-22任一项所述的方法,其特征在于,训练所述任务对应的神经网络权重信息,包括:
获取各神经网络对所述训练数据的处理结果,以及所述任务针对所述训练数据的处理结果;根据各神经网络的处理结果以及所述任务的处理结果,训练所述任务对应的神经网络权重信息。
24.一种基于神经网络的任务处理的装置,其特征在于,包括:
获取模块,用于获取任务对应的输入数据;
处理模块,用于通过所述任务对应的各神经网络,分别对所述获取模块获取的所述输入数据进行相应处理;
确定模块,用于基于所述各神经网络的处理结果以及所述任务对应的神经网络权重信息,确定所述任务对应的处理结果。
25.一种训练神经网络的装置,其特征在于,包括:
构建模块,用于构建任务对应的各神经网络;
训练模块,用于基于所述任务对应的训练数据,分别训练所述构建模块构建的各神经网络;
所述训练模块,还用于根据训练得到的各神经网络,训练所述任务对应的神经网络权重信息。
26.一种电子设备,包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行权利要求1~23中任一项所述的方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-23任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810822023.9A CN110751260A (zh) | 2018-07-24 | 2018-07-24 | 电子设备、任务处理的方法以及训练神经网络的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810822023.9A CN110751260A (zh) | 2018-07-24 | 2018-07-24 | 电子设备、任务处理的方法以及训练神经网络的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110751260A true CN110751260A (zh) | 2020-02-04 |
Family
ID=69275605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810822023.9A Pending CN110751260A (zh) | 2018-07-24 | 2018-07-24 | 电子设备、任务处理的方法以及训练神经网络的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110751260A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111599382A (zh) * | 2020-07-27 | 2020-08-28 | 深圳市声扬科技有限公司 | 语音分析方法、装置、计算机设备和存储介质 |
CN111813931A (zh) * | 2020-06-16 | 2020-10-23 | 清华大学 | 事件检测模型的构建方法、装置、电子设备及存储介质 |
CN112364708A (zh) * | 2020-10-20 | 2021-02-12 | 西安理工大学 | 基于知识蒸馏与对抗学习的多模态人体动作识别方法 |
CN112885328A (zh) * | 2021-01-22 | 2021-06-01 | 华为技术有限公司 | 一种文本数据处理方法及装置 |
CN113256593A (zh) * | 2021-06-07 | 2021-08-13 | 四川国路安数据技术有限公司 | 基于任务自适应神经网络架构搜索的肿瘤图像检测方法 |
CN114842440A (zh) * | 2022-06-30 | 2022-08-02 | 小米汽车科技有限公司 | 自动驾驶环境感知方法、装置、车辆及可读存储介质 |
CN117392986A (zh) * | 2023-12-11 | 2024-01-12 | 杭州网易云音乐科技有限公司 | 声纹处理方法、装置、设备、存储介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1261193A (zh) * | 1999-12-03 | 2000-07-26 | 中国科学院上海生理研究所 | 基本人工神经网络的训练法及自动训练人工神经网络的装置 |
US20070233477A1 (en) * | 2006-03-30 | 2007-10-04 | Infima Ltd. | Lossless Data Compression Using Adaptive Context Modeling |
CN103295575A (zh) * | 2012-02-27 | 2013-09-11 | 北京三星通信技术研究有限公司 | 一种语音识别方法和客户端 |
CN107368798A (zh) * | 2017-07-07 | 2017-11-21 | 四川大学 | 一种基于深度学习的人群情绪识别方法 |
CN107977671A (zh) * | 2017-10-27 | 2018-05-01 | 浙江工业大学 | 一种基于多任务卷积神经网络的舌象分类方法 |
-
2018
- 2018-07-24 CN CN201810822023.9A patent/CN110751260A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1261193A (zh) * | 1999-12-03 | 2000-07-26 | 中国科学院上海生理研究所 | 基本人工神经网络的训练法及自动训练人工神经网络的装置 |
US20070233477A1 (en) * | 2006-03-30 | 2007-10-04 | Infima Ltd. | Lossless Data Compression Using Adaptive Context Modeling |
CN103295575A (zh) * | 2012-02-27 | 2013-09-11 | 北京三星通信技术研究有限公司 | 一种语音识别方法和客户端 |
CN107368798A (zh) * | 2017-07-07 | 2017-11-21 | 四川大学 | 一种基于深度学习的人群情绪识别方法 |
CN107977671A (zh) * | 2017-10-27 | 2018-05-01 | 浙江工业大学 | 一种基于多任务卷积神经网络的舌象分类方法 |
Non-Patent Citations (2)
Title |
---|
MRIDULA VERMA, ET AL: "A new accelerated proximal gradient technique for regularized multitask learning framework", 《PATTERN RECOGNITION LETTERS》, vol. 95, pages 98 - 103, XP085151401, DOI: 10.1016/j.patrec.2017.06.013 * |
王建祥: "基于深度神经网络的端到端语篇解析", 《中国优秀硕士学位论文全文数据库》, vol. 2018, no. 01, pages 138 - 2172 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813931A (zh) * | 2020-06-16 | 2020-10-23 | 清华大学 | 事件检测模型的构建方法、装置、电子设备及存储介质 |
CN111813931B (zh) * | 2020-06-16 | 2021-03-16 | 清华大学 | 事件检测模型的构建方法、装置、电子设备及存储介质 |
CN111599382A (zh) * | 2020-07-27 | 2020-08-28 | 深圳市声扬科技有限公司 | 语音分析方法、装置、计算机设备和存储介质 |
CN111599382B (zh) * | 2020-07-27 | 2020-10-27 | 深圳市声扬科技有限公司 | 语音分析方法、装置、计算机设备和存储介质 |
CN112364708A (zh) * | 2020-10-20 | 2021-02-12 | 西安理工大学 | 基于知识蒸馏与对抗学习的多模态人体动作识别方法 |
CN112364708B (zh) * | 2020-10-20 | 2024-02-06 | 西安理工大学 | 基于知识蒸馏与对抗学习的多模态人体动作识别方法 |
CN112885328A (zh) * | 2021-01-22 | 2021-06-01 | 华为技术有限公司 | 一种文本数据处理方法及装置 |
CN113256593A (zh) * | 2021-06-07 | 2021-08-13 | 四川国路安数据技术有限公司 | 基于任务自适应神经网络架构搜索的肿瘤图像检测方法 |
CN114842440A (zh) * | 2022-06-30 | 2022-08-02 | 小米汽车科技有限公司 | 自动驾驶环境感知方法、装置、车辆及可读存储介质 |
CN114842440B (zh) * | 2022-06-30 | 2022-09-09 | 小米汽车科技有限公司 | 自动驾驶环境感知方法、装置、车辆及可读存储介质 |
CN117392986A (zh) * | 2023-12-11 | 2024-01-12 | 杭州网易云音乐科技有限公司 | 声纹处理方法、装置、设备、存储介质和程序产品 |
CN117392986B (zh) * | 2023-12-11 | 2024-05-14 | 杭州网易云音乐科技有限公司 | 声纹处理方法、装置、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110751260A (zh) | 电子设备、任务处理的方法以及训练神经网络的方法 | |
Gelly et al. | Optimization of RNN-based speech activity detection | |
CN110444195B (zh) | 语音关键词的识别方法和装置 | |
CN111432989B (zh) | 人工增强基于云的机器人智能框架及相关方法 | |
KR102305584B1 (ko) | 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치 | |
EP2973546B1 (en) | Multilingual deep neural network | |
US9460711B1 (en) | Multilingual, acoustic deep neural networks | |
JP6951712B2 (ja) | 対話装置、対話システム、対話方法、およびプログラム | |
CN114694076A (zh) | 基于多任务学习与层叠跨模态融合的多模态情感分析方法 | |
US11404066B2 (en) | Device and method for providing voice recognition service based on artificial intelligence | |
CN112216307B (zh) | 语音情感识别方法以及装置 | |
CN107112005A (zh) | 深度神经支持向量机 | |
US10825445B2 (en) | Method and apparatus for training acoustic model | |
EP3772059B1 (en) | Decoding method and apparatus in artificial neural network for speech recognition | |
CN113539242A (zh) | 语音识别方法、装置、计算机设备及存储介质 | |
CN114596844B (zh) | 声学模型的训练方法、语音识别方法及相关设备 | |
CN112967739B (zh) | 一种基于长短期记忆网络的语音端点检测方法及*** | |
KR20220130565A (ko) | 키워드 검출 방법 및 장치 | |
KR20190136578A (ko) | 음성 인식 방법 및 장치 | |
CN111862952A (zh) | 一种去混响模型训练方法及装置 | |
Mohamed et al. | HMM/ANN hybrid model for continuous Malayalam speech recognition | |
EP4030352A1 (en) | Task-specific text generation based on multimodal inputs | |
JP7170594B2 (ja) | 同一事象に対して時系列に発生した異なるメディアデータを統合した学習モデルを構築するプログラム、装置及び方法 | |
CN114121018A (zh) | 语音文档分类方法、***、设备及存储介质 | |
CN114333790A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |