面向联邦学习的动态个性化网络构建方法及装置

文档序号:30974486发布日期:2022-08-02 22:55阅读:184来源:国知局
面向联邦学习的动态个性化网络构建方法及装置

1.本发明涉及个性化网络的构建方法,特别涉及一种面向联邦学习的动态个性化网络构建方法及装置。


背景技术:

2.深度神经网络已经在计算机视觉、自然语言处理等领域取得了较大的成功,也见证alexnet、resnet以及transformer等高效神经网络的诞生,同时也赋予了许多移动深度学习的发展,例如移动芯片组配备越来越来多的专业处理单元来更高效的执行dnn。因此,人们在移动设备上的模型训练中对设备的性能、能源的消耗和数据的隐私等提出了更高的要求。
3.通常,dnn模型在数据集上训练并实现模型的泛化操作。然而,由于数据在现实生活中常以非独立同分布的形式出现,因此全局模型在训练过后无法达到一个期望的状态。联邦学习作为一种新兴的分布式机器学习范式,在解决数据隐私泄露的同时可以完成模型的训练。然而设备数据固有的非独立同分布,以及设备内数据存在的长尾分布。例如,在设备上存在的图片类型可能与用户的喜好和环境相关,而且图片间的辨识度也不尽相同。设备自身的性能水平也参差不齐,客户机的性能可能无法满足对全局模型训练的需求,有的参与者甚至无法获得一个比仅采用本地数据训练模型更优的模型,大大降低了部分用户参与联邦学习的积极性。让每个参与方都在学习的过程中获益,一种有效的方法是在设备、数据和模型上进行个性化处理,在减轻异构性影响的同时,每个设备获得高质量的个性化模型。基本策略分为两部分:1)通过客户机的相互协作完成全局模型的构建;2)使用客户机数据为其进行全局模型的个性化处理,并衍生出了许多个性化联邦学习方案。主要包括:1)增加用户的上下文,但是由于上下文特征化是否存在泄漏隐私的问题有待商榷;2)联邦迁移学习,或多或少的存在灾难性遗忘的问题;3)联邦多任务学习,为每个任务生成模型时,所有的客户端都必须参与每一轮的训练;4)联邦知识蒸馏,中针对小样本的数据集用户很容易过拟合;5)联邦元学习,可以构建出一个高精度的全局模型,但是会损害到模型的个性化能力。
4.虽然近几年在联邦学习个性化的构建方面已经进行了不少工作,但是目前对与个性化模型的构建主要是基于静态的网络结构,意味着所有的样本消耗着相同的计算量。选择小的模型可能无法得到一个很好的训练,选择较大的模型带来不可避免的冗余计算。这在一定程度上限制了模型的表达能力、推理效率和解释性。此外,在测试阶段,样本推理过程依旧是计算资源无法合理的释放,参与预测的模型也比较单一,无法达到样本个性化网络的预测。
5.针对目前个性化联邦学习模型容量释放难、设备计算资源分配难、训练模型结构单一等缺点。因此,针对联邦学习个性化方法进行动态化构建,从而拥有静态网络无法享有的良好特性。1)可以通过选择性激活模块来实现计算资源的按需分配,从而在更容易识别的样本上节约冗余计算;2)在模型增加极小的前提下显著提升模型效果;3)依据不同运行
环境实现模型精度和效率的动态平衡。


技术实现要素:

6.本发明的主要目的在于克服现有技术的缺点与不足,提供了一种面向联邦学习的动态个性化网络构建方法及装置,在提高模型训练和预测的加速比的同时,在样本推理的过程中生成本地个性化的模型结构,从而在获得个性化网络的同时,节约设备的资源和网络带宽。
7.为了达到上述目的,本发明采用以下技术方案:
8.本发明一方面提供了一种面向联邦学习的动态个性化网络构建方法,包括下述步骤:
9.创建神经网络模型,对神经网络模型进行初始化后发送至客户端;
10.按照早退策略对客户端的样本进行动态计算,并完成对早退层的更新;
11.选择早退策略执行层,对选中的早退层中的参数进行选择性发送,所述需要选取的参数依据训练前后节点参数变化的大小来判断,变化大的加入发送的队列,变化小的不参与全局模型的更新;
12.服务器在接收到由客户端上传的节点和参数后,依据聚合策略完成对早退层节点权重的聚合;
13.接收来自服务器聚合之后的参数,完成客户端中模型参数的更新操作,借助对早退层的更新完成个性化网络的构建。
14.作为优选的技术方案,在创建神经网络模型后,还包括下述步骤:
15.为创建的神经网络模型进行初始化;在客户端模型推理前,为模型的早退设置早退阈值tq;在客户端模型完成推理后,为客户端模型的参数发送设置发送阈值ts;在服务端接收客户端的参数后,为客户端模型聚合设置聚合阈值ta。
16.作为优选的技术方案,所述模型的参数由模型的初始值、早退策略、参数发送策略和参数聚合策略共同决定;模型参数用于统一模型初始状态;客户端的早退策略用于样本训练中的客户端模型推理;客户端模型参数的发送策略用于筛选出符合发送要求的节点及其相应参数;服务端对模型参数的聚合策略用于对接收到的客户端参数进行更新。
17.作为优选的技术方案,所述神经网络模型的参数初始值随着时间推移逐渐趋于固定的波动范围。
18.作为优选的技术方案,所述按照早退策略对客户端的样本进行动态计算,并完成对早退层的更新,具体为:
19.计算该层样本的预测向量同推理时的退出阈值tq做出比较,选择出预测向量中大于tq的最大
20.若预测向量最大的值对应的分类标签与样本的真实标签σ(p
i,max
)相同,则与下一层样本的预测向量结果对比;
21.若下一层退出样本最大值对应的分类标签与样本的真实标签σ(p
i+1,max
)相同,该层标记为退出层,样本从本层退出,并对模型中该层及其之前的层进行更新;
22.若下一层退出样本最大值对应的分类标签与样本的真实标签σ(p
i+1,max
)不相同,则该层标记为非退出层,样本进入下一层进行预测;
23.若预测向量最大的值对应的分类标签与样本的真实标签σ(p
i,max
)不相同,则该层标记为非退出层,样本进入下一层进行预测;
24.若没有找到适合的退出层,则以模型的最后一层标记为退出层,完成模型的参数的更新。
25.作为优选的技术方案,所述所述需要选取的参数依据训练前后节点参数变化的大小来判断,变化大的加入发送的队列,变化小的不参与全局模型的更新,具体为:
26.计算客户端在模型推理过程中的最大深度,比较客户端中模型早退层在训练前后的节点参数之间的差异程度d
i,j

27.若节点参数之间的差异程度d
i,j
大于发送阈值ts,则对应节点及其参数加入发送队列
28.若节点参数之间的差异程度di小于发送阈值ts,则对应节点及其参数不参与发送。
29.作为优选的技术方案,所述服务器在接收到由客户端上传的节点和参数后,依据聚合策略完成对早退层节点权重的聚合,具体为:
30.计算由各个客户端上传节点重复度r
i,j
的大小,同聚合阈值ta做出对比;
31.若r
i,j
大于聚合阈值ta,计算相同节点对应参数的平均值,对客户端和服务端节点的参数进行更新;
32.若ri小于聚合阈值ta,仅对服务端对应节点进行更新。
33.本发明另一方面提供了一种面向联邦学习的动态个性化网络构建方法系统,包括神经网络模型创建模块、模型训练模块、参数选取模块、聚合模块和网络构建模块;
34.所述神经网络模型创建模块,用于创建神经网络模型,对神经网络模型进行初始化后发送至客户端;
35.所述模型训练模块,用于按照早退策略对客户端的样本进行动态计算,并完成对早退层的更新;
36.所述参数选取模块,用于选择早退策略执行层,对选中的早退层中的参数进行选择性发送,所述需要选取的参数依据训练前后节点参数变化的大小来判断,变化大的加入发送的队列,变化小的不参与全局模型的更新;
37.所述聚合模块,用于服务器在接收到由客户端上传的节点和参数后,依据聚合策略完成对早退层节点权重的聚合;
38.所述网络构建模块,用于接收来自服务器聚合之后的参数,完成客户端中模型参数的更新操作,借助对早退层的更新完成个性化网络的构建。
39.本发明又一方面提供了一种电子设备,所述电子设备包括:
40.至少一个处理器;以及,
41.与所述至少一个处理器通信连接的存储器;其中,
42.所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的面向联邦学习的动态个性化网络构建方法。
43.本发明再一方面提供了一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现所述的面向联邦学习的动态个性化网络构建方法。
44.本发明与现有技术相比,具有如下优点和有益效果:
45.(1)本发明是基于动态神经网络,与一般的联邦个性化学习的训练不同,本方法中通过客户机拥有数据,在训练阶段动态的利用计算资源,让网络将更多的精力集中到复杂样本的训练中去;在预测阶段,动态的使用客户机的资源实现样本预测。
46.(2)本发明采用耐心的早退机制,对临近层之间的预测向量进行对比,保证了样本在退出模型推理时的鲁棒性,动态释放了网路容量和计算资源。
47.(3)本发明以发送阈值作为依据,有选择的发送更新节点以及参数,减少了在模型发送过程中对带宽产生的压力,降低了对网络环境的要求。
48.(4)针对模型参数的聚合,本发明在保证模型个性化的同时,最大程度上实现了客户端之间信息共享。
附图说明
49.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1为本发明面向联邦学习的动态个性化网络构建方法示意图。
51.图2为本发明动态个性化网络的训练示意图。
52.图3为本发明客户机模型参数发送流程图。
53.图4为本发明服务器模型参数聚合流程图。
54.图5为本发明面向联邦学习的动态个性化网络构建系统的结构示意图。
55.图6是本发明计算机可读存储介质的结构示意图。
具体实施方式
56.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
57.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
58.如图1所示,本实施例一种面向联邦学习的动态个性化网络构建方法,包括下述步骤:
59.s1、在服务端中创建神经网络模型,完成神经网络模型的初始化操作,并将初始化好的模型发送到客户端。
60.可以理解的是,初始化包含的内容:模型的参数θi、客户端模型的早退策略、客户
端模型参数的发送策略以及服务端对模型参数的聚合策略;所述模型的参数由模型的初始值、早退策略、参数发送策略和参数聚合策略共同决定;模型参数用于统一模型初始状态;客户端的早退策略用于样本训练中的客户端模型推理;客户端中模型参数的发送策略用于筛选出符合发送要求的节点及其相应参数;服务端对模型参数的聚合策略用于对接收到的客户端参数进行更新。
61.进一步的,在创建神经网络后,为创建的模型进行初始化参数θ0;在对客户端中模型推理前,为模型的早退设置早退阈值tq;在客户端中模型完成推理后,为模型早退层的参数发送设置发送阈值ts;在服务端接收客户端的参数后,为来自客户端的节点及其对应的参数聚合设置聚合阈值ta。
62.s2、客户机样本在进行动态模型训练时,假设模型一共有n层,分别去计算临近层之间的预测向量和并选出和中的和
63.如果当前并非是第n层,且且样本的推理则从第i层退出;
64.如果当前并非是第n层,或者或者σ(p
i,max
)≠σ(p
i+1,max
)或者或者样本的推理从第i+1层开始;
65.如果当前层为第n层,从第n层退出。
66.s3、客户端在完成训练后,需要对早退层选择上传的节点及其相应的参数。模型中早退层在训练前后的节点参数之间的差异程度d
i,j
,找到符合要求的节点,其中发送阈值的对比方法为:
67.如果d
i,j
≥ts,将第i层的第j个节点对应的参数加入发送队列s中;
68.如果d
i,j
<ts,不加入发送队列s。
69.s4、服务器在得到客户端上传的节点及其参数后,需要完成全局模型和客户端节点权重的聚合操作,对比来自不同客户机节点之间的重复度r
i,j
,实现节点之间的聚合更新以及全局模型的更新。其中重复度的对比方法为:
70.如果r
i,j
≥ta,对客户端和全局模型的节点和对应参数权重进行更新;
71.如果r
i,j
<ta,
72.s5、接收来自服务器聚合之后的参数,完成客户端中模型参数的更新操作,借助对早退层的更新完成个性化网络的构建。
73.在本技术的另一个实施例中,应用本发明到基于联邦学习的图像动态个性化网络构建,请参阅图1,具体为:
74.首先随机的去生成一个深度神经网络,为其进行网络初始化操作,模型初始化参数随着时间的推移逐渐趋于稳定,直至在稳定的区间波动。同时指定早退阈值、发送阈值和聚合阈值的大小。待客户端接收到来自服务端的模型后,按照模型的早退策略训练本地模型,等待本地样本完成模型的推理。在完成模型的推理后,依照发送参数的选择策略,将需要发送的节点信息加入发送队列,并将队列中的信息提交给服务端。待服务端接收来自客
户端的参数后,依照参数的聚合策略实现聚合,完成对服务端和客户端参数的更新操作。
75.如图2,所述动态个性化网络的训练过程,以图片样本在网络层中输出的分类置信度作为参照,并计算其后续一层的分类置信度;通过两个执行度与早退阈值之间的对比,保证了在样本正确分类的前提下,以一种高可信的状态下,进行网络层退出的操作,从而将模型的注意力集中到复杂的训练样本中。
76.如图3,所述的客户端模型参数的发送策略,以客户端中样本训练完后的网络为例,对比训练前后节点之间的变化大小,可以将节点的类型进行快速的区分。对于客户端向服务端发送参数,这么一来可以在一定程度上减少发送参数的数量。
77.如图4,所述服务端模型参数的聚合策略,服务器接收到来自客户端的特定节点,这部分主要包括对客户端个性化的保存、客户端间特性的分享以及全局模型的更新。基于节点重复度的对比,可以针对共享节点信息的学习以及个性化节点特性的保存。
78.需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
79.基于与上述实施例中的面向联邦学习的动态个性化网络构建方法相同的思想,本发明还提供了面向联邦学习的动态个性化网络构建系统,该系统可用于执行上述面向联邦学习的动态个性化网络构建方法。为了便于说明,面向联邦学习的动态个性化网络构建系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
80.如图5所示,在本技术的另一个实施例中,提供了一种面向联邦学习的动态个性化网络构建系统100,该系统包括神经网络模型创建模块101、模型训练模块102、参数选取模块103、聚合模块104和网络构建模块105;
81.所述神经网络模型创建模块101,用于创建神经网络模型,对神经网络模型进行初始化后发送至客户端;
82.所述模型训练模块102,用于按照早退策略对客户端的样本进行动态计算,并完成对早退层的更新;
83.所述参数选取模块103,用于选择早退策略执行层,对选中的早退层中的参数进行选择性发送,所述需要选取的参数依据训练前后节点参数变化的大小来判断,变化大的加入发送的队列,变化小的不参与全局模型的更新;
84.所述聚合模块104,用于服务器在接收到由客户端上传的节点和参数后,依据聚合策略完成对早退层节点权重的聚合;
85.所述网络构建模块105,用于接收来自服务器聚合之后的参数,完成客户端中模型参数的更新操作,借助对早退层的更新完成个性化网络的构建。
86.需要说明的是,本发明的面向联邦学习的动态个性化网络构建系统与本发明的面向联邦学习的动态个性化网络构建方法一一对应,在上述面向联邦学习的动态个性化网络构建方法的实施例阐述的技术特征及其有益效果均适用于面向联邦学习的动态个性化网络构建的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
87.此外,上述实施例的面向联邦学习的动态个性化网络构建系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述面向联邦学习的动态个性化网络构建系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
88.请参阅图6,在一个实施例中,提供了一种实现面向联邦学习的动态个性化网络构建方法的电子设备,所述电子设备200可以包括第一处理器201、第一存储器202和总线,还可以包括存储在所述第一存储器202中并可在所述第一处理器201上运行的计算机程序,如动态个性化网络构建程序203。
89.其中,所述第一存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器202在一些实施例中可以是电子设备200的内部存储单元,例如该电子设备200的移动硬盘。所述第一存储器202在另一些实施例中也可以是电子设备200的外部存储设备,例如电子设备200上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(securedigital,sd)卡、闪存卡(flash card)等。进一步地,所述第一存储器202还可以既包括电子设备200的内部存储单元也包括外部存储设备。所述第一存储器202不仅可以用于存储安装于电子设备200的应用软件及各类数据,例如动态个性化网络构建程序203的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
90.所述第一处理器201在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器201是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器202内的程序或者模块,以及调用存储在所述第一存储器202内的数据,以执行电子设备200的各种功能和处理数据。
91.图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对所述电子设备200的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
92.所述电子设备200中的所述第一存储器202存储的动态个性化网络构建程序203是多个指令的组合,在所述第一处理器201中运行时,可以实现:
93.创建神经网络模型,对神经网络模型进行初始化后发送至客户端;
94.按照早退策略对客户端的样本进行动态计算,并完成对早退层的更新;
95.选择早退策略执行层,对选中的早退层中的参数进行选择性发送,所述需要选取的参数依据训练前后节点参数变化的大小来判断,变化大的加入发送的队列,变化小的不参与全局模型的更新;
96.服务器在接收到由客户端上传的节点和参数后,依据聚合策略完成对早退层节点权重的聚合;
97.接收来自服务器聚合之后的参数,完成客户端中模型参数的更新操作,借助对早退层的更新完成个性化网络的构建。
98.进一步地,所述电子设备200集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
99.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
100.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
101.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1