一种数据处理方法、模型的训练方法以及相关设备与流程

未命名 10-19 阅读:77 评论:0


1.本技术涉及人工智能领域,尤其涉及一种数据处理方法、模型的训练方法以及相关设备。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。利用人工智能技术中的机器学习模型进行数据处理是常见的一个应用方式。
3.在有些场景中,同一时刻可能需要通过机器学习模型对同一数据执行多个任务,目前采用的方式为,在设备上部署能够一次性执行n个任务的机器学习模型,当需要对某一数据(为方便描述,后续称为“第一数据”)同时执行前述n个任务中的至少一个任务时,则将第一数据输入到机器学习模型中,通过该机器学习模型对第一数据执行n个任务,能够得到与n个任务一一对应的n个预测结果,进而从n个预测结果中获取实际需要的至少一个预测结果。
4.由于不是每次利用机器学习模型对第一数据进行数据处理时,都需要执行n个任务中的全部任务,因此,在有些时候,上述机器学习模型生成的n个预测结果中只有部分预测结果是需要的,另一部分预测结果则会被丢弃,容易造成计算机资源的浪费。


技术实现要素:

5.本技术实施例提供了一种数据处理方法、模型的训练方法以及相关设备,在机器学习模型的输入中增设第一信息,第一机器学习模型基于第一信息能够得知需要对第一数据执行哪些任务,进而能够适应性的对第一数据执行所需的任务,避免生成多余的预测结果,从而避免了对计算机资源的浪费。
6.为解决上述技术问题,本技术实施例提供以下技术方案:
7.第一方面,本技术实施例提供一种数据处理方法,可用于人工智能领域的多任务处理场景中,执行设备上部署的第一机器学习模型具有对输入的第一数据同时执行n个任务的能力,方法包括:执行设备可以获取第一数据和第一信息,第一信息指示对第一数据执行的m个任务,其中,n为大于1的整数,m为大于或等于1的整数。执行设备将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与m个任务一一对应的m个预测结果。
8.本实现方式中,在第一机器学习模型的输入中增设第一信息,第一信息用于指示需要对第一数据执行至少一个任务,第一机器学习模型输出的为与前述至少一个任务一一对应的至少一个预测结果,也即第一机器学习模型基于第一信息能够得知需要对第一数据
执行哪些任务,进而能够适应性的对第一数据执行所需的任务,避免生成多余的预测结果,从而避免了对计算机资源的浪费。
9.在一种可能实现方式中,第一信息可以表现为第一向量,第一向量可以包括与n个任务一一对应的n个元素,当n个元素中任意一个元素(为方便描述,后续称为“目标元素”)的取值为第一值时,代表需要对第一数据执行目标元素所对应的一个任务,当目标元素的取值为第二值时,代表不需要对第一数据执行目标元素所对应的一个任务;第一值和第二值不同。
10.在一种可能实现方式中,第一机器学习模型包括多个神经网络层,多个神经网络层中有至少一个第一神经网络层,其中,执行设备通过第一机器学习模型对第一数据进行处理,包括:执行设备基于第一信息,确定每个第一神经网络层所采用的参数;可选地,当输入的第一信息不同时,第一神经网络层所采用的参数可以不同。由于通过每个第一神经网络层执行的操作的类型为预设的,则在执行设备确定了任意一个神经网络层所采用的参数之后,可以根据前述第一神经网络层所采用的参数,利用该第一神经网络层对第二数据进行处理,得到该第一神经网络层生成的第二数据的处理结果,第二数据为第一数据或者第一数据的特征信息。示例性地,若任意一个第一神经网络层(为方便描述,后续称为“目标神经网络层”)为第一机器学习模型对第一数据进行处理时所采用的第一个神经网络层,则第二数据可以为第一数据;若目标神经网络层不是第一机器学习模型对第一数据进行处理时所采用的第一个神经网络层,则第二数据可以为第一数据的特征信息。
11.本实现方式中,当第一机器学习模型所采用的参数量越大时,在利用第一机器学习模型进行数据处理时所消耗的计算机资源就越多,也越能够从输入的第一数据中挖掘到更丰富的信息;对应的,当第一机器学习模型所采用的参数量越小时,在利用第一机器学习模型进行数据处理时所消耗的计算机资源就越少,则从输入的第一数据中挖掘到的信息会相对较少;第一机器学习模型具有同时执行n个任务的能力,当通过第一机器学习模型执行n个任务中的全部任务时,则可以让每个第一神经网络层采用较多的参数,但每次通过第一机器学习模型执行的不一定都是n个任务中的全部任务(也即需要对第一数据执行的m个任务可能是n个任务中的部分任务),基于第一信息来确定每个第一神经网络层所采用的参数,有利于实现每个第一神经网络层所采用的参数与“需要对第一数据执行的m个任务”之间的适配,以避免对计算机资源的浪费。
12.在一种可能实现方式中,第一机器学习模型包括的多个第一神经网络层可以均部署于第一机器学习模型的特征提取网络中,则若第二数据为第一数据的特征信息,第二数据的处理结果为第一数据的更新后的特征信息,若第二数据为第一数据,第二数据的处理结果为第一数据的特征信息。
13.本实现方式中,由于在利用第一机器学习模型对第一数据进行处理的过程中,第一机器学习模型中的特征提取网络所消耗的计算机资源较多,基于第一信息来调整特征提取网络中的神经网络层所采用的参数,有利于大幅度的降低对计算机资源的浪费。
14.在一种可能实现方式中,执行设备基于第一信息,确定第一神经网络层所采用的参数,包括:执行设备获取与第一神经网络层对应的第一参数;根据第一信息的特征信息,确定与第一神经网络层对应的第二参数;执行设备根据第一参数和第二参数,确定第一神经网络层所采用的参数。示例性地,“与目标神经网络层(也即任意一个第一神经网络层)对
应的第一参数”可以理解为与任务无关的参数,也即将“与目标神经网络层对应的第一参数”作为一组基,无论m个任务包括n个任务中的哪些任务,均会获取前述“与目标神经网络层对应的第一参数”;“与目标神经网络层对应的第二参数”可以理解为与任务相关的参数,则当第一信息不同(也即当对第一数据执行的m个任务不同)时,与目标神经网络层对应的第二参数可以不同。
15.本实现方式中,将每个第一神经网络层所采用的参数解耦为与第一神经网络层对应的任务无关参数(也即第一参数)以及任务相关参数(也即第二参数),在确定了需要对输入的第一数据执行哪些任务之后,可以基于第一信息的特征信息,确定与第一神经网络层对应的任务无关参数,进而基于任务无关参数和任务相关参数确定每个第一神经网络层最终采用的参数,由于第一信息会影响每个第一神经网络层所对应的第二参数,则有利于实现每个第一神经网络层所采用的参数与第一信息之间的适配性;此外,无论需要对输入的第一数据执行哪些任务,与每个第一神经网络层对应的第一参数是不变的,不仅有利于提高每个第一神经网络层所采用的参数的稳定性,还有利于降低第一机器学习模型在训练过程的难度。
16.在一种可能实现方式中,执行设备通过第一机器学习模型对第一数据进行处理,包括:执行设备将第一数据的第一特征信息与第一数据的第二特征信息进行融合,得到更新后的第一特征信息,更新后的第一特征信息用于得到第一预测结果,第一预测结果为至少一个预测结果中与第一任务对应的一个。其中,第一特征信息与第一任务对应,第二特征信息与第二任务对应,第一任务为至少一个任务中的任意一个,第二任务为至少一个任务中第一任务之外的任务。本实现方式中,在第一任务所对应的第一特征信息中融入其他任务(也即第二任务)所对应的第二特征信息,得到更新后的第一特征信息,有利于第一任务所对应的特征处理网络得到更丰富的信息,进而有利于提高第一机器学习模型输出的预测结果的精度。
17.在一种可能实现方式中,执行设备将第一数据的第一特征信息与第一数据的第二特征信息进行融合,得到更新后的第一特征信息,包括:执行设备基于注意力机制,将第一特征信息与第二特征信息进行融合,得到更新后的第一特征信息。本实现方式中,从而不仅实现了在第一特征信息中融合第二特征信息,以在更新后的第一特征信息中携带更丰富的信息;且基于注意力机制执行前述融合过程中,有利于使得更新后的第一特征信息中更加关注需要注意的信息,有利于提高第一机器学习模型输出的预测结果的精度。
18.在一种可能实现方式中,执行设备基于注意力机制,将第一特征信息与第二特征信息进行融合,得到更新后的第一特征信息,包括:执行设备根据与第一任务对应的第一特征信息,生成第一查询(query)特征、第一键(key)特征以及第一值(value)特征,根据第一查询特征和第一键特征,生成与第一任务对应的第一注意力矩阵;执行设备获取与第二任务对应的第二注意力矩阵,第二注意力矩阵根据与第二任务对应的第二特征信息得到。执行设备将第一注意力矩阵和第二注意力矩阵进行融合,得到融合结果;基于融合结果和第一值特征,生成更新后的第一特征信息。示例性地,执行设备可以将第一融合结果和第一值特征相乘,得到更新后的第一特征信息。
19.本实现方式中,基于第一特征信息得到第一注意力矩阵和第一值特征,基于第二特征信息得到第二注意力矩阵,将第一注意力矩阵和第二注意力矩阵进行融合,得到融合
结果后,基于该融合结果和第一值特征,生成了更新后的第一特征信息(也即实现了在第一特征信息中融合第二特征信息);通过前述方式,提供了基于注意力机制,在第一特征信息中融合第二特征信息的一种实现方案,简单易于操作;且前述融合方式与基于注意力机制对第一特征信息进行更新的过程相适配,进一步降低了实现难度。
20.在一种可能实现方式中,第一数据为图像,至少一个任务包括如下任一种或多种:图像分类、对图像进行目标检测、对图像进行语义分割、从图像中分割出注意目标、对图像进行文本识别、图像实例分割、对图像中的人体进行姿态估计或者对图像中的人体进行动作识别。本实现方式中,提供了当第一数据为图像时,至少一个不同的图像处理任务的类别的可能性,提高了本方案与实际应用场景的结合程度,也提高了本方案的灵活性。
21.第二方面,本技术实施例提供一种模型的训练方法,可用于人工智能领域的多任务处理场景中,方法可以包括:训练设备获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务;将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果。训练设备根据与至少一个任务一一对应的至少一个正确结果以及至少一个预测结果以及损失函数,对第一机器学习模型进行训练,损失函数指示至少一个任务中的每个任务所对应的预测结果和正确结果之间的相似度。
22.在一种可能实现方式中,第一机器学习模型包括多个神经网络层,多个神经网络层中有至少一个第一神经网络层,其中,训练设备通过第一机器学习模型对第一数据进行处理,包括:训练设备根据第一信息的特征信息,确定第一神经网络层所采用的参数;根据第一神经网络层所采用的参数,利用第一神经网络层对第二数据进行处理,得到第一神经网络层生成的第二数据的处理结果,第二数据为第一数据或者第一数据的特征信息。
23.在一种可能实现方式中,训练设备通过第一机器学习模型对第一数据进行处理,包括:训练设备将第一数据的第一特征信息与第一数据的第二特征信息进行融合,得到更新后的第一特征信息,更新后的第一特征信息用于得到第一预测结果,第一预测结果为至少一个预测结果中与第一任务对应的一个;其中,第一特征信息与第一任务对应,第二特征信息与第二任务对应,第一任务为至少一个任务中的任意一个,第二任务为至少一个任务中第一任务之外的任务。
24.本技术第二方面中,训练设备还可以用于执行第一方面以及第一方面的各个可能实现方式中执行设备执行的步骤,第二方面的各个可能实现方式中的步骤的具体实现方式、名词的含义以及所带来的有益效果,均可以参阅第一方面,此处不再赘述。
25.第三方面,本技术实施例提供一种数据处理装置,可用于人工智能领域的多任务处理场景中,数据处理装置可以包括:获取模块,用于获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务;处理模块,用于将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果。
26.本技术第三方面中,数据处理装置还可以用于执行第一方面以及第一方面的各个可能实现方式中执行设备执行的步骤,第三方面的各个可能实现方式中的步骤的具体实现方式、名词的含义以及所带来的有益效果,均可以参阅第一方面,此处不再赘述。
27.第四方面,本技术实施例提供一种模型的训练装置,可用于人工智能领域的多任
务处理场景中,模型的训练装置可以包括:获取模块,用于获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务;处理模块,用于将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果;训练模块,用于根据与至少一个任务一一对应的至少一个正确结果以及至少一个预测结果以及损失函数,对第一机器学习模型进行训练,损失函数指示至少一个任务中的每个任务所对应的预测结果和正确结果之间的相似度。
28.本技术第四方面中,模型的训练装置还可以用于执行第二方面以及第二方面的各个可能实现方式中执行设备执行的步骤,第四方面的各个可能实现方式中的步骤的具体实现方式、名词的含义以及所带来的有益效果,均可以参阅第二方面,此处不再赘述。
29.第五方面,本技术实施例提供了一种执行设备,包括处理器和存储器,处理器与存储器耦合,存储器,用于存储程序;处理器,用于执行存储器中的程序,使得执行设备执行上述第一方面的数据处理方法。
30.第六方面,本技术实施例提供了一种训练设备,包括处理器和存储器,处理器与存储器耦合,存储器,用于存储程序;处理器,用于执行存储器中的程序,使得训练设备执行上述第二方面的模型的训练方法。
31.第七方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
32.第八方面,本技术实施例提供了一种计算机程序产品,计算机程序产品包括程序,当该程序在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
33.第九方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持实现上述各个方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存终端设备或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
34.图1为本技术实施例提供的人工智能主体框架的一种结构示意图;
35.图2为本技术实施例提供的数据处理系统的一种系统架构图;
36.图3为本技术实施例提供的数据处理方法的一种流程示意图;
37.图4为本技术实施例提供的数据处理方法的另一种流程示意图;
38.图5为本技术实施例提供的利用任意一个第一神经网络层对第二数据进行特征提取的一种示意图;
39.图6为本技术实施例提供的通过第一机器学习模型执行第一特征提取阶段的操作的一种示意图;
40.图7为本技术实施例提供的基于第一特征信息得到第一注意力矩阵以及第一值特征的一种示意图;
41.图8为本技术实施例提供的通过第一机器学习模型执行第二特征提取阶段的操作的一种示意图;
42.图9为本技术实施例提供的第一机器学习模型的一种示意图;
43.图10为本技术实施例提供的残差网络的一种示意图;
44.图11为本技术实施例提供的每个残差块的一种结构示意图;
45.图12为本技术实施例提供的通过第一机器学习模型的特征提取网络执行第一特征提取阶段时所采用的神经网络的一种示意图;
46.图13为本技术实施例提供的模型的训练方法的一种流程示意图;
47.图14为本技术实施例提供的数据处理装置的一种结构示意图;
48.图15为本技术实施例提供的模型的训练装置的一种结构示意图;
49.图16为本技术实施例提供的执行设备的又一种结构示意图;
50.图17为本技术实施例提供的训练设备的又一种结构示意图;
51.图18为本技术实施例提供的芯片的一种结构示意图。
具体实施方式
52.下面结合附图,对本技术的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
53.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
54.首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“it价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“it价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
55.(1)基础设施
56.基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,该智能芯片具体可以采用中央处理器(central processing unit,cpu)、嵌入式神经网络处理器(neural-network processing unit,npu)、图形处理器(graphics processing unit,gpu)、专用集成电路(application specific integrated circuit,asic)或现场可编程门阵列(field programmable gate array,fpga)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
57.(2)数据
58.基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
59.(3)数据处理
60.数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
61.其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
62.推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
63.决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
64.(4)通用能力
65.对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
66.(5)智能产品及行业应用
67.智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、智慧城市等。
68.本技术提供的方法可以应用于人工智能的各种应用领域中,可选地,用于可能需要对同一数据同时完成一个或多个任务的应用场景中。前述一个或多个任务可以均为图像处理任务;或者,前述一个或多个任务也可以均为视觉上的感知任务;或者,前述一个或多个任务也可以均为语音语义相关的自然语言处理(natural language processing,nlp)任务等等,以下对本技术的多个应用场景进行举例。
69.应用场景1:图像处理任务
70.例如,在智能终端领域,当用户通过手机进行拍照或摄像时,手机可以对摄像头采集到前述拍摄场景的图像执行一个或多个图像分类任务以及目标检测任务,执行前述图像分类的任务是为了识别前述拍摄场景的类别,“前述拍摄场景的类别”可以包括夜景拍摄、拍摄风景、拍摄美食或其他类别等等;执行前述目标检测的任务是为了确定前述拍摄场景内物体的类别和位置,例如,前述拍摄场景内物体的类别可以包括人物、动物、花草或其他类别等等。手机可以根据拍摄场景的类别以及拍摄场景内物体的类别,自动化的确定与当前拍摄场景适配的拍摄模式。
71.又例如,在智能终端领域,当用户通过电脑进行线上会议时,可能会对线上会议中某一个视频帧的内容进行提取,则电脑可以对前述视频帧进行目标检测,以确定该视频帧包括的文本区域以及图像区域,进而可以根据该目标检测的结果,对该视频帧同时执行如下任务:对该视频帧进行语义分割,以及时从该视频帧中提取出图像;对该视频帧的文字区域进行文字识别,以及时从该视频帧中提取出文本;以及,对该视频帧的文字区域进行表格识别,以及时从该视频帧中提取出表格。
72.又例如,在智能终端领域中,当用户跟随智慧显示屏上示出的动作进行运动时,该
智慧显示屏的处理器可以通过摄像机采集用户的图像,根据用户的图像执行用户识别任务以及人体动作识别任务,以在用户动作错误时,及时向用户进行反馈等等。
73.应用场景2:自然语言处理任务
74.自然语言处理就是对人类语言的处理,自然语言处理是采用第一机器学习模型对文本数据进行系统化分析、理解与信息提取的过程。在智能终端、智能家居、自动驾驶等应用领域中均可能存在利用机器学习模型对同一数据同时执行多种自然语言处理任务。
75.在上述种种应用领域中,通过使用前述机器学习模型,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,例如自动摘要(automatic summarization),机器翻译(machine translation,mt),命名实体识别(named entity recognition,ner),关系提取(relation extraction,re),信息抽取(information extraction,ie),情感分析,语音识别(speech recognition),问答系统(question answering)以及主题分割等等。
76.示例性地,自然语言处理任务可以有以下几类。
77.序列标注:文本中每一个单词要求机器学习模型根据上下文给出一个分类类别。如中文分词、词性标注、命名实体识别或语义角色标注等等。
78.分类任务:机器学习模型针对输入的整个文本输出一个分类值。如情感分类、主题分类或语法是否使用正确的分类等等。
79.句子关系推断:机器学习模型的输入为两个文本,通过机器学习模型判断这两个文本是否具备某种名义关系。例如问答系统、语义改写或自然语言推断等等。
80.生成式任务:输入一段文本,通过机器学习模型生成另一段文本。如机器翻译、自动摘要或写诗造句等等。
81.信息抽取任务:通过机器学习模型从输入的文本中获取至少一类信息。
82.示例性地,当不同国家的人员进行会议时,可能会需要将某一文本翻译成多种语言,则需要对前述文本同时执行多个机器翻译任务,前述多个机器翻译任务中的每个机器翻译任务用于将前述文本翻译至一种语言等等。
83.需要说明的是,本技术提供的方法还可以应用于其他场景中,上述对本技术的各种应用场景的举例仅为方便理解本方案,不用于限定本方案。
84.由于在多种场景中,都存在对相同的第一数据执行n个任务的需求,n为大于或等于2的整数;则设备上部署的第一机器学习模型可以为能够同时执行n个任务的机器学习模型,但由于n个任务的执行频率可能不同,则在每次调用第一机器学习模型时,不一定需要执行对输入第一机器学习模型中的第一数据执行n个任务中的全部任务。
85.为了能够避免对计算机资源的浪费,本技术提供了一种数据处理方法,在对本技术提供的方法进行详细介绍之前,请先参阅图2,图2为本技术实施例提供的数据处理系统的一种系统架构图,在图2中,数据处理系统200包括训练设备210、数据库220、执行设备230和数据存储系统240,执行设备230中包括计算模块231。
86.在第一机器学习模型201的训练阶段,数据库220中存储有训练数据集合,训练设备210生成第一机器学习模型201,并利用训练数据集合对第一机器学习模型201进行迭代训练,得到训练后的第一机器学习模型201。第一机器学习模型201可以具体表现为神经网络,也可以表现为非神经网络的模型,本技术实施例中仅以第一机器学习模型201表现为神
经网络为例进行说明。
87.训练设备210得到的第一卷积神经网络和第二卷积神经网络可以应用不同的系统或设备中,例如手机、平板、笔记本电脑、虚拟现实(virtual reality,vr)设备、监控系统、雷达的数据处理系统等等。其中,执行设备230可以调用数据存储系统240中的数据、代码等,也可以将数据、指令等存入数据存储系统240中。数据存储系统240可以置于执行设备230中,也可以为数据存储系统240相对执行设备230是外部存储器。
88.在第一机器学习模型201的应用阶段,执行设备230在确定了需要对第一数据执行的至少一个任务之后,可以利用第一机器学习模型201生成与前述至少一个任务一一对应的至少一个预测结果。具体的,请参阅图3,图3为本技术实施例提供的数据处理方法的一种示意图。其中,301、执行设备230获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务。
89.302、执行设备230将第一数据和第一信息输入第一机器学习模型201,通过第一机器学习模型201对第一数据进行处理,得到第一机器学习模型201输出的与至少一个任务一一对应的至少一个预测结果。
90.本技术实施例中,在第一机器学习模型201的输入中增设第一信息,第一信息用于指示需要对第一数据执行至少一个任务,第一机器学习模型201输出的为与前述至少一个任务一一对应的至少一个预测结果,也即第一机器学习模型201基于第一信息能够得知需要对第一数据执行哪些任务,进而能够适应性的对第一数据执行所需的任务,避免生成多余的预测结果,从而避免了对计算机资源的浪费。
91.本技术的一些实施例中,请参阅图2,执行设备230和客户设备可以为集成于同一设备中,则用户可以直接与执行设备230进行交互。示例性地,当客户设备为手机或平板时,执行设备230可以为手机或平板的主处理器(host cpu)中利用第一机器学习模型进行数据处理的模块,执行设备230也可以为手机或平板中的图形处理器(graphics processing unit,gpu)或者神经网络处理器(npu),gpu或npu作为协处理器挂载到主处理器上,由主处理器分配任务。
92.值得注意的,图2仅是本发明实施例提供的两种数据处理系统的架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在本技术的另一些实施例中,执行设备230和客户设备可以为分别独立的设备,执行设备230配置有输入/输出(i/o)接口,与客户设备进行数据交互,客户设备在确定第一数据和第一信息之后,客户设备通过i/o接口向执行设备230发送第一数据和第一信息,执行设备230在通过计算模块231中的第一机器学习模型/规则201生成与至少一个任务一一对应的至少一个预测结果之后,可以通过i/o接口将前述预测结果返回给客户设备,提供给用户。
93.结合上述描述,下面开始对本技术实施例提供的方法的训练阶段和应用阶段的具体实现流程进行描述。
94.一、应用阶段
95.本技术实施例中,应用阶段描述的是执行设备230利用执行过训练操作的第一机器学习模型201对第一数据进行处理的过程,具体的,请参阅图4,图4为本技术实施例提供的数据处理方法的另一种流程示意图,本技术实施例提供的数据处理方法可以包括:
96.401、获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务。
97.本技术实施例中,执行设备上部署的第一机器学习模型具有对输入的第一数据同时执行n个任务的能力,在确定了需要对第一数据执行n个任务中哪些任务之后,可以获取第一数据和第一信息,第一信息用于指示需要对第一数据执行n个任务中的m个任务,其中,n为大于1的整数,m为大于或等于1的整数。
98.示例性地,若第一数据为图像,则上述“n个任务”以及“n个任务中的m个任务”可以均为图像处理任务,“n个任务”包括n个不同的图像处理任务。示例性地,n个不同的图像处理任务的类别可以包括如下任一种或多种:图像分类、对图像进行目标检测、对图像进行语义分割、从图像中分割出注意目标、对图像进行文本识别、图像实例分割、对图像中的人体进行姿态估计、对图像中的人体进行动作识别或其他对图像执行的任务等等,具体n个任务包括哪些任务需要结合实际应用场景灵活确定,本技术实施例中不做限定。提供了当第一数据为图像时,n个不同的图像处理任务的类别的可能性,提高了本方案与实际应用场景的结合程度,也提高了本方案的灵活性。
99.若第一数据为文本,则n个任务以及m个任务可以均为文本相关的自然语言处理任务,n个任务包括文本相关的n个不同的自然语言处理任务。若第一数据为音频,则上述n个任务以及m个任务可以均为音频处理任务,n个任务包括文本相关的n个不同的音频处理任务等,当第一数据表现为其他形态,n个任务以及m个任务也可以均为针对其他形态的第一数据进行处理的任务等,本技术实施例中不做穷举。
100.可选地,第一信息可以具体表现为第一向量,第一向量可以包括与n个任务一一对应的n个元素,当n个元素中任意一个元素(为方便描述,后续称为“目标元素”)的取值为第一值时,代表需要对第一数据执行目标元素所对应的一个任务,当目标元素的取值为第二值时,代表不需要对第一数据执行目标元素所对应的一个任务;第一值和第二值不同。例如,第一值可以为1,第二值可以为0;或者,第一值可以为0,第二值可以为0;或者,第一值可以为1,第二值可以为2等等,需要说明的是,此处举例仅为方便理解本方案,不用于限定本方案。
101.示例性地,第一数据为图像,n的取值为4,对第一数据执行的4个任务包括:对图像进行目标检测、对图像进行语义分割、对图像进行文本识别以及从图像中分割出注意目标,当第一信息为(1,0,1,0)时,可以指示需要对输入的第一数据执行的任务包括:对图像进行目标检测以及对图像进行文本识别;当第一信息为(1,1,0,0)时,可以指示需要对输入的第一数据执行的任务包括:对图像进行目标检测以及对图像进行语义分割等等,应理解,此处举例仅为方便理解“第一信息指示对第一数据执行的至少一个任务”这一概念,不用于限定本方案。
102.402、将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行特征提取,得到第一数据的至少一个第三特征信息。
103.本技术实施例中,执行设备在获取到第一数据和第一信息之后,可以将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行特征提取,得到与m个任务一一对应的第一数据的m个第三特征信息,需要说明的是,对于“第一特征信息”和“第二特征信息”的概念将在后续描述。
104.其中,第一机器学习模型中的特征提取网络可以包括多个神经网络层,可选地,前述多个神经网络层可以包括一个或多个第一神经网络层,每个第一神经网络层的参数均为
基于第一信息确定的,也即第一信息用于确定每个第一神经网络层所采用的参数;当输入的第一信息不同时,第一神经网络层所采用的参数可以不同。
105.第一机器学习模型中的特征提取网络包括的任意一个第一神经网络层可以为卷积层(convolution layer)、全连接层、用于进行线性变化的神经网络层或其他类型的神经网络层等等,具体可以结合实际应用场景灵活确定,本技术实施例中不做限定。
106.针对至少一个第一神经网络层中的任意一个第一神经网络层(为方便描述,后续称为“目标神经网络层”),步骤402可以包括:执行设备基于第一信息,确定目标神经网络层所采用的参数;由于通过第一神经网络层执行的操作的类型为预设的,则在执行设备确定了目标神经网络层所采用的参数之后,可以根据第一神经网络层所采用的参数,利用第一神经网络层对第二数据进行特征提取,得到第一神经网络层生成的第二数据的处理结果,第二数据为第一数据或者第一数据的特征信息。
107.其中,若目标神经网络层为第一机器学习模型对第一数据进行处理时所采用的第一个神经网络层,则第二数据可以为第一数据,第二数据的处理结果为所述第一数据的特征信息;若目标神经网络层不是第一机器学习模型对第一数据进行处理时所采用的第一个神经网络层,则第二数据可以为第一数据的特征信息,第二数据的处理结果可以为第一数据的更新后的特征信息。
[0108]“第一数据的特征信息”和“第一数据的更新后的特征信息”均可以理解为第一数据的特征信息,也即第二数据的处理结果可以包括第一数据的多个通道的特征图(feature map);可选地,当第一信息不同时,目标神经网络层生成的第二数据的处理结果中特征图的数量可以不同。
[0109]
示例性地,若目标神经网络层为卷积层,当输入的第一信息不同时,可以为目标神经网络层所采用的卷积核的尺寸不同,从而实现目标神经网络层所采用的参数不同;或者,若目标神经网络层为卷积层,当输入的第一信息不同时,可以为目标神经网络层所采用的卷积核的数量不同,从而实现目标神经网络层所采用的参数不同等等,需要说明的是,当目标神经网络层表现为其他类型的神经网络层时,“第一神经网络层所采用的参数不同”也可以为其他的表现形式,此处举例仅为证明本方案的可实现性,不用于限定本方案。
[0110]
执行设备可以通过多种方式执行“基于第一信息,确定目标神经网络层所采用的参数”,在一种情况中,执行设备通过第一机器学习模型的特征提取网络对第一信息进行特征提取,得到第一信息的特征信息;根据第一信息的特征信息,确定目标神经网络层所采用的参数;当输入的第一信息不同时,目标神经网络层所采用的参数可以不同。
[0111]
示例性地,执行设备可以采用多种方式执行“根据第一信息的特征信息,确定目标神经网络层所采用的参数”。在一种实现方式中,执行设备可以获取与目标神经网络层对应的第一参数;根据第一信息的特征信息,确定与目标神经网络层对应的第二参数;执行设备根据与目标神经网络层对应的第一参数和第二参数,确定目标神经网络层所采用的参数;执行设备可以采用前述方式确定每个第一神经网络层所采用的一组参数。
[0112]
示例性地,“与目标神经网络层对应的第一参数”可以理解为与任务无关的参数,也即将“与目标神经网络层对应的第一参数”作为一组基,无论m个任务包括n个任务中的哪些任务,均会获取前述“与目标神经网络层对应的第一参数”。“与目标神经网络层对应的第二参数”可以理解为与任务相关的参数,则当第一信息不同(也即当对第一数据执行的m个
任务不同)时,与目标神经网络层对应的第二参数可以不同。
[0113]
示例性地,与目标神经网络层对应的第一参数和第二参数均可以表现为矩阵。
[0114]
示例性地,第一机器学习模型的特征提取网络可以包括与目标神经网络层对应的一个第一模块,执行设备可以根据第一信息的特征信息,通过前述第一模块生成与目标神经网络层对应的第二参数。其中,第一机器学习模型的特征提取网络可以包括与至少一个第一神经网络层一一对应的第一模块,也即每个第一神经网络层都存在与之对应的一个第一模块。或者,第一机器学习模型的特征提取网络中的多个第一神经网络层也可以共用一个第一模块;例如,若第一机器学习模型的特征提取网络中包括多个残差块(residual block),一个残差块中可以包括多个卷积层,同一个残差块中的卷积层可以共用一个第一模块等,需要说明的是,“第一神经网络层”与“第一模块”之间的关系可以基于实际应用场景进行设定,此处举例仅为方便理解本方案,不用于限定本方案。
[0115]
执行设备可以将目标神经网络层所对应的第一参数与第二参数进行线性加权,得到目标神经网络层所采用的参数;或者,执行设备可以将目标神经网络层所对应的第一参数与第二参数进行点乘或者相加,得到目标神经层所采用的参数;或者,执行设备也可以对目标神经网络层所对应的第一参数与第二参数执行其他运算操作,以得到目标神经网络层所采用的参数,具体可以结合实际应用场景灵活确定,本技术实施例中不做限定。
[0116]
为更直观地理解本方案,请参阅图5,图5为本技术实施例提供的利用任意一个第一神经网络层对第二数据进行特征提取的一种示意图。图5中以n的取值为3为例,n个任务包括任务1(task 1)、任务2(task 2)以及任务3(task 3),第一信息指示需要对输入的第一数据执行前述3个任务中的任务1。通过第一机器学习模型的特征提取网络对第一信息进行特征提取,得到第一数据的特征信息;执行设备可以根据第一信息的特征信息,通过第一机器学习模型中与目标神经网络层(也即第一机器学习模型中任意一个第一神经网络层)对应的第一模块生成与目标神经网络对应的第二参数。
[0117]
执行设备可以根据与目标神经网络层对应的第二参数以及第一参数,生成目标神经网络层采用的参数,图5中以目标神经网络层采用的参数为4乘4的矩阵为例,前述4乘4的矩阵被划分为了4个1乘4的卷积核的参数。在确定了目标神经网络层所采用的参数后,执行设备通过目标神经网络层对第二数据进行处理,得到目标神经网络层生成的第二数据的处理结果,应理解,图5中的示例仅为方便理解本方案,不用于限定本方案。
[0118]
本技术实施例中,将每个第一神经网络层所采用的参数解耦为与第一神经网络层对应的任务无关参数(也即第一参数)以及任务相关参数(也即第二参数),在确定了需要对输入的第一数据执行哪些任务之后,可以基于第一信息的特征信息,确定与第一神经网络层对应的任务无关参数,进而基于任务无关参数和任务相关参数确定每个第一神经网络层最终采用的参数,由于第一信息会影响每个第一神经网络层所对应的第二参数,则有利于实现每个第一神经网络层所采用的参数与第一信息之间的适配性;此外,无论需要对输入的第一数据执行哪些任务,与每个第一神经网络层对应的第一参数是不变的,不仅有利于提高每个第一神经网络层所采用的参数的稳定性,还有利于降低第一机器学习模型在训练过程的难度。
[0119]
在另一种实现方式中,执行设备可以直接根据第一信息的特征信息,确定目标神经网络层所采用的参数;执行设备可以采用前述方式确定每个第一神经网络层所采用的一
组参数。示例性地,第一机器学习模型的特征提取网络可以包括与目标神经网络层对应的一个第二模块,执行设备可以根据第一信息的特征信息,通过前述第二模块生成目标神经网络层所采用的参数。其中,第一机器学习模型的特征提取网络可以包括与至少一个第一神经网络层一一对应的第二模块,也即每个第一神经网络层都存在与之对应的一个第二模块。或者,第一机器学习模型的特征提取网络中的多个第一神经网络层也可以共用一个第一模块等,本技术实施例中不做限定。
[0120]
在另一种情况中,执行设备上可以预先配置有每个第一神经网络层能够采用的多组参数,前述多组参数与前述n个任务对应的多种组合方式之间具有对应关系;前述多组参数包含了与前述n个任务对应的多种组合方式中每种组合方式所对应的一组参数。示例性地,n的取值为5,当第一信息表现为(0,0,1,1,1)时代表了5个任务的一种组合方式,前述组合方式指的是需要对输入的第一数据执行第三个、第四个以及第五个任务;当第一信息表现为(0,1,0,0,1)时代表了5个任务的另一种组合方式,前述组合方式指的是需要对输入的第一数据执行第二个以及第五个任务等等,应理解,此处举例仅为方便理解“与n个任务对应的多种组合方式”这一概念,不用于限定本方案。
[0121]
步骤402可以包括:执行设备可以从目标神经网络层能够采用的多组参数中,获取与第一信息对应的一组参数,也即确定了目标神经网络层实际采用的一组参数;执行设备可以采用前述方式确定每个第一神经网络层所采用的一组参数。
[0122]
本技术实施例中,当第一机器学习模型所采用的参数量越大时,在利用第一机器学习模型进行数据处理时所消耗的计算机资源就越多,也越能够从输入的第一数据中挖掘到更丰富的信息;对应的,当第一机器学习模型所采用的参数量越小时,在利用第一机器学习模型进行数据处理时所消耗的计算机资源就越少,则从输入的第一数据中挖掘到的信息会相对较少;第一机器学习模型具有同时执行n个任务的能力,当通过第一机器学习模型执行n个任务中的全部任务时,则可以让每个第一神经网络层采用较多的参数,但每次通过第一机器学习模型执行的不一定都是n个任务中的全部任务(也即需要对第一数据执行的m个任务可能是n个任务中的部分任务),基于第一信息来确定每个第一神经网络层所采用的参数,有利于实现每个第一神经网络层所采用的参数与“需要对第一数据执行的m个任务”之间的适配,以避免对计算机资源的浪费。
[0123]
此外,由于在利用第一机器学习模型对第一数据进行处理的过程中,第一机器学习模型中的特征提取网络所消耗的计算机资源较多,基于第一信息来调整特征提取网络中的神经网络层所采用的参数,有利于大幅度的降低对计算机资源的浪费。
[0124]
可选地,执行设备“通过第一机器学习模型对第一数据进行特征提取”的过程可以包括第一特征提取阶段和第二特征提取阶段,在第一特征提取阶段得到的第一数据的特征信息为m个任务共享的特征信息,第二特征提取阶段用于在前述共享的特征信息的基础上分别获取与m个任务一一对应的第一数据的m个第三特征信息。
[0125]
示例性地,第一机器学习模型的特征提取网络中包括的所有第一神经网络层可以均为执行第一特征提取阶段的神经网络层;或者,第一机器学习模型的特征提取网络中包括的多个第一神经网络层既可以存在于第一特征提取阶段,也可以存在于第二特征提取阶段;或者,第一机器学习模型的特征提取网络中包括的所有第一神经网络层也可以均为执行第二特征提取阶段的神经网络层。
[0126]
为更直观地理解本方案,请参阅图6,图6为本技术实施例提供的通过第一机器学习模型执行第一特征提取阶段的操作的一种示意图。如图6所示,在通过第一机器学习模型的特征提取网络对输入的图像(也即第一数据的一个示例)执行第一特征提取阶段的操作的过程使用了多个卷积模块,图6中以对卷积模块2进行展开描述为例,卷积模块2包括两个第一神经网络层,分别为第一神经网络层1和第一神经网络层2,第一神经网络层1和第一神经网络层2均为用于执行卷积操作的卷积层,卷积模块2的输入为前述图像的特征信息。
[0127]
在利用第一神经网络层1执行卷积操作之前,执行设备先根据第一信息的特征信息,通过第一机器学习模型中的第一模块生成与第一神经网络层1对应的第二参数,再根据第一神经网络层1所对应的第一参数和第二参数,确定第一神经网络层1所采用的参数,进而通过第一神经网络层1对第二数据(也即输入至卷积模块2中的图像的特征信息)进行卷积操作,得到第一神经网络层1生成的图像的更新后的特征信息。
[0128]
对应的,在利用第一神经网络层2执行卷积操作之前,先获取与第一神经网络层2对应的第二参数,图6中以第一神经网络层1和第二神经网络层2共享同一个第一模块为例,也即第一神经网络层1和第一神经网络层2所对应的第二参数相同。执行设备根据第一神经网络层2所对应的第一参数和第二参数,确定第一神经网络层2所采用的参数,进而通过第一神经网络层2对第二数据(也即第一神经网络层1生成的图像的更新后的特征信息)进行卷积操作,得到第一神经网络层2生成的图像的更新后的特征信息。
[0129]
第一机器学习模型的特征提取网络对输入的图像执行第一特征提取阶段的操作的过程使用了多个卷积模块,其他卷积模块执行卷积操作的过程可以参阅对卷积模块2的描述,此处不再对其他卷积模块的具体实现方式进行展开描述,应理解,图6中的示例仅为方便理解本方案,不用于限定本方案。
[0130]
示例性地,执行设备在通过第一机器学习模型的特征提取网络获取到m个任务共享的特征信息之后,可以通过与m个任务一一对应的m个适配器分别对共享的特征信息进行特征更新,得到m个适配器中每个适配器生成的一个第三特征信息,也即得到了与m个任务一一对应的第一数据的m个第三特征信息。前述m个适配器中每个适配器均可以包括一个或多个神经网络层,具体每个适配器的设计可以结合实际情况灵活确定,此处不做限定。
[0131]
或者,执行设备在通过第一机器学习模型对第一数据进行数据处理的过程进入到第二特征提取阶段之后,m个任务中任意一个任务(为方便描述,后续称为“第一任务”)的处理过程可以包括:执行设备可以根据在第一特征提取阶段获取到的第一数据的特征信息(也即共享的特征信息),获取与第一任务对应的第一数据的第一特征信息。
[0132]
执行设备将第一数据的第一特征信息与第一数据的(m-1)个第二特征信息进行融合,得到更新后的第一特征信息。其中,与第一任务对应的更新后的第一特征信息用于得到第一预测结果,第一预测结果为至少一个预测结果中与第一任务对应的一个;第一数据的第二特征信息与第二任务对应,第一任务为m个任务中任意一个,第二任务为需要对第一数据执行的m个任务中第一任务之外的任务。
[0133]
执行设备通过上述方式能够得到m个任务中每个任务所对应的更新后的第一特征信息,m个任务中每个任务所对应的更新后的第一特征信息被确定为与该任务对应的第三特征信息。
[0134]
可选地,执行设备可以将在第一特征提取阶段获取到的第一数据的共享的特征信
息输入至与第一任务对应的第一适配器中,得到与第一任务对应的适配器生成的上述第一特征信息。对应的,执行设备可以将在第一特征提取阶段获取到的第一数据的共享的特征信息输入至与每个第二任务对应的第二适配器中,得到与每个第二任务对应的适配器生成的与每个第二任务对应的第二特征信息。示例性地,前述“第一适配器”以及“第二适配器”均可以包括多个神经网络层。
[0135]
执行设备可以采用多种方式实现“将第一数据的第一特征信息与第一数据的(m-1)个第二特征信息进行融合,得到更新后的第一特征信息”,在一种实现方式中,执行设备可以基于注意力机制,将第一特征信息与(m-1)个第二特征信息进行融合,得到更新后的第一特征信息。从而不仅实现了在第一特征信息中融合第二特征信息,以在更新后的第一特征信息中携带更丰富的信息;且基于注意力机制执行前述融合过程中,有利于使得更新后的第一特征信息中更加关注需要注意的信息,有利于提高第一机器学习模型输出的预测结果的精度。
[0136]
示例性地,在一种情况中,执行设备可以根据与第一任务对应的第一特征信息,生成第一查询(query)特征、第一键(key)特征以及第一值(value)特征,根据第一查询特征和第一键特征,生成与第一任务对应的第一注意力矩阵。执行设备获取与第二任务对应的第二注意力矩阵,第二注意力矩阵根据与第二任务对应的第二特征信息得到。执行设备将第一注意力矩阵和第二注意力矩阵进行融合,得到第一融合结果;基于第一融合结果和第一值特征,生成更新后的第一特征信息。
[0137]
执行设备可以通过第一机器学习模型的特征提取网络中的神经网络层对上述第一特征信息执行第一线性变换操作,得到第一query特征;通过第一机器学习模型的特征提取网络中的神经网络层对上述第一特征信息执行第二线性变换操作,得到第一key特征;执行设备将第一query特征和第一key特征相乘,得到第一注意力矩阵。执行设备通过第一机器学习模型的特征提取网络中的神经网络层对上述第一特征信息执行第三线性变换操作,得到第一value特征。
[0138]
可选地,如下任一个或多个神经网络层可以为第一神经网络层:对第一特征信息执行第一线性变换操作的神经网络层,对第一特征信息执行第二线性变换操作的神经网络层,或者,对第一特征信息执行第三线性变换操作的神经网络层。需要说明的是,“根据第一信息确定一个第一神经网络层所采用的参数”的具体实现过程可以参阅上述描述,此处不再一一赘述。
[0139]
或者,对第一特征信息执行第一线性变换操作的神经网络层,对第一特征信息执行第二线性变换操作的神经网络层,以及对第一特征信息执行第三线性变换操作的神经网络层也可以均不是第一神经网络层,也即前述神经网络层的参数也可以均不基于第一信息确定。
[0140]
为更直观地理解本方案,请参阅图7,图7为本技术实施例提供的基于第一特征信息得到第一注意力矩阵以及第一值特征的一种示意图。图7中以对第一特征信息执行第三线性变换操作的神经网络层是第一神经网络层,且对第一特征信息执行第一线性变换操作的神经网络层以及对第一特征信息执行第二线性变换操作的神经网络层均不是第一神经网络层为例。如图7所示,执行设备在得到共享的特征信息之后,将共享的特征信息输入与任务1对应的适配器1,得到与任务1对应的第一特征信息;对第一特征信息执行第一线性变
换操作得到第一query特征;对第一特征信息执行第二线性变换操作得到第一key特征;将第一query特征和第一key特征相乘,得到第一注意力矩阵。
[0141]
执行设备根据第一信息的特征信息,可以通过第一模块生成用于执行第三线性变换操作的神经网络层所对应的第二参数,需要说明的是,图7中的第一模块与图7中的第一模块可以为不同的第一模块;执行设备根据用于执行第三线性变换操作的神经网络层所对应的第一参数以及第二参数,确定用于执行第三线性变换操作的神经网络层所采用的参数,进而对第一特征信息执行第三线性变换操作,得到第一值(value)特征,应理解,图7中的示例仅为方便理解本方案,不用于限定本方案。
[0142]
执行设备“根据与第二任务对应的第二特征信息,生成与第二任务对应的第二注意力矩阵”的具体实现方式,与“根据与第一任务对应的第一特征信息,生成与第一任务对应的第一注意力矩阵”的具体实现方式类似,区别在于将“第一任务”替换为“第二任务”,将“第一特征信息”替换为“第二特征信息”,将“第一注意力矩阵”替换为“第二注意力矩阵”,具体可参阅上述描述,此处不做赘述。
[0143]
示例性地,上述“融合”所采用的方式可以为相加、加权求和、相乘或者其他融合方式等等,具体可以结合实际应用场景确定,此处不做穷举。示例性地,执行设备可以将第一融合结果和第一值特征相乘,得到更新后的第一特征信息。
[0144]
本技术实施例中,基于第一特征信息得到第一注意力矩阵和第一值特征,基于第二特征信息得到第二注意力矩阵,将第一注意力矩阵和第二注意力矩阵进行融合,得到融合结果后,基于该融合结果和第一值特征,生成了更新后的第一特征信息(也即实现了在第一特征信息中融合第二特征信息);通过前述方式,提供了基于注意力机制,在第一特征信息中融合第二特征信息的一种实现方案,简单易于操作;且前述融合方式与基于注意力机制对第一特征信息进行更新的过程相适配,进一步降低了实现难度。
[0145]
在另一种情况中,执行设备可以根据与第一任务对应的第一特征信息,生成第一query特征、第一key特征以及第一value特征,根据第一query特征和第一key特征,生成与第一任务对应的第一注意力矩阵。执行设备获取与第二任务对应的第二value特征,第二value特征根据与第二任务对应的第二特征信息得到。执行设备将第一value特征和第二value特征进行融合,得到第二融合结果;基于第一注意力矩阵和第二融合结果,生成更新后的第一特征信息。例如,执行设备可以将第一注意力矩阵和第二融合结果相乘,得到更新后的第一特征信息。
[0146]
在另一种实现方式中,执行设备可以确定第一特征信息的第一权重,确定(m-1)个第二特征信息中每个第二特征信息的第二权重,对第一特征信息和(m-1)个第二特征信息进行加权求和,得到更新后的第一特征信息;其中,(m-1)个第二特征信息所对应的(m-1)个第二权重的和小于第一权重。
[0147]
需要说明的是,执行设备还可以通过其他方式对第一数据的第一特征信息与第一数据的(m-1)个第二特征信息进行融合,本技术实施例中不做限定。
[0148]
为更直观地理解本方案,请参阅图8,图8为本技术实施例提供的通过第一机器学习模型执行第二特征提取阶段的操作的一种示意图。如图8所示,第一信息指示需要对输入到第一机器学习模型中的第一数据执行任务1和任务2,不需要对前述第一数据执行任务3,图8中的实线示出的路径中传递的为有效数据,虚线示出的路径中传递的可以为空数据。则
在通过第一特征提取阶段得到第一数据的共享的特征信息之后,在通过第一机器学习模型的特征提取网络执行第二特征提取阶段的操作的过程中,执行设备可以将第一数据的共享的特征信息输入与任务1对应的适配器1得到与任务1对应的第一特征信息(也即图8中适配器1生成的input),图8中的q linear用于对任务1所对应的第一特征信息执行第一线性变换操作,得到与任务1对应的query特征1;图8中的k linear用于对任务1所对应的第一特征信息执行第二线性变换操作,得到与任务1对应的key特征1;图8中的v linear用于对任务1所对应的第一特征信息执行第三线性变换操作,得到与任务1对应的value特征1。用于对任务1所对应的第一特征信息执行第三线性变换操作的神经网络层为第一神经网络层,也即用于对任务1所对应的第一特征信息执行第三线性变换操作的神经网络层所采用的参数基于第一信息得到。
[0149]
执行设备通过线性转换模块1生成与任务1对应的注意力矩阵1以及与任务1对应的value特征,执行设备通过线性转换模块1执行的所有步骤的具体实现方式可以参阅上述对图7的描述,此处不再进行详细赘述。
[0150]
同样的,执行设备通过基于注意力机制的线性转换模块1生成与任务2对应的注意力矩阵2以及与任务2对应的value特征2,执行设备通过基于注意力机制的线性转换模块2执行的所有步骤的具体实现方式,与通过线性转换模块1执行的所有步骤的具体实现方式类似,此处不再进行详细赘述。
[0151]
执行设备在获取到注意力矩阵1、value特征1、注意力矩阵2以及value特征2之后,将注意力矩阵1和注意力矩阵2进行融合,得到融合结果1,将融合结果1与value特征1相乘得到与任务1对应的第三特征信息(也即更新后的第一特征信息)。执行设备将与任务1对应的第三特征信息输入任务头1(head 1)中,得到head 1输出的与任务1对应的预测结果1;head 1为第一机器学习模型包括的3个特征处理网络中与任务1对应的一个特征处理网络。
[0152]
对应的,执行设备将注意力矩阵2和注意力矩阵2进行融合,得到融合结果2,将融合结果2与value特征2相乘得到与任务2对应的第三特征信息(也即更新后的第一特征信息)。执行设备将与任务2对应的第三特征信息输入任务头2(head 2)中,得到head 2输出的与任务2对应的预测结果2;head 2为第一机器学习模型包括的3个特征处理网络中与任务2对应的一个特征处理网络。应理解,图8中的示例仅为方便理解本方案,不用于限定本方案。
[0153]
本技术实施例中,在第一任务所对应的第一特征信息中融入其他任务(也即第二任务)所对应的第二特征信息,得到更新后的第一特征信息,有利于第一任务所对应的特征处理网络得到更丰富的信息,进而有利于提高第一机器学习模型输出的预测结果的精度。
[0154]
403、通过第一机器学习模型对第一数据的每个第三特征信息进行特征处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果。
[0155]
本技术实施例中,第一机器学习模型可以包括与n个任务一一对应的n个特征处理网络,执行设备在通过第一机器学习模型的特征提取网络得到第一数据的m个第三特征信息之后,示例性地,执行设备对m个任务中任务一个任务(为方便描述,后续称为“目标任务”)所对应的第三特征信息进行处理的过程可以包括:执行设备通过n个特征处理网络中与目标任务对应的一个特征处理网络对目标任务所对应的一个第三特征信息进行特征处理,得到与目标任务对应的一个特征处理网络输出的一个预测结果。
[0156]
执行设备可以通过n个特征处理网络中与m个任务一一对应的m个特征处理网络分
别执行上述操作,得到前述m个特征处理网络输出的m个预测结果,也即得到了与m个任务一一对应的m个预测结果。
[0157]
其中,n个特征提取网络中每个特征提取网络可以包括一个或多个神经网络层;可选地,n个特征提取网络中至少一个特征提取网络(为方便描述,后续称为“第一特征提取网络”)中可以存在一个或多个第一神经网络层,第一神经网络层的参数是基于第一信息确定的,也即在利用第一特征提取网络进行特征处理的过程中会基于第一信息确定第一特征提取网络中的每个第一神经网络层所采用的参数;“基于第一信息确定第一神经网络层所采用的参数”的过程可以参阅上述步骤402中的描述,本技术实施例中不做赘述。
[0158]
为了更直观地理解本方案,请参阅图9,图9为本技术实施例提供的第一机器学习模型的一种示意图,如图9所示,第一机器学习模型的特征提取网络在输入的第一数据进行特征提取时可以包括第一特征提取阶段和第二特征提取阶段,第一特征提取阶段可以包括n个卷积模块,第一特征提取阶段生成的第一数据的特征信息为m个任务共享的特征信息;“第一特征提取阶段”的具体实现方式可以参阅上述对图6的描述,此处不做赘述。
[0159]
在第二特征提取阶段可以包括与n个任务一一对应的n个适配器(也即图6中的适配器1、适配器2以及适配器3);通过每个适配器用于基于共享的特征信息生成m个任务中每个任务所对应的第一特征信息,再通过基于注意力机制的信息融合模块生成m个任务中每个任务所对应的更新后的第一特征信息(也即第三特征信息);“第二特征提取阶段”的具体实现方式可以参阅上述对图8的描述,此处不做赘述。
[0160]
由于第一信息指示对输入的第一数据执行任务1,则在得到任务1所对应的第三特征信息后,通过任务1所对应的任务头1对任务1所对应的第三特征信息进行特征处理,得到任务头1输出的一个预测结果。如图9所示,第一机器学习模型包括的至少一个第一神经网络层既在于第一特征提取阶段和第二特征提取阶段,应理解,图6中的示例仅为方便理解本方案,不用于限定本方案。
[0161]
本技术实施例中,在第一机器学习模型的输入中增设第一信息,第一信息用于指示需要对第一数据执行至少一个任务,第一机器学习模型输出的为与前述至少一个任务一一对应的至少一个预测结果,也即第一机器学习模型基于第一信息能够得知需要对第一数据执行哪些任务,进而能够适应性的对第一数据执行所需的任务,避免生成多余的预测结果,从而避免了对计算机资源的浪费。
[0162]
本技术实施例中,为了更直观地理解本方案,以下结合图10至图12,对执行设备在获取到第一数据和第一信息之后,通过第一机器学习模型执行第一特征提取阶段的神经网络的网络结构进行描述,图10至图12中以第一机器学习模型在执行第一特征提取阶段时采用残差网络(residual network,resnet)为例。先参阅图10,图10为本技术实施例提供的残差网络的一种示意图。图10示出了第一机器学习模型中的resnet包括4个阶段(stage),同一stage内的特征信息有相同的分辨率,不同的stage内的特征信息有不同的分辨率。图10中以stage1、stage2以及stage4均包括一个残差块(residual block),stage3中包括3个残差块为例,输入第一机器学习模型的第一数据在经过第一机器学习模型中的stage1至stage4之后,得到第一数据的共享的特征信息。
[0163]
请继续参阅图11,图11为本技术实施例提供的每个残差块的一种结构示意图,每个残差块包括两组卷积层-批归一化(batch normalization,bn)层-线性整流单元
(rectified linear unit,relu)层结构,还包括一个从残差块的输入到最后一个relu层之前的捷径(shortcut);shortcut指的是残差块中跨越多个神经网络层的跳转连接。其中,每个残差块中的卷积层和bn层均为第一神经网络层,也即每个残差块中的卷积层和bn层所采用的参数均与第一信息相关。
[0164]
请参阅图12,图12为本技术实施例提供的通过第一机器学习模型的特征提取网络执行第一特征提取阶段时所采用的神经网络的一种示意图,如图12所示,在残差网络的基础上,增加了额外的第一信息作为第一机器学习模型的输入,图12中的第一信息用于指示需要对第一数据执行3个任务中的任务1;每个stage都配置有对应的第一模块,stage1、stage2以及stage4均配置了一个第一模块,由于stage3中存在3个残差块,则为stage3配置了3个第一模块,图12中的多个第一模块均为不同的第一模块;第一模块用于根据第一信息的特征信息,生成每个第一神经网络层所对应的第二参数,第一模块的具体工作过程可以参阅上述描述,此处不再一一赘述。应理解,图12中的示例仅为方便理解本方案,不用于限定本方案。
[0165]
二、训练阶段
[0166]
本技术实施例中,训练阶段描述的是训练设备210利用训练数据集合对第一机器学习模型201执行训练操作的过程,具体的,请参阅图13,图13为本技术实施例提供的模型的训练方法的一种流程示意图,本技术实施例提供的模型的训练方法可以包括:
[0167]
1301、获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务。
[0168]
1302、将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果。
[0169]
本技术实施例中,第一机器学习模型具有对输入的第一数据同时执行n个任务的能力,第一信息指示对第一数据执行的m个任务,n为大于或等于2的整数,m为大于或等于1的整数。训练设备执行步骤1301和1302时的具体实现方式,以及步骤1301和1302中名词的含义均可以参阅图4对应实施例中步骤401至403中的描述,此处不再一一赘述。
[0170]
1303、根据与至少一个任务一一对应的至少一个正确结果以及至少一个预测结果以及第一损失函数,对第一机器学习模型进行训练,第一损失函数指示至少一个任务中的每个任务所对应的预测结果和正确结果之间的相似度。
[0171]
本技术实施例中,在一种实现方式中,第一机器学习模型中采用到的所有参数是一起训练的,则在每次训练过程中,训练设备在获取到第一机器学习模型输出的与m个任务一一对应的m个预测结果之后,可以根据与m个任务一一对应的m个预测结果以及m个正确结果,生成第一损失函数的函数值;对第一损失函数进行梯度求导,采用反向传播算法来更新第一机器学习模型中的参数值,以完成对第一机器学习模型的一次训练。
[0172]
其中,第一损失函数指示与m个任务中每个任务对应的预测结果和正确结果之间的相似度,利用第一损失函数进行训练的目的包括提高与m个任务中每个任务对应的预测结果和正确结果之间的相似度。
[0173]
训练设备可以重复执行步骤1302至1303,以实现对第一机器学习模型的迭代训练,直至满足收敛条件,得到执行过训练操作的第一机器学习模型。示例性地,前述收敛条件可以为满足第一损失函数的收敛条件,也可以为对第一机器学习模型进行训练的次数达
到预设次数等,此处不做穷举。
[0174]
在另一种实现方式中,若第一机器学习模型包括第一模块,第一模块用于生成每个第一神经网络层的第二参数;可选地,第一机器学习模型的训练过程可以分为第一训练阶段和第二训练阶段;在第一训练阶段,训练设备可以仅对第一机器学习模型中第一模块之外的神经网络层的参数进行更新。
[0175]
示例性地,在第一训练阶段的每次训练中,第一信息指示对第一数据执行n个任务中的全部任务,上述与至少一个任务一一对应的至少一个预测结果包括与n个任务一一对应的n个预测结果。训练设备可以根据与n个任务一一对应的n个预测结果以及n个正确结果,生成第一损失函数的函数值;对第一损失函数进行梯度求导,采用反向传播算法对第一机器学习模型中第一模块之外的神经网络层的参数进行更新,以完成对第一机器学习模型的一次训练。第一损失函数指示与n个任务中每个任务对应的预测结果和正确结果之间的相似度。
[0176]
训练设备可以重复执行步骤1302至1303,以实现对第一机器学习模型的迭代训练,直至满足第一收敛条件,第一收敛条件可以为满足第一损失函数的收敛条件,也可以为对第一机器学习模型中第一模块之外的神经网络层的参数进行更新的次数达到第一预设次数等,此处不做穷举。
[0177]
在第二训练阶段的每次训练中,第一信息指示对第一数据执行n个任务中的m个任务,上述与至少一个任务一一对应的至少一个预测结果包括与m个任务一一对应的m个预测结果。训练设备根据与m个任务一一对应的m个预测结果、m个正确结果以及第一损失函数,对第一机器学习模型中的第一模块进行训练的具体实现方式可以参阅上一实现方式中的描述,区别在于,在上一实现方式中,训练设备根据第一损失函数的函数值,对第一机器学习模型中的所有参数进行更新;在本实现方式中,由于在第一训练阶段中已经得到了第一机器学习模型中第一模块之外的神经网络层的参数,则在第二训练阶段中,仅对第一机器学习模型中的每个第一模块的参数进行更新,直至满足第二收敛条件。
[0178]
示例性地,第一收敛条件可以为满足第一损失函数的收敛条件,也可以为对第一机器学习模型中第一模块的参数进行更新的次数达到第二预设次数等,此处不做穷举。
[0179]
训练设备在完成第一训练阶段和第二训练阶段的操作之后,能够得到执行过训练操作的第一机器学习模型。
[0180]
为了进一步理解本技术实施例所带来的有益效果,以下结合实验数据进行说明。参阅如下表1,表1中以在nyudv2数据集上进行实验,n个任务包括对图像进行语义分割、对图像进行深度估计以及对图像进行法线估计这三个任务为例。
[0181] largemiddlesmallsingletask000basemultitask-1.795-1.405-0.520本技术提供的方法2.5835.5716.633
[0182]
表1
[0183]
singletask代表分别采用独立的机器学习模型对n个任务进行处理;basemultitask代表n个任务共享特征提取网络,前述共享特征提取网络连接n个特征处理网络,从而分别输出n个任务的预测结果;表1中的数字代表多个任务的综合性能,以采用
singletask得到n个任务的预测结果的综合性能为0,也即以采用singletask得到n个任务的预测结果的综合性能作为参照基准;采用basemultitask得到的训练后的机器学习模型降低了n个任务的预测结果的综合性能;采用本技术提供的方法得到的训练后的机器学习模型提高了n个任务的预测结果的综合性能。
[0184]
在图1至图13所对应的实施例的基础上,为了更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图14,图14为本技术实施例提供的数据处理装置的一种结构示意图,数据处理装置1400包括:获取模块1401,用于获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务;处理模块1402,用于将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果。
[0185]
可选地,第一机器学习模型包括多个神经网络层,多个神经网络层中有至少一个第一神经网络层;其中,处理模块1402,具体用于:基于第一信息,确定第一神经网络层所采用的参数;根据第一神经网络层所采用的参数,利用第一神经网络层对第二数据进行处理,得到第一神经网络层生成的第二数据的处理结果,第二数据为第一数据或者第一数据的特征信息。
[0186]
可选地,若第二数据为第一数据的特征信息,第二数据的处理结果为第一数据的更新后的特征信息,若第二数据为第一数据,第二数据的处理结果为第一数据的特征信息。
[0187]
可选地,处理模块1402,具体用于:获取与第一神经网络层对应的第一参数;根据第一信息的特征信息,确定与第一神经网络层对应的第二参数;根据第一参数和第二参数,确定第一神经网络层所采用的参数。
[0188]
可选地,处理模块1402,具体用于将第一数据的第一特征信息与第一数据的第二特征信息进行融合,得到更新后的第一特征信息,更新后的第一特征信息用于得到第一预测结果,第一预测结果为至少一个预测结果中与第一任务对应的一个;其中,第一特征信息与第一任务对应,第二特征信息与第二任务对应,第一任务为至少一个任务中的任意一个,第二任务为至少一个任务中第一任务之外的任务。
[0189]
可选地,处理模块1402,具体用于基于注意力机制,将第一特征信息与第二特征信息进行融合,得到更新后的第一特征信息。
[0190]
可选地,处理模块1402,具体用于:根据与第一任务对应的第一特征信息,生成第一查询(query)特征、第一键(key)特征以及第一值(value)特征,根据第一查询特征和第一键特征,生成与第一任务对应的第一注意力矩阵;获取与第二任务对应的第二注意力矩阵,第二注意力矩阵根据与第二任务对应的第二特征信息得到;将第一注意力矩阵和第二注意力矩阵进行融合,得到融合结果;基于融合结果和第一值特征,生成更新后的第一特征信息。
[0191]
可选地,第一数据为图像,至少一个任务包括如下任一种或多种:图像分类、对图像进行目标检测、对图像进行语义分割、从图像中分割出注意目标、对图像进行文本识别、图像实例分割、对图像中的人体进行姿态估计或者对图像中的人体进行动作识别。
[0192]
需要说明的是,数据处理装置1400中各模块/单元之间的信息交互、执行过程等内容,与本技术中图3至图12对应的各个方法实施例基于同一构思,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0193]
请继续参阅图15,图15为本技术实施例提供的模型的训练装置的一种结构示意图,模型的训练装置1500包括:获取模块1501,用于获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务;处理模块1502,用于将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果;训练模块1503,用于根据与至少一个任务一一对应的至少一个正确结果以及至少一个预测结果以及损失函数,对第一机器学习模型进行训练,损失函数指示至少一个任务中的每个任务所对应的预测结果和正确结果之间的相似度。
[0194]
可选地,第一机器学习模型包括多个神经网络层,多个神经网络层中有至少一个第一神经网络层;其中,处理模块1502,具体用于:根据第一信息的特征信息,确定第一神经网络层所采用的参数;根据第一神经网络层所采用的参数,利用第一神经网络层对第二数据进行处理,得到第一神经网络层生成的第二数据的处理结果,第二数据为第一数据或者第一数据的特征信息。
[0195]
可选地,处理模块1502,具体用于将第一数据的第一特征信息与第一数据的第二特征信息进行融合,得到更新后的第一特征信息,更新后的第一特征信息用于得到第一预测结果,第一预测结果为至少一个预测结果中与第一任务对应的一个;其中,第一特征信息与第一任务对应,第二特征信息与第二任务对应,第一任务为至少一个任务中的任意一个,第二任务为至少一个任务中第一任务之外的任务。
[0196]
需要说明的是,模型的训练装置1500中各模块/单元之间的信息交互、执行过程等内容,与本技术中图13对应的各个方法实施例基于同一构思,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0197]
接下来介绍本技术实施例提供的一种执行设备,请参阅图16,图16为本技术实施例提供的执行设备的一种结构示意图,具体的,执行设备1600包括:接收器1601、发射器1602、处理器1603和存储器1604(其中执行设备1600中的处理器1603的数量可以一个或多个,图16中以一个处理器为例),其中,处理器1603可以包括应用处理器16031和通信处理器16032。在本技术的一些实施例中,接收器1601、发射器1602、处理器1603和存储器1604可通过总线或其它方式连接。
[0198]
存储器1604可以包括只读存储器和随机存取存储器,并向处理器1603提供指令和数据。存储器1604的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器1604存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
[0199]
处理器1603控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0200]
上述本技术实施例揭示的方法可以应用于处理器1603中,或者由处理器1603实现。处理器1603可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1603可以是通用处理器、数字信号处理器(digital signal processing,dsp)、微处
理器或微控制器,还可进一步包括专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1603可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1604,处理器1603读取存储器1604中的信息,结合其硬件完成上述方法的步骤。
[0201]
接收器1601可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1602可用于通过第一接口输出数字或字符信息;发射器1602还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1602还可以包括显示屏等显示设备。
[0202]
本技术实施例中,处理器1603,用于执行图3至图12对应实施例中的执行设备执行的数据处理方法。处理器1603中的应用处理器16031执行前述各个步骤的具体方式,与本技术中图3至图12对应的各个方法实施例基于同一构思,其带来的技术效果与本技术中图3至图12对应的各个方法实施例相同,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0203]
本技术实施例还提供了一种训练设备,请参阅图17,图17是本技术实施例提供的训练设备一种结构示意图,具体的,训练设备1700由一个或多个服务器实现,训练设备1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1722(例如,一个或一个以上处理器)和存储器1732,一个或一个以上存储应用程序1742或数据1744的存储介质1730(例如一个或一个以上海量存储设备)。其中,存储器1732和存储介质1730可以是短暂存储或持久存储。存储在存储介质1730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1722可以设置为与存储介质1730通信,在训练设备1700上执行存储介质1730中的一系列指令操作。
[0204]
训练设备1700还可以包括一个或一个以上电源1726,一个或一个以上有线或无线网络接口1750,一个或一个以上输入输出接口1758,和/或,一个或一个以上操作系统1741,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0205]
本技术实施例中,中央处理器1722,用于执行图13对应实施例中的训练设备执行的数据处理方法。中央处理器1722执行上述前述步骤的具体方式,与本技术中图13对应的各个方法实施例基于同一构思,其带来的技术效果与本技术中图13对应的各个方法实施例相同,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0206]
本技术实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图3至图12所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图13所示实施例描述的方法中训练设备所执行的步骤。
[0207]
本技术实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得
计算机执行如前述图3至图12所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图13所示实施例描述的方法中训练设备所执行的步骤。
[0208]
本技术实施例提供的执行设备或训练设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使芯片执行上述图3至图12所示实施例描述的数据处理方法,或者,以使芯片执行上述图13所示实施例描述的模型的训练方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
[0209]
具体的,请参阅图18,图18为本技术实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器npu 180,npu 180作为协处理器挂载到主cpu(host cpu)上,由host cpu分配任务。npu的核心部分为运算电路1803,通过控制器1804控制运算电路1803提取存储器中的矩阵数据并进行乘法运算。
[0210]
在一些实现中,运算电路1803内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路1803是二维脉动阵列。运算电路1803还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1803是通用的矩阵处理器。
[0211]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器1802中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器1801中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1808中。
[0212]
统一存储器1806用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,dmac)1805,dmac被搬运到权重存储器1802中。输入数据也通过dmac被搬运到统一存储器1806中。
[0213]
biu为bus interface unit即,总线接口单元1810,用于axi总线与dmac和取指存储器(instruction fetch buffer,ifb)1809的交互。
[0214]
总线接口单元1810(bus interface unit,简称biu),用于取指存储器1809从外部存储器获取指令,还用于存储单元访问控制器1805从外部存储器获取输入矩阵a或者权重矩阵b的原数据。
[0215]
dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器1806或将权重数据搬运到权重存储器1802中或将输入数据数据搬运到输入存储器1801中。
[0216]
向量计算单元1807包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如batch normalization(批归一化),像素级求和,对特征平面进行上采样等。
[0217]
在一些实现中,向量计算单元1807能将经处理的输出的向量存储到统一存储器1806。例如,向量计算单元1807可以将线性函数和/或非线性函数应用到运算电路1803的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。
在一些实现中,向量计算单元1807生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1803的激活输入,例如用于在神经网络中的后续层中的使用。
[0218]
控制器1804连接的取指存储器(instruction fetch buffer)1809,用于存储控制器1804使用的指令;
[0219]
统一存储器1806,输入存储器1801,权重存储器1802以及取指存储器1809均为on-chip存储器。外部存储器私有于该npu硬件架构。
[0220]
其中,图7和图7所示的高维卷积神经网络中各层的运算可以由运算电路1803或向量计算单元1807执行。
[0221]
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
[0222]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0223]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本技术各个实施例所述的方法。
[0224]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0225]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。

技术特征:
1.一种数据处理方法,其特征在于,所述方法包括:获取第一数据和第一信息,所述第一信息指示对所述第一数据执行的至少一个任务;将所述第一数据和所述第一信息输入第一机器学习模型,通过所述第一机器学习模型对所述第一数据进行处理,得到所述第一机器学习模型输出的与所述至少一个任务一一对应的至少一个预测结果。2.根据权利要求1所述的方法,其特征在于,所述第一机器学习模型包括多个神经网络层,所述多个神经网络层中有至少一个第一神经网络层,其中,所述通过所述第一机器学习模型对所述第一数据进行处理,包括:基于所述第一信息,确定所述第一神经网络层所采用的参数;根据所述第一神经网络层所采用的参数,利用所述第一神经网络层对第二数据进行处理,得到所述第一神经网络层生成的所述第二数据的处理结果,所述第二数据为所述第一数据或者所述第一数据的特征信息。3.根据权利要求2所述的方法,其特征在于,若所述第二数据为所述第一数据的特征信息,所述第二数据的处理结果为所述第一数据的更新后的特征信息,若所述第二数据为所述第一数据,所述第二数据的处理结果为所述第一数据的特征信息。4.根据权利要求2所述的方法,其特征在于,所述基于所述第一信息,确定第一神经网络层所采用的参数,包括:获取与所述第一神经网络层对应的第一参数;根据所述第一信息的特征信息,确定与所述第一神经网络层对应的第二参数;根据所述第一参数和所述第二参数,确定所述第一神经网络层所采用的参数。5.根据权利要求1至4任一项所述的方法,其特征在于,所述通过所述第一机器学习模型对所述第一数据进行处理,包括:将所述第一数据的第一特征信息与所述第一数据的第二特征信息进行融合,得到更新后的所述第一特征信息,所述更新后的第一特征信息用于得到第一预测结果,所述第一预测结果为所述至少一个预测结果中与第一任务对应的一个;其中,所述第一特征信息与所述第一任务对应,所述第二特征信息与第二任务对应,所述第一任务为所述至少一个任务中的任意一个,所述第二任务为所述至少一个任务中所述第一任务之外的任务。6.根据权利要求5所述的方法,其特征在于,所述将所述第一数据的第一特征信息与所述第一数据的第二特征信息进行融合,得到更新后的所述第一特征信息,包括:基于注意力机制,将所述第一特征信息与所述第二特征信息进行融合,得到所述更新后的第一特征信息。7.根据权利要求6所述的方法,其特征在于,所述基于注意力机制,将所述第一特征信息与所述第二特征信息进行融合,得到所述更新后的第一特征信息,包括:根据与所述第一任务对应的所述第一特征信息,生成第一查询(query)特征、第一键(key)特征以及第一值(value)特征,根据所述第一查询特征和所述第一键特征,生成与所述第一任务对应的第一注意力矩阵;获取与所述第二任务对应的第二注意力矩阵,所述第二注意力矩阵根据与所述第二任务对应的所述第二特征信息得到;
将所述第一注意力矩阵和所述第二注意力矩阵进行融合,得到融合结果;基于所述融合结果和所述第一值特征,生成所述更新后的所述第一特征信息。8.根据权利要求1至4任一项所述的方法,其特征在于,所述第一数据为图像,所述至少一个任务包括如下任一种或多种:图像分类、对图像进行目标检测、对图像进行语义分割、从图像中分割出注意目标、对图像进行文本识别、图像实例分割、对图像中的人体进行姿态估计或者对图像中的人体进行动作识别。9.一种模型的训练方法,其特征在于,所述方法包括:获取第一数据和第一信息,所述第一信息指示对所述第一数据执行的至少一个任务;将所述第一数据和所述第一信息输入第一机器学习模型,通过所述第一机器学习模型对所述第一数据进行处理,得到所述第一机器学习模型输出的与所述至少一个任务一一对应的至少一个预测结果;根据与所述至少一个任务一一对应的至少一个正确结果以及所述至少一个预测结果以及损失函数,对所述第一机器学习模型进行训练,所述损失函数指示所述至少一个任务中的每个任务所对应的预测结果和正确结果之间的相似度。10.根据权利要求9所述的方法,其特征在于,所述第一机器学习模型包括多个神经网络层,所述多个神经网络层中有至少一个第一神经网络层,其中,所述通过所述第一机器学习模型对所述第一数据进行处理,包括:根据所述第一信息的特征信息,确定所述第一神经网络层所采用的参数;根据所述第一神经网络层所采用的参数,利用所述第一神经网络层对第二数据进行处理,得到所述第一神经网络层生成的所述第二数据的处理结果,所述第二数据为所述第一数据或者所述第一数据的特征信息。11.根据权利要求9或10所述的方法,其特征在于,所述通过所述第一机器学习模型对所述第一数据进行处理,包括:将所述第一数据的第一特征信息与所述第一数据的第二特征信息进行融合,得到更新后的所述第一特征信息,所述更新后的第一特征信息用于得到第一预测结果,所述第一预测结果为所述至少一个预测结果中与第一任务对应的一个;其中,所述第一特征信息与所述第一任务对应,所述第二特征信息与第二任务对应,所述第一任务为所述至少一个任务中的任意一个,所述第二任务为所述至少一个任务中所述第一任务之外的任务。12.一种数据处理装置,其特征在于,所述装置包括:获取模块,用于获取第一数据和第一信息,所述第一信息指示对所述第一数据执行的至少一个任务;处理模块,用于将所述第一数据和所述第一信息输入第一机器学习模型,通过所述第一机器学习模型对所述第一数据进行处理,得到所述第一机器学习模型输出的与所述至少一个任务一一对应的至少一个预测结果。13.根据权利要求12所述的装置,其特征在于,所述第一机器学习模型包括多个神经网络层,所述多个神经网络层中有至少一个第一神经网络层;其中,所述处理模块,具体用于:基于所述第一信息,确定所述第一神经网络层所采用的参数;
根据所述第一神经网络层所采用的参数,利用所述第一神经网络层对第二数据进行处理,得到所述第一神经网络层生成的所述第二数据的处理结果,所述第二数据为所述第一数据或者所述第一数据的特征信息。14.根据权利要求13所述的装置,其特征在于,若所述第二数据为所述第一数据的特征信息,所述第二数据的处理结果为所述第一数据的更新后的特征信息,若所述第二数据为所述第一数据,所述第二数据的处理结果为所述第一数据的特征信息。15.根据权利要求13所述的装置,其特征在于,所述处理模块,具体用于:获取与所述第一神经网络层对应的第一参数;根据所述第一信息的特征信息,确定与所述第一神经网络层对应的第二参数;根据所述第一参数和所述第二参数,确定所述第一神经网络层所采用的参数。16.根据权利要求12至15任一项所述的装置,其特征在于,所述处理模块,具体用于将所述第一数据的第一特征信息与所述第一数据的第二特征信息进行融合,得到更新后的所述第一特征信息,所述更新后的第一特征信息用于得到第一预测结果,所述第一预测结果为所述至少一个预测结果中与第一任务对应的一个;其中,所述第一特征信息与所述第一任务对应,所述第二特征信息与第二任务对应,所述第一任务为所述至少一个任务中的任意一个,所述第二任务为所述至少一个任务中所述第一任务之外的任务。17.根据权利要求16所述的装置,其特征在于,所述处理模块,具体用于基于注意力机制,将所述第一特征信息与所述第二特征信息进行融合,得到所述更新后的第一特征信息。18.根据权利要求17所述的装置,其特征在于,所述处理模块,具体用于:根据与所述第一任务对应的所述第一特征信息,生成第一查询(query)特征、第一键(key)特征以及第一值(value)特征,根据所述第一查询特征和所述第一键特征,生成与所述第一任务对应的第一注意力矩阵;获取与所述第二任务对应的第二注意力矩阵,所述第二注意力矩阵根据与所述第二任务对应的所述第二特征信息得到;将所述第一注意力矩阵和所述第二注意力矩阵进行融合,得到融合结果;基于所述融合结果和所述第一值特征,生成所述更新后的所述第一特征信息。19.根据权利要求12至15任一项所述的装置,其特征在于,所述第一数据为图像,所述至少一个任务包括如下任一种或多种:图像分类、对图像进行目标检测、对图像进行语义分割、从图像中分割出注意目标、对图像进行文本识别、图像实例分割、对图像中的人体进行姿态估计或者对图像中的人体进行动作识别。20.一种模型的训练装置,其特征在于,所述装置包括:获取模块,用于获取第一数据和第一信息,所述第一信息指示对所述第一数据执行的至少一个任务;处理模块,用于将所述第一数据和所述第一信息输入第一机器学习模型,通过所述第一机器学习模型对所述第一数据进行处理,得到所述第一机器学习模型输出的与所述至少一个任务一一对应的至少一个预测结果;训练模块,用于根据与所述至少一个任务一一对应的至少一个正确结果以及所述至少
一个预测结果以及损失函数,对所述第一机器学习模型进行训练,所述损失函数指示所述至少一个任务中的每个任务所对应的预测结果和正确结果之间的相似度。21.根据权利要求20所述的装置,其特征在于,所述第一机器学习模型包括多个神经网络层,所述多个神经网络层中有至少一个第一神经网络层;其中,所述处理模块,具体用于:根据所述第一信息的特征信息,确定所述第一神经网络层所采用的参数;根据所述第一神经网络层所采用的参数,利用所述第一神经网络层对第二数据进行处理,得到所述第一神经网络层生成的所述第二数据的处理结果,所述第二数据为所述第一数据或者所述第一数据的特征信息。22.根据权利要求20或21所述的装置,其特征在于,所述处理模块,具体用于将所述第一数据的第一特征信息与所述第一数据的第二特征信息进行融合,得到更新后的所述第一特征信息,所述更新后的第一特征信息用于得到第一预测结果,所述第一预测结果为所述至少一个预测结果中与第一任务对应的一个;其中,所述第一特征信息与所述第一任务对应,所述第二特征信息与第二任务对应,所述第一任务为所述至少一个任务中的任意一个,所述第二任务为所述至少一个任务中所述第一任务之外的任务。23.一种执行设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合,所述存储器,用于存储程序;所述处理器,用于执行所述存储器中的程序,使得所述执行设备执行如权利要求1至8中任一项所述的方法。24.一种训练设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合,所述存储器,用于存储程序;所述处理器,用于执行所述存储器中的程序,使得所述训练设备执行如权利要求9至11中任一项所述的方法。25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至11中任一项所述的方法。26.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至11中任一项所述的方法。

技术总结
本申请实施例公开一种数据处理方法、模型的训练方法以及相关设备,该方法可用于人工智能领域的多任务处理场景中,方法包括:获取第一数据和第一信息,第一信息指示对第一数据执行的至少一个任务;将第一数据和第一信息输入第一机器学习模型,通过第一机器学习模型对第一数据进行处理,得到第一机器学习模型输出的与至少一个任务一一对应的至少一个预测结果;也即第一机器学习模型基于第一信息能够得知需要对第一数据执行哪些任务,进而能够适应性的对第一数据执行所需的任务,避免生成多余的预测结果,从而避免了对计算机资源的浪费。从而避免了对计算机资源的浪费。从而避免了对计算机资源的浪费。


技术研发人员:郎智强 李勇 陈畅 宋风龙
受保护的技术使用者:华为技术有限公司
技术研发日:2023.05.30
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐