一种多模态联邦学习任务处理方法及系统

文档序号:33533819发布日期:2023-03-22 08:16阅读:161来源:国知局
一种多模态联邦学习任务处理方法及系统

1.本发明属于联邦学习技术领域,具体涉及一种多模态联邦学习任务处理方法及系统。


背景技术:

2.随着互联网和网络服务技术的快速发展,尤其是移动通信和物联网技术的爆炸式发展,无处不在的移动设备、传感器持续产生海量数据和数以亿计用户的互联网服务时刻产生巨量的交互数据促使了以数据为驱动的人工智能的爆炸式发展。但是,由于网络承载力以及数据隐私等限制,现实中海量数据呈现出“数据孤岛”的形式,难以实现有效的互通与协作,使得人工智能的成功实施面临困境。为了克服“数据孤岛”的困境,工业界和学术界提出了联邦学习的概念。联邦学习技术是一种分布式机器学习技术,能够在不共享隐私数据的情况下通过协同用户设备、多方机构进行分布式机器学习模型训练,构建人工智能业务,正成为当下推动人工智能蓬勃发展的重要底层技术。
3.在联邦学习的模型训练中,参与方使用本地私有数据训练本地机器学习模型,向外只共享模型而不暴露私有数据,借助分布式机器学习训练技术推进模型的迭代,实现保护参与方隐私数据的分布式协同学习。目前,虽然已有很多针对联邦学习算法和应用等方面的研究,但是针对联邦学习训练技术方案的研究还处于起步阶段,一个重要的挑战就是联邦学习训练机制面临数据异构性带来的影响,除了已有较多研究的非独立同分布数据带来的影响外,当前联邦学习技术的适用场景较小,主要适用于数据模态单一场景,对于多模态数据的联邦学习训练还缺乏相应技术。
4.多模态数据联邦学习是指参与方拥有不同的数据模态的联邦学习。在机器学习领域,数据模态主要包含三类:书面或口头的自然语言,以图像或视频为媒介的视觉信号,以及声音和韵律等编码信号和副语言信息。由于联邦学习的不同参与方的业务需要可能不同,他们所拥有数据的模态也存在差异。以新兴的媒体描述应用为例,在这类应用中,视觉和听觉感官被联系在一起,同时包含多个模态的数据。已有研究表明,多种模态信息相互作用可以明显改善机器学习的表现。
5.在实践中,训练数据呈现出多源且多模态的特性,联合分析多模态数据对机器学习有显著提升,这种真实需求催生了多模态机器学习这个全新的研究领域。尽管该领域已有许多关于多模态学习的研究,但这些研究假设多模态数据在云端集中存储,且训练数据可随意分享,与联邦学习中参与方数据分散且不可出域的基本隐私前提不符,因此无法直接应用于联邦学习场景。
6.实际上,目前罕见将多模态学习引入联邦学习的相关研究,尽管有少许尝试,它们却有诸多限制,例如要求不同模态的数据是不同类型的图片,而不允许是图片和文本这种差异较大的模态。又或者要求所有参与方具有所有的模态数据以便应用多模态融合方法,而多模态融合方法需要对所有模态进行统一处理后嵌入,因此无法对存在模态缺失的数据进行融合。而如果为每个参与方建立仅能处理自身数据模态的模型,又会导致该模型难以
从其他参与方处获得其他模态数据的知识,影响联邦学习模型质量和训练效率。这两方面限制在实践应用中鲜有场景适用,具有明显的局限性而不实用。
7.多模态联邦学习面临的更实用的场景是,数据模态迥异且允许缺失,例如在视觉问答任务中,某机构有图像和文本两种迥异模态的数据,而另一机构仅有图像模态数据而缺失文本模态数据。真实场景仍然极为匮乏对实用多模态联邦学习的研究,亟需放宽场景限制,研究迥异且缺失数据模态下的新型多模态联邦学习范式。因此,实现可以处理和关联来自异构数据源的多种模态信息的多模态数据联邦学习,是实现更实用的联邦学习必不可少的一环,亟需研究联邦学习在多模态场景的典型范式。
8.在实践中,训练数据呈现出多源且多模态的特性,联合分析多模态数据对机器学习效果有显著提升,这种真实需求催生了多模态机器学习这个全新的研究领域。尽管该领域已有许多关于多模态学习的研究,但这些研究假设多模态数据在云端集中存储,且训练数据可随意分享,与联邦学习中参与者数据分散且不可出域的基本隐私前提不符,因此无法直接应用于联邦学习场景。实际上,目前罕见将多模态学习引入联邦学习的相关研究,尽管有少许尝试,它们对数据模态有较强假设,首先,模态不同但得相似,其次,模态完备不能缺失。这两个假设在实践应用中鲜有场景满足,具有明显的局限性而不实用。因此,真实场景仍然极为匮乏对实用多模态联邦学习的研究,亟需放宽场景限制,研究迥异且缺失数据模态下的新型多模态联邦学习方法。


技术实现要素:

9.本发明提供了一种多模态联邦学习任务处理方法及系统,可用于提高机器学习数据资源利用率,在保证各参与方数据隐私的前提下提高各方不同任务机器学习模型的质量。
10.一方面,本发明提供了一种多模态联邦学习任务处理方法,应用于包括中心服务器和多个参与方的联邦学习系统,所述方法包括:步骤1,多模态数据的线性嵌入:参与方向中心服务器获取本地的每种数据模态的映射矩阵的维度信息,并初始化各映射矩阵;参与方对本地的各数据模态的数据样本进行切片处理,得到多个均长的数据切片;参与方基于每种数据模态的映射矩阵获取各数据样本的线性嵌入结果:通过映射矩阵对各数据切片进行线性映射,将各线性映射结果按照数据切片顺序合并,并嵌入数据样本的类别信息得到数据样本的数据片段序列,再嵌入数据样本的模态信息得到数据样本的线性嵌入结果;步骤2,基于线性嵌入的模态迁移联邦训练:各参与方向中心服务器获取模态迁移模型,所述模态迁移模型的输入为数据样本的线性嵌入结果;各参与方基于线性嵌入结果在模态迁移模型的前置任务上对模态迁移模型和映射矩阵进行一次本地训练,将当前得到的本地训练结果上传至中心服务器;中心服务器聚合各参与方在当前通信轮次上传的本地训练结果,得到模态迁移模
型和映射矩阵的聚合结果,并将聚合结果分发给各参与方,以使得各参与方执行下一通信轮次的本地训练,直到满足设定的收敛条件时停止;再以当前聚合结果得到最终的模态迁移模型和映射矩阵并分发至所有参与方;步骤3,采用同模嵌入结果进行联邦学习任务训练:各参与方基于最终的映射矩阵获取各数据样本的线性嵌入结果,并经最终的模态迁移模型得到各数据样本的同模嵌入结果;各参与方基于同模嵌入结果对中心服务器下发的联邦学习任务模型进行本地训练,得到本地模型并上传至中心服务器;中心服务器对各参与方的本地模型进行聚合处理,得到聚合模型并分发至各参与方;各参与方基于同模嵌入结果对当前收到的聚合模型进行本地训练,得到本地模型并上传至中心服务器,中心服务器对各参与方的本地模型进行聚合处理,得到新的聚合模型并分发至各参与方;当达到设定的训练终止条件时,各参与方基于当前收到的聚合模型得到多模态联邦学习模型。
11.进一步的,步骤1中,参与方对本地的各数据模态的数据样本进行切片处理具体为:基于当前数据模态的分片长度l对对应模态的数据样本进行数据切片处理,若最后一个切片的长度不足l,则采用0填充缺失部分以使其长度达到l。
12.进一步的,每种数据模态的映射矩阵的行数相同,映射矩阵的列数为对应数据模态的分片长度l,其中,映射矩阵的行数由参与方向中心服务器发起请求获取。
13.进一步的,数据样本的线性嵌入结果具体为:定义p表示数据样本的数据切片数量,y表示数据样本的数据片段序列的向量表达;向量表达y共包括p+1列,将数据样本的类别信息向量表达设置在y的指定列(优选第一列或最后一列),y的其余p列为各数据切片的线性映射结果和数据切片的位置向量构成的数据切片向量;基于数据样本的各数据切片的模态信息构建数据样本的模态矩阵s,所述模态矩阵包括p+1列,其中一列为字符填充列,模态矩阵s的字符填充列对应y中的类别信息向量表达所在的列,其余各p列分别对应y中的各列的数据切片向量所对应的数据的模态;将数据片段序列的向量表达y与模态矩阵s相加得到数据样本的线性嵌入结果。
14.进一步的,数据切片的线性映射结果和数据切片的位置向量构成的数据切片向量时,将数据切片的线性映射结果和数据切片的位置向量相加,得到各数据切片向量。
15.进一步的,步骤2中,各参与方基于线性嵌入结果在模态迁移模型的前置任务上对模态迁移模型和映射矩阵进行一次本地训练,将当前得到的本地训练结果上传至中心服务器,包括下列步骤:步骤(1),参与方初始化模态迁移模型的模型参数;步骤(2),参与方在多种数据模态的映射矩阵中随机选取一个作为当前训练的映射矩阵;步骤(3),对当前训练的映射矩阵进行更新:
步骤(3-1),基于当前训练的映射矩阵的当前值,获取对应数据模态的数据样本的线性嵌入结果并输入当前的模态迁移模型;基于模态迁移模型的输出获取前置任务的任务预测结果;基于预置的损失函数,获取当前任务预测结果的预测损失,并基于所述预测损失对映射矩阵和模态迁移模型的模型参数进行一轮更新,得到本地的当前轮训练后的模态迁移模型和映射矩阵;步骤(3-2),基于当前轮训练后的模态迁移模型和映射矩阵重复执行步骤(3-1),直到达到参与方本地的训练轮次上限;并将训练后的映射矩阵作为当前数据模态的映射矩阵的本地训练结果;步骤(4),将下一个未训练的数据模态的映射矩阵作为当前训练的映射矩阵继续执行步骤(3),直到训练完参与方本地的所有数据模态的映射矩阵;步骤(5),将最终更新后的模态迁移模型的模型参数作为参与方的模态迁移模型的本地训练结果,并与各个映射矩阵的本地训练结果一并作为参与方当前次训练的本地训练结果,并将当前次训练的本地训练结果上传至中心服务器。
16.进一步的,步骤2中,中心服务器采用联邦平均算法聚合各参与方的本地训练结果。
17.进一步的,步骤2中,中心服务器采用联邦平均算法聚合各参与方的本地训练结果时,具体包括:中心服务器分别对于每一种数据模态的映射矩阵,以及模态迁移模型执行联邦平均:;;;其中,t表示参与方与中央服务器在联邦训练时的通信轮次编号,i表示参与方编号,n表示参与方数量,j表示数据模态编号,表示第t轮次聚合得到的第j种数据模态的全局映射矩阵,cj表示所有包含第j种数据模态的参与方集合,表示参与方i的权重,表示参与方i在第t轮次上传的第j种数据模态的映射矩阵, 表示t轮次聚合得到的全局模型参数,表示参与方i在第t轮次上传的模态迁移模型的模型参数;中心服务器将得到的各种数据模态的全局映射矩阵和全局模型参数分发给各参与方;各参与方以全局映射矩阵更新本地的第j种数据模态的映射矩阵,并以全局模型参数更新本地的模态迁移模型的模型参数。
18.进一步的,所述模态迁移模型为transformer 模态迁移。
19.另一方面,本发明还提供了一种多模态联邦学习任务处理系统,所述系统包括:中
心服务器和多个参与方;中心服务器包括线性嵌入单元、模态迁移处理单元和联邦学习任务处理单元;各参与方包括线性嵌入处理单元、模态迁移训练单元和联邦学习任务训练单元;参与方向中心服务器发送获取本地的每种数据模态的映射矩阵的维度信息的请求信息;中心服务器的线性嵌入单元向参与方回传对应数据模态的映射矩阵的维度信息;参与方的线性嵌入处理单元基于收到的映射矩阵的维度信息初始化各映射矩阵;参与方的线性嵌入处理单元对各数据模态的数据样本进行切片处理,得到多个均长的数据切片;参与方的线性嵌入处理单元基于每种数据模态的映射矩阵获取各数据样本的线性嵌入结果:通过当前的映射矩阵对各数据切片进行线性映射,将各线性映射结果按照数据切片顺序合并,并嵌入数据样本的类别信息得到数据样本的数据片段序列,再嵌入数据样本的模态信息得到数据样本的线性嵌入结果并存储;每当线性嵌入处理单元检测到映射矩阵更新后,则重新基于当前的映射矩阵获取各数据样本的线性嵌入结果并存储;参与方向中心服务器发送获取模态迁移模型的请求信息;中心服务器的模态迁移处理单元向参与方回传模态迁移模型及其前置任务,所述模态迁移模型的输入为数据样本的线性嵌入结果;参与方的模态迁移训练单元读取数据样本的当前线性嵌入结果,并在模态迁移模型的前置任务上对模态迁移模型和映射矩阵进行一次本地训练,将当前得到的本地训练结果上传至中心服务器;中心服务器的模态迁移处理单元聚合各参与方在当前通信轮次上传的本地训练结果,得到模态迁移模型和映射矩阵的聚合结果,并将聚合结果分发给各参与方,以使得各参与方执行下一通信轮次的本地训练;当模态迁移处理单元检测到满足设定的收敛条件时停止;再以当前聚合结果得到最终的模态迁移模型和映射矩阵并分发至所有参与方;参与方的模态迁移训练单元收到聚合结果后,更新模态迁移模型,并触发线性嵌入处理单元基于聚合结果更新映射矩阵;参与方的联邦学习任务训练单元方向中心服务器发送获取联邦学习任务模型的请求信息;中心服务器的联邦学习任务处理单元向参与方回传联邦学习任务模型;参与方的联邦学习任务训练单元基于最终的映射矩阵获取各数据样本的线性嵌入结果,并经最终的模态迁移模型得到各数据样本的同模嵌入结果;基于同模嵌入结果对中心服务器下发的联邦学习任务模型进行本地训练,得到本地模型并上传至中心服务器;中心服务器的联邦学习任务处理单元对各参与方的本地模型进行聚合处理,得到聚合模型并分发至各参与方;各参与方的联邦学习任务训练单元基于同模嵌入结果对当前收到的聚合模型进行本地训练,得到本地模型并上传至中心服务器;中心服务器的联邦学习任务处理单元对各参与方的本地模型进行聚合处理,得到新的聚合模型并分发至各参与方,当联邦学习任务处理单元检测到当前的联邦学习任务模型的联邦学习训练达到训练终止条件时,通知各参与方训练终止,各参与方基于当前收到的聚合模型得到多模态联邦学习模型。
20.本发明提供的技术方案至少带来如下有益效果:(1)本发明支持具有不同数据模态参与方进行联邦学习训练以得到相比本地训练
更优质的模型;(2)本发明支持模态差异较大的多模态联邦学习,具有更广的适用场景;(3)本发明支持模态缺失的参与方,不需要每个参与方都具有所有数据模态就能执行训练,提高了多模态联邦学习的实用性;(4)本发明采用联邦学习方式训练不同模态的线性嵌入映射矩阵模态迁移模型,保证了不同参与方的模态迁移的一致性,便于后续联邦学习任务处理。
附图说明
21.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
22.图1是本发明实施例提供的一种多模态联邦学习任务处理方法的处理流程图;图2是本发明实施例中,多模态联邦学习处理方法的测试精度提升效果图;图3是本发明实施例提供的一种多模态联邦学习任务处理系统的结构示意图。
实施方式
23.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
24.针对联邦学习中,不同联邦学习的参与方拥有不同模态的数据的情境下,本发明提出了一种适用于多模态数据的联邦学习技术:一种多模态联邦学习任务处理方法及系统。
25.通常,数据模态主要包含三类:书面或口头的自然语言,以图像或视频为媒介的视觉信号,以及声音和韵律等编码信号和副语言信息。本发明能有效解决现有技术无法解决的模态差异情形、以及无法处理的参与方数据模态缺失情形。本发明首先使用模态迁移方法对不同的数据模态进行同模嵌入,不同于现有技术的模态融合,模态嵌入并不需要同时具备所有数据模态,因此可以应对模态缺失情形。同时模态迁移还能处理模态差异较大的不同模态。之后,以得到的模态迁移模型对所有参与方的不同模态数据进行同模嵌入,以其结果进行联邦学习训练,从而输出多模态联邦学习模型。
26.本发明是一种机器学习算法,不依赖于特定的机器学习框架,即本发明实施例提供的一种多模态联邦学习任务处理方法,应用于包括中心服务器和多个参与方(训练终端)的联邦学习系统,其中,中心服务器用于协调和聚合参数,参与方为能独立进行机器学习训练的计算设备。当联邦学习的参与方之间的数据模态构成不同时,无法使用融合模型对不同参与方的多模态数据进行同模嵌入。这是由于融合模型的输入需要包含所有模态数据以便执行融合操作(例如元素乘积),当不同参与方的模态组成不同时,例如某些参与方具有3种数据模态(自然语言、视觉信号、音频信号),另一些具有2种数据模态,那么为3种数据模态设计的模态融合方法无法作用于后者。因此,本发明提出了一种模态迁移模型取代现有的模态融合模型来实现多模态的同模嵌入。
27.其中,模态融合模型采用的“与”的处理方式,对不同模态进行融合,例如元素乘积
的方式进行融合;而本发明的迁移模型则是采用“或”的处理方式,实现模态间的迁移处理。模态迁移和模态融合的区别在于,前者可以处理不同类型的单一模态,而后者需要同时处理所有模态,当存在模态缺失时后者无法对数据进行处理,而前者仍然能对其进行处理并迁移利用不同模态数据的知识。因此,参与方数据的模态构成不一致时,选择使用模态迁移模型可以对不同数据模态的信息进行嵌入。
28.基于上述思路,本发明实施例提供的一种多模态联邦学习任务处理方法包括三个步骤:多模态数据的线性嵌入、基于线性嵌入的模态迁移联邦训练、采用同模嵌入结果进行联邦学习任务训练,如图1所示,首先采用多模态数据的线性嵌入方式对不同模态数据执行模态的线性嵌入,然后利用基于线性嵌入的transformer模态迁移模型实现不同模态的模态迁移并实现同模嵌入,再以同模嵌入为基础执行联邦训练得到支持多模态的联邦学习模型,即多模态联邦学习模型,以完成多模态学习任务处理。进而参与方可基于该联邦训练得到的多模态联邦学习模型对新数据进行预测来实现多模态联邦学习模型的应用。其中,各步骤的具体实现过程分别为:(1)多模态数据的线性嵌入。
29.考虑n个参与方进行多模态联邦学习,每个参与方拥有mi个模态的数据,对于参与方i(l《=i《=n),其模态迁移模型定义为ma(ui)。其中ma表示迁移模型的架构,即特定的神经网络结构,ui表示该神经网络的参数向量,即该神经网络各层的权重参数的值。模态迁移模型的作用是对任意种类的单一模态输入提取有效信息用于后续任务的执行。
30.为了处理不同模态数据的输入,本发明对不同模态的数据首先进行切片处理,得到数据切片,之后对得到的数据切片进行线性映射,再将线性映射结果按照切片顺序合并以获取数据片段序列。
31.对于任意一种模态的样本x的数据,本发明可以根据其自然属性切割为连续的多个数据切片,并将其类别信息嵌入,得到数据片段序列:y=[x
class
,tx1+v1,tx2+v2,
ꢀ…
,tx
p
+v
p
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)即数据片段序列包括:各数据切片的线性映射结果txk和vk位置向量构成的数据切片向量,以及数据片段序列的类别向量x
class
,通常可将x
class
置于数据片段序列的向量表达y的首尾。优选首部位置。其中,xk(1《=k《=p)表示样本x的数据片段序列的第k个数据切片的向量表达,例如图像的相邻区域的像素值,音频波形序列数据或文本字符序列中的相邻的连续值。对于单一模态,要确保其数据切片大小相同,定义l表示每种数据模态的分片长度,即每个xk的长度相同,为l。即本发明实施例中,以长度l进行数据切片处理,若最后一个切片的长度不足l,可以采用0填充缺失部分以使其长度达到l。p表示样本x的数据切片数量。x
class
是样本x的类别向量,类别向量可以由实际应用时选定的类别编码方式得到,例如独热编码(one-hot编码)等。t是数据切片的映射矩阵,用于将数据切片转化为符合嵌入维度的向量,由于数据切片的长度为l,因此t矩阵的列数为l以满足矩阵乘法需求,其行数r为超参数,可以根据数据量以及计算处理能力选定,即映射矩阵t的初始值为预设值(可以在参与方初始化,也可以直接由中心服务器进行初始化),最终经训练确定最终的矩阵t。vk是位置向量,对应每一个xk(1《=k《=p),表明该数据切片xk在其组成的样本x中的位置。y用于表征一个数据片段序列,即数据片段序列的向量表达,要保证对不同模态数据得到数据片段序列中的元素(即y的列向量)具有相同的长度,就需要对于不同模态数据选择的映射矩阵tj(j
表示模态区分符)t的行数相等,即r相同。但对于原始数据切片的大小,不同数据模态的数据切片大小不需要相同,即不同模态对应的l不需要相同,因为可以通过不同模态数据对应的映射矩阵tj进行转换。
[0032]
为了处理不同模态,本发明实施例中,还需要将模态信息嵌入:z=y+s
ꢀꢀꢀꢀꢀꢀ
(2)其中,s为样本x对应的模态矩阵,根据不同类别的模态信息进行类别编码,除了第一列外,其每一列对应y中该列的txi+vi所对应的数据的模态。显然对于单个原始数据样本x来说其不同数据切片的模态是相同的,因此s对应的每一列也应该相同。而第一列对应x
class
不包含模态信息,可以使用指定的字符填充,例如全0值填充。即模态矩阵s的字符填充列与数据片段序列的向量表达y的类别向量所在的列相对应,z即为数据片段序列的线性嵌入结果,即线性嵌入数据序列的向量表达。
[0033]
通过上述步骤,本发明实施例可以将不同的模态的样本数据和其对应的模态类别信息嵌入并得到一个统一规格的数据序列中。由于该数据序列中包含了模态信息,所以能够处理该数据序列的模型应该能够处理不同种类模态的数据。
[0034]
(2)基于线性嵌入的模态迁移联邦训练。
[0035]
本发明中,线性嵌入的核心是映射矩阵t,该矩阵可将不同模态类型的数据切片映射到线性嵌入数据序列中。
[0036]
本发明实施例中,采用机器学习训练的方式训练得到每种模态适合的映射矩阵。优选的,使用transformer神经网络模型以及不同模态的前置任务来实现同时训练得到映射矩阵t和模态迁移模型。如果训练得到的模型能够针对不同模态数据很好的完成前置任务,那么说明不同模态的映射矩阵t能够令线性映射结果保留原始数据的信息。其中,前置任务是对应模态数据的机器学习任务,由于前置任务的作用是仅仅用于训练模态嵌入的所用的模态矩阵和模态迁移模型,因此前置任务不需要和联邦学习目标任务高度相关。
[0037]
本发明实施例中,选择使用transformer模型处理不同模态数据线性嵌入的结果,针对前置任务,使用联邦学习的方法训练该transformer模型和每种模态的映射矩阵。理论上,几乎所有的现有联邦学习算法都可以用来训练该transformer模型,优选的,可采用联邦平均算法,在通信轮次t中,首先参与方本地训练其transformer模型和本地模态映射矩阵,之后上传映射矩阵和模型到中心服务器,由中心服务器分别对于每一种模态的映射矩阵以及模型ma(ui)执行联邦平均,其对应的表达式为:(3)(4) (5)其中,t表示参与方与中央服务器在联邦训练时的通信轮次编号,i表示参与方编号,n表示参与方数量,j表示数据模态编号,表示第t轮次聚合得到的第j种数据模态的全局映射矩阵(g表示全局对象),cj表示所有包含第j种数据模态的参与方集合,表示参
与方i的权重,表示参与方i在第t轮次上传的第j种数据模态的映射矩阵, 表示t轮次聚合得到的全局模型参数,表示参与方i在第t轮次上传的模态迁移模型的模型参数;中心服务器将得到的各种数据模态的全局映射矩阵和全局模型参数分发给各参与方,用做t+1轮次本地训练的初始值。
[0038]
作为一种可能的实现方式,本发明实施例中,基于线性嵌入的transformer模态迁移联邦训练过程包括下列步骤:1)在参与方本地先将不同模态训练数据分离。
[0039]
2)对于第一种模态(随机指定其中一种),随机初始化其映射矩阵以及transformer模型参数(transformer模型由中心服务器下发至各参与方),并进行线性嵌入,以线性嵌入结果在前置任务上进行训练。
[0040]
例如基于预置的训练损失函数,采用随机梯度下降法或自适应学习率的梯度下降算法对模态迁移模型的模型参数和映射矩阵进行更新,以得到本地训练结果。
[0041]
3)对于其余模态,依次随机初始化其映射矩阵,继续训练2)中得到的transformer模型和对应模态的映射矩阵。
[0042]
4)在所有参与方本地,依1)、2)和3)完成本地训练并上传其训练得到的不同模态的映射矩阵和transformer模型。
[0043]
5)由中心服务器按照联邦平均的方法聚合接收到的来自不同参与方的不同类别的模态映射矩阵,以及transformer模型,并将聚合结果回传给各参与方。
[0044]
6)各参与方使用接收到的不同模态的映射矩阵和transformer模型作为初始值重复2)-5),直至达到设定的收敛条件。
[0045]
训练完成后,可以得到对于任意模态有效的对应映射矩阵以及 transformer 模态迁移模型。之后,向所有参与方分发最终的映射矩阵和模态迁移模型,此时,参与方利用不同模态的映射矩阵和transformer模态迁移模型在本地实现对自身不同模态数据的模态迁移,得到同模嵌入结果。
[0046]
(3)采用同模嵌入结果进行联邦学习任务训练。
[0047]
处理完成后,各参与方得到不同模态数据的同模嵌入结果,这些同模嵌入结果可以被作为同模态数据处理,因此,可以使用任意单一模态的联邦学习方法对其进行训练以完成联邦学习的目标任务。
[0048]
本发明实施例中,应用联邦平均算法执行该操作,即首先各参与方在本地以同模嵌入结果训练本地模型(来自于中心服务器下发的联邦学习的目标任务模型),达到由中心服务器统一设定的一定轮次后,训练暂停并上传本地模型至中心服务器,中心服务器根据各参与方权重对不同参与方上传的模型进行加权平均值聚合,得到的聚合模型再分发至各参与方,重复上述过程,直到达到设定的训练终止条件以完成多模态联邦学习模型的训练。
[0049]
经过上述过程,每个参与方都得到了不同模态数据的模态映射矩阵和模态迁移模型,以及多模态联邦学习模型。不同于单一模态的联邦学习模型可以直接对新数据进行预测或分类,本发明在应用所得到的多模态联邦学习模型时(即多模态联邦学习模型应用于新数据时),包括线性嵌入、模态迁移和联邦预测,其中,线性嵌入指使用最终的模态映射矩阵和模态迁移模型依次对新的数据样本执行线性映射和模态迁移操作,即首先对新数据进
行数据切片,经线性映射矩阵获取其对应的线性嵌入结果;模态迁移是指将得到的线性嵌入结果输入最终的模态迁移模型,获取其同模嵌入结果;最后基于该同模嵌入结果执行联邦预测,即将同模嵌入结果输入多模态联邦学习模型,基于其输出得到新数据的任务处理结果(联邦预测结果)。例如,当参与方使用多模态联邦学习模型对新的数据样本进行处理分类时,首先根据当前数据样本的模态将数据按照该模态对应切片大小进行切片并使用对应的模态映射矩阵和公式(1)和(2)进行线性嵌入,之后将线性嵌入的结果输入模态迁移模型得到同模嵌入结果,最后将同模嵌入结果输入多模态联邦学习模型,输出当前数据样本的分类结果。
[0050]
例如,在包含三个参与方的联邦学习系统中应用本发明实施例提供的一种多模态联邦学习任务处理方法,实施本发明实施例方法后,三个参与方的多模态分类模型精度提升如图2所示,其中“总体”表示该参与方模型在本地测试集上总体精度的提升比例,“最低”指测试集中表现最差的模态的样本的精度提升比例,“最高”指测试集中表现最好的模态的样本的精度提升比例。可以看出应用本发明实施例方法在三个参与方上都带来较显著的模型质量提升。
[0051]
如图3所示,本发明实施例提供的一种多模态联邦学习任务处理系统,包括中心服务器和多个参与方;中心服务器包括线性嵌入单元、模态迁移处理单元和联邦学习任务处理单元;各参与方包括线性嵌入处理单元、模态迁移训练单元和联邦学习任务训练单元;参与方向中心服务器发送获取本地的每种数据模态的映射矩阵的维度信息的请求信息;中心服务器的线性嵌入单元向参与方回传对应数据模态的映射矩阵的维度信息;参与方的线性嵌入处理单元基于收到的映射矩阵的维度信息初始化各映射矩阵;参与方的线性嵌入处理单元对各数据模态的数据样本进行切片处理,得到多个均长的数据切片;参与方的线性嵌入处理单元基于每种数据模态的映射矩阵获取各数据样本的线性嵌入结果:通过当前的映射矩阵对各数据切片进行线性映射,将各线性映射结果按照数据切片顺序合并,并嵌入数据样本的类别信息得到数据样本的数据片段序列,再嵌入数据样本的模态信息得到数据样本的线性嵌入结果并存储;每当线性嵌入处理单元检测到映射矩阵更新后,则重新基于当前的映射矩阵获取各数据样本的线性嵌入结果并存储;参与方向中心服务器发送获取模态迁移模型的请求信息;中心服务器的模态迁移处理单元向参与方回传模态迁移模型及其前置任务,所述模态迁移模型的输入为数据样本的线性嵌入结果;参与方的模态迁移训练单元读取数据样本的当前线性嵌入结果,并在模态迁移模型的前置任务上对模态迁移模型和映射矩阵进行一次本地训练,将当前得到的本地训练结果上传至中心服务器;中心服务器的模态迁移处理单元聚合各参与方在当前通信轮次上传的本地训练结果,得到模态迁移模型和映射矩阵的聚合结果,并将聚合结果分发给各参与方,以使得各参与方执行下一通信轮次的本地训练;当模态迁移处理单元检测到满足设定的收敛条件时停止;以当前聚合结果得到最终的模态迁移模型和映射矩阵并分发至所有参与方;参与方的模态迁移训练单元收到聚合结果后,更新模态迁移模型,并触发线性嵌
入处理单元基于聚合结果更新映射矩阵;参与方的联邦学习任务训练单元方向中心服务器发送获取联邦学习任务模型的请求信息;中心服务器的联邦学习任务处理单元向参与方回传联邦学习任务模型;参与方的联邦学习任务训练单元基于最终的映射矩阵获取各数据样本的线性嵌入结果,并经最终的模态迁移模型得到各数据样本的同模嵌入结果;基于同模嵌入结果对中心服务器下发的联邦学习任务模型进行本地训练,得到本地模型并上传至中心服务器;中心服务器的联邦学习任务处理单元对各参与方的本地模型进行聚合处理,得到聚合模型并分发至各参与方;各参与方的联邦学习任务训练单元基于同模嵌入结果对当前收到的聚合模型进行本地训练,得到本地模型并上传至中心服务器;中心服务器的联邦学习任务处理单元对各参与方的本地模型进行聚合处理,得到新的聚合模型并分发至各参与方,当联邦学习任务处理单元检测到当前的联邦学习任务模型的联邦学习训练达到训练终止条件时,通知各参与方训练终止,各参与方基于当前收到的聚合模型得到多模态联邦学习模型。
[0052]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
[0053]
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1