本技术涉及人工智能,更具体的说,是涉及一种多模态模型的多任务预训练方法、多模态识别方法及设备。
背景技术:
1、随着人工智能技术的发展,越来越多的领域涉及到多模态识别,如基于多模态数据的唇语识别、语音识别、情感识别、图像语义识别等等。
2、在自动多模态识别领域中,针对端到端的深度学习多模态识别方法,由于带有精确标注的多模态数据较稀缺而无标注的数据资源非常丰富,故多模态模型大多需要先使用大量无标注的多模态数据进行预训练,使模型获得一定的多模态数据信息抽取和建模能力,再附加相应下游任务解码模型,使用少量标注数据,进行下游任务微调训练,使其具有特定任务的识别能力,实现相应的多模态识别功能。
3、然而多模态识别任务存在多种类型,如前所述的唇语识别、语音识别、情感识别、图像语义识别等等,如果需要实现多种类型的多模态识别功能,现有技术一般使用多种类型的多模态数据对多个多模态模型进行不同种类的预训练,得到预训练后的多个不同的多模态模型,使得预训练后的不同多模态模型具有对应类型的多模态识别能力。但预训练多个多模态模型需要大量的时间成本与显卡资源,代价较大。
技术实现思路
1、鉴于上述问题,提出了本技术以便提供一种多模态模型的多任务预训练方法、多模态识别方法、装置、设备及存储介质,以降低多模态模型多任务预训练过程的成本开销。具体方案如下:
2、第一方面,提供了一种多模态模型的多任务预训练方法,所述多模态模型包括多模态深度神经网络模型及任务类型编码器,方法包括:
3、获取不同类型的多模态识别任务所对应的多模态训练数据,所述多模态训练数据包括音频模态、视觉模态、文本模态中至少两种模态的训练数据;
4、为所述多模态训练数据标记对应的任务类型标识;
5、采用标记有任务类型标识的多模态训练数据,按照设定的预训练任务对所述多模态模型进行预训练,训练时所述多模态训练数据作为所述多模态深度神经网络模型的输入,所述多模态训练数据标记的任务类型标识通过所述任务类型编码器进行编码,编码结果也作为所述多模态深度神经网络模型的输入。
6、优选地,为所述多模态训练数据标记对应的任务类型标识的过程,包括:
7、按照所述多模态训练数据的来源,确定所述多模态训练数据的数据类型;
8、根据所述多模态训练数据的数据类型,为所述多模态训练数据标记对应的任务类型标识。
9、优选地,根据所述多模态训练数据的数据类型,为所述多模态训练数据标记对应的任务类型标识的过程,包括:
10、参考预设的数据类型与任务类型标识间的对应关系,确定所述多模态训练数据的任务类型标识;
11、或,
12、参考预设的数据类型与数据属性标签间的对应关系,确定所述多模态训练数据所具备的属性标签,所述属性标签用于表示多模态训练数据所具备的数据特点;
13、参考预设的每一类型多模态识别任务对训练数据的属性要求,确定所述多模态训练数据所具备的属性标签所满足的目标属性要求,并将所述目标属性要求所对应的多模态识别任务的任务类型标识标记给所述多模态训练数据。
14、优选地,所述多模态深度神经网络模型包括音频特征提取模块、视觉特征提取模块、文本特征提取模块中的至少两种模块,以及,多模态特征编码器;
15、其中,所述音频特征提取模块用于提取输入的音频模态数据的音频特征并送入所述多模态特征编码器,所述视觉特征提取模块用于提取输入的视觉模态数据的视觉特征并送入所述多模态特征编码器,所述文本特征提取模块用于提取输入的文本模态数据的文本特征并送入所述多模态特征编码器;
16、所述多模态特征编码器用于对输入的特征进行深层次编码,得到多模态编码特征。
17、优选地,所述任务类型标识为任务类型id编号。
18、优选地,由预训练后的所述多模态模型分别拼接不同任务类型的下游解码器模块,得到处理不同类型任务的多模态识别模型,该方法还包括:
19、对于处理每一类型任务的多模态识别模型,获取所述类型任务的有标注多模态训练数据,采用所述有标注多模态训练数据和所述类型任务的任务类型标识,对所述多模态识别模型进行微调训练。
20、第二方面,提供了一种多模态识别方法,包括:
21、获取待处理的多模态数据,并确定当前所要执行的多模态识别任务的目标任务类型标识;
22、调用与所述当前所要执行的多模态识别任务匹配的多模态识别模型,所述多模态识别模型为采用权利要求6的方法微调训练得到的用于处理所述当前所要执行的多模态识别任务的多模态识别模型;
23、将所述目标任务类型标识及所述待处理的多模态数据输入所述多模态识别模型,得到所述多模态识别模型输出的识别结果。
24、第三方面,提供了一种多模态模型的多任务预训练装置,所述多模态模型包括多模态深度神经网络模型及任务类型编码器,装置包括:
25、训练数据获取单元,用于获取不同类型的多模态识别任务所对应的多模态训练数据,所述多模态训练数据包括音频模态、视觉模态、文本模态中至少两种模态的训练数据;
26、任务类型标识确定单元,用于为所述多模态训练数据标记对应的任务类型标识;
27、预训练单元,用于采用标记有任务类型标识的多模态训练数据,按照设定的预训练任务对所述多模态模型进行预训练,训练时所述多模态训练数据作为所述多模态深度神经网络模型的输入,所述多模态训练数据标记的任务类型标识通过所述任务类型编码器进行编码,编码结果也作为所述多模态深度神经网络模型的输入。
28、优选地,由预训练后的所述多模态模型分别拼接不同任务类型的下游解码器模块,得到处理不同类型任务的多模态识别模型,该装置还包括:
29、下游微调训练单元,用于对于处理每一类型任务的多模态识别模型,获取所述类型任务的有标注多模态训练数据,采用所述有标注多模态训练数据和所述类型任务的任务类型标识,对所述多模态识别模型进行微调训练。
30、第四方面,提供了一种多模态识别装置,包括:
31、待处理数据获取单元,用于获取待处理的多模态数据,并确定当前所要执行的多模态识别任务的目标任务类型标识;
32、模型调用单元,用于调用与所述当前所要执行的多模态识别任务匹配的多模态识别模型,所述多模态识别模型为采用前述多模态模型的多任务预训练装置微调训练得到的用于处理所述当前所要执行的多模态识别任务的多模态识别模型;
33、计算单元,用于将所述目标任务类型标识及所述待处理的多模态数据输入所述多模态识别模型,得到所述多模态识别模型输出的识别结果。
34、第五方面,提供了一种多模态模型的多任务预训练设备,包括:存储器和处理器;
35、所述存储器,用于存储程序;
36、所述处理器,用于执行所述程序,实现如前所述的多模态模型的多任务预训练方法的各个步骤。
37、第六方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如前所述的多模态模型的多任务预训练方法的各个步骤。
38、借由上述技术方案,本技术提供的多模态模型在包括传统的多模态深度神经网络模型的基础上进一步增加了任务类型编码器,在获取到不同类型的多模态识别任务所对应的多模态训练数据后,为多模态训练数据标记对应的任务类型标识,进而采用标记有任务类型标识的多模态训练数据,按照设定的预训练任务对多模态模型进行预训练,训练过程通过任务类型编码器对多模态训练数据标记的任务类型标识进行编码,编码结果作为多模态深度神经网络模型的输入,且多模态深度神经网络模型的输入还包括多模态训练数据本身,由此可以实现通过一个多模态模型同时对多种不同类型的多模态训练数据进行训练,训练后的多模态模型具有对多种不同类型的多模态信息建模的能力,该能力可以通过任务类型标识进行选择调用,也即针对不同类型的下游任务,在向预训练后的多模态模型输入待处理的多模态数据的同时,可以一并输入任务类型标识,从而可以实现多种类型的下游任务的快速迁移,而不需要分别训练多个处理不同类型任务的多模态模型,大大降低了时间成本与显卡资源,节省了训练资源。