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

基于多模态数据的多任务学习方法及系统

文献发布时间:2023-06-19 09:27:35


基于多模态数据的多任务学习方法及系统

技术领域

本发明涉及机器学习领域,尤其涉及基于多模态数据的多任务学习方法及系统。

背景技术

多任务学习(multi-task learning,MTL)是机器学习的一个分支,它利用多个任务之间的共性和差异,同时解决多个学习任务。与每种任务单独进行学习相比,多任务学习可以提高任务特定模型的学习效率和预测精度。在多任务学习中,给定的若干个任务之间(或至少其中部分任务)具有相关性,这包括两个方面:一种是模态相关性,即多个任务均采用同一种模态的数据;二是特征表示的相关性,即多个任务所需要的特征具有一定的相关性。因此,多任务学习主要基于任务之间的相关性来提升各个任务的性能。

然而,现有的多任务学习方法一般采用单一的多任务学习技术,例如仅采用硬参数共享技术、软参数共享技术、多任务损失加权技术等技术中的一种,因而不能充分利用不同任务之间的相关性。此外,多个任务往往采用相同模态的输入数据,无法有效利用不同模态数据的互补性。

因此,亟需一种基于多模态数据的多任务学习方法。

发明内容

因此,本发明实施例的目的在于克服上述现有技术的缺陷,提供一种基于多模态数据的多任务学习方法方法及系统,能够充分利用多模态数据间的互补性,快速、准确的完成多任务学习,实现轻量化。

上述目的是通过以下技术方案实现的:

根据本发明的第一方面,提供了一种基于多模态数据的多任务学习方法,包括获取用于完成多个任务的多模态数据,将所述多模态数据按模态种类进行分组,并进行时空对齐;从所述对齐后的多模态数据中提取每种模态内数据的硬共享特征,基于所述硬共享特征获得每种模态内与不同任务相关的软共享特征,基于所述软共享特征获得每种模态内与不同任务相关的非共享特征,并基于所述非共享特征获得与所述多个任务中的每种任务对应的数据特征;基于所述对应的数据特征执行所述多个任务,并计算所述多个任务中每种任务的损失函数;利用不确定度损失加权计算所述多任务学习方法的总体损失函数,以训练所述多任务学习方法。

在本发明的一些实施例中,还包括,当任务依赖单一模态数据特征时,从所述单一模态数据中提取的所述非共享特征为所述任务对应的数据特征;当任务依赖多模态数据时,将从所述依赖多模态数据的每种模态数据中提取的所述非共享特征进行特征融合,所述融合后的非共享特征为所述任务对应的数据特征。

在本发明的一些实施例中,当所述任务依赖多模态数据时,采用注意力集中机制将从所述依赖多模态数据的每种模态数据中提取的所述非共享特征进行特征融合,包括:将从所述依赖多模态数据的每种模态数据中提取的所述非共享特征进行拼接,并变换生成特征掩码;基于所述特征掩码特征融合所述非共享特征。

在本发明的一些实施例中,其中,通过最小化损失训练所述多任务学习方法。

在本发明的一些实施例中,其中,通过交叉熵和/或回归损失训练所述多任务学习方法。

在本发明的一些实施例中,利用L2范式或者十字绣网络提取所述软共享特征。

在本发明的一些实施例中,其中,所述利用不确定度损失加权计算所述多任务学习方法的总体损失函数包括:基于所述多个任务中每种任务的输出标准差调整所述每种任务的损失函数;对所述每种任务的调整后的损失函数求和,获得所述多任务学习方法的总体损失函数。

根据本发明的第二方面,还提供了一种基于多模态数据的多任务学习系统,包括:接口模块,用于获取用于完成多个任务的多模态数据,将所述多模态数据按模态种类进行分组,并进行时空对齐;特征提取模块,用于从所述对齐后的多模态数据中提取每种模态内数据的硬共享特征,基于所述硬共享特征获得每种模态内与不同任务相关的软共享特征,基于所述软共享特征获得每种模态内与不同任务相关的非共享特征,并基于所述非共享特征获得与所述多个任务中的每种任务对应的数据特征;损失计算模块,用于基于所述对应的数据特征完成所述多个任务,并计算所述多个任务中每种任务的损失函数,利用不确定度损失加权计算所述多任务学习方法的总体损失函数;以及训练模块,用于基于所述总体损失函数训练所述多任务学习方法。

根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被执行时实现如上述实施例第一方面所述的方法。

根据本发明的第四方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时实现如上述实施例第一方面所述的方法。

本发明的技术方案充分利用多模态数据间的互补性,剔除模态间数据的冗余性,能够快速、准确的完成多任务学习,实现轻量化。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了根据本发明一个实施例的基于多模态数据的多任务学习方法的流程图;

图2示出了根据本发明一个实施例的从多模态数据中提取与每种任务对应的数据特征的流程图;

图3示出了根据本发明一个实施例的从多模态数据中提取与每种任务对应的数据特征的示意图;

图4示出了根据本发明一个实施例的提取硬共享特征的示意图;

图5示出了根据本发明一个实施例的提取软共享特征的示意图;

图6示出了根据本发明一个实施例的对依赖多模态数据任务的非共享特征进行特征融合的示意图;

图7示出了根据本发明一个实施例的不确定度的损失加权机制的示意图;

图8示出了根据本发明一个实施例的基于多模态数据的多任务学习系统的结构示意图。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动下获得的所有其他实施例,都属于本发明保护的范围。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

现有的多任务学习中,由于通常采用单一的学习技术以及单一模态的输入数据,无法充分利用任务之间的相关性以及不同模态数据的互补性,也不存在多模态数据融合。本发明利用多任务学习的特点,结合硬件参数共享、软件参数共享、多任务损失加权等方法,从多模态的输入数据中提取与多任务中的每种任务对应的数据特征并执行任务,计算每种任务的损失函数,并通过不确定度损失加权技术多任务学习的总体损失函数以训练该多任务学习方法。

图1示出了本发明一个实施例的基于多模态数据的多任务学习方法的流程图。如图1所示,该方法包括:

S110,获取用于完成多个任务的多模态数据,将多模态数据按模态种类进行分组,并进行时空对齐。

将多种来源的数据按模态种类组织为不同的输入数据,并使得不同模态的输入数据满足一定的时空对齐要求。例如,在一个多任务学习中需要完成三种任务,分别是任务一图像语义分割、任务二3D目标检测以及任务三点云语义分割,输入数据包括图像数据和点云数据两种模态的数据,其中,任务一图像语义分割依赖图像数据,任务二3D目标检测依赖图像数据和点云数据,任务三点云语义分割依赖点云数据。首先对齐图像数据和点云数据的时间,例如,可以利用时间戳保证两种模态数据的时间对齐;然后对齐图像数据和点云数据的空间坐标。在一个实施例中,可以基于图像数据来截取点云数据对应的视锥台以保证空间对齐,例如,获取相机的内参、外参矩阵,相机和激光雷达的坐标变换矩阵,通过相机确定视锥台,然后将该视锥台投影到激光雷达中,仅提取视锥台内部的激光点云数据,从而实现图像数据和点云数据的空间对齐。

S120,从对齐后的多模态数据中提取每种模态内数据的硬共享特征,基于硬共享特征获得每种模态内与不同任务相关的软共享特征,基于软共享特征获得每种模态内与不同任务相关的非共享特征,并基于非共享特征获得与多个任务中的每种任务对应的数据特征。

为清晰起见,首先对两种参数共享机制进行统一说明:硬参数共享机制,是指多个任务共同使用同一个特征提取网络,该网络为不同的任务提取相同的特征,即“硬共享特征”;软参数共享机制,是指每个任务分别享有各自的特征提取子网络,但不同任务的子网络之间相互约束,不同子网络提取的特征具有相关性,即“软共享特征”。此外,若提取的特征没有采用任何共享机制,则为“非共享特征”。

在本发明中,基于完成分组与对齐的数据,在每一种模态内分别采用上述硬共享机制和软共享机制,依次从对齐后的多模态数据中提取每种模态数据的硬共享特征、软共享特征以及非共享特征,并基于该非共享特征获得每种任务所对应的数据特征。在此过程中,不同任务之间的特征共享程度也逐步降低。

图2示出了本发明一个实施例的从多模态数据中提取与每种任务对应的数据特征的流程图。图3示出了本发明一个实施例的从多模态数据中提取与每种任务对应的数据特征的示意图。如图2所示,步骤S120包括以下步骤:

S210,针对同一模态的输入数据提取硬共享特征。

图4示出了本发明一个实施例的提取硬共享特征的示意图。如图4所示,针对每种模态的输入数据采用对应的神经网络来提取其硬共享特征,使得该模态内不同任务之间可以共享该硬共享特征。例如,针对图像数据,可以采用2D卷积网络提取硬共享特征用于图像语义分割任务(即任务一)和3D目标检测任务(即任务二);针对点云数据,可以采用Pointnet网络或者体素特征编码层VFE(Voxel Feature Encoding)与3D卷积网络结合,以提取硬共享特征用于3D目标检测任务和点云语义分割任务。

S220,基于硬共享特征,提取同一模态内与不同任务相关的软共享特征。

基于获得的硬共享特征,针对每种模态内不同任务分别提取软共享特性。同一模态内与不同任务相关的软共享特征并非相互独立、毫无关联,而是根据任务之间的相关性进行约束。

图5示出了本发明一个实施例的提取软共享特征的示意图。如图5所示,同一模态内不同任务采用与之相对应的神经网络分别提取其软共享特征。例如,针对图像数据,可以分别采用不同的卷积子网络分别提取图像语义分割任务(即任务一)和3D目标检测任务(即任务二)的软共享特征,该两个子网络的输入都是图像数据的硬共享特征,但输出分别是图像语义分割任务(即任务一)和3D目标检测任务(即任务二)各自的软共享特征;同理,针对点云数据,可以分别采用不同的Pointnet子网络提取3D目标检测网络(即任务二)和点云语义分割任务(即任务三)的软共享特征,该两个子网络的输入都是点云数据的硬共享特征,输出分别是3D目标检测网络(即任务二)和点云语义分割任务(即任务三)各自的软共享特征。

为了使同一模态内的软共享特征基于任务之间的相关性而相互约束,可以对模态内不同任务所采用的神经网络进行约束。在一个实施例中,可以采用L2范数来实现不同任务的特征提取网络中参数的相似性,进而使得提取的软共享特征之间相互约束。例如,可以在训练模型阶段将同一模态内与不同任务对应的特征提取网络的参数向量的L2距离作为一个优化目标,最小化该目标使得通过不同特征提取网络所提取的特征具有相似性,以获得不同任务的软共享特征。在另一个实施例中,也可以采用十字绣网络对网络相似性进行约束例如,可以通过在两个网络的特征层之间增加“十字绣”单元来使得网络自动学习需要共享的特征。

S230,基于软共享特征,提取同一模态内与不同任务相关的非共享特征。

在每种模态内,基于软共享特征,提取与不同任务相关的非共享特征,即为每种任务提取相匹配的特征,以保证特征的任务相关性。此时不同任务之间不再进行特征共享,每个任务的特征提取网络的输入是各自的软共享特征,输出是任务相关的非共享特征。例如,在图像数据中,采用不同的卷积子网络分别提取图像语义分割任务(任务一)和3D目标检测任务(任务二)的非共享特征,此时两个子网络的输入分别是各自的软共享特征,输出分别是与图像语义分割任务(任务一)相关的非共享特征以及与3D目标检测任务(任务二)相关的图像非共享特征;在点云数据中,采用不同的Pointnet子网络分别提取3D目标检测网络(任务二)和点云语义分割任务(任务三)的非共享特征,此时两个子网络的输入分别是各自的软共享特征,输出分别是与3D目标检测网络(任务二)相关的非共享特征以及与点云语义分割任务(任务三)相关的点云非共享特征。

S240,基于非共享特征获得与多个任务中的每种任务对应的数据特征。

当任务依赖单一模态数据特征时,从该单一模态数据中提取的非共享特征为该任务对应的数据特征;当任务依赖多模态数据时,将从所依赖多模态数据的每种模态数据中提取的非共享特征进行特征融合,则融合后的非共享特征为该任务对应的数据特征。

图6示出了本发明一个实施例的对依赖多模态数据任务的非共享特征进行特征融合的示意图。如图6所示,可以采用注意力集中机制来平衡不同模态的非共享特征的作用,将不同模态非共享特征拼接后变换生成特征掩码,然后利用掩码对融合特征进行调整。例如,模态一的非共享特征的特征向量为x1,模态二的非共享特征的特征向量为x2,将模态一的非共享特征的特征向量x1与模态二的非共享特征的特征向量x2进行向量拼接,获得拼接后的特征向量x3(x3=concat(x1,x2),其中concat表示拼接操作),然后对拼接后的特征向量x3进行变换获得变换后的特征向量x4(x4=g(x3),其中g表示特征变换网络),生成拼接后的特征向量x3的特征掩码m(m=attention(x3),其中attention表示生成掩码的网络),利用该特征掩码调整变换后的特征向量x4获得融合后的特征向量x5(

S130,基于对应的数据特征执行多个任务,并计算多个任务中每种任务的损失函数。

样本的预测值与真实值的差异称为损失,用于计算损失的函数称为损失函数。在训练阶段,可以通过最小化损失来训练模型的参数。

在一个实施例中,对于仅依赖单一模态数据的任务,可以采用交叉熵来计算该任务的损失函数。例如,图像语义分割任务(任务一)仅依赖图像数据,可以利用交叉熵损失来衡量任务性能;点云语义分割任务(任务三)仅依赖点云数据,也可以利用交叉熵损失来衡量任务性能。交叉熵损失用于衡量概率分布之间的差异,此处用于衡量图像中每个像素(或点云中每个点)所属类别的预测分布与真实分布之间的差异。

在一个实施例中,对于依赖多个模态数据的任务,可以将该依赖多模态数据的任务在不同模态内获得的非共享特征进行特征融合以获得其对应的数据特征,再基于该对应的数据特征执行该任务后计算损失。例如,3D目标检测任务(任务二)依赖图像和点云两种模态的数据,在两种模态内都提取了该任务的非共享特征,将这两种非共享特征进行融合后,进行预测输出后计算损失。此时损失包括两部分,一是用于目标分类的交叉熵损失(3D检测框对应的物体类别),二是用于定位的回归损失(3D检测框的位置和尺寸),回归损失用于衡量连续变量的预测值和真实值之间差异,具体可采用平方损失、绝对值损失等。

S140,利用不确定度损失加权计算多任务学习方法的总体损失函数,以训练该多任务学习方法。

对于每个任务都得到的损失,通过采用基于不确定度损失加权机制计算多任务学习方法的总体损失函数,可以动态适应模型训练过程中各个任务间相对性能的变化。例如,在某个阶段任务一要远远优于任务二,那么调整后的加权损失会使得任务二更加重要,从而侧重优化任务二,降低对任务一的关注,从而实现更好的总体性能。对于任务i的损失函数L

其中,w

则调整后的损失函数为:

最后,对所有调整后的损失函数求和,得到总体的损失函数为:

L=ΣL

通过将任务的不确定度(即输出标准差)引入到损失函数中,可以使得多个任务的总体似然函数最小。

图7示出了本发明一个实施例的不确定度损失加权机制的示意图。如图7所示,将任务一的损失函数经过其不确定度σ

通过上述不确定度的损失加权机制,能够对多任务学习中的不同任务进行平衡。

另一方面,本发明还提供一种基于多模态数据的多任务学习系统,用于执行上述基于多模态数据的多任务学习方法。

图8为根据本发明一个实施例的基于多模态数据的多任务学习系统的结构示意图。如图8所示,该系统800包括接口模块801、特征提取模块802、损失计算模块803和训练模块804。尽管该框图以功能上分开的方式来描述组件,但这样的描述仅为了说明的目的。图中所示的组件可以任意地进行组合或被分为独立的软件、固件和/或硬件组件。而且,无论这样的组件是如何被组合或划分的,它们都可以在同一计算装置或多个计算装置上执行,其中多个计算装置可以是由一个或多个网络连接。

其中接口模块801用于获取完成多个任务的多模态数据,将多模态数据按模态种类进行分组,并进行时空对齐。特征提取模块802如上文介绍的那样从对齐后的多模态数据中提取每种模态内数据的硬共享特征,基于硬共享特征获得每种模态内与不同任务相关的软共享特征,基于软共享特征获得每种模态内与不同任务相关的非共享特征,并基于非共享特征获得与多个任务中的每种任务对应的数据特征。损失计算模块803,用于基于对应的数据特征完成多个任务,并计算多个任务中每种任务的损失函数,利用不确定度损失加权计算多任务学习方法的总体损失函数。训练模块804如上文介绍的那样用于基于总体损失函数训练该多任务学习方法。

在本发明的又一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序或可执行指令,当所述计算机程序或可执行指令被执行时实现如前述实施例中所述的技术方案,其实现原理类似,此处不再赘述。在本发明的实施例中,计算机可读存储介质可以是任何能够存储数据且可以被计算装置读取的有形介质。计算机可读存储介质的实例包括硬盘驱动器、网络附加存储器(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其它光学或非光学数据存储装置。计算机可读存储介质也可以包括分布在网络耦合计算机系统上的计算机可读介质,以便可以分布式地存储和执行计算机程序或指令。

本说明书中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个说明书中各地方的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是非逻辑性的或不能工作。

本说明书中“包括”和“具有”以及类似含义的术语表达,意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备并不限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。“一”或“一个”也不排除多个的情况。另外,本申请附图中的各个元素仅仅为了示意说明,并非按比例绘制。

虽然本发明已经通过上述实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

技术分类

06120112175382