任务数据的处理方法、装置、设备和存储介质与流程

文档序号:15689238发布日期:2018-10-16 21:42阅读:168来源:国知局

本发明涉及神经网络领域,特别涉及一种任务数据的处理方法、装置、设备和存储介质。



背景技术:

随着神经网络技术的发展,神经网络被应用到越来越多的领域,例如运用神经网络进行垃圾邮件过滤、网页检索、图像识别以及语音识别等。其中,神经网络可分为单任务学习网络与多任务学习网络。

针对多任务学习网络,传统技术在训练得到该多任务学习网络时,经常采用隐藏层的硬参数(hard)或软参数(soft)共享的方式进行构建。以硬参数共享方式为例,其在具体构建多任务学习网络时,是基于相应的训练数据以及初始多任务神经网络,通过调整神经网络中相应神经元的权重值和偏置值,得到多任务学习网络,从而利用该多任务学习网络进行多任务的图像识别等任务。

但是,采用传统技术得到的多任务学习网络,在处理多个任务数据时经常存在过拟合的情况,导致任务数据处理精度不高,处理效率低下。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高任务数据处理精度以及处理效率的任务数据的处理方法、装置、设备和存储介质。

第一方面,本发明实施例提供一种任务数据的处理方法,所述方法包括:

获取待处理的任务数据;

将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据;

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;

所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

第二方面,本发明实施例提供一种任务数据的处理装置,所述装置包括:

获取模块,用于获取待处理的任务数据;

确定模块,用于将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据;

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;

所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取待处理的任务数据;

将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据;

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;

所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取待处理的任务数据;

将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据;

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;

所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

上述任务数据的处理方法、装置、计算机设备和存储介质,计算机设备获取待处理的任务数据后,将待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据。其中,多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络。在本实施例中,由于多任务学习网络是基于已经训练完成的多个目标单任务学习网络以及第一训练数据集训练得到,也就是说,本实施例中的多任务学习网络一方面是根据已经能对第二训练数据集进行准确输出的目标单任务学习网络的构建,另一方面通过第一训练数据集进行再次训练,即通过第一训练数据集进行再次优化得到,因而,本实施例中多任务学习网络可对待处理数据更加准确的输出,从而降低处理待处理任务数据时存在的过拟合概率。进一步的,将待处理的任务数据输入至本实施例中的多任务学习网络中时,可提高待处理任务数据的处理精度以及处理效率。

附图说明

图1为一个实施例提供的神经网络的结构示意图;

图2为一个实施例提供的任务数据的处理方法的流程示意图;

图3为另一个实施例提供的任务数据的处理方法的流程示意图;

图3a为又一个实施例提供的任务数据的处理方法的流程示意图;

图3b为又一个实施例提供的任务数据的处理方法的流程示意图;

图4为又一个实施例提供的任务数据的处理方法的流程示意图;

图5为一个实施例提供的初始多任务学习网络的结构示意图;

图6为又一个实施例提供的任务数据的处理方法的流程示意图;

图7为又一个实施例提供的任务数据的处理方法的流程示意图;

图8为一个实施例提供的第一学习网络的结构示意图;

图9为又一个实施例提供的任务数据的处理方法的流程示意图;

图10为又一个实施例提供的任务数据的处理方法的流程示意图;

图11为一个实施例提供的任务数据的处理装置的结构示意图;

图12为另一个实施例提供的任务数据的处理装置的结构示意图;

图13为又一个实施例提供的任务数据的处理装置的结构示意图;

图14为又一个实施例提供的任务数据的处理装置的结构示意图;

图15为又一个实施例提供的任务数据的处理装置的结构示意图;

图16为又一个实施例提供的任务数据的处理装置的结构示意图;

图17为又一个实施例提供的任务数据的处理装置的结构示意图。

具体实施方式

随着神经网络技术的发展,神经网络被应用到越来越多的领域,例如运用神经网络进行垃圾邮件过滤、网页检索、图像识别以及语音识别等。其中,神经网络是一种运算模型,如图1所示的神经网络的结构示意图,一个神经网络由多层大量的神经元之间相互联接构成,每个神经元具有一种神经元函数,并且每层上的神经元函数类型相同,每两个神经元间的连接线都对应不同的加权值和偏重值,分别称之为权重和偏置(相当于人工神经网络的记忆),后一层中的一个神经元的输入由前一层神经元的输出决定。其中,同一层的神经元组成的层称之为一个任务处理层。图1以一个1输入、4输出的两层的神经网络结构示出。

针对神经网络的输入和输出对应关系,将神经网络划分为多任务学习网络和单任务学习网络。具体的,对于一个神经网络来说,针对一个输入仅仅有一个输出,则将该神经网络称之为单任务学习网络。对应的,对于一个神经网络来说,针对一个输入有多个输出,则将该神经网络称之为多任务学习网络。在实际应用中,由于单任务学习网络忽略了单一任务与其它任务之间的联系,而现实生活中的学习任务往往有千丝万缕的联系,比如说,当一名守门员在学习如何扑球时,并不是单纯地学习如何去扑球,而是会涉及许多相关的学习内容,比如如何进行预判,如何移动脚步,如何腾身起跳,如何平稳落地等,因此,通常使用多任务学习网络。而在多任务学习网络在构建过程中,传统技术通常通过隐藏层的硬参数(hard)或软参数(soft)共享的方式进行构建。但是,采用传统技术得到的多任务学习网络,在处理多个任务数据时经常存在过拟合的情况,导致任务数据处理精度不高,处理效率低下。本申请提供的任务数据的处理方法、装置、设备和存储介质旨在解决传统技术的如上技术问题。

需要说明的是,下述方法实施例的执行主体可以为各种计算机设备,例如个人计算机、笔记本以及平板电脑等,本申请在此不做限定,且下述方法实施例的执行主体以计算机设备为例来进行说明。

为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

图2为一个实施例提供的任务数据的处理方法的流程示意图,本实施例涉及的是计算机设备将待处理的任务数据输入至预设的多任务学习网络中得到多个目标输出数据的过程,该方法包括:

s101、获取待处理的任务数据。

具体的,上述的任务指的是一个神经网络能够执行的操作,比如说,能够进行车牌号识别、语音识别以及邮件分类等。针对神经网络的应用来说,以车牌号识别为例,上述的待处理数据为包含有车牌号的图片的相关信息。可选的,在针对神经网络的训练来说,上述的待处理的任务数据为对训练好的神经网络进行评估的测试数据。

s102、将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据。

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

具体的,上述的多任务学习网络基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,而每个单目标学习网络基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络。

其中,上述的初始单任务学习网络指的是任务处理层数量、任务处理层类型、任务处理层中神经元函数数量以及每个神经元函数对应的网络参数皆为默认状态的单任务学习网络。需要说明的是,通常将每个神经元函数对应的网络参数默认为0,此外,任务处理层类型可以为卷积层、全连接层以及池化层等,且任务处理层类型决定其中包含的神经元函数,也就是说,当任务处理层类型为卷积层时,该层上的神经元函数为卷积函数,当任务处理层类型为全连接层时,该层上的神经元函数为全连接函数,当任务处理层类型为池化层时,该层上的神经元函数为池化函数。

基于上述初始单任务学习网络,计算机设备会将第二训练数据集中的第二训练输入数据输入至上述的初始单任务学习网络中,采用牛顿算法、共轭梯度法或准牛顿法等神经网络模型训练算法,将初始单任务学习网络训练成目标单任务学习网络,其中,目标单任务学习网络指的是,针对一个输入仅有一个输出(该输出通常用一个向量进行表示),且输出值与输入对应的理论输出误差在可接受范围之内的神经网络,即为一个已经训练完成的单任务学习网络。该第二训练数据集指的是对单任务学习网络进行训练的数据,即对上述的初始单任务学习网络进行训练的数据,第二训练数据集中包含至少一个第二训练数据包含一个第二训练输入数据和与一个与第二训练输入数据对应的第二训练输出标签。

需要说明的是,上述的牛顿算法、共轭梯度算法以及准牛顿法等属于传统的神经网络模型训练算法,对此本实施例不再赘述。

当目标单任务学习网络训练完成之后,计算机设备会根据第一训练数据集以及多个目标单任务学习网络,训练得到多任务学习网络。例如,计算机设备将第一训练数据集分别输入至多个目标单任务学习网络中,根据牛顿算法再次训练上述的多个目标单任务学习网络,得到一组最终的多个目标单任务学习网络;然后将另一个第一训练数据集分别输入至多个目标单任务学习网络,根据共轭梯度算法训练再次训练上述的多个目标单任务学习网络,得到另外一组最终的多个目标单任务学习网络;最后从两组最终的多个目标单任务学习网络中选取出一组多个目标单任务学习网络,并将选取出的一组的多个目标单任务学习网络作为多任务学习网络。其中,第一训练数据集为对多任务学习网络进行训练的数据,即第一训练数据集中包含对多任务学习网络中的多个任务的训练数据。此外,一个第一训练数据集中包含至少一个第一训练输入数据和一个对应于第一训练输入数据对应的第一训练输出标签。其中,多任务学习网络指的是,针对一个输入有多个输出,且多个输出分别与一个输入对应的多个理论输出的误差在可接受范围之内的神经网络,即为一个已经训练完成的多任务学习网络。此外,本实施例得到多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数。

需要说明的是,本实施例对如何根据第一训练数据集与多个目标单任务学习网络训练得到多任务学习网络的具体训练方式不做限定,只要能够根据第一训练数据集和多个目标单任务学习网络训练得到的多任务学习网络,都在本实施例的保护范围之内。

基于上述内容,将待处理的任务数据输入至上述的多任务学习网络中,得到多个目标输出数据,其中,多任务学习网络的目标输出数据的数量与该多任务学习网络中包含的任务数相同,例如,多任务学习网络包含三个任务,分别为taska、taskb以及taskc,则该多任务学习网络的目标输出数据为三个。此外,多任务学习网络中的每个目标输出数据中包含通道标识,也就是说,当多任务学习网络输出多个目标输出数据时,可根据每一个目标输出数据中包含的通道标识,识别出该目标输出数据属于哪个任务的输出。

在实际应用中,以物体属性识别为例,上述的多任务学习网络为对动物、植物、交通标识进行识别的多任务学习网络时,上述的待处理的任务数据可以为:表征动物的数据,或表征植物的数据,或表征交通标识的数据,当待处理的任务数据为表征动物的数据时,上述的目标输出数据分别为:输入的数据是表征动物的数据的概率、输入的数据是表征植物的数据的概率、输入的数据是表征交通标识的数据的概率。进一步的,若输入的数据是表征动物的数据的概率最大,则该多任务学习网络认为输入的数据是表征动物的数据。

综上可知,上述的多任务学习网络是基于已经训练完成的多个目标单任务学习网络以及第一训练数据集训练得到,也就是说,本实施例中的多任务学习网络一方面是根据已经能对第二训练数据集进行准确输出的目标单任务学习网络的构建,另一方面通过第一训练数据集进行再次训练,即通过第一训练数据集进行再次优化得到,因而,本实施例中多任务学习网络可对待处理数据更加准确的输出,从而降低处理待处理任务数据时存在的过拟合概率。

本实施例提供的任务数据的处理方法,计算机设备获取待处理的任务数据后,将待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据。其中,多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络。在本实施例中,由于多任务学习网络是基于已经训练完成的多个目标单任务学习网络以及第一训练数据集训练得到,也就是说,本实施例中的多任务学习网络一方面是根据已经能对第二训练数据集进行准确输出的目标单任务学习网络的构建,另一方面通过第一训练数据集进行再次训练,即通过第一训练数据集进行再次优化得到,因而,本实施例中多任务学习网络可对待处理数据更加准确的输出,从而降低处理待处理任务数据时存在的过拟合概率。进一步的,将待处理的任务数据输入至本实施例中的多任务学习网络中时,可提高待处理任务数据的处理精度以及处理效率。

图3为另一个实施例提供的任务数据的处理方法的流程示意图,本实施例涉及的是计算机设备在将待处理的任务数据输入至预设的多任务学习网络中进行处理之前,构建多任务学习网络的过程。在上述实施例的基础上,该方法包括:

s201、根据所述第二训练数据集中的第二训练输入数据和第二训练输出标签对多个初始单任务学习网络中的网络参数进行训练,得到多个所述目标单任务学习网络。

s202、根据所述第一训练数据集和多个所述目标单任务学习网络,训练得到所述多任务学习网络。

具体的,上述第二训练数据集、第二训练输入数据、第二训练输出标签、初始单任务学习网络以及目标单任务学习网络的具体解释说明与对上述图2所示实施例的解释说明相同,这里不再赘述。上述的多个初始单任务学习网络中的网络参数指的是其中包含的每个任务处理层中每个神经元函数对应的偏置和权重。另外,上述的第一训练数据集、目标单任务学习网络的以及多任务学习网络的具体解释说明与对上述图2所示实施例的解释说明相同,这里不再赘述。

作为训练得到目标单任务学习网络的一种可能的实施方式,上述对每一个初始单任务学习网络进行训练,得到目标单任务学习网络的训练过程,可以参见图3a所示,即上述s201可以包括如下步骤:

s301、将第二训练数据集中的第二输入数据输入至初始单任务学习网络中,得到该初始单任务学习网络的实际输出数据。

s302、根据初始单任务学习网络对应的误差损失函数,计算上述初始单任务学习网络的实际输出数据与第二训练输出标签之间的误差。

s303、若该误差在可接受的范围之内,则将该初始单任务学习网络作为目标单任务学习网络。

s304、若该误差不在可接受的误差范围内,则根据单任务学习网络对应的误差损失函数将上述误差反向分摊至初始单任务学习网络中每个神经元函数对应权重和偏置,并将神经元函数的权重和偏置调整后的初始单任务学习网络作为新的初始单任务学习网络,并重复上述的s301,直至新的初始单任务学习网络的实际输出数据与第二训练输出标签之间的误差在可接受的范围之内。此时,将误差在可接受的范围之内的新的初始单任务学习网络作为目标单任务学习网络。

作为训练得到目标单任务学习网络的另一种可能的实施方式,上述对每个初始单任务学习网络进行训练,得到目标单任务学习网络的训练过程,还可以参见图3b所示,即上述s201可以包括如下步骤:

s401、将第二训练数据集中的第二输入数据输入至初始单任务学习网络中,得到该初始单任务学习网络的实际输出数据;根据单任务学习网络对应的误差损失函数,计算初始单任务学习网络实际输出数据与第二训练输出标签之间的误差;根据单任务学习网络对应的误差损失函数将误差反向分摊至初始单任务学习网络中每个神经元函数对应权重和偏置。

s402、将网络中神经元函数的权重和偏置调整后的初始单任务学习网络作为新的初始单任务学习网络,并重复上述的s401,直至达到预设的训练次数,将达到预设的训练次数的新的初始单任务学习网络作为目标单任务学习网络。上述的两种方式中单任务学习网络对应误差损失函数可以定义为:loss=∑(ypi-yi)2,其中i=1,2,3等,表示输出数据的个数,yp指的是第二训练输出标签,y指的是初始单任务学习网络的实际输出数据,上述的loss指的是始单任务学习网络实际输出数据与第二训练输出标签之间的误差。当然,也可以将单任务学习网络对应误差损失函数定义为其他形式的误差损失函数,对此本实施例不做限定。

基于上述的误差损失函数:loss=∑(ypi-yi)2,上述两种方式中的根据单任务学习网络对应的误差损失函数将误差反向分摊至初始单任务学习网络中每个神经元函数对应权重和偏置,具体实现方式是,将上述公式中的y替换为包含初始单任务学习网络中的每个神经元函数的以及每个神经元函数对应的偏置和权重的表达方式,基于此,计算上述公式的导数,根据导数调整初始单任务学习网络中每个神经元函数对应权重和偏置。此外,每一个单任务学习网络对应的误差损失函数可相同,也可不相同,对此本实施例不做限定。

需要说明的是,在多个初始单任务学习网络进行训练时,可将多个单任务学习网络的前几层的任务处理层的类型以及任务处理层中神经元函数数量设置为相同,当然也可以设置为不同,对此,本实施例并不做限定。

此外,需要说明的是,在训练得到多任务学习网络时,只要基于第一训练数据集与多个目标单任务学习网络训练得到即可。对于具体如何根据第一训练数据集与多个目标单任务学习网络训练得到多任务学习网络的训练方式并不做限定。

本实施例提供的任务数据的处理方法,计算机设备在构建多任务学习网络时,首先根据第二训练数据集中的第二训练输入数据和第二训练输出标签对多个初始单任务学习网络中的网络参数进行训练,得到多个目标单任务学习网络;然后根据第一训练数据集和多个目标单任务学习网络,训练得到多任务学习网络。由于多任务学习网络是基于已经训练完成的多个目标单任务学习网络以及第一训练数据集训练得到,也就是说,本实施例中的多任务学习网络一方面是根据已经能对第二训练数据集进行准确输出的目标单任务学习网络的构建,另一方面通过第一训练数据集进行再次训练,即通过第一训练数据集进行再次优化得到,因而,本实施例中多任务学习网络可对待处理数据更加准确的输出,从而降低处理待处理任务数据时存在的过拟合概率。进一步的,将待处理的任务数据输入至本实施例中的多任务学习网络中时,可提高待处理任务数据的处理精度以及处理效率。

如图4所示的又一个实施例提供的任务数据的处理方法的流程示意图,基于上述任一实施例的基础上,作为训练得到目标任务学习网络的另一种可能的实施方式,上述对每个初始单任务学习网络进行训练,得到目标单任务学习网络的训练过程,还可以包括如下步骤,即上述s201可以包括如下步骤:

s501、根据所述第二训练数据集中的第二训练输入数据、所述第二训练输出标签、预设的任务处理层的数量、预设的任务处理层的类型以及预设的任务处理层上的神经元函数的数量,对每个所述初始单任务学习网络中的网络参数进行训练,得到多个所述目标单任务学习网络;其中,每个目标单任务学习网络中前m层中位于同一层数的任务处理层的类型相同,且前m层中位于同一层数的任务处理层上神经元函数的数量相同。

具体的,上述的m为大于等于1的整数,通常取m=3。在对初始单任务学习网络进行训练之前,将多个初始单任务学习网络的前m层任务处理层中任务处理层类型以及任务处理层上神经元函数的数量分别设置为相同。例如,当多任务学习网络包含三个任务时,将这三个任务对应的初始单任务学习网络的前三个任务处理分别设置为:第一层为卷积层,包含512个神经元;第二层为全连接层,包含256个神经元;第三层为池化层,包含100个神经元,其他任务处理层根据实际情况进行设置。在对设置好任务处理层的初始单任务学习网络进行训练时,将第二训练数据集中的第二训练输入数据输入至初始单任务学习网络中进行训练。初始单任务学习网络的训练过程可参见如图3a或3b所示的实施例,本实施例在此不再赘述。

需要说明的是,对于基于上述内容得到的目标单任务学习网络和第一训练数据集训练得到多任务学习网络的具体训练方式,本实施例不做限定,只要能够得基于上述内容得到目标单任务学习网络和第一训练数据集训练得到即可。

可选的,在一种实施例中,基于上述的s501中对目标单任务学习网络的训练方式的到多个目标单任务学习网络和第一训练数据集训练得到多任务学习网络的训练过程,如图4所示,可具体包括如下步骤,即上述的s202可具体包括如下步骤:

s502、根据所述多个目标单任务学习网络中的前m层中每一个任务处理层的类型以及前m层中每一个任务处理层上的神经元函数的数量,确定层数为m的初始预训练层;其中,所述初始预训练层上的每个神经元函数的网络参数等于0。

s503、将每个所述目标单任务学习网络中的剩余任务处理层确定为初始单任务输出层;其中,一个所述目标单任务学习网络中的全部剩余任务处理层对应一个所述初始单任务输出层,所述初始单任务输出层上的每个神经元函数的网络参数与所对应的所述目标单任务学习网络中剩余任务处理层上的神经元函数的网络参数相同。

s504、根据所述第一目标网络参数、所述第二目标网络参数、所述初始预训练层以及每个所述初始单任务输出层,确定所述多任务学习网络。

具体的,如图5所示,未进行训练的多任务学习网络(即初始多任务学习网络)的网络架构由初始预训练层和初始单任务输出层组成。其中,初始预训练层为m层,且前m层的类型分别为预设的任务处理层的类型,且前m层上的神经元函数的数量分别为预设的任务处理层上的神经元函数的数量,但前m层中所有的神经元函数的网络参数全为0。例如,当多任务学习网络包含三个任务taska、taskb以及taskc时,且这三个单任务对应目标单任务学习网络的前三层分别为:第一层皆为卷积层,皆包含100个神经元;第二层皆为全连接层,皆包含256个神经元;第三层皆为池化层,皆包含512个神经元。此时,多任务学习网络的前3层分别为:第一层为卷积层,包含100个神经元;第二层为全连接层,包含256个神经元;第三层为池化层,包含512个神经元。此外,前三层中所有神经元函数对应权值和偏重皆为0。每个初始单任务输出层为其对应的目标单任务学习网络中除前m层之外的任务处理层,且保持除前m层之外的任务处理层的网络参数不变,即保持除前m层之外的任务处理层中每个神经元的权重和偏置不发生变化。

基于上述内容,将第一训练数据集中的第一训练输入数据输入至由s502和s503中的初始预训练层和初始单任务输出层组成的初始多任务学习网络(如图5所示)中,分别得到多个任务的实际输出数据;以一个任务taska为例进行说明,根据任务taska对应的误差损失函数,计算该任务taska对应的实际输出数据与上述第一训练数据集中对应的第一训练输出标签之间的误差,以及将该误差分摊至初始多任务学习网络中的每个神经元函数中,从而调整初始多任务学习网络中的每个神经元函数的权重和偏置;将调整后的初始多任务学习网络作为新的初始多任务学习网络,再次根据任务taska对应的误差损失函数,计算该任务taska对应的实际输出数据与上述第一训练数据集中对应的第一训练输出标签之间的误差,以及将该误差分摊至初始多任务学习网络中的每个神经元函数中,从而调整初始多任务学习网络中的每个神经元函数的权重和偏置;将调整后的初始多任务学习网络作为新的初始多任务学习网络;重复预设的迭代次数,确定taska对应的每一层神经元函数的网络参数;按照taska的处理过程,将其余任务分别进行处理;得到多任务学习网络中包含的多个任务对应的每一层神经元函数的网络参数,从而确定多任务学习网络。其中,多任务学习网络中的前m层中神经元函数的权重和偏置为上述s504中第一目标网络参数,多任务学习网络中除m层以外的神经元函数的权重和偏置为上述s504中的第二目标网络参数。

可选的,也可将第一训练数据集中的第一训练输入数据输入至由s502和s503中的初始预训练层和初始单任务输出层组成的初始多任务学习网络中,分别得到多个任务的实际输出数据;计算该多个任务的实际输出数据分别与上述第一训练数据集中对应的多个训练输出标签之间的多个误差;根据该多个误差的大小确定最终的多任务学习网络。具体如何根据该多个误差的大小确定最终的初始多任务学习网络,参照下述如图6所示实施例。

在本实施例中,由于初始单任务学习网络中的前m层任务处理层的类型以及其上的神经元数量相同,因此,基于本实施例提供的初始单任务学习网络训练得到的多个目标单任务学习网络之间存在的很大的相关程度,进一步的,基于本实施中的多个目标单任务学习网络训练得到的多任务学习网络,可以对其中的每个任务进行更加准确的输出,此外,还通过第一训练数据集进行再次优化训练多任务学习网络,因而,本实施例中多任务学习网络可对待处理数据更加准确的输出,从而降低处理待处理任务数据时存在的过拟合概率。进一步的,将待处理的任务数据输入至本实施例中的多任务学习网络中时,可提高待处理任务数据的处理精度以及处理效率。

图6为又一个实施例提供的任务数据的处理方法的流程示意图,本实施例涉及的是,另一种计算机设备根据第一训练数据集对初始预训练层上的神经元函数的网络参数、以及对每个初始单任务输出层上的每个神经元函数的网络参数进行训练,得到初始预训练层对应的第一目标网络参数以及每个初始单任务输出层对应的第二目标网络参数的过程,即另一种实现上述s504的具体过程,在上述如图4所示实施例的基础上,包括:

s601、根据所述初始预训练层以及每个所述初始单任务输出层,确定初始多任务学习网络。

具体的,参照图5,将初始预训练层作为初始多任务学习网络的前层网络(也就是说多任务学习网络中包含的多个任务共享初始预训练层),将每个初始单任务学习网络的初始单任务输出层分别并列连接初始预训练层,从而确定初始多任务学习网络。

s602、执行训练处理操作,其中,所述训练处理操作包括:将所述第一训练数据集中的第一训练输入数据输入至所述初始多任务学习网络中进行处理,确定每个初始单任务输出层的实际输出数据,并根据预设的误差损失函数计算每个初始单任务输出层的实际输出数据与所述第一训练数据集中第一训练输出标签之间的第一误差。

具体的,上述的预设的误差损失函数为多任务学习网络中包含的多个任务的对应的多个误差损失函数,其中,多个预设的误差损失函数可以相同,也可以不相同,对此本实施例不做限定。

上述训练处理操作的具体过程为:将第一训练数据集中的第一训练输入数据输入至如图5所示的初始多任务学习网络中,分别得到每个初始单任务输出层对应的多个实际输出数据;将一个初始单任务输出层的实际输出数据与第一数据集中的第一训练输出标签输入至对应的预设的误差损失函数中,从而得到一个初始单任务输出层的实际输出数据与第一训练数据集中的第一训练输出标签之间的第一误差,基于此,计算出每个初始单任务输出层的实际输出分别与第一数据集中对应的第一训练输出标签之间的第一误差。

s603、判断所述第一误差是否小于第一预设阈值。

具体的,上述的第一预设阈值为允许多任务学习网络中每个单任务对应的输出与输入对应的理论输出值之间存在误差的最大值,其中,多任务学习网络中每个单任务对应的第一预设阈值可相同,也可不相同,对此本实施例不做限定。

s603a、若是,则将所述初始多任务学习网络确定为所述多任务学习网络。

当多任务学习网络中包含的多个任务中所有任务对应的第一误差均小于第一预设阈值时,则说明初始多任务学习网络可准确的对所有任务进行准确输出,则将初始多任务学习网络确定为多任务学习网络。

s603b、若否,则根据所述第一误差和所述误差损失函数调整所述初始多任务学习网络中每个神经元函数的网络参数,得到调整后的学习网络;将所述调整后的学习网络作为新的初始多任务学习网络,并返回执行所述训练处理操作,直至调整次数达到第一预设次数为止。

具体的,当初始多任务学习网络中包含的多个任务中的一个任务对应的第一误差小于第一预设阈值时,说明初始多任务学习网络可准确的对该单任务进行输出,则不再改变该单任务对应的网络参数。反之,说明初始多任务学习网络不可准确的对该单任务进行准确的输出,则需要对该单任务对应的学习网络进行调整,具体调整如下述过程:

根据预设的误差损失函数,将第一误差反向分摊至第一误差对应的学习网络(以下称之为第一学习网络)中包含的每个神经元函数对应的网络参数中,将神经元函数的网络参数经过一次调整后的多任务学习网络称之为新的初始多任务学习网络。之后将第一训练数据集中的第一训练输入数据输入至新的初始多任务学习网络中进行处理,根据第一学习网络对应的预设的误差损失函数,确定第一学习网络的实际输出数据与第一训练数据集中第一训练输出标签之间的第一误差。最后,根据该第一误差以及第一学习网络对应的预设的误差损失函数,调整新的初始多任务学习网络中的网络参数,直至达到调整次数达到第一预设次数为止。

s604a、若调整第一预设次数后的学习网络的实际输出数据与所述第一训练输出标签之间的第一误差小于所述第一预设阈值,则确定调整第一预设次数后的学习网络为所述多任务学习网络。

s604b、若所述调整第一预设次数后的学习网络的实际输出数据与所述第一训练输出标签之间的第一误差不小于所述第一预设阈值,则向所述调整预设次数后的学习网络增加至少一个单任务输出层,得到层数增加后的学习网络;将所述层数增加后的学习网络作为新的初始多任务学习网络,并返回执行所述训练处理操作,直至调整次数达到第二预设次数为止,并确定调整第二预设次数后的学习网络为所述多任务学习网络。

具体的,在实际应用中,存在将初始多任务学习网络的网络参数调整了第一预设次数后,新的初始多任务学习网络中仍存在至少一个任务对应的第一误差仍不小于第一预设阈值,则此时说明新的初始多任务学习网络不能对该任务进行准确输出,因此需要对该第一误差对应的学习网络(即上述的第一学习网络)的网络结构进行调整。在对该第一误差对应的学习网络的网络结构进行调整时,通常在该第一误差对应的学习网络上增加至少一个单任务输出层。比如说,taska对应的第一误差仍不小于第一预设阈值,则在taska对应的初始单任务输出层后增加至少一个单任务输出层。由于新增加的单任务输出层中神经元函数的网络参数都为0,或者默认状态,因此,仍需要对增加层数后的初始多任务学习网络继续进行训练,具体的,将层数增加后的初始多任务学习网络作为新的初始多任务学习网络,之后将第一训练数据集中的第一训练输入数据输入至新的初始多任务学习网络中进行处理,根据上述第一误差不小于第一预设阈值的任务对应的预设的误差损失函数,确定增加层数的初始单任务输出层的实际输出数据与第一训练数据集中第一训练输出标签之间的第一误差。最后,根据该第一误差以及第一误差不小于第一预设阈值的任务对应的预设的误差损失函数,调整新的初始多任务学习网络中的网络参数,直至达到调整次数达到第二预设次数为止,并将网络参数调整第二预设次数后的学习网络作为多任务学习网络。

需要说明的是,本实施例中的第一预设次数与第二预设次数可相同,也可不相同,本实施例对此不做限定,此外对于第一预设次数与第二预设次数的具体取值也不做限定。

图7为又一个实施例提供的任务数据的处理方法的流程示意图,基于上述如图3所示实施例的基础上,作为训练得到目标任务学习网络的另一种可能的实施方式,上述对每个初始单任务学习网络进行训练,得到目标单任务学习网络的训练过程,还可以包括如下步骤,即上述s201可以包括如下步骤:

s701、采用有放回随机采样算法,从训练样本中选取n组第三训练数据集;其中,每一组第三训练数据集包括第三训练输入数据和第三训练输出标签。

具体的,上述的有放回随机采样算法,通常为bagging算法,当然也可以为其他的有放回随机采样算法,对此本实施例不做限定。上述的训练样本中包含多个对多任务学习网络进行训练的训练数据(包含训练输入数据和训练输出标签),即训练样本中的训练数据为多个上述的第一训练数据集,也就是说上述的第三训练数据集为采取有放回随机采样算法从训练样本中选取出来的第一训练数据集。

上述s701的具体实现过程为:通过有放回随机采样算法,从训练样本中,有放回的提取k个训练数据,重复有放回的提取共n次,这样就得到了n组第三训练数据集,其中每组第三训练数据集中包含k个训练数据。

s702、将每一组第三训练数据集中的第三训练输入数据分别输入至每个目标单任务学习网络进行处理,得到每一组第三训练数据对应的每个所述目标单任务学习网络的实际输出数据。

具体的,将每一组第三训练数据集中第三训练输入数据分别输入至每个目标单任务学习网络中后,得到n组实际输出数据,其中每一组实际输出数据中包含多个任务的实际输出数据。

s703、针对每一组第三训练数据对应的每个所述目标单任务学习网络的实际输出数据,根据误差损失函数计算每个所述目标单任务学习网络的实际输出数据和所述第三训练输出标签的第二误差,并对每个所述第二误差进行加权求和,得到每一组第三训练数据集对应的加权误差。

具体的,以n组中的其中一组为例进行说明,将一组第三训练数据集中第三训练输入数据分别输入至p个目标单任务学习网络后(假设多任务学习网络中包含p个任务),每个目标单任务学习网络都会对应一个实际输出数据,这样,共得到p个实际输出数据。将p个实际输出数据分别与第三训练数据集中的第三训练输出标签输入至误差损失函数(误差损失函数为目标单任务学习网络对应的误差损失函数)中,得到p个第二误差,将这p个第二误差进行加权求和,进而得到加权误差。重复上述加权误差计算确定过程,分别计算n组第三训练数据集对应的n个加权误差。

需要说明的是,进行加权求和时,可将加权求和中的权重系数设置为默认值。可选的,也根据一组第三训练数据集对应的多个第二误差的大小关系进行设置,例如,将多个第二误差中最小的误差赋予最大的权重。

s704、判断所述每一组第三训练数据集对应的加权误差是否小于第二预设阈值。

s704a、若是,则将所述多个目标单任务学习网络构成的第一学习网络确定为所述多任务学习网络。

具体的,上述的第二预设阈值为允许多任务学习网络输入与输出之间存在误差的最大值。若n组的加权误差皆小于第二预设阈值,则说明多任务学习网络能准确的对多任务进行准确输出。此时,n组中每一组中多个目标单任务学习网络中的网络参数皆相同,则选取其中任一组的多个目标单任务学习网络构成的第一学习网络作为多任务学习网络,具体如图8所示。

s704b、否则,则根据所述误差损失函数和所述第一加权误差,调整多个所述目标单任务学习网络中的网络参数,直至将所述第一加权误差对应的第三训练数据输入至调整后的多个所述目标单任务学习网络时,所计算的新的第一加权误差小于所述第二预设阈值为止,并将所述调整后的多个所述目标单任务学习网络构成的第二学习网络确定为第一待选择多任务学习网络。

具体的,如果n组的加权误差中存在一部分不小于第二预设阈值的多个目标单任务学习网络,也就是说,n组多个目标单任务学习网络中存在一部分不能够准确的对多任务数据进行准确输出,则需要对该部分的多个目标单任务学习网络继续进行训练,将该部分的多个目标单任务学习网络对应的加权误差称之为第一加权误差。

其中,对该部分的多个目标单任务学习网络中的任一个多目标单任务学习网络继续进行训练的过程为:

根据第一加权误差和误差损失函数(即每个目标单任务学习网络对应的误差损失函数),将第一加权误差反向分摊至每个目标单任务学习网络中,从而调整每个目标单任务学习网络中每个神经元函数的网络参数;再次将第三数据集中的第三训练输入数据输入至调整后的每个目标单任务学习网络中,计算第一加权误差;重复上述过程,直至将第一加权误差对应的第三训练数据输入至调整后的多个目标单任务学习网络时,所计算的新的第一加权误差小于第二预设阈值为止,并将调整后的多个目标单任务学习网络构成的学习网络称之为第二学习网络,并将第二学习网络确定为第一待选择多任务学习网络。

s704c、将n个加权误差中小于所述第二预设阈值的第二加权误差所对应的多个所述目标单任务学习网络,确定为第二待选择多任务学习网络;

具体的,在上述d1的基础上,n组的加权误差中还存在除上述一部分外的另一部分小于第二预设阈值的多个目标单任务学习网络,也就是说,n组第三训练数据集分别对应的多个目标单任务学习网络中存在一部分能够准确的对第三训练数据集进行准确输出,则将这部分的多个单目标学习网络作为第二待选择多任务学习网络,将这部分的多个单目标学习网络对应的加权误差称之为第二加权误差。

s704d、将所述第一待选择多任务学习网络和所述第二待选择多任务学习网络构成的学习网络,确定为所述多任务学习网络。

可选的,也可将n组第三训练数据集中的第三训练输入数据输入至多个目标单任务学习网络中,分别确定出n个加权误差,将n个加权误差中最小的加权误差对应的多个目标单任务学习网络作为多任务学习网络。可选的,还可基于第一待选择多任务学习网络和第二待选择多任务学习网络构成的多任务学习网络,即将n组多个目标单任务学习网络作为多任务学习网络,具体如何基于基于第一待选择多任务学习网络和第二待选择多任务学习网络构成的多任务学习网络,参照下述如图9所示实施例。

本实施例提供的任务数据的处理方法,由于采用有放回随机采样算法,从训练样本中选取n组第三训练数据集,相当于增加了训练数据集,也就是说使用更多的训练数据集对多个已经训练好的目标多任务学习网络进行再次训练,从而使得目标单任务学习网络可以对第二训练数据集进行更加准确输出。进一步的,基于本实施例中的多个目标单任务学习网络构建的多任务学习网络可更加准确的对待处理数据进行准确的输出。进一步的,将待处理的任务数据输入至本实施例中的多任务学习网络中时,可提高待处理任务数据的处理精度以及处理效率。

图9为又一个实施例提供的任务数据的处理方法的流程示意图,本实施例涉及的是一种将待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数的过程,即实现上述s103的一种方式。在上述图7所示实施例的基础上,该方法包括:

s801、将待处理的任务数据分别输入至所述多任务学习网络中,得到输出数据集,所述输出数据集包括每个所述第一待选择多任务学习网络的输出数据和每个所述第二待选择多任务学习网络的输出数据。

s802、从每个所述第一待选择多任务学习网络和每个所述第二待选择多任务学习网络中,确定至少一个学习网络组,其中,同一个所述学习网络组中的每个所述待选择多任务学习网络的输出数据相同。

s803、将所有学习网络组中输出数据个数最多的多任务学习网络组的输出数据确定为所述多个目标输出数据。

具体的,基于上述图7所示实施例的内容,由于多任务学习网络中由第一待选择多任务学习网络和第二待选择多任务学习网络构成,且第一待选择多任务学习网络和第二待选择多任务学习网络总共对应n组多个目标单任务学习网络,因此,将待处理的任务数据分别输入至多任务学习网络中,将得到n组多个任务对应的输出数据。将n组输出数据中相同的输出数据对应的多个单任务学习网络作为一个学习网络组。将所有学习网络组中输出数据个数最多的多任务学习网络组的输出数据确定为多个目标输出数据。例如,若n=7,且该7组多个目标单任务学习网络对应的输出数据分别为x1、x2、x2、x3、x3、x3以及x3,则x1对应的多个目标单任务学习网络作为一个学习网络组,两个x2对应的两组多个目标单任务学习网络作为一个学习网络组,三个x3对应的三组多个目标单任务学习网络作为一个学习网络组。由于三个x3对应的三组多个目标单任务学习网络作为一个学习网络组中相同的输出数据最多,因此,将x3作为目标输出数据。

本实施例提供的任务数据的处理方法,由于采用有放回随机采样算法,从训练样本中选取n组第三训练数据集,相当于增加了训练数据集,也就是说使用更多的训练数据集对多个已经训练好的目标多任务学习网络进行再次训练,从而使得目标单任务学习网络可以对第二训练数据集进行更加准确输出。进一步的,基于本实施例中的多个目标单任务学习网络构建的多任务学习网络可更加准确的对待处理数据进行准确的输出。进一步的,将待处理的任务数据输入至本实施例中的多任务学习网络中时,可提高待处理任务数据的处理精度以及处理效率。

图10为又一个实施例提供的任务数据的处理方法的流程示意图,本实施例涉及的是另一种将待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数的过程,即实现上述s103的另一种方式。在上述图7所示实施例的基础上,该方法包括:

s901、将待处理的任务数据分别输入至所述多任务学习网络中,得到输出数据集,所述输出数据集包括每个所述第一待选择多任务学习网络的输出数据和每个所述第二待选择多任务学习网络的输出数据。

s902、对每个所述第一待选择多任务学习网络的输出数据和每个所述第二待选择多任务学习网络的输出数据进行加权求和操作,得到所述多个目标输出数据。

具体的,基于上述图7所示实施例的内容,由于多任务学习网络中由第一待选择多任务学习网络和第二待选择多任务学习网络构成,且第一待选择多任务学习网络和第二待选择多任务学习网络总共对应n组多个目标单任务学习网络,因此,将待处理的任务数据分别输入至多任务学习网络中,将得到n组多个任务对应的输出数据,即上述的输出数据集。之后,对每个第一待选择多任务学习网络的输出数据和每个第二待选择多任务学习网络的输出数据进行加权求和操作,得到多个目标输出数据。例如,若n=7,且该7组多个目标单任务学习网络对应的输出数据分别为x1、x2、x2、x3、x3、x3以及x3,则目标输出数据为a1*x1+2*a2*x2+3*a3*x3。其中,x1、x2以及x3中分别包含多个目标单任务学习网络对应的多个目标输出数据。其中,加权求和的权重系数可以为默认值,也可以为预先对n组多个目标单任务学习网络进行测试时,根据n组多个目标单任务学习网络的误差大小关系进行设置。

可选的,还可以对每个第一待选择多任务学习网络的输出数据和每个第二待选择多任务学习网络的输出数据进行求取平均的操作,将平均值作为目标输出数据。

本实施例提供的任务数据的处理方法,由于采用有放回随机采样算法,从训练样本中选取n组第三训练数据集,相当于增加了训练数据集,也就是说使用更多的训练数据集对多个已经训练好的目标多任务学习网络进行再次训练,从而使得目标单任务学习网络可以对第二训练数据集进行更加准确输出。进一步的,基于本实施例中的多个目标单任务学习网络构建的多任务学习网络可更加准确的对待处理数据进行准确的输出。进一步的,将待处理的任务数据输入至本实施例中的多任务学习网络中时,可提高待处理任务数据的处理精度以及处理效率。

应该理解的是,虽然图2、3、4、6、7、9和10所示的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、4、6、7、9和10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图11所示,提供了一种任务数据的处理装置的结构示意图,包括:获取模块10、确定模块11,其中:

获取模块10,用于获取待处理的任务数据;

确定模块11,用于将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据;

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;

所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

本实施例提供的任务数据的处理装置,可以执行上述如图2所示方法的实施例,其实现原理和技术效果类似,在此不再赘述。

在一种实施例中,在上述图11所示实施例的基础上,如图12所示,上述的任务数据的处理装置还包括:第一训练模块12和第二训练模块13,其中:第一训练模块12,用于根据所述第二训练数据集中的第二训练输入数据和第二训练输出标签对多个初始单任务学习网络中的网络参数进行训练,得到多个所述目标单任务学习网络;

第二训练模块13,用于根据所述第一训练数据集和多个所述目标单任务学习网络,训练得到所述多任务学习网络。

本实施例提供的任务数据的处理装置,可以执行上述如图3所示方法的实施例,其实现原理和技术效果类似,在此不再赘述。

在一种实施例中,在上述图12所示实施例的基础上,如图13所示,可选的,第二训练模块13还包括第一确定单元131、第二确定单元132、训练单元133以及第三确定单元134。其中:

第一训练模块12,还用于根据所述第二训练数据集中的第二训练输入数据、所述第二训练输出标签、预设的任务处理层的数量、预设的任务处理层的类型以及预设的任务处理层上的神经元函数的数量,对每个所述初始单任务学习网络中的网络参数进行训练,得到多个所述目标单任务学习网络;

其中,每个目标单任务学习网络中前m层中位于同一层数的任务处理层的类型相同,且前m层中位于同一层数的任务处理层上神经元函数的数量相同。

第一确定单元131,用于根据所述多个目标单任务学习网络中的前m层中每一个任务处理层的类型以及前m层中每一个任务处理层上的神经元函数的数量,确定层数为m的初始预训练层;其中,所述初始预训练层上的每个神经元函数的网络参数等于0;

第二确定单元132,用于将每个所述目标单任务学习网络中的剩余任务处理层确定为初始单任务输出层;其中,一个目标单任务学习网络中的全部剩余任务处理层对应一个初始单任务输出层,所述初始单任务输出层上的每个神经元函数的网络参数与所对应的目标单任务学习网络中剩余任务处理层上的神经元函数的网络参数相同;

训练单元133,用于根据所述第一训练数据集对所述初始预训练层上的神经元函数的网络参数、以及对每个所述初始单任务输出层上的每个神经元函数的网络参数进行训练,得到所述初始预训练层对应的第一目标网络参数以及每个所述初始单任务输出层对应的第二目标网络参数;

第三确定单元134,用于根据所述第一目标网络参数、所述第二目标网络参数、所述初始预训练层以及每个初始单任务输出层,确定所述多任务学习网络。

本实施例提供的任务数据的处理装置,可以执行上述如图4所示方法的实施例,其实现原理和技术效果类似,在此不再赘述。

在一种实施例中,在上述图13所示实施例的基础上,如图14所示,上述的第一训练单元133包括:训练子单元31、执行子单元32和判断子单元33。其中,

训练子单元31,用于根据所述初始预训练层以及每个所述初始单任务输出层,确定初始多任务学习网络;

执行子单元32,用于执行训练处理操作,其中,所述训练处理操作包括:将所述第一训练数据集中的第一训练输入数据输入至所述初始多任务学习网络中进行处理,确定每个初始单任务输出层的实际输出数据,并根据预设的误差损失函数计算每个初始单任务输出层的实际输出数据与所述第一训练数据集中第一训练输出标签之间的第一误差;

判断子单元33,用于判断所述第一误差是否小于第一预设阈值;

在所述第一误差小于第一预设阈值时,用于将所述初始多任务学习网络确定为所述多任务学习网络。

在若所述第一误差不小于所述第一预设阈值,用于根据所述第一误差和所述误差损失函数调整所述初始多任务学习网络中每个神经元函数的网络参数,得到调整后的学习网络;

将所述调整后的学习网络作为新的初始多任务学习网络,并返回执行所述训练处理操作,直至调整次数达到第一预设次数为止;

若调整第一预设次数后的学习网络的实际输出数据与所述第一训练输出标签之间的第一误差小于所述第一预设阈值时,用于确定调整第一预设次数后的学习网络为所述多任务学习网络;

若所述调整第一预设次数后的学习网络的实际输出数据与所述第一训练输出标签之间的第一误差不小于所述第一预设阈值,用于向所述调整预设次数后的学习网络增加至少一个单任务输出层,得到层数增加后的学习网络;

将所述层数增加后的学习网络作为新的初始多任务学习网络,并返回执行所述训练处理操作,直至调整次数达到第二预设次数为止,并确定调整第二预设次数后的学习网络为所述多任务学习网络。

本实施例提供的任务数据的处理装置,可以执行上述如图6所示方法的实施例,其实现原理和技术效果类似,在此不再赘述。

在一种实施例中,在上述图11所示实施例的基础上,如图15所示,上述的任务数据的处理装置还包括:选取模块14、输入模块15、求和模块16以及判断模块17。其中:

选取模块14,用于采用有放回随机采样算法,从训练样本中选取n组第三训练数据集;其中,每一组第三训练数据集包括第三训练输入数据和第三训练输出标签;

输入模块15,用于将每一组第三训练数据集中的第三训练输入数据分别输入至每个目标单任务学习网络进行处理,得到每一组第三训练数据对应的每个所述目标单任务学习网络的实际输出数据;

求和模块16,用于针对每一组第三训练数据集对应的每个所述目标单任务学习网络的实际输出数据,根据误差损失函数计算每个所述目标单任务学习网络的实际输出数据和所述第三训练输出标签的第二误差,并对每个所述第二误差进行加权求和,得到每一组第三训练数据对应的加权误差;

判断模块17,用于判断所述每一组第三训练数据集对应的加权误差是否小于第二预设阈值;

在所述n组第三训练数据集对应的n个加权误差中第一加权误差皆小于第二预设阈值时,用于将所述多个目标单任务学习网络构成的第一学习网络确定为所述多任务学习网络。

在所述n组第三训练数据集对应的n个加权误差中存在至少一个第一加权误差不小于第二预设阈值时,用于根据误差损失函数和所述第一加权误差,调整所述多个目标单任务学习网络中的网络参数,直至将所述第一加权误差对应的第三训练数据集输入至调整后的多个目标单任务学习网络时,所计算的新的第一加权误差小于第二预设阈值为止,并将所述调整后的多个目标单任务学习网络构成的第二学习网络确定为第一待选择多任务学习网络;

将n个加权误差中小于第一预设阈值的第二加权误差所对应的多个目标单任务学习网络,确定为第二待选择多任务学习网络;

将所述第一待选择多任务学习网络和所述第二待选择多任务学习网络构成的学习网络,确定为所述多任务学习网络。

本实施例提供的任务数据的处理装置,可以执行上述如图7所示方法的实施例,其实现原理和技术效果类似,在此不再赘述。

在一种实施例中,在上述图15所示实施例的基础上,如图16所示,上述的确定模块11包括:第一输入单元111、第一确定单元112以及第二确定单元113,其中:

第一输入单元111,用于将待处理的任务数据分别输入至所述多任务学习网络中,得到输出数据集,所述输出数据集包括每个第一待选择多任务学习网络的输出数据和每个第二待选择多任务学习网络的输出数据;

第一确定单元112,用于从每个第一待选择多任务学习网络和每个第二待选择多任务学习网络中,确定至少一个学习网络组,其中,同一个学习网络组中的每个待选择学习网络的输出数据相同;

第二确定单元113,用于将所有学习网络组中输出数据个数最多的学习网络组的输出数据确定为所述目标输出数据。

本实施例提供的任务数据的处理装置,可以执行上述如图9所示方法的实施例,其实现原理和技术效果类似,在此不再赘述。

在一种实施例中,在上述图15所示实施例的基础上,如图17所示,上述的确定模块11包括:第二输入单元114以及求和单元115,其中:

第二输入单元114,用于将待处理的任务数据分别输入至所述多任务学习网络中,得到输出数据集,所述输出数据集包括每个第一待选择多任务学习网络的输出数据和每个第二待选择多任务学习网络的输出数据;

求和单元115,用于对每个第一待选择多任务学习网络的输出数据和每个第二待选择多任务学习网络的输出数据进行加权求和操作,得到所述多个目标输出数据。

本实施例提供的任务数据的处理装置,可以执行上述如图10所示方法的实施例,其实现原理和技术效果类似,在此不再赘述。

关于任务数据的处理装置的具体限定可以参见上文中对于任务数据的处理方法的限定,在此不再赘述。上述任务数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,本实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现以下步骤:

获取待处理的任务数据;

将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据;

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;

所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取待处理的任务数据;

将所述待处理的任务数据输入至预设的多任务学习网络进行处理,得到多个目标输出数据;

其中,所述多任务学习网络为基于多个训练完成的目标单任务学习网络和第一训练数据集进行训练得到的神经网络,所述多任务学习网络具有多个任务处理层,一个任务处理层包括至少一个神经元函数;所述目标单任务学习网络为基于一个初始单任务学习网络和第二训练数据集进行训练得到的神经网络;

所述第一训练数据集包括所述多任务学习网络的第一训练输入数据和第一训练输出标签,所述第二训练数据集包括每个初始单任务学习网络的第二训练输入数据和第二训练输出标签。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1