CN114095381A - 多任务模型训练方法、多任务预测方法及相关产品 - Google Patents
多任务模型训练方法、多任务预测方法及相关产品 Download PDFInfo
- Publication number
- CN114095381A CN114095381A CN202111194648.3A CN202111194648A CN114095381A CN 114095381 A CN114095381 A CN 114095381A CN 202111194648 A CN202111194648 A CN 202111194648A CN 114095381 A CN114095381 A CN 114095381A
- Authority
- CN
- China
- Prior art keywords
- network
- networks
- gate
- expert
- tower
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种多任务模型训练方法、多任务预测方法及相关产品。涉及人工智能领域,具体涉及计算机视觉领域。包括:通过每个门网络对训练数据进行处理,以获取与每个门网络对应的多个目标专家网络以及权重;通过多个目标专家网络分别对训练数据进行特征提取,以得到与每个门网络对应的多个第一特征;根据多个目标专家网络的权重,对多个第一特征进行加权,以得到与每个门网络对应的Tower网络的输入数据;通过每个门网络对应的Tower网络对输入数据进行任务预测,以得到每个门网络对应的Tower网络的任务预测结果;根据每个门网络对应的多个目标专家网络的权重以及多个Tower网络的任务预测结果,对多任务模型进行训练。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种多任务模型训练方法、多任务预测方法及相关产品。
背景技术
随着人工智能技术的发展,人们发现很多任务之间会有一些共享的数据,但是,共享的同时又会有自己独特的数据。为了能够实现底层数据的共享,各种多任务模型应运而生。当前较为流行的多任务模型是多专家网络(Multi-gate Mixture Of Experts,MMOE)。MMOE网络包括多个门(gate)网络、多个专家(expert)网络以及多个Tower网络。多个expert网络统一对底层数据进行特征提取,然后基于gate网络输出的软分类概率确定每个expert网络的权重,基于每个expert网络的权重对多个expert网络提取到的特征进行加权,以得到每个Tower网络的输入数据,进而得到每个Tower网络的任务预测结果,实现多任务预测。
然而,MMOE网络在训练的过程中,训练数据中的每个样本选择expert网络的概率是随机的,导致训练出的MMOE网络的任务识别精度较低。
发明内容
本申请提供了一种多任务模型训练方法、多任务预测方法及相关产品,通过门网络为训练数据中的每个样本选择不同的专家网络,实现专家网络的负载均衡,从而使训练出的多任务模型的识别精度较高。
第一方面,本申请实施例提供一种多任务模型训练方法,多任务模型包括多个门网络、多个专家网络以及多个Tower网络,多个门网络与多个Tower网络一一对应;方法包括:通过多个门网络中的每个门网络对训练数据进行处理,以从多个专家网络中获取与每个门网络对应的多个目标专家网络,以及获取每个门网络对应的多个目标专家网络的权重;通过每个门网络对应的多个目标专家网络分别对训练数据进行特征提取,以得到与每个门网络对应的多个目标专家网络对应的多个第一特征;根据每个门网络对应的多个目标专家网络的权重,对每个门网络对应的多个目标专家网络对应的多个第一特征进行加权,以得到与每个门网络对应的Tower网络的输入数据;通过每个门网络对应的Tower网络对每个门网络对应的Tower网络的输入数据进行任务预测,以得到每个门网络对应的Tower网络的任务预测结果;根据每个门网络对应的多个目标专家网络的权重,以及多个Tower网络的任务预测结果,对多任务模型进行训练。
可以看出,在本申请实施例中,在对多任务模型进行训练时,不是直接通过多个专家网络对训练数据进行特征提取,而是先经过门网络对训练数据进行处理,从而从多个专家网络中找到与该训练数据对应的多个专家网络,比如,选择概率靠前的多个专家网络作为与该训练数据对应的目标专家网络;然后再使用该多个目标专家网络对该训练数据进行特征提取,并参与模型的训练过程,未选择的专家网络不会进行模型的学习更新,实现为训练数据进行个性化和稀疏性的选择专家网络,对于不同的训练数据来说,会选择不同的专家网络,这样在训练过程中不会过度的利用某个专家网络,从而实现选择专家网络的负载均衡,由于训练数据在选择专家网络时实现了负载均衡,因此使每个专家网络都有充分的训练数据进行训练,从而使训练后的多个专家网络的稳定性比较高,提高多任务模型的任务预测精度。
在一些可能的实施方式中,通过多个门网络中的每个门网络对训练数据进行处理,以从多个专家网络中获取与每个门网络对应的多个目标专家网络,以及获取每个门网络对应的多个目标专家网络的权重,包括:对训练数据进行特征提取,以得到每个专家网络对应的概率;基于每个专家网络对应的概率,从多个专家网络中获取与每个门网络对应的多个目标专家网络;对每个门网络对应的多个目标专家网络的概率进行归一化,以得到每个门网络对应的多个目标专家网络的权重。
应说明,每个专家网络对应的概率表征每个专家网络处理该训练数据的概率,也就是使用每个专家网络对该训练数据进行特征提取的概率,从训练数据的角度来说,也可以理解为在参与每个门网络对应的任务预测的过程中,该训练数据选择每个专家网络的概率。
示例性的,根据每个专家网络对应的概率从高到低的顺序,从多个专家网络中选择预设数量的专家网络作为该多个目标专家网络。因此,可以基于概率的高低选择多个目标专家网络,实现选择专家网络的稀疏性,针对每个训练数据来说不必使用所有的专家网络参与到与该训练数据对应的训练过程中,提高模型训练速度。
在一些可能的实施方式中,多任务模型还包括多个噪声网络,其中,多个噪声网络与多个门网络一一对应;对训练数据进行特征提取,以得到每个专家网络对应的概率,包括:通过每个门网络对训练数据进行特征提取,以得到第二特征;通过每个门网络对应的噪声网络对训练数据进行特征提取,以得到第三特征;通过每个门网络对应的噪声网络对第三特征添加噪声,以得到第四特征;对第二特征和第四特征进行融合,以得到第五特征;对第五特征进行处理,以得到每个专家网络对应的概率。
可以看出,在本实施方式中,在多任务模型中设置噪声网络,可以为门网络提取的特征融合噪声,从而保证每个门网络选择专家网络的随机性,这样对于不同的任务会选择不同的专家网络,不会过度的利用某一个专家网络,进一步保证使用专家网络的负载均衡,从而进一步保证每个专家网络都会有充分的训练数据进行训练,提高了专家网络的稳定性,从而提高了多任务模型的识别精度。
在一些可能的实施方式中,根据每个门网络对应的多个目标专家网络的权重,以及多个Tower网络的任务预测结果,对多任务模型进行训练,包括:根据多个Tower网络中每个Tower网络的任务预测结果,确定每个Tower网络对应的第一损失;根据每个门网络对应的多个目标专家网络的权重,以得到与每个门网络对应的信息熵;根据每个门网络对应的Tower网络的第一损失和每个门网络对应的信息熵,确定与训练数据对应的目标损失;根据目标损失,对多任务模型进行训练。
可以看出,在本实施方式中,还基于每个门网络选择目标专家网络的权重,确定出每个门网络对应的信息熵,然后将信息熵作为一部分损失加到多任务模型的训练过程中,这样在最小化目标损失时,必然需要保证每个目标专家网络的权重相同(也就是选择专家网络的概率相同),从而保证在整个模型训练过程中选择每个专家网络的样本数量差不多(基本相同),从而从本质上保证使用专家网络的负载均衡,提高多任务模型的识别精度。
在一些可能的实施方式中,根据每个门网络对应的Tower网络的第一损失和每个门网络对应的信息熵,确定与训练数据对应的目标损失之前,方法还包括:根据每个门网络对应的多个目标专家网络的权重,确定每个门网络分别选择多个专家网络的概率;根据每个门网络选择多个专家网络的概率,确定多个目标门网络中任意两个目标门网络选择多个专家网络的概率之间的分布差异,其中,多个目标门网络为多个门网络中的部分或全部;根据每个门网络对应的Tower网络的第一损失和每个门网络对应的信息熵,确定与训练数据对应的目标损失,包括:根据每个门网络对应的Tower网络的第一损失、每个门网络对应的信息熵、以及分布差异,确定与训练数据对应的目标损失。
可以看出,在本实施方式中,确定两个任务预测差异较大的Tower网络之间选择专家网络的分布差异,从而在实现选择专家网络的负载均衡的同时,还可以保证在训练的过程中不同预测任务的门网络所选择专家网络的是不同的,更加符合任务预测的实际需求,进而提高了多任务模型的识别精度。
在一些可能的实施方式中,任意两个目标门网络对应的两个Tower网络的任务预测之间的差异性大于阈值。
可以看出,在本申请实施方式中,对于不同的任务预测,所需的输入数据是不同的,也就是说,不同的任务预测需要使用不同的专家网络进行特征提取得到输入数据,才符合不同任务的预测需求。因此,计算任务预测差异较大的门网络之间选择专家网络的差异性,可以保证在训练的过程中,在实现选择专家网络的负载均衡的同时,还可以保证不同预测任务的门网络所选择专家网络的是不同的,符合任务预测的实际需求,提高了多任务模型的识别精度。
在本申请的一个实施方式中,分布差异通过任意两个目标门网络选择多个专家网络的概率之间的KL散度、JS散度或者Wasserstein距离表征。
在一些可能的实施方式中,训练数据为多个第一时刻下的视频数据组成的二维特征图,每个Tower网络的任务预测结果为视频关键质量指标中的一种;或者,训练数据为多个第一用户特征数据,每个Tower网络的任务预测结果为用户行为中的一种。
可以看出,在本实施方式中,可以将多个第一时刻下的视频数据组成训练数据,训练多任务模型,由于训练出的多任务模型的识别精度高,鲁棒性强,从而后续使用该多任务模型进行KQI识别时,可以提高KQI的识别精度。同样,使用多个第一用户特征数据进行多任务模型训练后,后续使用该多任务模型进行用户行为预测时,可以提高用户行为预测精度。
第二方面,本申请实施例提供一种多任务预测方法,包括:获取待预测数据;将待预测数据输入到多任务模型,以得到每个Tower网络对应的任务预测结果;其中,多任务模型通过如第一方面的方法进行训练得到;其中,当待预测数据为多个第二时刻下的视频数据组成的二维特征图时,每个Tower网络的任务预测结果为视频关键质量指标中的一种;当待预测数据为多个第二用户特征数据时,每个Tower网络的任务预测结果为用户行为中的一种。
可以看出,在本申请实施例中,由于训练出的多任务模型识别精度高,鲁棒性高,从而可以提高KQI的识别精度,以及用户行为的识别精度。
第三方面,本申请实施例提供一种多任务模型训练装置,其特征在于,多任务模型包括多个门网络、多个专家网络以及多个Tower网络,多个门网络与多个Tower网络一一对应;装置包括:获取单元和处理单元;获取单元,用于获取训练数据;处理单元,用于通过多个门网络中的每个门网络对训练数据进行处理,以从多个专家网络中获取与每个门网络对应的多个目标专家网络,以及获取每个门网络对应的多个目标专家网络的权重;通过每个门网络对应的多个目标专家网络分别对训练数据进行特征提取,以得到与每个门网络对应的多个第一特征;根据每个门网络对应的多个目标专家网络的权重,对每个门网络对应的多个第一特征进行加权,以得到与每个门网络对应的Tower网络的输入数据;通过每个门网络对应的Tower网络,对每个门网络对应的Tower网络的输入数据进行任务预测,以得到每个门网络对应的Tower网络的任务预测结果;根据每个门网络对应的多个目标专家网络的权重,以及多个Tower网络的任务预测结果,对多任务模型进行训练。
在本申请的一个实施方式中,在处理单元通过多个门网络中的每个门网络对训练数据进行处理,以从多个专家网络中获取与每个门网络对应的多个目标专家网络,以及获取每个门网络对应的多个目标专家网络的权重方面,处理单元,具体用于:对训练数据进行特征提取,以得到每个专家网络对应的概率;基于每个专家网络对应的概率,从多个专家网络中获取与每个门网络对应的多个目标专家网络;对每个门网络对应的多个目标专家网络的概率进行归一化,以得到每个门网络对应的多个目标专家网络的权重。
在本申请的一个实施方式中,多任务模型还包括多个噪声网络,其中,多个噪声网络与多个门网络一一对应;在处理单元对训练数据进行特征提取,以得到每个专家网络对应的概率之前,处理单元,还用于:通过每个门网络对训练数据进行特征提取,以得到第二特征;通过每个门网络对应的噪声网络对训练数据进行特征提取,以得到第三特征;通过每个门网络对应的噪声网络对第三特征添加噪声,以得到第四特征;对第二特征和第四特征进行融合,以得到第五特征;对第五特征进行处理,以得到每个专家网络对应的概率。
在本申请的一个实施方式中,在处理单元根据每个门网络对应的多个目标专家网络的权重,以及多个Tower网络的任务预测结果,对多任务模型进行训练方面,处理单元,具体用于:根据多个Tower网络中每个Tower网络的任务预测结果,确定每个Tower网络对应的第一损失;根据每个门网络对应的多个目标专家网络的权重,以得到与每个门网络对应的信息熵;根据每个门网络对应的Tower网络的第一损失和每个门网络对应的信息熵,确定与训练数据对应的目标损失;根据目标损失,对多任务模型进行训练。
在本申请的一个实施方式中,在处理单元根据每个门网络对应的Tower网络的第一损失和每个门网络对应的信息熵,确定与训练数据对应的目标损失之前,处理单元,还用于:根据每个门网络对应的多个目标专家网络的权重,确定每个门网络分别选择多个专家网络的概率;根据每个门网络选择多个专家网络的概率,确定多个目标门网络中任意两个目标门网络选择多个专家网络的概率之间的分布差异,其中,多个目标门网络为多个门网络中的部分或全部;在处理单元根据每个门网络对应的Tower网络的第一损失和每个门网络对应的信息熵,确定与训练数据对应的目标损失方面,处理单元,具体用于:根据每个门网络对应的Tower网络的第一损失、每个门网络对应的信息熵、以及分布差异,确定与训练数据对应的目标损失。
在本申请的一个实施方式中,任意两个目标门网络对应的两个Tower网络的任务预测之间的差异性大于阈值。
在本申请的一个实施方式中,分布差异通过任意两个目标门网络选择多个专家网络的概率之间的KL散度、JS散度或者Wasserstein距离表征。
在本申请的一个实施方式中,训练数据为以下一种:训练数据为多个第一时刻下的视频数据组成的二维特征图,每个Tower网络的任务预测结果为视频关键质量指标中的一种;或者,训练数据为多个第一用户特征数据,每个Tower网络的任务预测结果为用户行为中的一种。
第四方面,本申请实施例提供一种多任务预测装置,其特征在于,包括:获取单元和处理单元;获取单元,用于获取待预测数据;处理单元,用于将待预测数据输入到多任务模型,以得到每个Tower网络对应的任务预测结果;其中,多任务模型通过如第一方面的方法进行训练得到;其中,当待预测数据为多个第二时刻下的视频数据组成的二维特征图时,每个Tower网络的任务预测结果为视频关键质量指标中的一种;当待预测数据为多个第二用户特征数据时,每个Tower网络的任务预测结果为用户行为中的一种。
第五方面,本申请实施例提供了一种电子设备,包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序;当存储器存储的程序被执行时,处理器用于实现上述第一方面或第二方面中的方法。
第六方面,本申请实施例提供了提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于实现上述第一方面或第二方面中的方法。
第七方面,本申请实施例提供了提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机实现上述第一方面或第二方面中的方法。
第八方面,本申请实施例提供了提供一种芯片,该芯片包括处理器与数据接口,处理器通过数据接口读取存储器上存储的指令,实现上述第一方面或第二方面中的方法。
可选地,作为一种实现方式,芯片还可以包括存储器,存储器中存储有指令,处理器用于执行存储器上存储的指令,当指令被执行时,处理器用于实现上述第一方面或第二方面中的方法。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种系统架构200的结构示意图;
图3为本申请实施例提供的一种芯片硬件结构图;
图4为本申请实施例提供的一种多任务模型的网络结构图;
图5为本申请实施例提供的一种多任务模型训练方法的流程示意图;
图6为本申请实施例提供的一种将多个时刻下的视频数据组成训练数据的示意图;
图7为本申请实施例提供的一种多任务预测方法的流程示意图;
图8为本申请实施例提供的一种基于多任务模型预测视频的KQI的示意图;
图9为本申请实施例提供的一种基于多任务模型预测用户的用户行为的示意图;
图10为本申请实施例提供的一种多任务模型训练装置的结构示意图;
图11为本申请实施例提供的一种多任务预测装置的结构示意图;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据:
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理:
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力:
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用:
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
首先说明,本申请涉及的场景:
应用场景1:本申请的多任务模型可以应用到视频的关键质量指标(Key QualityIndicator,KQI)识别。例如,采集某个应用程序在多个时刻下的视频数据,将多个时刻下的视频数据组成二维特征图作为多任务模型的输入数据,预测出该应用程序的多个KQI。
应用场景2:本申请的多任务模型可以应用到用户行为预测,比如,用户的点击率,用户的满意度,等等。例如多任务模型的输入数据,预测出,采集用户的行为特征数据,将该用户的行为特征数据组成输入数据输入到多任务模型,预测出该用户的多个行为。
应用场景3:本申请的多任务模型可以作为某个模型的特征提取层。例如,将训练好的多任务模型的Tower网络删除,并将原本输入到各个Tower网络的输入数据作为该模型中与该多任务模型连接的下一个网络层的输入数据。
参阅图2,本发明实施例提供了一种系统架构200的结构示意图。数据采集设备260用于采集训练数据并存入数据库230,训练设备220基于数据库230中维护的训练数据生成多任务模型/规则201。下面将更详细地描述训练设备220如何基于训练数据得到多任务模型/规则201,多任务模型/规则201能够识别视频关键质量指标。
训练设备220得到的多任务模型/规则可以应用不同的系统或设备中。在附图2中,执行设备210配置有I/O接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向I/O接口212输入数据。
执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。
计算模块211使用多任务模型/规则201对输入的数据进行处理。例如,计算模块211对采集到的多个时刻下的视频数据组成二维特征图;然后,使用多任务模型/规则201对二维特征图进行多任务识别,以得到多个KQI。
关联功能模块213可以将多个时刻下的视频数据组成所需的二维特征图。
最后,I/O接口212将处理结果返回给客户设备240,提供给用户。
更深层地,训练设备220可以针对不同的目标,基于不同的数据生成相应的多任务模型/规则201,以给用户提供更佳的结果。
在附图2中所示情况下,用户可以手动指定输入执行设备210中的数据,例如,在I/O接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向I/O接口212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到训练数据存入数据库230。
值得注意的,附图2仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。
参阅图3,图3为本发明实施例提供的一种芯片硬件结构图。神经网络处理器(Neural-network Processing Unit,NPU)50作为协处理器挂载到主中央处理器(CentralProcessing Unit,CPU)上,由主CPU分配任务。NPU 50的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器502或输入存储器501)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。
在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。
在一些实现中,运算电路503还可以是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路503从权重存储器502中取矩阵B相应的数据,并缓存在运算电路503中每一个PE上。运算电路503从输入存储器501中取矩阵A与矩阵B进行矩阵运算,并将得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路503的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非全连接层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现中,向量计算单元507将经处理的输出的向量存储到统一存储器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。
在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。
在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
对于本申请来说,针对任意一个门网络,运算电路503可以对训练数据进行处理,以得到各个专家网络的概率,并依据各个专家网络的概率,得到与该门网络对应的多个目标专家网络,以及该多个目标专家网络的权重;并调用该多个目标专家网络对该训练数据进行特征提取,并基于该多个目标专家网络的权重对多个目标专家网络提取出的特征进行加权,以得到与该门网络对应的Tower网络的输入数据;最后,调用该Tower网络对该输入数据进行处理,以得到与该Tower网络对应的任务预测结果。
统一存储器506用于存放输入数据以及输出数据。
存储单元访问控制器505(Direct Memory Access Controller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(Bus Interface Unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器(instruction fetch buffer)509之间进行交互。
取指存储器509,用于存储控制器504使用的指令;
控制器504,用于调用取指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为NPU 50的外部存储器,该外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,简称DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
参阅图4,图4为本申请实施例提供的一种多任务模型的网络结构图。该多任务模型包括多个门(gate)网络、多个专家(expert)网络、多个Tower网络(塔网络)、多个噪声网络,其中,多个噪声网络是可选的,可以在多任务模型中设置,也可以不设置。图4中以设置有多个噪声网络为例进行说明。
其中,多个门(gate)网络、多个Tower网络、多个噪声网络之间一一对应。每个Tower网络都是一个多层感知器,均用于进行任务预测,比如,可以进行分类,或者,回归,等等。
应说明,图4仅示出了两个门网络,即gate A和gate B,仅示出了两个噪声网络,即Noisy A和Noisy B,仅示出了三个专家网络,即expert0、expert1、expert2,仅示出了两个Tower网络,即Tower A和Tower B。其中,gate A、Noisy A和Tower A三者对应,gate B、Noisy B和Tower B三者对应。
下面以图4所示的网络结构,说明多任务模型中各个网络的功能和用途。
示例性的,gate A用于对输入数据input(比如,本申请中的训练数据)进行处理,以得到与专家网络expert0、expert1、expert2对应的概率,该概率表示与gate A对应的预测任务,分别选择这些专家网络处理该训练数据的概率;然后,根据expert0、expert1、expert2对应的概率从大到小的顺序,从expert0、expert1、expert2中选择与gate A对应的目标专家网络,比如,选择了expert0、expert1作为目标专家网络;然后,再将选择的目标专家网络对应的概率进行归一化,得到了与每个目标专家网络对应的权重;
与gate A对应的目标专家网络用于对该input分别进行特征提取,得到与每个目标专家网络对应的第一特征;然后,基于每个目标专家网络对应的权重,分别对第一特征进行加权,得到Tower A的输入数据;
Tower A用于对输入数据进行处理,得到与Tower对应的任务预测结果。
可选的,若多任务模型包括噪声网络,则gate A用于对input进行处理,得到第二特征;然后,Noisy A用于对input进行处理,以得到第三特征,并对该第三特征添加噪声,得到第四特征;最后,gate A将第四特征和第二特征进行融合,得到第五特征,并对该第五特征进行处理,得到与专家网络expert0、expert1、expert2对应的概率。
其中,对于gate B、Noisy B和Tower B的功能,分别与gate A、Noisy A和Tower A的功能类似,不再叙述。
与图4示出的多任务模型相适应的,参阅图5,图5为本申请实施例提供的一种多任务模型训练方法的流程示意图。该方法包括以下步骤内容:
501:通过多个门网络中的每个门网络对训练数据进行处理,以从多个专家网络中获取与每个门网络对应的多个目标专家网络,以及获取每个门网络对应的多个目标专家网络的权重。
其中,每个门网络对应的多个目标专家网络为该多个专家网络中的部分。
示例性的,如图4所示的模型结构,可以通过每个门网络对训练数据进行特征提取,得到该训练数据的第二特征;然后,通过该门网络对该第二特征进行处理,比如,对该第二特征进行softmax处理,得到每个专家网络对应的概率,即得到了在使用该训练数据进行与该门网络对应的任务预测时,该训练数据选择各个专家网络的概率;然后,基于每个专家网络对应的概率从该多个专家网络中获取与该门网络对应的多个目标专家网络,比如,可以按照该概率从大到小的顺序,从该多个专家网络中选取预设数量(比如,K个)的专家网络作为该多个目标专家网络;最后,对该多个目标专家网络对应的概率进行归一化,得到每个目标专家网络对应的权重。
在本申请的一个实施方式中,如图4所示的模型结构,若该多任务模型还包含有多个噪声网络,则将该训练数据输入到门网络的同时,还需要将训练数据输入到与该门网络对应的噪声网络,通过该噪声网络对该训练数据进行特征提取,得到第三特征;然后,再通过该噪声网络对该第三特征添加噪声,得到第四特征,其中,添加的噪声可以是随机噪声,比如,高斯噪声,等等。对该第四特征和门网络提取到的第二特征进行融合,得到第五特征;最后,对该第五特征进行处理,比如,对该第五特征进行softmax处理,得到每个专家网络对应的概率。
示例性的,对第五特征进行处理可以通过公式(1)表示:
G(X)=Softmax(H(X)) 公式(1);
其中H(X)为第五特征,X表示训练数据。
示例性的,H(X)可以通过公式(2)表示:
H(X)=FGate(X)+Normal(0,1)*Softplus(FNoisy(X)) 公式(2);
其中,FGate(X)为门网络提取的第二特征,FNoisy(X)为噪声网络提取的第三特征,Normal(0,1)表示对噪声网络提取的第三特征随机添加(0,1)的正态分布噪声,即标注正态分布噪声,Softplus为激活函数,用于将噪声网络提取到的第三特征转化到0~正无穷之间。
502:通过每个门网络对应的多个目标专家网络分别对训练数据进行特征提取,以得到与每个门网络对应的多个第一特征。
示例性的,通过与每个门网络对应的多个目标专家网络中的每个目标专家网络对该训练数据进行特征提取,以得到与每个目标专家网络对应的第一特征。例如,当训练数据为图像时,则通过每个目标专家网络对该图像进行特征提取,得到的第一特征为该图像的特征图;当训练数据为文本时,则通过每个目标专家网络对该文本进行特征提取,得到的第一特征为该文本的语义信息。
结合步骤501和步骤502来看,在对训练数据进行特征提取之前,先通过门网络对训练数据进行特征提取,得到训练数据选择每个专家网络的概率,然后选择概率最大的K个专家网络;最后,通过该K个专家网络对训练数据进行特征提取,进行模型训练,未选择的专家网络不会进行模型的学习更新,从而实现选择专家网络的稀疏性和个性化。
503:根据每个门网络对应的多个目标专家网络的权重,对每个门网络对应的多个第一特征进行加权,以得到与每个门网络对应的Tower网络的输入数据。
示例性的,基于每个门网络对应的多个目标专家网络中的每个目标专家网络对应的权重,对每个目标专家网络提取的第一特征进行加权,得到与该门网络对应的Tower网络的输入数据。
504:通过每个门网络对应的Tower网络,对每个门网络对应的Tower网络的输入数据进行任务预测,以得到每个门网络对应的Tower网络的任务预测结果。
示例性的,针对不同的任务预测需求,可设置不同的Tower网络,比如,有分类需求时,则可设置一个用于分类的Tower网络,通过该Tower网络进行分类得到该训练数据属于各个类别的概率;比如,有用户行为预测需求,例如,预测用户的点击概率,则可设置一个用于预测点击概率的Tower网络,通过该Tower网络对训练数据进行预测,得到用户的点击概率。
因此,针对Tower网络的设置目的,不同的Tower网络可以对该训练数据进行不同的任务预测,得到与每个Tower网络对应的任务预测结果。
505:根据每个门网络对应的多个目标专家网络的权重,以及多个Tower网络的任务预测结果,对多任务模型进行训练。
示例性的,根据与每个门网络对应的多个目标专家网络的权重,确定与每个门网络对应的信息熵,其中,该信息熵可以通过公式(3)表示:
其中,H为信息熵,m为与每个门网络对应的目标专家网络的数量,pi为m个目标专家网络中的第i个目标专家网络的权重。
进一步的,根据每个Tower网络的任务预测结果,确定与每个Tower网络对应的第一损失,即根据任务预测结果,以及预先对该训练数据标注的与该Tower网络的任务预测对应的标签,确定与该Tower网络对应的第一损失。
进一步的,根据每个门网络对应的信息熵,以及与每个门网络对应的Tower网络的第一损失(即多个Tower网络的多个第一损失),确定与该训练数据对应的目标损失;最后,基于该目标损失以及梯度下降法对该多任务模型进行训练。
示例性的,该目标损失可以通过公式(4)表示:
其中,Lminal为目标损失,n为门网络的数量,γi是一个预设的超参,表示与n个网络中的第i个门网络的权重,Li为第i个门网络对应的Tower网络的第一损失,Hi为第i个门网络的信息熵,μi为第i个门网络的信息熵对应的预设超参。
在本申请的一个实施方式中,对该多任务模型的训练方式为批训练,则该训练数据为一个mini-batch中的任意一个训练数据;对于采用批训练来说,对于每个Tower网络的第一损失,则可以每个Tower网络在mini-batch中的所有样本下的第一损失的平均值作为该Tower在mini-batch下的第一损失。
下面介绍如何获取mini-batch样本下的每个门网络的信息熵。
示例性的,针对一个门网络来说,基于每个训练数据下每个门网络对应的多个目标专家网络的权重,确定该训练数据下该多个专家网络中的每个专家网络的权重。可选的,将该门网络选择的K个目标专家网络的权重还作为该K个目标专家网络的权重,并将除K个目标专家网络之外的剩余n-K专家网络的权重设置为0,得到了每个专家网络的权重;然后,基于mini-batch中每个训练数据下的多个专家网络的权重,确定在该mini-batch下的每个专家网络的权重。例如,如公式(5)所示,将mini-batch中所有训练数据在每个专家网络的权重的平均值作为该mini-batch下的每个专家网络的权重。
其中,k代表mini-batch中的训练数据的数量,n为专家网络的数量,例如,p11…p1n表示第一个训练数据下各个专家网络的权重。
进一步地,基于公式(3),以及每个门网络下,该mini-batch下的每个专家网络的权重,确定与该门网络对应的信息熵,即得到了在批训练的过程中,每个门网络对应的信息熵。
同样,按照公式(4)的加权方式对每个门网络的信息熵,以及与每个门网络对应的Tower网络的第一损失进行加权,得到目标损失,并使用目标损失对多任务模型进行训练。
在本申请的一个实施方式中,针对两个Tower网络,如果进行任务预测的差异性较大,对于这两个Tower网络来说,其对应的两个门网络所选择的目标专家网络应该是不同。因此,为了保证选择专家网络的差异性,在确定目标损失之前,还可以根据每个门网络对应的多个目标专家网络的权重,确定每个门网络分别选择多个专家网络的概率,其中,每个专家网络对应的选择概率通过每个门网络选择专家网络的权重表征,即上述通过门网络得到的各个目标专家网络的权重确定。具体的,如果多个专家网络中的某个专家网络不是该门网络所选择的目标专家网络,则说明该门网络选择该专家网络的概率为0,可将选择该专家网络的概率设置为0。然后,根据每个门网络选择多个专家网络的概率,确定多个目标门网络中任意两个目标门网络选择多个专家网络的概率之间的分布差异,其中,多个目标门网络为多个门网络中的部分或全部;最后,根据任意两个目标门网络选择多个专家网络的概率之间的分布差异、每个门网络的信息熵,以及与每个门网络对应的Tower网络的第一损失,确定目标损失。即根据预设的超参对任意两个目标门网络选择多个专家网络的概率之间的分布差异、每个门网络的信息熵,以及与每个门网络对应的Tower网络的第一损失进行加权融合,得到目标损失。
应说明,可以根据不同的训练目的设置不同的超参,比如,本次训练的目的是要保证某个Tower网络的任务预测精度,则可以将该Tower网络的超参设置的较大,使加权出的目标损失由该Tower网络的损失决定,在训练过程中着重训练该Tower网络;再如,本次训练的目的是要保证两个门网络选择专家网络的差异性,则可以将该两个门网络之间的超参设置的比较大,以着重训练这两个门网络选择专家网络的差异性。
应说明,该多个目标门网络中的任意两个门网络对应的两个Tower的任务预测之间的差异性大于阈值,也就是说当两个Tower网络用来预测的任务之间的差异性较大时,才需要衡量与这两个Tower网络对应的gate网络选择门网络的差异性。比如,一个Tower网络用于预测用户对某个商品的购买率,另外一个Tower网络用于预测用户点击某个网站的概率,可以看出,两个Tower网络预测的行为差异性较大,应该去选择不同的专家网络对训练数据进行特征提取,以分别得到与这两个Tower网络的输入数据(专家网络不同,得到的输入数据也是不同的,符合进行不同的任务预测实际需求)。因此,需要去衡量这两个Tower网络对应的gate网络选择专家网络的差异性;对于没有计算分布差异的门网络来说,也就是任务预测差异性较小的门网络,可以认为这两个门网络选择专家网络的差异性为零,它们可以选择相同的专家网络进行特征提取,得到输入数据。
可选的,任意两个目标门网络对应的两个Tower网络的任务预测之间的差异性可以通过任意两个目标门网络选择多个专家网络的概率之间的KL散度、JS散度或者Wasserstein距离表征。本申请中以KL散度为例进行说明。
可以看出,基于信息熵的设置,在训练过程中最小化目标损失时,需要保证信息熵最大,这样也就约束在一个mini-batch下,训练数据每个专家网络的权重相同,换句话说,一个mini-batch中选择每个专家网络的样本数量基本相同,这样对于一个mini-batch来说,每个专家网络都会参与到模型训练中来,实现选择专家网络的负载均衡,这样也就保证每个专家网络都会有足够的训练数据进行模型训练,从而使训练后的专家网络稳定性比较高,进而提高了多任务模型的识别精度;而且计算两个目标门网络之间的分布差异,使在实现选择专家网络的负载均衡的同时,还保证各个训练数据选择专家网络的差异化。
在本申请的一个实施方式中,在完成对该多任务模型的训练之后,可以将该多任务模型的Tower网络删除,并将删除Tower网络的多任务模型作为某个模型的网络层,以使用删除Tower网络后的多任务模型进行特征提取,即将原本输入到各个Tower网络的输入数据,作为该模型中与该多任务模型连接的下一个网络层的输入数据。
在本申请的一个实施方式中,该训练数据可以为多个第一时刻下的视频数据组成的二维特征图。该多个第一时刻可以为预设时间段内的多个历史时刻。相应的,该多个Tower分别用于预测多个第一时刻下的视频的多个KQI,比如,视频的码率、卡顿情况,等等。
如图6所示,从网关或其它采集网络出口进行视频数据的采集,得到多个第一时刻下的视频数据报文信息(视频数据)。其中,每个第一时刻下的视频数据包括通用Header特征和TCP特征。具体的,每个第一时刻下的通用Header特征包括上/下行包数、上/下行负载大小、上/下行控制包数、上/下行控制包负载大小、上/下行瞬时速率、上/下行平均速率、上/下行会话时长、上/下行包占总包数比率,等等;每个第一时刻下的TCP特征包括下行重传负载大小、下行重传占比、上行接受窗口大小、上行窗口更新次数、下行未确认段次数、下行未确认段负载大小、上行往返延时(Round-Trip Time,RTT)时间等等。然后,考虑时间维度,将一个时间段内的多个第一时刻下的视频数据组成一个二维特征图,如图6所示,可以按照时间方向,将多个第一时刻下的视频数据组成二维特征图,将该二维特征图作为训练数据。
在本申请的又一个实施方式中,该训练数据为多个第一用户特征数据,该多个第一用户特征数据可以为多个第一历史时刻下的用户的历史浏览行为、已购买物品的特征、用户的性别,等等。与该训练数据相适应的,该多任务模型的多个Tower网络分别用于预测用户的多个行为,比如,用户满意度(User Satisfaction)、用户参与度(UserEngagement)、用户点击率(Click-Through Rate)以及转化率(Conversion Rate),等等。然后,将采集到的多个第一用户特征数据转化为特征序列,并将该特征序列作为训练数据。
参阅图7,图7为本申请实施例提供的一种多任务预测方法的流程示意图。该方法通过上述的多任务模型实现。该方法包括以下步骤:
701:获取待预测数据。
可选的,该待预测数据可以为多个第二时刻下的视频数据。该多个第二时刻可以为当前时刻之前的一个预设时间段内的多个时刻。该多个第二时刻和多个第一时刻可以有重复的时刻,也可以没有重复的时刻,不做限定。如图8所示,可以获取任意一个应用程序在多个第二时刻下的视频数据,以便获取该应用程序在当前时刻的多个KQI。
可选的,该待预测数据可以为多个第二用户特征数据。如图9所示,获取多个第二用户特征数据,然后将该多个第二用户特征数据进行数据处理(比如,进行向量化),得到该待预测数据。其中,该多个第二用户特征数据,可以是当前时刻之前的一个预设时间段内的多个时刻下的用户特征数据。因此,该多个第二用户特征数据可以是用户的多个历史特征数据。
702:将待预测数据输入到多任务模型,以得到每个Tower网络对应的任务预测结果。
示例性的,将该待预测数据作为该多任务模型的输入数据输入到该多任务模型,得到每个Tower网络的任务预测结果。
如图8所示,当待预测数据是某个应用程序在多个第二时刻下的视频数据时,则可以将多个第二时刻下的视频数据组成如图6示出的二维特征图,将该二维特征图作为输入数据输入到多任务模型,得到该应用程序的多个KQI,其中,每个Tower网络用于预测一个KQI;
如图9所示,当待预测数据为多个第二用户特征数据时,则可将多个第二用户特征数据组成输入数据输入到该多任务模型,得到多个用户行为,其中,每个Tower用于预测出一个用户行为。
参阅图10,图10为本申请实施例提供的一种多任务模型训练装置的结构示意图。多任务模型包括多个门网络、多个专家网络以及多个Tower网络,多个门网络与多个Tower网络一一对应。多任务模型训练装置1000包括获取单元1001和处理单元1002;其中,
获取单元1001,用于获取训练数据;
处理单元1002,用于通过多个门网络中的每个门网络对训练数据进行处理,以从多个专家网络中获取与每个门网络对应的多个目标专家网络,以及获取每个门网络对应的多个目标专家网络的权重;
通过每个门网络对应的多个目标专家网络分别对训练数据进行特征提取,以得到与每个门网络对应的多个第一特征;
根据每个门网络对应的多个目标专家网络的权重,对每个门网络对应的多个第一特征进行加权,以得到与每个门网络对应的Tower网络的输入数据;
通过每个门网络对应的Tower网络,对每个门网络对应的Tower网络的输入数据进行任务预测,以得到每个门网络对应的Tower网络的任务预测结果;
根据每个门网络对应的多个目标专家网络的权重,以及多个Tower网络的任务预测结果,对多任务模型进行训练。
关于上述获取单元1001和处理单元1002更详细的描述,可参考上述方法实施例中的相关描述,在此不再说明。
参阅图11,图11为本申请实施提供的一种多任务预测装置的结构示意图。多任务预测装置1100包括获取单元1101和处理单元1102;
获取单元1101,用于获取待预测数据;
处理单元1102,用于将待预测数据输入到多任务模型,以得到每个Tower网络对应的任务预测结果;其中,多任务模型通过如上述多任务模型训练方法进行训练得到;
其中,当待预测数据为多个第二时刻下的视频数据组成的二维特征图时,每个Tower网络的任务预测结果为视频关键质量指标中的一种;当待预测数据为多个第二用户特征数据时,每个Tower网络的任务预测结果为用户行为中的一种。
参阅图12,图12为本申请实施例提供的一种电子设备的结构图。电子设备1200可以为上述多任务模型训练装置1000,或者该多任务模型训练装置1000中的芯片或芯片系统;电子设备1200也可以为上述多任务预测装置1100,或者该多任务预测装置1100中的芯片或芯片系统。
电子设备1200包括存储器1201、处理器1202、通信接口1203以及总线1204。其中,存储器1201、处理器1202、通信接口1203通过总线1204实现彼此之间的通信连接。
存储器1201可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1201可以存储程序;当电子设备1200为上述多任务模型训练装置1000时,则当存储器1201中存储的程序被处理器1202执行时,处理器1202和通信接口1203用于执行本申请实施例的多任务模型训练方法中的各个步骤;当电子设备1200为上述多任务预测装置1100时,则当存储器1201中存储的程序被处理器1202执行时,处理器1202和通信接口1203用于执行本申请实施例的多任务预测方法中的各个步骤。
处理器1202可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的多任务模型训练方法或者多任务预测方法。
处理器1202还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的数据流传输方法中的各个步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1202还可以是通用处理器、数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(Field ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1201,处理器1202读取存储器1201中的信息,以执行多任务模型训练方法或者多任务预测方法的各个步骤。
通信接口1203可以为收发器一类的收发装置,来实现电子设备1200与其他设备或通信网络之间的通信;通信接口1203也可以为输入-输出接口,来实现电子设备1200与输入-输出设备之间的数据传输,其中,输入-输出设备包括但不限于键盘、鼠标、显示屏、U盘以及硬盘。比如,处理器1202可以通过通信接口1203获取训练数据或者待预测数据。
总线1204可包括在装置电子设备1200各个部件(例如,存储器1201、处理器1202、通信接口1203)之间传送信息的通路。
应注意,尽管图12所示电子设备1200仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,电子设备1200还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,电子设备1200还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,电子设备1200也可仅仅包括实现本申请实施例所必须的器件,而不必包括图12中所示的全部器件。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
1.一种多任务模型训练方法,其特征在于,所述多任务模型包括多个门网络、多个专家网络以及多个Tower网络,所述多个门网络与所述多个Tower网络一一对应;所述方法包括:
通过所述多个门网络中的每个门网络对训练数据进行处理,以从所述多个专家网络中获取与每个所述门网络对应的多个目标专家网络,以及获取每个所述门网络对应的多个目标专家网络的权重;
通过每个所述门网络对应的多个目标专家网络分别对所述训练数据进行特征提取,以得到与每个所述门网络对应的多个第一特征;
根据每个所述门网络对应的多个目标专家网络的权重,对每个所述门网络对应的多个第一特征进行加权,以得到与每个所述门网络对应的Tower网络的输入数据;
通过每个所述门网络对应的Tower网络,对每个所述门网络对应的Tower网络的输入数据进行任务预测,以得到每个所述门网络对应的Tower网络的任务预测结果;
根据每个所述门网络对应的多个目标专家网络的权重,以及所述多个Tower网络的任务预测结果,对所述多任务模型进行训练。
2.根据权利要求1所述的方法,其特征在于,所述通过所述多个门网络中的每个所述门网络对训练数据进行处理,以从所述多个专家网络中获取与每个所述门网络对应的多个目标专家网络,以及获取每个所述门网络对应的多个目标专家网络的权重,包括:
对所述训练数据进行特征提取,以得到每个所述专家网络对应的概率;
基于每个所述专家网络对应的概率,从所述多个专家网络中获取与每个所述门网络对应的多个目标专家网络;
对每个所述门网络对应的多个目标专家网络的概率进行归一化,以得到每个所述门网络对应的多个目标专家网络的权重。
3.根据权利要求2所述的方法,其特征在于,所述多任务模型还包括多个噪声网络,其中,所述多个噪声网络与所述多个门网络一一对应;所述对所述训练数据进行特征提取,以得到每个所述专家网络对应的概率,包括:
通过每个所述门网络对所述训练数据进行特征提取,以得到第二特征;
通过每个所述门网络对应的噪声网络对所述训练数据进行特征提取,以得到第三特征;
通过每个所述门网络对应的噪声网络对所述第三特征添加噪声,以得到第四特征;
对所述第二特征和所述第四特征进行融合,以得到第五特征;
对所述第五特征进行处理,以得到每个所述专家网络对应的概率。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据每个所述门网络对应的多个目标专家网络的权重,以及所述多个Tower网络的任务预测结果,对所述多任务模型进行训练,包括:
根据所述多个Tower网络中每个所述Tower网络的任务预测结果,确定每个所述Tower网络对应的第一损失;
根据每个所述门网络对应的多个目标专家网络的权重,以得到与每个所述门网络对应的信息熵;
根据每个所述门网络对应的Tower网络的第一损失和每个所述门网络对应的信息熵,确定与所述训练数据对应的目标损失;
根据所述目标损失,对所述多任务模型进行训练。
5.根据权利要求4所述的方法,其特征在于,根据每个门网络对应的Tower网络的第一损失和每个所述门网络对应的信息熵,确定与所述训练数据对应的目标损失之前,所述方法还包括:
根据每个所述门网络对应的多个目标专家网络的权重,确定每个所述门网络分别选择所述多个专家网络的概率;
根据每个所述门网络选择所述多个专家网络的概率,确定多个目标门网络中任意两个所述目标门网络选择所述多个专家网络的概率之间的分布差异,其中,所述多个目标门网络为所述多个门网络中的部分或全部;
所述根据每个所述门网络对应的Tower网络的第一损失和每个所述门网络对应的信息熵,确定与所述训练数据对应的目标损失,包括:
根据每个门网络对应的Tower网络的第一损失、每个所述门网络对应的信息熵、以及所述分布差异,确定与所述训练数据对应的目标损失。
6.根据权利要求5所述的方法,其特征在于,
任意两个所述目标门网络对应的两个Tower网络的任务预测之间的差异性大于阈值。
7.根据权利要求5或6所述的方法,其特征在于,
所述分布差异通过任意两个所述目标门网络选择所述多个专家网络的概率之间的KL散度、JS散度或者Wasserstein距离表征。
8.根据权利要求1-7中任一项所述的方法,其特征在于,
所述训练数据为多个第一时刻下的视频数据组成的二维特征图,每个所述Tower网络的任务预测结果为视频关键质量指标中的一种;
或者,
所述训练数据为多个第一用户特征数据,每个所述Tower网络的任务预测结果为用户行为中的一种。
9.一种多任务预测方法,其特征在于,包括:
获取待预测数据;
将所述待预测数据输入到多任务模型,以得到每个Tower网络对应的任务预测结果;其中,所述多任务模型通过如权利要求1~8中任一项所述的方法进行训练得到;
其中,当所述待预测数据为多个第二时刻下的视频数据组成的二维特征图时,每个所述Tower网络的任务预测结果为视频关键质量指标中的一种;当所述待预测数据为多个第二用户特征数据时,每个所述Tower网络的任务预测结果为用户行为中的一种。
10.一种多任务模型训练装置,其特征在于,所述多任务模型包括多个门网络、多个专家网络以及多个Tower网络,所述多个门网络与所述多个Tower网络一一对应;所述装置包括:获取单元和处理单元;
所述获取单元,用于获取训练数据;
所述处理单元,用于通过所述多个门网络中的每个门网络对训练数据进行处理,以从所述多个专家网络中获取与每个所述门网络对应的多个目标专家网络,以及获取每个所述门网络对应的多个目标专家网络的权重;
所述处理单元,还用于通过每个所述门网络对应的多个目标专家网络分别对所述训练数据进行特征提取,以得到与每个所述门网络对应的多个第一特征;
所述处理单元,还用于根据每个所述门网络对应的多个目标专家网络的权重,对每个所述门网络对应的多个第一特征进行加权,以得到与每个所述门网络对应的Tower网络的输入数据;
所述处理单元,还用于通过每个所述门网络对应的Tower网络,对每个所述门网络对应的Tower网络的输入数据进行任务预测,以得到每个所述门网络对应的Tower网络的任务预测结果;
所述处理单元,还用于根据每个所述门网络对应的多个目标专家网络的权重,以及所述多个Tower网络的任务预测结果,对所述多任务模型进行训练。
11.根据权利要求10所述的装置,其特征在于,在所述处理单元通过所述多个门网络中的每个所述门网络对训练数据进行处理,以从所述多个专家网络中获取与每个所述门网络对应的多个目标专家网络,以及获取每个所述门网络对应的多个目标专家网络的权重方面,所述处理单元,具体用于:
对所述训练数据进行特征提取,以得到每个所述专家网络对应的概率;
基于每个所述专家网络对应的概率,从所述多个专家网络中获取与每个所述门网络对应的多个目标专家网络;
对每个所述门网络对应的多个目标专家网络的概率进行归一化,以得到每个所述门网络对应的多个目标专家网络的权重。
12.根据权利要求11所述的装置,其特征在于,所述多任务模型还包括多个噪声网络,其中,所述多个噪声网络与所述多个门网络一一对应;在所述处理单元对所述训练数据进行特征提取,以得到每个所述专家网络对应的概率之前,所述处理单元,还用于:
通过每个所述门网络对所述训练数据进行特征提取,以得到第二特征;
通过每个所述门网络对应的噪声网络对所述训练数据进行特征提取,以得到第三特征;
通过每个所述门网络对应的噪声网络对所述第三特征添加噪声,以得到第四特征;
对所述第二特征和所述第四特征进行融合,以得到第五特征;
对所述第五特征进行处理,以得到每个所述专家网络对应的概率。
13.根据权利要求10-12中任一项所述的装置,其特征在于,在所述处理单元根据每个所述门网络对应的多个目标专家网络的权重,以及所述多个Tower网络的任务预测结果,对所述多任务模型进行训练方面,所述处理单元,具体用于:
根据所述多个Tower网络中每个所述Tower网络的任务预测结果,确定每个所述Tower网络对应的第一损失;
根据每个所述门网络对应的多个目标专家网络的权重,以得到与每个所述门网络对应的信息熵;
根据每个所述门网络对应的Tower网络的第一损失和每个所述门网络对应的信息熵,确定与所述训练数据对应的目标损失;
根据所述目标损失,对所述多任务模型进行训练。
14.根据权利要求13所述的装置,其特征在于,在所述处理单元根据每个门网络对应的Tower网络的第一损失和每个所述门网络对应的信息熵,确定与所述训练数据对应的目标损失之前,所述处理单元,还用于:
根据每个所述门网络对应的多个目标专家网络的权重,确定每个所述门网络分别选择所述多个专家网络的概率;
根据每个所述门网络选择所述多个专家网络的概率,确定多个目标门网络中任意两个所述目标门网络选择所述多个专家网络的概率之间的分布差异,其中,所述多个目标门网络为所述多个门网络中的部分或全部;
在所述处理单元根据每个所述门网络对应的Tower网络的第一损失和每个所述门网络对应的信息熵,确定与所述训练数据对应的目标损失方面,所述处理单元,具体用于:
根据每个门网络对应的Tower网络的第一损失、每个所述门网络对应的信息熵、以及所述分布差异,确定与所述训练数据对应的目标损失。
15.根据权利要求14的装置,其特征在于,
任意两个所述目标门网络对应的两个Tower网络的任务预测之间的差异性大于阈值。
16.根据权利要求14或15所述的装置,其特征在于,
所述分布差异通过任意两个所述目标门网络选择所述多个专家网络的概率之间的KL散度、JS散度或者Wasserstein距离表征。
17.根据权利要求10-16中任一项所述的装置,其特征在于,所述训练数据为以下一种:
所述训练数据为多个第一时刻下的视频数据组成的二维特征图,每个所述Tower网络的任务预测结果为视频关键质量指标中的一种;
或者,
所述训练数据为多个第一用户特征数据,每个所述Tower网络的任务预测结果为用户行为中的一种。
18.一种多任务预测装置,其特征在于,所述装置包括:获取单元和处理单元;
所述获取单元,用于获取待预测数据;
所述处理单元,用于将所述待预测数据输入到多任务模型,以得到每个Tower网络对应的任务预测结果;其中,所述多任务模型通过如权利要求1~8中任一项所述的方法进行训练得到;
其中,当所述待预测数据为多个第二时刻下的视频数据组成的二维特征图时,每个所述Tower网络的任务预测结果为视频关键质量指标中的一种;当所述待预测数据为多个第二用户特征数据时,每个所述Tower网络的任务预测结果为用户行为中的一种。
19.一种电子设备,其特征在于,包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序;当存储器存储的程序被执行时,处理器用于实现权利要求1-9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于设备执行的程序代码,所述程序代码包括用于实现权利要求1-9中任一项所述的方法。
21.一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得计算机实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194648.3A CN114095381B (zh) | 2021-10-13 | 2021-10-13 | 多任务模型训练方法、多任务预测方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194648.3A CN114095381B (zh) | 2021-10-13 | 2021-10-13 | 多任务模型训练方法、多任务预测方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095381A true CN114095381A (zh) | 2022-02-25 |
CN114095381B CN114095381B (zh) | 2023-04-04 |
Family
ID=80296862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111194648.3A Active CN114095381B (zh) | 2021-10-13 | 2021-10-13 | 多任务模型训练方法、多任务预测方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114095381B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114565105A (zh) * | 2022-03-02 | 2022-05-31 | 北京百度网讯科技有限公司 | 处理数据的方法和深度学习模型的训练方法、装置 |
CN114897168A (zh) * | 2022-06-20 | 2022-08-12 | 支付宝(杭州)信息技术有限公司 | 风控模型的基于知识表征学习的融合训练方法和系统 |
CN115762484A (zh) * | 2023-01-09 | 2023-03-07 | 季华实验室 | 用于语音识别的多模态数据融合方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191434A (zh) * | 2021-05-07 | 2021-07-30 | 支付宝(杭州)信息技术有限公司 | 训练风险识别模型的方法和装置 |
CN113392359A (zh) * | 2021-08-18 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 多目标预测方法、装置、设备及存储介质 |
-
2021
- 2021-10-13 CN CN202111194648.3A patent/CN114095381B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191434A (zh) * | 2021-05-07 | 2021-07-30 | 支付宝(杭州)信息技术有限公司 | 训练风险识别模型的方法和装置 |
CN113392359A (zh) * | 2021-08-18 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 多目标预测方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
JIAQI MA等: "Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-experts", 《KDD 2018》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114565105A (zh) * | 2022-03-02 | 2022-05-31 | 北京百度网讯科技有限公司 | 处理数据的方法和深度学习模型的训练方法、装置 |
CN114565105B (zh) * | 2022-03-02 | 2023-05-16 | 北京百度网讯科技有限公司 | 处理数据的方法和深度学习模型的训练方法、装置 |
CN114897168A (zh) * | 2022-06-20 | 2022-08-12 | 支付宝(杭州)信息技术有限公司 | 风控模型的基于知识表征学习的融合训练方法和系统 |
CN115762484A (zh) * | 2023-01-09 | 2023-03-07 | 季华实验室 | 用于语音识别的多模态数据融合方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114095381B (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114095381B (zh) | 多任务模型训练方法、多任务预测方法及相关产品 | |
WO2021190451A1 (zh) | 训练图像处理模型的方法和装置 | |
US20230325722A1 (en) | Model training method, data processing method, and apparatus | |
WO2021120719A1 (zh) | 神经网络模型更新方法、图像处理方法及装置 | |
CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
CN113039555B (zh) | 在视频剪辑中进行动作分类的方法、系统及存储介质 | |
CN113065635A (zh) | 一种模型的训练方法、图像增强方法及设备 | |
CN113592060A (zh) | 一种神经网络优化方法以及装置 | |
CN111368656A (zh) | 一种视频内容描述方法和视频内容描述装置 | |
CN111612215A (zh) | 训练时间序列预测模型的方法、时间序列预测方法及装置 | |
CN111340190A (zh) | 构建网络结构的方法与装置、及图像生成方法与装置 | |
WO2021169366A1 (zh) | 数据增强方法和装置 | |
CN111428854A (zh) | 一种结构搜索方法及结构搜索装置 | |
CN114266897A (zh) | 痘痘类别的预测方法、装置、电子设备及存储介质 | |
CN113516227A (zh) | 一种基于联邦学习的神经网络训练方法及设备 | |
CN114004383A (zh) | 时间序列预测模型的训练方法、时间序列预测方法及装置 | |
CN115081615A (zh) | 一种神经网络的训练方法、数据的处理方法以及设备 | |
CN113449548A (zh) | 更新物体识别模型的方法和装置 | |
CN112528108A (zh) | 一种模型训练系统、模型训练中梯度聚合的方法及装置 | |
CN113627421A (zh) | 一种图像处理方法、模型的训练方法以及相关设备 | |
CN110765956B (zh) | 基于部件特征的双人交互行为识别方法 | |
WO2023179609A1 (zh) | 一种数据处理方法及装置 | |
CN116739154A (zh) | 一种故障预测方法及其相关设备 | |
CN112257840A (zh) | 一种神经网络处理方法以及相关设备 | |
CN112532251A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |