掌桥专利:专业的专利平台
掌桥专利
首页

基于模态内和模态间的多模态课程学习方法、装置和设备

文献发布时间:2024-04-18 19:58:53


基于模态内和模态间的多模态课程学习方法、装置和设备

技术领域

本申请涉及多模态学习技术领域,特别涉及一种基于模态内和模态间的多模态课程学习方法、装置和设备。

背景技术

多模态学习是一种为多模态输入进行建模的方法,通过处理和整合不同来源、不同模态的数据信息来进行结果的预测和推断。多模态学习依靠模态之间信息的互补和对齐,不仅提升了机器学习模型在以往单模态任务上的表现(例如,用音频辅助的图片分类任务),还能解决一些只靠单模态无法完成的任务(例如,同时需要考虑视频画面和文字问题的视频问答任务)。

然而,现有多模态学习中的各个模态编码器都无法达到它们在各自单模态学习中的优化程度。例如,对于音频辅助的图片分类多模态模型,尽管该模型的性能能够优于仅输入图片或仅输入音频的单模态模型,但这一性能提升完全来自于更多信息输入,而不是来自于被优化得更好的模型。相反,多模态模型中模态编码器的优化程度远不如单模态模型。因此,如何克服多模态学习中模态未能完全优化的问题是亟待解决的技术问题。

发明内容

鉴于上述问题,本申请实施例提供了一种基于模态内和模态间的多模态课程学习方法、装置和设备,以便克服上述问题或者至少部分地解决上述问题。

本申请实施例的第一方面,公开了一种基于模态内和模态间的多模态课程学习方法,所述方法包括:

利用包含多个模态编码器的多模态模块对多模态数据进行任务处理,得到任务预测结果和每个模态编码器的样本表征结果,所述多模态数据包括多种不同数据类型的单模态数据;

根据所述任务预测结果,计算每个模态编码器的任务损失梯度向量,以及,根据所述样本表征结果,计算每个模态编码器的模态损失梯度向量;

根据所述任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,所述关系数值表征模态编码器的学习方向;

选择关系数值最大的模态编码器从任务中学习,选择除所述关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

可选地,根据所述任务预测结果,计算每个模态编码器的任务损失梯度向量,包括:

根据所述任务预测结果和真实结果,得到任务损失;

计算所述任务损失在每个模态编码器中反向传播的梯度,作为每个模态编码器的任务损失梯度向量。

可选地,根据所述样本表征结果,计算每个模态编码器的模态损失梯度向量,包括:

将单模态数据输入到对应模态的教师模型进行处理,得到所述单模态数据的知识蒸馏结果,所述教师模型是预先训练好的模态编码器;

根据所述样本表征结果和所述知识蒸馏结果,确定蒸馏损失,所述蒸馏损失表征所述单模态数据的难度;

基于自步学习方法,以最小化模态损失为优化目标,根据所述蒸馏损失和蒸馏损失权重,得到模态损失,所述蒸馏损失权重是根据蒸馏损失权重与蒸馏损失之间的映射关系确定的;

计算所述模态损失在每个模态编码器中反向传播的梯度,作为每个模态编码器的模态损失梯度向量。

可选地,所述模态损失包括带权重的蒸馏损失、对第一正则项和第二正则项;

其中,所述第一正则项以蒸馏损失的移动平均数为系数,所述第一正则项将小于平均数的蒸馏损失权重放大,将大于平均数的蒸馏损失权重减少;

所述第二正则项的正则项系数是预定义的,所述第二正则项用于控制所述蒸馏损失权重趋向于1。

可选地,根据所述任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,包括:

以所述任务损失梯度向量和所述模态损失梯度向量更新满足帕累托最优为目标,构建每个模态编码器的梯度目标函数;

对所述梯度目标函数进行求解,得到每个模态编码器的关系数值。

可选地,所述关系数值最大的模态编码器按照以下步骤从任务中学习:

根据所述任务预测结果和任务损失权重,计算带权重的任务损失梯度向量;

根据所述带权重的任务损失梯度向量,对所述关系数值最大的模态编码器的参数进行更新。

可选地,所述除所述关系数值最大的模态编码器之外的其余模态编码器按照以下步骤从模态中学习:

根据每个模态编码器的样本表征结果和每个所述模态编码器对应的蒸馏损失权重,计算带权重的模态损失梯度;

根据所述带权重的模态损失梯度,对模态编码器的参数进行更新。

可选地,所述多模态课程学习包括多个学习轮次,所述方法还包括:

在完成当前学习轮次的学习后,重新计算每个模态编码器的关系数值,得到新的关系数值;

在下个学习轮次,选择所述新的关系数值最大的模态编码器从任务中学习,选择除所述新的关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

本申请实施例的第二方面,公开了一种基于模态内和模态间的多模态课程学习装置,所述装置包括:

处理模块,用于利用包含多个模态编码器的多模态模块对多模态数据进行任务处理,得到任务预测结果和每个模态编码器的样本表征结果,所述多模态数据包括多种不同数据类型的单模态数据;

计算模块,用于根据所述任务预测结果,计算每个模态编码器的任务损失梯度向量,以及,根据所述样本表征结果,计算每个模态编码器的模态损失梯度向量;

确定模块,用于根据所述任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,所述关系数值表征模态编码器的学习方向;

选择模块,用于选择关系数值最大的模态编码器从任务中学习,选择除所述关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

本申请实施例的第三方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面所述的基于模态内和模态间的多模态课程学习方法的步骤。

本申请实施例包括以下优点:

在本申请实施例中,同时考虑了模态数据和模态间的相互影响以进行多模态的课程学习。利用包含多个模态编码器的多模态模块对多模态数据进行任务处理,得到任务预测结果和每个模态编码器的样本表征结果;进而根据任务预测结果,计算每个模态编码器的任务损失梯度向量,以及,根据样本表征结果,计算每个模态编码器的模态损失梯度向量;根据任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,该关系数值表征模态编码器的学习方向;选择关系数值最大的模态编码器从任务中学习,选择除关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

由于每个模态编码器的学习方向是根据关系数值来确定的,使得每个模态编码器始终能够获得适合于自身的优化目标,避免了模态之间的相互压制。并且,模态内的课程学习使每个模态编码器能够由易至难地学习各自模态内的数据,进而提升每个模态编码器各自的优化程度;模态间的课程学习(即从任务中学习)决定了模态间从任务中进行学习的先后顺序,平衡模态间的学习情况,提升多模态模块整体的优化程度,进而克服了多模态学习中模态未能完全优化的问题。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于模态内和模态间的多模态课程学习方法的步骤流程图;

图2是本申请实施例提供的一种基于模态内和模态间的多模态课程学习方法的整体架构图;

图3是本申请实施例提供的一种基于模态内和模态间的多模态课程学习装置的结构示意图;

图4是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

对于多模态学习中各模态编码器未充分优化的问题,相关技术主要分两类:1)第一类方法考虑到这一问题的产生是因为各个模态编码器的架构不同,所适应的优化策略也不同,单一的优化方式无法同时适应于多种模态编码器,导致了所有编码器都无法充分优化。基于这一想法,Gradient-Blending(GB)方法在原先优化目标的基础上加入了各个模态的损失值,使得新的优化目标称为多个损失值的加权和,用额外的损失值和对应权重优化各编码器;Uni-Modal Teacher(UMT)方法在原先优化目标的基础上加入了单模态教师模型的知识蒸馏损失值,用于指导各编码器的学习。以上方法都是通过增加优化目标来提升各模态的优化效果。

2)第二类方法考虑到这一问题的产生是因为不同模态之间强弱不同,即对于结果的影响不同,这会导致模型为了最终性能的提升而只向着有利于强模态的方向优化,产生强模态对弱模态的压制效果,使得弱模态的编码器无法充分优化。例如,在部分音频辅助的图片分类数据集上,模型可能只需要音频就能准确预测,完全不需要图片这一模态,这就导致优化过程只在音频编码器上进行,使得图片编码器没有被充分优化。基于这一想法,Adaptive Tracking Factor(ATF)方法动态调节模态的学习进度,让较弱的模态在数据集上进行更多次的学习;Conditional Learning Speed(CLS)方法根据不同模态的学习表现,使弱模态的学习率增加,强模态学习率减小;On-the-fly Gradient Modulation withGeneralization Enhancement(OGM-GE)方法根据不同模态的输出结果,使弱模态更新梯度增加,强模态更新梯度减小。以上方法都是通过平衡模态间学习速度和学习进度来提升各模态的优化效果。

但上述的两类方法仍然存在以下两点局限,第一点局限在于上述方法多关注于模态间的平衡关系,忽略了模态内部数据对于模态编码器的影响。假设有一个模态内的编码器始终面对的都是较为困难甚至是带有噪声的数据。例如,失真的图像或者有噪音的音频,导致该模态的输出结果都不利于最终结果的预测和推断,那么这一模态会成为弱势模态,被其他强模态压制而难以得到很好的优化。第二点局限在于上述方法判断模态间的强弱需要依赖于单个模态的表现,使得应用范围有局限。例如,在音频辅助的图片分类任务上,音频模态可以有预测结果,图片模态也可以有预测结果,谁更准说明谁更能影响结果,可以分出强弱模态。但在类似于视频问答任务中,预测结果需要同时结合视频内容和文字问题,单个模态没有预测结果,上述方法就无法判断强弱模态,就无法对其进行优化和平衡。

也就是说,现有技术仍存在模态编码器未充分优化的原因在于:各模态编码器所需要的优化策略不同却被相同的优化策略所优化,以及模型为了整体性能只愿意优化强模态而产生了强模态对弱模态的压制。

因此,为了克服现有技术的局限性,申请人提出以下技术构思:采用课程学习的方法,由简单的课程向复杂困难的课程进行学习,同时考虑模态数据和模态间的相互影响以进行多模态的课程学习,即在模态内部有选择地挑选数据进行训练,在模态之间有选择地挑选模态学习任务。首先,利用包含多个模态编码器的多模态模块对多模态数据进行任务处理,得到任务预测结果和每个模态编码器的样本表征结果;进而根据任务预测结果,计算每个模态编码器的任务损失梯度向量,以及,根据样本表征结果,计算每个模态编码器的模态损失梯度向量;根据任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,该关系数值表征模态编码器的学习方向;选择关系数值最大的模态编码器从任务中学习,选择除关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

参照图1所示,图1是本申请实施例提供的一种基于模态内和模态间的多模态课程学习方法的步骤流程图。如图1所示,所述方法可以包括步骤S110至步骤S140:

步骤S110:利用包含多个模态编码器的多模态模块对多模态数据进行任务处理,得到任务预测结果和每个模态编码器的样本表征结果,所述多模态数据包括多种不同数据类型的单模态数据。

本申请实施例中,单模态数据可以是图片、音频、文字、表格等数据,根据多种不同数据类型的单模态数据组成多模态数据。例如,利用图片、音频和文字组成多模态数据。示例地,多模态数据集可以表示为

多模态模块包含多个模态编码器,每个模态编码器用于处理一个单模态数据。例如,考虑视频画面和文字问题的视频问答任务对应的多模态模块,包括处理视频画面的模态编码器和处理文字问题的模态编码器。多模态学习的目标是预测结果,进而利用包含多个模态编码器的多模态模块对多模态数据进行任务处理,每个模态编码器对对应的单模态数据进行处理,得到每个模态编码器的样本表征结果,同时根据各个模态编码器的样本表征结果得到任务预测结果。

示例地,任务预测结果

其中,f

步骤S120:根据所述任务预测结果,计算每个模态编码器的任务损失梯度向量,以及,根据所述样本表征结果,计算每个模态编码器的模态损失梯度向量。

本申请实施例中,对于多模态模块中的每个模态编码器,训练过程中的梯度受到任务损失和模态损失两个损失的影响,任务损失和模态损失在反向传播时的梯度分别为任务损失梯度向量

在一种可选的实施例中,根据所述任务预测结果,计算每个模态编码器的任务损失梯度向量,包括步骤A1至步骤A2:

步骤A1:根据所述任务预测结果和真实结果,得到任务损失。

步骤A2:计算所述任务损失在每个模态编码器中反向传播的梯度,作为每个模态编码器的任务损失梯度向量。

本申请实施例中,任务预测结果是多模态模块的预测结果,根据该任务预测结果和对应的真实结果能够得到任务损失。示例地,任务损失L

其中,l

在一种可选的实施例中,根据所述样本表征结果,计算每个模态编码器的模态损失梯度向量,包括步骤B1至步骤B4:

步骤B1:将单模态数据输入到对应模态的教师模型进行处理,得到所述单模态数据的知识蒸馏结果,所述教师模型是预先训练好的模态编码器。

步骤B2:根据所述样本表征结果和所述知识蒸馏结果,确定蒸馏损失,所述蒸馏损失表征所述单模态数据的难度。

步骤B3:基于自步学习方法,以最小化模态损失为优化目标,根据所述蒸馏损失和蒸馏损失权重,得到模态损失,所述蒸馏损失权重是根据蒸馏损失权重与蒸馏损失之间的映射关系确定的。

步骤B4:计算所述模态损失在每个模态编码器中反向传播的梯度,作为每个模态编码器的模态损失梯度向量。

本申请实施例中,在模态内部的课程学习中,需要判断模态内部各模态数据的难度。为了使这一判断无需单模态的预测结果,采用知识蒸馏的方式,即使用一个预训练好的单模态教师模型g

蒸馏损失越大表示模态编码器的样本表征结果与教师模型的输出知识蒸馏结果越不相同,说明模态编码器对该模态数据学习的情况越差,则该模态数据的难度越大。在模态内的课程学习中,希望难度大的模态数据的影响更小,因此将难度和权重作为正则项加入优化目标中。进而采用课程学习中的自步学习方法(Self-Paced Learning),以最小化模态损失为优化目标,计算出模态损失。最后进而根据模态编码器的参数,计算该模态损失在模态编码器中反向传播的梯度,以得到模态编码器的模态损失梯度向量

在一种具体的实施方式中,所述模态损失包括带权重的蒸馏损失、对第一正则项和第二正则项;其中,所述第一正则项以蒸馏损失的移动平均数为系数,所述第一正则项将小于平均数的蒸馏损失权重放大,将大于平均数的蒸馏损失权重减少;所述第二正则项的正则项系数是预定义的,所述第二正则项用于控制所述蒸馏损失权重趋向于1。

示例地,所述模态损失表示为:

其中,L

蒸馏损失权重与蒸馏损失之间的映射关系为:蒸馏损失越大,对应的蒸馏损失权重越小,蒸馏损失越小,对应的蒸馏损失权重越大。该映射关系通过对模态损失求导得到,所述映射关系表示为:

其中,w

步骤S130:根据所述任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,所述关系数值表征模态编码器的学习方向。

本申请实施例中,对于多模态模块中的每个模态编码器,训练过程中的梯度受到任务损失和模态损失两个损失的影响,因而任务损失梯度向量和模态损失梯度向量之间的相对关系反映了模态编码器从任务和从模态中学习的情况。如果一个模态编码器更多从模态中学习,说明在多模态学习中它被其他模态压制,难以从任务中进行学习,因此将该模态作为弱模态,让它先更多地从模态中进行学习,之后再逐步从任务中进行学习。

进而借助多目标优化中的知识,对任务损失梯度向量和模态损失梯度向量进行分析,以两个梯度向量之间的关系,得到每个模态编码器的关系数值,该关系数值表征模态编码器的学习方向,根据关系数值就能够判断模态编码器应该是任务中进行学习还是从模态中进行学习。

在一种可选的实施例中,根据所述任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,包括:以所述任务损失梯度向量和所述模态损失梯度向量更新满足帕累托最优为目标,构建每个模态编码器的梯度目标函数;对所述梯度目标函数进行求解,得到每个模态编码器的关系数值。

示例地,梯度目标函数表示为:

对梯度目标函数求解得到关系数值α

其中,关系数值α

在一种可选的实施方式中,考虑到梯度的计算需要反向传播,而在模态编码器参数量特别大的情况下,损失值对于模态编码器的梯度需要复杂度特别高、耗时特别长的计算量,为了进一步提升关系数值的计算效率。因此,使用导数中的链式法则,将任务损失梯度向量

步骤S140:选择关系数值最大的模态编码器从任务中学习,选择除所述关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

本申请实施例中,关系数值越大说明任务损失梯度向量和模态损失梯度向量的相似度越大,说明模态编码器能够同时从任务和模态中进行学习,将关系数值最大的模态编码器视为强模态,其余的模态编码器视为弱模态。选择关系数值最大的模态编码器从任务中学习,而其他模态编码器从模态(即教师模型的知识蒸馏)中进行学习,从而使每个模态编码器都始终能获得适合于它们的优化,也避免了模态间的相互压制。

在具体实施时,对于选择关系数值最大的模态编码器的学习,利用任务损失梯度向量对该模态编码器的参数进行更新;其余模态编码器的学习,利用各自模态损失梯度向量对各自的模态编码器的参数进行更新。示例地,模态内和模态间的多模态课程学习可以表示为:

其中,m

在一种可选的实施方式中,所述关系数值最大的模态编码器按照以下步骤从任务中学习:根据所述任务预测结果和任务损失权重,计算带权重的任务损失梯度向量;根据所述带权重的任务损失梯度向量,对所述关系数值最大的模态编码器的参数进行更新。

示例地,关系数值最大的模态编码器从任务中学习可以表示为:

其中,

具体地,任务损失权重是根据任务损失权重与任务损失之间的映射关系确定的,任务损失还可表示为:

其中,L

通过对任务损失求导,得到任务损失权重与任务损失之间的映射关系,该映射关系表示为:

其中,W表示Lambert W函数,e为自然底数。

在一种可选的实施方式中,所述除所述关系数值最大的模态编码器之外的其余模态编码器按照以下步骤从模态中学习:根据每个模态编码器的样本表征结果和每个所述模态编码器对应的蒸馏损失权重,计算带权重的模态损失梯度;根据所述带权重的模态损失梯度,对模态编码器的参数进行更新。

示例地,其余模态编码器从模态中学习可以表示为:

其中,

综上所述,模态内和模态间的多模态课程学习可以表示为:

在一种可选的实施方式中,所述多模态课程学习包括多个学习轮次,所述方法还包括步骤C1至步骤C2:

步骤C1:在完成当前学习轮次的学习后,重新计算每个模态编码器的关系数值,得到新的关系数值。

步骤C2:在下个学习轮次,选择所述新的关系数值最大的模态编码器从任务中学习,选择除所述新的关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

本申请实施例中,为了保证多模态模块中所有的模态编码器均能够从模态间(即任务)和模态内(即数据)两个层面进行优化,在每个学习轮次,从任务和模态中进行学习的模态编码器并不是固定的,在每个学习轮次均需要重新计算每个模态编码器的关系数值,进而根据新的关系数值确定从任务中学习的模态编码器和从模态中学习的模态编码器。从而使每个模态编码器都始终能获得适合于它们的优化,也避免了模态间的相互压制。

例如,对于一个弱模态的模态编码器(即关系数值不是最大),在刚开始的学习轮次更多的是从模态(即教师模型提取的知识蒸馏)中进行学习,在经过多个学习轮次后,计算出该模态编码器的关系数值为最大,此时该模态编码器为强模态,之后该强模态的模态编码器开始从任务中学习。

示例地,图2是本申请实施例提供的一种基于模态内和模态间的多模态课程学习方法的整体架构图。从模态内数据和模态间互相影响的角度解释多模态学习中的编码器未完全优化问题,提出了一种同时考虑模态内数据和模态间平衡的通用多模态课程学习框架。首先将多模态数据x

由于每个模态编码器的学习方向是根据关系数值来确定的,使得每个模态编码器始终能够获得适合于自身的优化目标,避免了模态之间的相互压制。并且,模态内的课程学习使每个模态编码器能够由易至难地学习各自模态内的数据,进而提升每个模态编码器各自的优化程度;模态间的课程学习(即从任务中学习)决定了模态间从任务中进行学习的先后顺序,平衡模态间的学习情况,提升多模态模块整体的优化程度,进而克服了多模态学习中模态未能完全优化的问题。此外,该方法能同时应用于单个模态能产生预测结果和单个模态无法独立产生预测结果的多模态任务中。

本申请实施例还提供了一种基于模态内和模态间的多模态课程学习装置,参照图3所示,图3是本申请实施例提供的一种基于模态内和模态间的多模态课程学习装置的结构示意图,所述装置包括:

处理模块310,用于利用包含多个模态编码器的多模态模块对多模态数据进行任务处理,得到任务预测结果和每个模态编码器的样本表征结果,所述多模态数据包括多种不同数据类型的单模态数据;

计算模块320,用于根据所述任务预测结果,计算每个模态编码器的任务损失梯度向量,以及,根据所述样本表征结果,计算每个模态编码器的模态损失梯度向量;

确定模块330,用于根据所述任务损失梯度向量和所述模态损失梯度向量,确定每个模态编码器的关系数值,所述关系数值表征模态编码器的学习方向;

选择模块340,用于选择关系数值最大的模态编码器从任务中学习,选择除所述关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

在一种可选的实施例中,所述计算模块包括:

任务损失模块,用于根据所述任务预测结果和真实结果,得到任务损失;

任务梯度模块,用于计算所述任务损失在每个模态编码器中反向传播的梯度,作为每个模态编码器的任务损失梯度向量。

在一种可选的实施例中,所述计算模块包括:

蒸馏模块,用于将单模态数据输入到对应模态的教师模型进行处理,得到所述单模态数据的知识蒸馏结果,所述教师模型是预先训练好的模态编码器;

蒸馏损失模块,用于根据所述样本表征结果和所述知识蒸馏结果,确定蒸馏损失,所述蒸馏损失表征所述单模态数据的难度;

模态损失模块,用于基于自步学习方法,以最小化模态损失为优化目标,根据所述蒸馏损失和蒸馏损失权重,得到模态损失,所述蒸馏损失权重是根据蒸馏损失权重与蒸馏损失之间的映射关系确定的;

模态梯度模块,用于计算所述模态损失在每个模态编码器中反向传播的梯度,作为每个模态编码器的模态损失梯度向量。

在一种可选的实施例中,所述模态损失包括带权重的蒸馏损失、对第一正则项和第二正则项;

其中,所述第一正则项以蒸馏损失的移动平均数为系数,所述第一正则项将小于平均数的蒸馏损失权重放大,将大于平均数的蒸馏损失权重减少;

所述第二正则项的正则项系数是预定义的,所述第二正则项用于控制所述蒸馏损失权重趋向于1。

在一种可选的实施例中,所述确定模块包括:

构建模块,用于以所述任务损失梯度向量和所述模态损失梯度向量更新满足帕累托最优为目标,构建每个模态编码器的梯度目标函数;

求解模块,用于对所述梯度目标函数进行求解,得到每个模态编码器的关系数值。

在一种可选的实施例中,所述装置还包括第一学习模块,所述第一学习模块用于所述关系数值最大的模态编码器从任务中学习,所述第一学习模块包括:

第一计算子模块,用于根据所述任务预测结果和任务损失权重,计算带权重的任务损失梯度向量;

第一更新模块,用于根据所述带权重的任务损失梯度向量,对所述关系数值最大的模态编码器的参数进行更新。

在一种可选的实施例中,所述装置还包括第二学习模块,所述第二学习模块用于所述除所述关系数值最大的模态编码器之外的其余模态编码器按从模态中学习,所述第二学习模块包括:

第二计算子模块,用于根据每个模态编码器的样本表征结果和每个所述模态编码器对应的蒸馏损失权重,计算带权重的模态损失梯度;

第二更新模块,用于根据所述带权重的模态损失梯度,对模态编码器的参数进行更新。

在一种可选的实施例中,所述多模态课程学习包括多个学习轮次,所述装置还包括:

重新计算模块,用于在完成当前学习轮次的学习后,重新计算每个模态编码器的关系数值,得到新的关系数值;

重新选择模块,用于在下个学习轮次,选择所述新的关系数值最大的模态编码器从任务中学习,选择除所述新的关系数值最大的模态编码器之外的其余模态编码器从模态中学习。

本申请实施例还提供了一种电子设备,参照图4,图4是本申请实施例提供的一种电子设备结构示意图。如图4所示,电子设备400包括:存储器410和处理器420,存储器410与处理器820之间通过总线通信连接,存储器410中存储有计算机程序,该计算机程序可在处理器420上运行,进而实现本申请实施例所述的基于模态内和模态间的多模态课程学习方法的步骤。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本申请实施例是参照根据本申请实施例的方法、装置和电子设备的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种基于模态内和模态间的多模态课程学习方法、装置和设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120116513093