一种预训练方法及相关方法和设备
文献发布时间:2023-06-19 19:28:50
技术领域
本发明涉及无监督学习技术领域,尤其涉及一种预训练方法及相关方法和设备。
背景技术
包含编码器的信息预测模型的一般获得方式为,先基于预训练方法获得编码器,即,用无监督数据对初始的预训练模型进行训练,将训练得到的模型中的编码部分作为编码器,在此基础上构建包括编码器和预测模块的模型,进而利用指定任务的训练数据对构建的模型进行微调,从而得到最终针对指定任务的信息预测模型。
目前的预训练方法多为基于单模态数据的预训练方法,即基于单一模态的数据对预训练模型进行训练,比如,基于音频数据的预训练方法基于音频数据对预训练模型进行训练。目前,基于单模态数据的预训练方法有多种,比如,基于对比学习的预训练方法、基于掩码预测机制的预训练方法等。
虽然基于单模态数据的预训练方法取得了巨大的成功,但是,其仅局限在单模态数据应用场景,无法适用于多模态数据应用场景。
发明内容
有鉴于此,本发明提供了一种预训练方法及相关方法和设备,用以解决现有的预训练方法仅局限在单模态数据应用场景,无法适用于多模态数据应用场景的问题,其技术方案如下:
一种预训练方法,包括:
获取多模态训练数据;
基于包括编码部分和辅助训练部分的学生模型,对所述多模态训练数据进行编码,得到第一编码结果,并基于所述第一编码结果预测特征,其中,所述辅助训练部分至少用于对编码过程中产生的特征中的部分特征进行掩码遮蔽处理;
基于只包括编码部分的教师模型,对所述多模态训练数据进行编码,得到第二编码结果,并基于所述第二编码结果确定目标特征;
以使基于所述第一编码结果预测的特征趋近于所述目标特征为目标,对所述学生模型进行参数更新,其中,所述教师模型的参数随所述学生模型参数的更新而更新;训练结束后得到的学生模型作为目标预训练模型。
可选的,所述辅助训练部分包括:掩码遮蔽模块和随机模态丢弃模块;
所述随机模态丢弃模块,用于基于设定的模态丢弃概率,对所述学生模型的编码部分在编码过程中产生的多模态特征进行模态丢弃处理,其中,所述模态丢弃概率包括每种模态的特征被丢弃的概率以及不进行模态丢弃的概率;
所述掩码遮蔽模块,用于对模态丢弃处理后的特征中的部分特征进行掩码遮蔽处理。
可选的,基于学生模型对多模态训练数据进行编码,得到第一编码结果,包括:
对所述多模态训练数据进行损毁处理,得到损毁后多模态训练数据;
基于所述学生模型的编码部分,对所述损毁后多模态训练数据中各模态的数据分别提取特征,得到的特征作为第一多模态特征;
基于所述学生模型的随机模态丢弃模块,对所述第一多模态特征进行模态丢弃处理,得到模态丢弃后特征;
基于所述学生模型的编码部分,对所述模态丢弃后特征进行融合处理,得到第一融合特征;
基于所述学生模型的掩码遮蔽模块,对所述第一融合特征中的部分特征进行掩码遮蔽处理,得到掩码遮蔽后特征;
基于所述学生模型的编码部分,对所述掩码遮蔽后特征进行上下文编码,得到第一编码结果。
可选的,基于教师模型对所述多模态训练数据进行编码,得到第二编码结果,包括:
基于所述教师模型,对所述多模态训练数据中各模态的数据分别提取特征,得到的特征作为第二多模态特征;
基于所述教师模型,对所述第二多模态特征进行融合处理,得到第二融合特征;
基于所述教师模型,对所述第二融合特征进行上下文编码,得到第二编码结果。
可选的,所述编码部分包括多种模态分别对应的前端编码模块,以及,特征融合模块和上下文编码模块;
基于学生模型对多模态训练数据进行编码,得到第一编码结果,包括:
对所述多模态训练数据进行损毁处理,得到损毁后多模态训练数据;
基于所述学生模型的各前端编码模块,对所述损毁后多模态训练数据中对应模态的数据提取特征,得到的特征作为第一多模态特征;;
基于所述学生模型的随机模态丢弃模块,对所述第一多模态特征进行模态丢弃处理,得到模态丢弃后特征;
基于所述学生模型的特征融合模块,对所述模态丢弃后特征进行融合处理,得到第一融合后特征;
基于所述学生模型的掩码遮蔽模块,对所述第一融合后特征中的部分特征进行掩码遮蔽处理,得到掩码遮蔽后特征;
基于所述学生模型的上下文编码模块,对所述掩码遮蔽后特征进行上下文编码,得到第一编码结果。
可选的,所述以使基于所述第一编码结果预测的特征趋近于所述目标特征为目标,对所述学生模型进行参数更新,包括:
基于预测的特征和所述目标特征,确定预测损失;
基于所述预测损失,对所述学生模型进行参数更新。
可选的,所述基于所述教师模型,对所述第二融合特征进行上下文编码,得到第二编码结果,包括:
基于所述教师模型的上下文编码模块,对所述第二融合特征进行上下文编码,得到第二编码结果,其中,所述第二编码结果包括所述上下文编码模块各层输出的特征;
所述基于所述第二编码结果确定目标特征,包括:
对所述上下文编码模块各层输出的特征进行归一化后求平均,求得到的特征作为目标特征;
或者,
对所述上下文编码模块各层输出的特征进行归一化后求平均,从求得到的特征中提取出所述遮蔽处理的遮蔽位置处的特征,作为目标特征。
可选的,所述教师模型的参数更新过程包括:
根据所述学生模型的更新后参数,采用指数滑动平均方法,对所述教师模型的参数进行更新。
一种信息预测模型的获取方法,包括:
采用上述任一项所述的预训练方法,获得目标预训练模型;
将所述目标预训练模型中的编码部分作为多模态编码器,构建包括所述多模态编码器和预测模块的模型,作为初始的信息预测模型;
采用指定任务的训练数据,对所述初始的信息预测模型进行微调,得到针对所述指定任务的信息预测模型。
一种信息预测方法,包括:
获取指定任务的目标数据;
基于采用上述信息预测模型的获取方法获得的信息预测模型,对所述目标数据进行处理,得到所述目标数据对应的预测结果。
一种预训练装置,包括:训练数据获取模块和模型训练模块;
所述训练数据获取模块,用于获取多模态训练数据;
所述模型训练模块,用于:
基于包括编码部分和辅助训练部分的学生模型,对所述多模态训练数据进行编码,得到第一编码结果,并基于所述第一编码结果预测特征,其中,所述辅助训练部分至少用于对编码过程中产生的特征中的部分特征进行掩码遮蔽处理;
基于只包括编码部分的教师模型,对所述多模态训练数据进行编码,得到第二编码结果,并基于所述第二编码结果确定目标特征;
以使基于所述第一编码结果预测的特征趋近于所述目标特征为目标,对所述学生模型进行参数更新,其中,所述教师模型的参数随所述学生模型参数的更新而更新;训练结束后得到的学生模型作为目标预训练模型。
可选的,所述辅助训练部分包括:掩码遮蔽模块和随机模态丢弃模块;
所述随机模态丢弃模块,用于基于设定的模态丢弃概率,对所述学生模型的编码部分在编码过程中产生的多模态特征进行模态丢弃处理,其中,所述模态丢弃概率包括每种模态的特征被丢弃的概率以及不进行模态丢弃的概率;
所述掩码遮蔽模块,用于对模态丢弃处理后的特征中的部分特征进行掩码遮蔽处理。
一种处理设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述任一项所述的预训练方法的各个步骤,和/或,实现上述的信息预测模型的获取方法的各个步骤,和/或,实现上述的信息预测方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的预训练方法的各个步骤,和/或,实现上述的信息预测模型的获取方法的各个步骤,和/或,实现上述的信息预测方法的各个步骤。
本发明提供的预训练方法,首先获取多模态训练数据,然后基于包括编码部分和辅助训练部分的学生模型,对多模态训练数据进行编码,并基于获得的第一编码结果进行特征预测,同时,基于只包括编码部分的教师模型,对多模态训练数据进行编码,并基于获得的第二编码结果确定目标特征,最后以使基于第一编码结果预测的特征趋近于目标特征为目标,对学生模型进行训练。一方面,本发明利用多模态训练数据对学生模型进行训练,由于学生模型同时对多种模态的数据进行学习,可以有效利用模态间的差异化因子和互补性表征,因此可实现更有效的多模态数据学习,从而,本发明提供的基于多模态数据的预训练方法能够适用于多模态数据应场景;另一方面,本发明的训练策略是,基于教师模型在线生成学生模型的学习目标,进而使学生模型对基于教师模型生成的学习目标进行学习,教师模型的参数随学生模型参数的更新而更新,这种训练策略使得模型具有较快的收敛速率,即本发明实施例提供的预训练方法具有较高的模型训练效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例涉及的一种硬件架构的示意图;
图2为本发明实施例提供的预训练方法的流程示意图;
图3为本发明实施例提供的预训练方法的一具体实例的流程示意图;
图4为本发明实施例提供的学生模型的一种结构示意图;
图5为本发明实施例提供的教师模型的结构示意图;
图6为本发明实施例提供的预训练方法的另一具体实例的流程示意图;
图7为本发明实施例提供的学生模型的另一种结构示意图;
图8为本发明实施例提供的预训练装置的结构示意图;
图9为本发明实施例提供的处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了能够获得针对指定任务的信息预测模型,一般的思路是,用有监督的方式训练信息预测模型,以语音识别任务为例,通常会用<语音,文本标注>数据对训练语音识别模型,为了能够获得性能较佳的语音识别模型,需要获取大量<语音,文本标注>数据对,然而,获取大量<语音,文本标注>数据对需要耗费大量的时间和精力,而且,对于某些低资源场景的数据,比如,方言数据、小语种数据等,收集大量带有可靠标注的数据就变得异常困难。
鉴于上述方式存在诸多问题,目前的另一种思路是,利用无监督学习,即先利用无监督数据,采用基于对比学习、掩码预测等预训练方式预训练模型,然后将预训练得到的模型迁移到指定任务上,即,将预训练得到的模型的编码部分作为编码器,构建包括编码器和预测模块的模型,作为初始的信息预测模型,然后用指定任务的有监督数据对初始的信息预测模型进行微调,从而得到针对指定任务的最终信息预测模型,比如,用语音识别任务的有监督数据对初始的信息预测模型进行微调,可获得语音识别模型。
虽然经由上述方式可获得性能较佳的信息预测模型,但上述方式仍存在缺陷,具体体现在,目前的预训练方式为,基于单模态数据预训练方式,而基于单模态数据的预训练方式仅适用于单模态数据应用场景,无法直接扩展到多模态数据应场景。
鉴于目前的预训练方法仅适用于单模态数据应用场景,而无法直接扩展到多模态数据应场景,本案发明人试图提出一种能够适用于多模态数据应场景的预训练方法,为此,进行了研究,通过不断研究,最终提出了一种效果较好的预训练方法,该预训练方法可适用于多模态数据应场景,另外,本案在预训练过程中还引入了一些策略使得该预训练方法不但可适用于多模态数据应场景,还可适用于单模态数据应用场景。
在介绍本发明提供的预训练方法之前,先对本发明涉及的硬件架构进行说明。
在一种可能的实现方式中,如图1所示,本发明涉及的硬件架构可以包括:电子设备101和服务器102。
示例性的,电子设备101可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如,个人计算机、笔记本电脑、平板电脑、手机、智能电视等。
应注意的是,图1仅仅是一种示例,电子设备的类型可以有多种,不限于图1中的笔记本电脑。
示例性的,服务器102可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务器中心。服务器102可以包括处理器、存储器以及网络接口等。
示例性的,电子设备101可以通过无线通信网络与服务器102建立连接并通信;示例性的,电子设备101可以通过有线网络与服务器102建立连接并通信。
电子设备101可获取训练数据,将训练数据发送至服务器102,服务器102利用获得的训练数据,按本发明提供的预训练方法进行预训练。
在另一种可能的实现方式中,本发明涉及的硬件架构可以包括:电子设备。电子设备为具有较强数据处理能力的设备。
示例性的,电子设备可以为任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如,个人计算机、笔记本电脑、平板电脑、手机、智能电视等。
电子设备可获取训练数据,利用获得的训练数据,按本发明提供的预训练方法进行预训练。
本领域技术人员应能理解上述电子设备和服务器仅为举例,其它现有的或今后可能出现的电子设备或服务器如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接下来通过下述实施例对本发明提供的预训练方法进行介绍。
第一实施例
请参阅图2,示出了本发明实施例提供的预训练方法的流程示意图,该方法可以包括:
步骤S201、获取多模态训练数据。
具体的,从训练数据集中获取多模态训练数据。其中,一条多模态训练数据包括两种及以上模态的数据,比如,音频数据和音频数据对应的视频数据,再比如,音频数据、音频数据对应的文本数据和音频数据对应的视频数据等。
步骤S202a:基于包括编码部分和辅助训练部分的学生模型,对从训练数据集中获得的多模态训练数据进行编码,得到第一编码结果,并基于第一编码结果预测特征。
本实施例中的辅助训练部分至少用于对编码过程中产生的特征中的部分特征进行遮蔽处理。
步骤S202b:基于只包括编码部分的教师模型,对多模态训练数据进行编码,得到第二编码结果,并基于第二编码结果确定目标特征。
需要说明的是,学生模型与教师模型的不同之处在于,学生模型包括编码部分和辅助训练部分,而教师模型只包括编码部分,相同之处在于,二者包含的编码部分的结构及初始参数相同。
步骤S203:以使基于第一编码结果预测的特征趋近于目标特征为目标,对学生模型进行参数更新。
本实施例以使基于学生模型的编码结果预测的特征趋近于基于教师模型的编码结果确定的目标特征为训练目标进行训练。
具体的,以使基于第一编码结果预测的特征趋近于目标特征为目标,对学生模型进行参数更新的过程包括:基于预测的特征和目标特征确定预测损失,根据预测损失对目标特征进行参数更新。
需要说明的是,本实施例基于教师模型在线生成学生模型学习的目标,教师模型的参数随学生模型参数的更新而更新,即,教师模型与学生模型一同训练,每次对学生模型进行参数更新后,根据学生模型的更新后参数对教师模型的参数进行更新。
利用训练数据集中的训练数据按上述方式对学生模型进行多次训练,直至达到训练结束条件(比如模型收敛,或者达到设定的训练次数等),训练结束后得到的学生模型作为目标预训练模型。
本发明实施例提供的预训练方法,首先获取多模态训练数据,然后基于包括编码部分和辅助训练部分的学生模型,对多模态训练数据进行编码,并基于获得的第一编码结果进行特征预测,同时,基于只包括编码部分的教师模型,对多模态训练数据进行编码,并基于获得的第二编码结果确定目标特征,最后以使基于第一编码结果预测的特征趋近于目标特征为目标,对学生模型进行训练。一方面,本发明实施例利用多模态训练数据对学生模型进行训练,由于学生模型同时对多种模态的数据进行学习,可以有效利用模态间的差异化因子和互补性表征,因此可实现更有效的多模态数据学习,从而,本发明实施例提供的基于多模态数据的预训练方法能够适用于多模态数据应场景;另一方面,本发明实施例的训练策略是,基于教师模型在线生成学生模型的学习目标,进而使学生模型对基于教师模型生成的学习目标进行学习,教师模型的参数随学生模型参数的更新而更新,这种训练策略使得模型具有较快的收敛速率,即本发明实施例提供的预训练方法具有较高的模型训练效率。
第二实施例
在上述第一实施例的基础上,本实施例提供预训练方法的一具体实例。
请参阅图3,示出了本实施例提供的预训练方法的具体实例的流程示意图,可以包括:
步骤S301:从训练数据集中获取多模态训练数据。
其中,一条多模态训练数据包括两种及以上模态的数据。
步骤S302a:对多模态训练数据进行损毁处理,得到损毁后多模态训练数据,并基于学生模型的编码部分,对损毁后多模态训练数据中各模态的数据分别提取特征,得到的特征作为第一多模态特征。
为了提升学生模型对于干扰的鲁棒性,本实施例并不直接将多模态训练数据输入学生模型进行处理,而是,先对多模态训练数据进行损毁处理,然后将损毁后多模态训练数据输入学生模型进行处理。
示例性的,多模态训练数据包括音频数据(比如音频特征A=[a
示例性的,多模态训练数据包括音频数据、音频数据对应的文本数据(此处的文本数据为与音频数据在时间上对齐的文本数据)和音频数据对应的视频数据,则对多模态训练数据进行损毁处理的过程包括:从噪声数据库中提取噪声样本,基于噪声样本对音频数据进行加噪处理;对音频数据对应的文本数据进行掩码遮蔽处理;对音频数据对应的视频数据进行增强处理。
如图4所示,学生模型的编码部分可以包括多种模态分别对应的前端编码模块,每个前端编码模块用于对损毁后多模态训练数据中对应模态的数据提取特征。示例性的,多模态训练数据为音视频数据,即多模态训练数据包括音频数据和音频数据对应的视频数据,则学生模型的编码部分可以包括音频前端编码器和视频前端编码器,音频前端编码器用于对音频数据提取特征,视频前端编码器用于对音频数据对应的视频数据提取特征。
具体的,基于学生模型的编码部分,对损毁后多模态训练数据中各模态的数据分别提取特征的过程包括:针对损毁后多模态训练数据中每种模态的数据,将该模态的数据输入学生模型中该模态对应的前端编码模块进行特征提取。
步骤S302b:基于教师模型的编码部分,对多模态训练数据中各模态的数据分别提取特征,得到的特征作为第二多模态特征。
与学生模型的输入不同,教师模型的输入为多模态训练数据,即,直接将多模态训练数据输入教师模型进行编码,而无需对多模态训练数据进行损毁处理。
上述实施例提到,学生模型的编码部分与教师模型的编码部分的结构相同,即教师模型的编码部分同样包括多种模态分别对应的前端编码模块,如图5所示。
可选的,学生模型和教师模型的前端编码器可以采用CNN网络,比如,音频编码器可采用ResNet网络,视频编码器可采用3DCNN-ResNet网络(先用3DCNN对视频的空间和时间维度信息同时进行处理,然后对处理后的特征再逐帧采用ResNet等2DCNN网络进行编码)。
基于教师模型的编码部分,对多模态训练数据中各模态的数据分别提取特征的过程可以包括:针对多模态训练数据中每种模态的数据,将该模态的数据输入教师模型中该模态对应的前端编码模块进行特征提取。
步骤S303a:基于学生模型的编码部分,对第一多模态特征进行融合处理,得到第一融合特征。
第一多模态特征包括对损毁后多模态训练数据中各模态的数据分别提取的特征,步骤S303a的目的在于,将这些特征进行融合。
如图4所示,学生模型的编码部分包括特征融合模块,在基于学生模型的编码部分,对第一多模态特征进行融合处理时,将第一多模态特征输入学生模型的特征融合模块进行特征融合处理,以得到第一融合特征。
步骤S303b:基于教师模型的编码部分,对第二多模态特征进行融合处理,得到第二融合特征。
第二多模态特征包括对多模态训练数据中各模态的数据分别提取的特征,步骤S303b的目的在于将这些特征融合。
如图5所示,教师模型的编码部分同样包括特征融合模块,在基于教师模型的编码部分,对第二多模态特征进行融合处理时,将第二多模态特征输入教师模型的特征融合模块进行特征融合处理,以得到第二融合特征。
步骤S304a:基于学生模型的掩码遮蔽模块,对第一融合特征中的部分特征进行掩码遮蔽处理,得到掩码遮蔽后特征,并基于学生模型的编码部分,对掩码遮蔽后特征进行上下文编码,得到第一编码结果。
本实施例中,学生模型的掩码遮蔽模块用于对编码过程中产生的特征中的部分特征进行掩码遮蔽处理,具体的,将第一融合特征输入掩码遮蔽模块,掩码遮蔽模块随机生成掩码位置信息,根据掩码位置信息对第一融合特征进行掩码遮蔽处理。其中,掩码位置信息用于指示对第一融合特征中哪些位置的特征进行掩码遮蔽。
需要说明的是,对第一融合特征中某个位置的特征进行掩码遮蔽的方式有多种,在一种可能的实现方式中,可将第一融合特征中该位置的特征替换为“mask”的表示向量(可学习的embedding向量),在另一种可能的实现方式中,可将第一融合特征中该位置的特征替换为“0”。
如图4所示,学生模型的编码部分还包括上下文编码模块,在获得掩码遮蔽后特征后,可将掩码遮蔽后特征输入学生模型的上下文编码器进行上下文编码,从而得到第一编码结果。
步骤S304b:基于教师模型的编码部分,对第二融合特征中进行上下文编码,得到第二编码结果。
同样的,教师模型的编码部分也包括上下文编码模块,在获得第二融合特征后,直接将第二融合特征输入教师模型的上下文编码模块进行编码,从而得到第二编码结果。
需要说明的是,为了使得教师模型能够获取到句子级别的全局信息,从而保证后续能获得有效的目标特征,教师模型侧不进行掩码遮蔽处理,即无需对第二融合特征进行掩码遮蔽处理。
可选的,学生模型和教师模型中的上下文编码器可采用典型的多层Transformer网络,当然,本实施例并不限定于此,比如,学生模型和教师模型中的上下文编码器还可采用Conformer网络。
步骤S305a:基于第一编码结果预测特征。
具体的,可将第一编码结果经过一个线性层后,对基于教师模型确定的目标特征进行预测。
步骤S305b:基于第二编码结果确定目标特征。
具体的,第二编码结果可以包括上下文编码器各层输出的特征。
在一种可能的实现方式中,基于第二编码结果确定目标特征的过程可以包括:对上下文编码器各层输出的特征进行归一化后求平均,求得到的特征作为目标特征。
在另一种可能的实现方式中,基于第二编码结果确定目标特征的过程可以包括:对上下文编码器各层输出的特征进行归一化后求平均,从求得到的特征中提取出掩码位置信息所指示的掩码位置处的特征,作为目标特征。需要说明的是,此处的掩码位置信息即为,上述对第一融合特征进行掩码遮蔽处理时生成的掩码位置信息。
若目标特征为通过上述第一种实现方式获得的目标特征,则基于第一编码结果预测的特征为所有位置处的句子级别的特征,若目标特征为通过上述第二种实现方式获得的目标特征,则基于第一编码结果预测的特征为掩码位置信息所指示位置处的句子级别的特征。
步骤S306:根据预测的特征和目标特征确定预测损失。
可选的,可对预测的特征和目标特征计算均方误差,计算得到的均方误差作为预测损失,即:
L
其中,y表示目标特征,y′表示预测的特征,MSE(y,y′)表示目标特征y与预测的特征y′的均方误差。
需要说明的是,本实施例并不限定预测损失为均方误差损失,其它能够衡量两个特征差异或相似度的损失同样适用于本发明。
步骤S307:根据预测损失对学生模型进行参数更新,并根据学生模型的更新后参数对教师模型进行参数更新。
可选的,在对教师模型进行参数更新时,可根据学生模型的更新后参数,采用指数滑动平均方法,对教师模型的参数进行更新,具体的,可按下式示出的更新方式对教师模型进行参数更新:
其中,τ为指数滑动平均的超参数,θ
利用训练数据集中的训练数据按上述方式对学生模型进行多次训练,直至达到训练结束条件(比如模型收敛,或者,达到设定的训练次数等),训练结束后得到的学生模型作为目标预训练模型。
需要说明的是,训练数据集中的训练数据可以只包括多模态训练数据(比如音视频数据),也可以包括多模态训练数据(音视频数据)和单模态训练数据(音频数据、视频数据),即,可只利用多模态训练数据进行训练,也可利用多模态训练数据和单模态训练数据进行训练,在利用多模态数据进行训练时,学生模型和教师模型对多个模态的数据进行处理,而在利用单模态数据进行训练时,学生模型和教师模型则只对一个模态的数据进行处理即可。
本发明实施例提供的预训练方式如有如下优势:其一,利用多模态训练数据对学生模型进行训练,由于学生模型同时对多种模态的数据进行学习,可以有效利用模态间的差异化因子和互补性表征,因此可实现更有效的多模态数据学习,从而,本发明实施例提供的基于多模态数据的预训练方法能够适用于多模态数据应场景;其二,本发明实施例的训练策略是,基于教师模型在线生成学生模型的学习目标,进而使学生模型对基于教师模型生成的学习目标进行学习,教师模型的参数随学生模型参数的更新而更新,这种训练策略使得模型具有较快的收敛速率,即本发明实施例提供的预训练方法具有较高的模型训练效率。
第三实施例
在上述第一实施例的基础上,本实施例提供预训练方法的另一具体实例。与第二实施例提供的预训练方法的不同之处在于,本实施例提供的预训练方法在预训练过程中引入了随机模态丢弃策略,随机模态丢弃策略的引入,使得本实施例提供的预训练方法既适用于多模态应用场景,又适用于单模态数据应用场景。
请参阅图6,示出了本实施例提供的预训练方法的具体实例的流程示意图,可以包括:
步骤S601:从训练数据集中获取多模态训练数据。
步骤S602a:对多模态训练数据进行损毁处理,得到损毁后多模态训练数据,并基于学生模型的编码部分,对损毁后多模态训练数据中各模态的数据分别提取特征,得到的特征作为第一多模态特征。
为了提升学生模型对于干扰的鲁棒性,本实施例先对多模态训练数据进行损毁处理,然后将损毁后多模态训练数据输入学生模型进行处理。
如图7所示,本实施例中的学生模型的编码部分同样包括多种模态分别对应的前端编码模块,以及,特征融合模块和上下文编码模块。
在基于学生模型的编码部分,对损毁后多模态训练数据中各模态的数据分别提取特征时,针对损毁后多模态训练数据中每种模态的数据,将该模态的数据输入学生模型中该模态对应的前端编码模块进行特征提取。
步骤S602a更为具体的实现过程和相关说明可参见上述实施例中步骤S302a的具体实现过程和相关说明,本实施例在此不做赘述。
步骤S602b:基于教师模型的编码部分,对多模态训练数据中各模态的数据分别提取特征,得到的特征作为第二多模态特征。
本实施例中,教师模型的编码部分同样包括多种模态分别对应的前端编码模块,以及,特征融合模块和上下文编码模块。
在基于教师模型的编码部分,对多模态训练数据中各模态的数据分别提取特征时,针对多模态训练数据中每种模态的数据,将该模态的数据输入教师模型中该模态对应的前端编码模块进行特征提取。
步骤S603a:基于学生模型的随机模态丢弃模块,对第一多模态特征进行模态丢弃处理,并基于学生模型的编码部分,对模态丢弃处理后的特征进行融合处理,得到第一融合特征。
如图7所示,本实施例中的学生模型除了包括编码部分外,还包括随机模态丢弃模块和掩码遮蔽模块。其中,学生模型的随机模态丢弃模块可基于设定的模态丢弃概率,对学生模型的编码部分在编码过程中产生的多模态特征进行模态丢弃处理,即,在获得第一多模态特征后,将第一多模态特征输入学生模型的随机模态丢弃模块,随机模态丢弃模块基于设定的模态丢弃概率,对第一多模态特征进行模态丢弃处理。其中,设定的模态丢弃概率包括每种模态的特征被丢弃的概率以及不进行模态丢弃的概率(所有概率之和为1),对第一多模态特征进行模态丢弃处理的结果可能为丢弃某一模态的特征,也可能为未丢弃任何模态的特征。
在获得模态丢弃处理后的特征后,基于学生模型的特征融合模块对模态丢弃处理后的特征进行融合处理,需要说明的是,若丢弃处理后的特征包括多个模态的特征,则将多个模态的特征融合,若丢弃处理后的特征只包括一个模态的特征,则将这一个模态的特征与0融合。
示例性,第一多模态特征包括音频特征F
步骤S603b:基于教师模型的编码部分,对第二多模态特征进行融合处理,得到第二融合特征。
具体的,直接将第二多模态特征输入教师模型的特征融合部分进行特征融合处理,以得到第二融合特征。
需要说明的是,教师模型侧不采用模态随机丢弃策略,这样可以保证教师模型的信息优势,从而实现对学生模型的跨模态知识蒸馏。
步骤S604a:基于学生模型的掩码遮蔽模块,对第一融合特征中的部分特征进行掩码遮蔽处理,得到掩码遮蔽后特征,并基于学生模型的编码部分,对掩码遮蔽后特征进行上下文编码,得到第一编码结果。
具体的,将第一融合特征输入学生模型的掩码遮蔽模块进行掩码遮蔽处理,具体处理过程可参见上述实施例中的步骤S304a,本实施例在此不做赘述。
在获得掩码遮蔽后特征后,将掩码遮蔽后特征输入学生模型的上下文编码器进行上下文编码,从而得到第一编码结果。
步骤S604b:基于教师模型的编码部分,对第二融合特征进行上下文编码,得到第二编码结果。
具体的,将第二融合特征输入教师模型的上下文编码模块进行上下文编码,从而得到第二编码结果。
步骤S605a:基于第一编码结果预测特征。
具体的,可将第一编码结果经过一个线性层后,对基于教师模型确定的目标特征进行预测。
步骤S605b:基于第二编码结果确定目标特征。
步骤S605b的具体的实现过程和相关说明可参见上述实施例中步骤S305b的具体实现过程和相关说明,本实施例在此不做赘述。
步骤S606:根据预测的特征和目标特征确定预测损失。
示例性的,可对预测的特征和目标特征计算均方误差,计算得到的均方误差作为预测损失。
步骤S607:根据预测损失对学生模型进行参数更新,并根据学生模型的更新后参数对教师模型进行参数更新。
根据学生模型的更新后参数对教师模型进行参数更新的过程可参见第二实施例中的相关部分,本实施例在此不做赘述。
利用训练数据集中的训练数据按上述方式对学生模型进行多次训练,直至达到训练结束条件(比如模型收敛,或者达到设定的训练次数等),训练结束后得到的学生模型作为目标预训练模型。
训练数据集中的训练数据可以只包括多模态训练数据,也可以包括多模态训练数据和单模态训练数据,即,可只利用多模态训练数据进行训练,也可利用多模态训练数据和单模态训练数据进行训练,在利用多模态数据进行训练时,学生模型和教师模型对多个模态的数据进行处理,而在利用单模态数据进行训练时,学生模型和教师模型则只对一个模态的数据进行处理即可。
本发明实施例提供的预训练方式如有如下优势:其一,利用多模态训练数据对学生模型进行训练,由于学生模型同时对多种模态的数据进行学习,可以有效利用模态间的差异化因子和互补性表征,因此可实现更有效的多模态数据学习,从而,本发明实施例提供的基于多模态数据的预训练方法能够适用于多模态数据应场景;其二,本发明实施例的训练策略是,基于教师模型在线生成学生模型的学习目标,进而使学生模型对基于教师模型生成的学习目标进行学习,教师模型的参数随学生模型参数的更新而更新,这种训练策略使得模型具有较快的收敛速率,即本发明实施例提供的预训练方法具有较高的模型训练效率;其三,在训练过程中引入随机模态丢弃策略,这使得本发明实施例提供的预训练方式既能适用于多模态数据应用场景,又能适用于单模态数据应用场景。
第四实施例
在上述实施例提供的预训练方法的基础上,本实施例提供了一种信息预测模型的获取方法,该方法可以包括:
步骤a1、采用上述实施例提供的预训练方法获得目标预训练模型。
步骤a2、将目标预训练模型中的编码部分作为多模态编码器,构建包括多模态编码器和预测模块的模型,作为初始的信息预测模型。
步骤a3、采用指定任务的训练数据,对初始的信息预测模型进行微调,得到针对指定任务的信息预测模型。
采用指定任务的少量有标注训练数据,对初始的信息预测模型进行微调,便可得到性能较佳的针对指定任务的信息预测模型。
需要说明的是,在采用指定任务的训练数据,对初始的信息预测模型进行微调时,可对多模态编码器和预测模块的参数进行微调,也可固定多模态编码器的参数,只对预测模块的参数进行微调。
示例性的,指定任务为语音识别任务,可构建包括多模态编码器和解码器的模型,作为初始的语音识别模型,然后采用语音识别任务的少量有标注训练数据,对初始的语音识别模型进行微调,便可得到性能较佳的语音识别模型。
经由本实施例提供的信息预测模型的获取方法可获得性能较佳的信息预测模型,该信息预测模型具备对多模态数据进行处理从而获得较好预测结果的能力,若在获得目标预训练模型的过程中引入随机模态丢弃策略,则最终获得的信息预测模型既具备对多模态数据进行处理从而获得较好预测结果的能力,又具备对单模态数据进行处理从而获得较好预测结果的能力。
第五实施例
在上述实施例提供的信息预测模型的获取方法的基础上,本实施例提供了一种信息预测方法,该信息预测方法可以包括:
步骤b1、获取指定任务的目标数据。
步骤b2、基于采用上述实施例提供的信息预测模型的获取方法获得的信息预测模型,对目标数据进行处理,以得到目标数据对应的预测结果。
示例性的,指定任务为语音识别任务,目标数据可以为音视频数据,信息预测模型可以为语音识别模型,目标数据对应的预测结果可以为语音识别结果,若语音识别模型既具备对音视频数据进行处理从而获得较好语音识别结果的能力,又具备对音频数据进行处理从而获得较好语音识别结果的能力,则目标数据除了可以为音视频数据外,还可以为音频数据。
需要说明的是,上述语音识别任务仅为示例,指定任务还可以为其它,比如,情感识别任务,若指定任务为情感识别任务,则目标数据可以为音视频数据,信息预测模型可以为情感识别模型,目标数据对应的预测结果可以为情感识别结果。
本发明实施例提供的信息预测方法基于信息预测模型实现信息预测,由于信息预测模型具备对多模态数据进行处理从而获得较好预测结果的能力,因此,本发明实施例提供的信息预测方法对多模态数据具有较好的预测效果。另外,若信息预测模型既具备对多模态数据进行处理从而获得较好预测结果的能力,又具备对单模态数据进行处理从而获得较好预测结果的能力,则本发明实施例提供的信息预测方法既对多模态数据具有较好的预测效果,又对单模态数据具有较好的预测效果。
第六实施例
本发明实施例还提供了一种预训练装置,下面对本发明实施例提供的预训练装置进行描述,下文描述的预训练装置与上文描述的预训练方法可相互对应参照。
请参阅图8,示出了本发明实施例提供的预训练装置的结构示意图,该预训练装置可以包括:训练数据获取模块801和模型训练模块802。
训练数据获取模块801,用于获取多模态训练数据。
模型训练模块802,用于:
基于包括编码部分和辅助训练部分的学生模型,对所述多模态训练数据进行编码,得到第一编码结果,并基于所述第一编码结果预测特征,其中,所述辅助训练部分至少用于对编码过程中产生的特征中的部分特征进行掩码遮蔽处理;
基于只包括编码部分的教师模型,对所述多模态训练数据进行编码,得到第二编码结果,并基于所述第二编码结果确定目标特征;
以使基于所述第一编码结果预测的特征趋近于所述目标特征为目标,对所述学生模型进行参数更新,其中,所述教师模型的参数随所述学生模型参数的更新而更新;训练结束后得到的学生模型作为目标预训练模型。
可选的,所述辅助训练部分包括:掩码遮蔽模块和随机模态丢弃模块;
所述随机模态丢弃模块,用于基于设定的模态丢弃概率,对学生模型的编码部分在编码过程中产生的多模态特征进行模态丢弃处理,其中,所述模态丢弃概率包括每种模态被丢弃的概率以及不进行模态丢弃的概率;
所掩码遮蔽模块,用于对模态丢弃处理后的特征中的部分特征进行掩码遮蔽处理。
可选的,模型训练模块802在基于学生模型对多模态训练数据进行编码,得到第一编码结果时,具体用于:
对所述多模态训练数据进行损毁处理,得到损毁后多模态训练数据;
基于所述学生模型的编码部分,对所述损毁后多模态训练数据中各模态的数据分别提取特征,得到的特征作为第一多模态特征;
基于所述学生模型的随机模态丢弃模块,对所述第一多模态特征进行模态丢弃处理,得到模态丢弃后特征;
基于所述学生模型的编码部分,对所述模态丢弃后特征进行融合处理,得到第一融合特征;
基于所述学生模型的掩码遮蔽模块,对所述第一融合特征中的部分特征进行掩码遮蔽处理,得到掩码遮蔽后特征;
基于所述学生模型的编码部分,对所述掩码遮蔽后特征进行上下文编码,得到第一编码结果。
可选的,模型训练模块802在基于教师模型对所述多模态训练数据进行编码,得到第二编码结果时,具体用于:
基于所述教师模型,对所述多模态训练数据中各模态的数据分别提取特征,得到的特征作为第二多模态特征;
基于所述教师模型,对所述第二多模态特征进行融合处理,得到第二融合特征;
基于所述教师模型,对所述第二融合特征进行上下文编码,得到第二编码结果。
可选的,所述编码部分包括多种模态分别对应的前端编码模块,以及,特征融合模块和上下文编码模块。
模型训练模块802在基于学生模型对多模态训练数据进行编码,得到第一编码结果时,具体用于:
对所述多模态训练数据进行损毁处理,得到损毁后多模态训练数据;
基于所述学生模型的各前端编码模块,对所述损毁后多模态训练数据中对应模态的数据提取特征,得到的特征作为第一多模态特征;;
基于所述学生模型的随机模态丢弃模块,对所述第一多模态特征进行模态丢弃处理,得到模态丢弃后特征;
基于所述学生模型的特征融合模块,对所述模态丢弃后特征进行融合处理,得到第一融合后特征;
基于所述学生模型的掩码遮蔽模块,对所述第一融合后特征中的部分特征进行掩码遮蔽处理,得到掩码遮蔽后特征;
基于所述学生模型的上下文编码模块,对所述掩码遮蔽后特征进行上下文编码,得到第一编码结果。
可选的,模型训练模块802在以使基于所述第一编码结果预测的特征趋近于所述目标特征为目标,对所述学生模型进行参数更新时,具体用于:
基于预测的特征和所述目标特征,确定预测损失;
基于所述预测损失,对所述学生模型进行参数更新。
可选的,模型训练模块802在基于所述教师模型,对所述第二融合特征进行上下文编码,得到第二编码结果时,具体用于:
基于所述教师模型的上下文编码模块,对所述第二融合特征进行上下文编码,得到第二编码结果,其中,所述第二编码结果包括所述上下文编码模块各层输出的特征。
可选的,模型训练模块802在基于所述第二编码结果确定目标特征时,具体用于:
对所述上下文编码模块各层输出的特征进行归一化后求平均,求得到的特征作为目标特征;
或者,对所述上下文编码模块各层输出的特征进行归一化后求平均,从求得到的特征中提取出所述遮蔽处理的遮蔽位置处的特征,作为目标特征。
可选的,模型训练模块802在对教师模型的参数进行更新时,具体用于:
根据所述学生模型的更新后参数,采用指数滑动平均方法,对所述教师模型的参数进行更新。
本发明实施例提供的预训练装置利用多模态训练数据对学生模型进行训练,由于学生模型同时对多种模态的数据进行学习,可以有效利用模态间的差异化因子和互补性表征,因此可实现更有效的多模态数据学习,从而,本发明实施例提供的预训练装置适用于多模态数据应场景;本发明实施例提供的预训练装置进行预训练时的训练策略是,基于教师模型在线生成学生模型的学习目标,进而使学生模型对基于教师模型生成的学习目标进行学习,教师模型的参数随学生模型参数的更新而更新,这种训练策略使得模型具有较快的收敛速率,即本发明实施例提供的预训练装置具有较高的模型训练效率;本发明实施例提供的预训练装置进行预训练时引入随机模态丢弃策略,使得本发明实施例提供的预训练装置既能适用于多模态数据应用场景,又能适用于单模态数据应用场景。
第七实施例
本发明实施例还提供了一种处理设备,请参阅图8,示出了该处理设备的结构示意图,该处理设备可以包括:处理器801、通信接口802、存储器803和通信总线804;
在本发明实施例中,处理器801、通信接口802、存储器803、通信总线804的数量为至少一个,且处理器801、通信接口802、存储器803通过通信总线804完成相互间的通信;
处理器801可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpeciIic Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
获取多模态训练数据;
基于包括编码部分和辅助训练部分的学生模型,对所述多模态训练数据进行编码,得到第一编码结果,并基于所述第一编码结果预测特征,其中,所述辅助训练部分至少用于对编码过程中产生的特征中的部分特征进行掩码遮蔽处理;
基于只包括编码部分的教师模型,对所述多模态训练数据进行编码,得到第二编码结果,并基于所述第二编码结果确定目标特征;
以使基于所述第一编码结果预测的特征趋近于所述目标特征为目标,对所述学生模型进行参数更新,其中,所述教师模型的参数随所述学生模型参数的更新而更新;训练结束后得到的学生模型作为目标预训练模型。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
第八实施例
本发明实施例还提供了一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
获取多模态训练数据;
基于包括编码部分和辅助训练部分的学生模型,对所述多模态训练数据进行编码,得到第一编码结果,并基于所述第一编码结果预测特征,其中,所述辅助训练部分至少用于对编码过程中产生的特征中的部分特征进行掩码遮蔽处理;
基于只包括编码部分的教师模型,对所述多模态训练数据进行编码,得到第二编码结果,并基于所述第二编码结果确定目标特征;
以使基于所述第一编码结果预测的特征趋近于所述目标特征为目标,对所述学生模型进行参数更新,其中,所述教师模型的参数随所述学生模型参数的更新而更新;训练结束后得到的学生模型作为目标预训练模型。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 模型训练方法、广告推荐方法、相关装置、设备及介质
- 一种模型训练方法、合成说话表情的方法和相关装置
- 一种图像识别模型的训练方法、图像识别方法和相关装置
- 一种检测模型的训练方法、装置及终端设备
- 一种人脸表情识别模型训练方法、装置及设备
- 一种抗体序列预训练模型的训练方法及相关设备
- 语言模型的预训练方法、商品信息处理方法及相关装置