一种GAN的训练方法、机器学习系统及通信装置与流程

文档序号:32837077发布日期:2023-01-06 19:27阅读:34来源:国知局
一种GAN的训练方法、机器学习系统及通信装置与流程
一种gan的训练方法、机器学习系统及通信装置
1.本技术要求在2021年06月21日提交中国专利局、申请号为202110688066.4、申请名称为“一种gan的训练方法、机器学习系统及通信装置”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术实施例涉及通信技术及人工智能(artificial intelligence,ai)领域,尤其涉及一种gan的训练方法、机器学习系统及通信装置。


背景技术:

3.生成模型(generative models,gm)是近年来计算机视觉领域中一个快速发展的研究方向。2014年,ian goodfellow提出了一种基于概率分布以用于生成拟真数据的生成模型,取名为生成对抗网络(generative adversarial network,gan)。因其具有近似复杂概率密度函数的能力,生成对抗网络已被证实可用于包括图像生成、视频生成和自然语言处理在内的各类机器学习任务。
4.随着大数据时代的到来,设备每天都会以各种形式产生大量的原始数据。但是基于gan的集中式学习在数据传输时,会上报大量的数据,由于无线信道的有限带宽和传输不可靠性,在终端上传梯度更新时会存在信道误码,影响全局模型训练的收敛的情况,gan的训练效率较低。


技术实现要素:

5.本技术提供一种gan的训练方法、机器学习系统及通信装置,以减少设备间信息的上报,提高gan的训练效率。
6.第一方面,本技术提供一种生成gan的训练方法,该方法可应用于机器学习系统中,机器学习系统包括第一设备和第二设备,第一设备运行有第一gan,第二设备运行有第二gan,第一gan包括第一生成器和第一判别器,第二gan包括第二生成器和第二判别器。其中,第一设备可以为终端设备,如:用户设备(user equipment,ue)、车载设备等,也可以理解为终端设备中的模块(例如,芯片),第二设备可以为网络设备,如:传输接收点(transmission reception point,trp)、5g基站(gnodeb,gnb)等,也可以理解为网络设备中的模块(例如,芯片),本技术在此不作具体限定。
7.该方法包括:第一设备传输第一设备的第一判别器的参数至第二设备,第一判别器的参数为第一设备基于本地数据和第一设备的第一生成器的参数确定的;接收来自第二设备的第二判别器的参数以及第二生成器的参数,第二判别器的参数为第二设备对来自至少一个第一设备的第一判别器的参数进行参数聚合确定的,第二生成器的参数为第二设备基于第二判别器的参数确定的;通过第二判别器的参数和第二生成器的参数,更新第一判别器的参数和第一生成器的参数。
8.本技术中,gan的训练是通过第一设备和第二设备的交互实现的,第一设备将第一
判别器的参数传输至第二设备以便第二设备进行参数聚合确定第二判别器的参数,而不是将本地原始数据传输至第二设备,该方式可保证第一设备的用户数据的隐私性,且相对于传输本地原始数据而言,第一判别器的参数的数据量明显降低。此外,gan在训练时,第一判别器的参数和第一生成器的参数的更新是通过第二设备的第二判别器的参数和第二生成器的参数确定的,通过该方式可以减少第一设备的数据处理压力,提高gan的训练效率。
9.在一种可选的方式中,第一判别器的参数可为第一设备基于本地数据、第一生成器的参数以及第一随机数样本集合确定的;第二生成器的参数可为第二设备基于第二判别器的参数和第二随机数样本集合确定的;其中,第二随机数样本集合与x个第一设备的第一随机数样本集合的并集相同,x个第一设备均传输第一判别器的参数至第二设备,x为大于等于1的正整数。
10.需要说明的是,在实际应用时,可将第一随机数样本输入到以第一生成器的参数为参数的第一生成器中获取“虚假”数据,之后通过“虚假”数据和真实数据也即本地数据输入到第一判别器中,对第一判别器进行训练,得到第一判别器的参数。将第二随机数样本以及第二判别器的参数输入到第二生成器中,对第二生成器进行训练,得到第二生成器的参数。此外,由于第二设备可能与多个第一设备通信连接,第二随机数样本集合包括向其传输第一判别器的参数的所有第一设备的第一随机数样本,该第一随机数样本可以是第一设备主动发送的,也可以是第二设备采用与第一设备相同的随机数生成方式生成的,本技术在此不作具体限定。第二随机数样本集合与x个第一设备的第一随机数样本集合的并集相同,可以保证gan的训练得以进行。
11.在一种可选的方式中,第一判别器的参数可以更新m次,m为大于等于1的正整数,其中,第i+1次第一判别器的参数的更新可以是第一设备基于本地数据、第i次更新后的第一生成器的参数以及第一随机数样本集合确定的,i取遍1~(m-1)中的任一整数。
12.需要说明的是,本实施例提出的“交替更新”训练机制采用第一设备的第一判别器和第二设备的第二生成器互相“对抗”进行训练的方式,可以有效提升每一个训练周期内模型的性能增益,从而减少达到模型收敛所需的总训练周期数,降低第一设备与第二设备之间的通信开销。在通信受限而计算充足的系统中(如窄带蜂窝系统),使用“交替更新”训练机制可以有效地加快训练过程。
13.在另一种可选的方式中,第一判别器的参数可以更新m次,m为大于等于1的正整数,第i次第一判别器的参数的更新可以是第一设备基于本地数据、第i次更新后的第一生成器的参数以及第一随机数样本集合确定的,i取遍1~m中的任一整数。
14.需要说明的是,本实施例提出的“同时更新”训练机制采用第一设备和第二设备同时基于同一组更新前的模型参数进行训练的方式,可有效实现第一设备的第一判别器和第二设备第二生成器模型更新的并行化,可有效地降低每轮训练的时延。在计算受限而通信充足的系统中(如宽带传感器网络),使用“同步更新”训练机制可以有效地加快训练过程。
15.在一种可选的方式中,第一随机数样本集合和第二随机数样本集合是基于相同的伪随机数算法确定的。
16.相应的,第一随机数样本集合可以通过下述方式确定:
17.第一设备可选取随机数种子;确定第一预设随机数样本集合中的元素的个数;将随机数种子以及第一预设随机数样本集合中的元素的个数输入到伪随机数生成器中确定
第一随机数样本集合。
18.在另一种可选的方式中,第一随机数样本集合和第二随机数样本集合是基于相同的随机数码本确定的。
19.相应的,第一设备可选择码本初始位置;确定第二预设随机数样本集合中的元素的个数;基于码本初始位置以及第二预设随机数样本集合中的元素的个数查询随机数码本确定第一随机数样本集合。
20.在一种可选的方式中,第一设备传输第一判别器的参数至第二设备之前,还可接收来自第二设备的随机数样本集合同步信息。
21.在一种可选的方式中,第一设备传输第一判别器的参数至第二设备之前,还可传输随机数样本集合同步信息至第二设备。
22.第二方面,本技术提供一种gan的训练方法,应用于机器学习系统,机器学习系统包括第一设备和第二设备,第一设备运行有第一gan,第二设备运行有第二gan,第一gan包括第一生成器和第一判别器,第二gan包括第二生成器和第二判别器。其中,第一设备可以为终端设备,如:ue、车载设备等,也可以理解为终端设备中的模块(例如,芯片),第二设备可以为网络设备,如:trp、gnb等,也可以理解为网络设备中的模块(例如,芯片),本技术在此不作具体限定。
23.该方法包括:第二设备接收来自n个第一设备的第一判别器的参数,第一判别器的参数为第一设备基于本地数据和第一设备的第一生成器的参数确定的;n为大于等于1的整数;对n个第一设备的第一判别器的参数进行参数聚合确定第二判别器的参数,并基于第二判别器的参数确定第二生成器的参数;传输第二判别器的参数和第二生成器的参数至l个第一设备,l为正整数。
24.本技术中,gan的训练是通过第一设备和第二设备的交互实现的,第一设备将第一判别器的参数传输至第二设备以便第二设备进行参数聚合确定第二判别器的参数,而不是将本地原始数据传输至第二设备,该方式保证了第一设备的用户数据的隐私性,且相对于传输本地原始数据而言,第一判别器的参数的数据量明显降低。此外,gan在训练时,第一判别器的参数和第一生成器的参数的更新是通过第二设备的第二判别器的参数和第二生成器的参数确定的,通过该方式可以减少第一设备的数据处理压力,提高gan的训练效率。
25.此外,还要说明的是,在实际应用时,第一设备的位置是灵活变化的,第一设备上报第一判别器的参数到第二设备后,可能移动到第二设备不能覆盖的范围中,因此第二设备可以不向这些第一设备下发第二判别器的参数和第二生成器的参数。另外,第二设备覆盖的范围内可能包括多个第一设备,部分第一设备上传第一设备的第一判别器参数后,第二设备可将第二判别器的参数和第二生成器的参数下发给全部的第一设备,这样可提高第一设备第一gan的训练效率,加速gan的收敛。因此上述l的取值可以大于n,等于n,也可以小于n,可根据实际业务需求设定,本技术在此不作具体限制。
26.另外,上述基于聚合后的第二判别器的参数确定第二生成器的参数更加简便快捷,数据计算效率更高。
27.在一种可选的方式中,第二生成器的参数还可基于n个第一设备的第一判别器的参数确定,该方式可分别考量了各个第一判别器参数的信息,基于此确定的第二生成器的参数,考量的信息更加全面,确定的第二生成器的参数的可信度更高。
28.在一种可选的方式中,第一判别器的参数为第一设备基于本地数据、第一生成器的参数以及第一随机数样本集合确定的;第二生成器的参数为第二设备基于第二判别器的参数和第二随机数样本集合确定的;其中,第二随机数样本集合与x个第一设备的第一随机数样本集合的并集相同,x个第一设备均传输第一判别器的参数至第二设备,x为大于等于1的正整数。
29.在一种可选的方式中,第一随机数样本集合和第二随机数样本集合可以是基于相同的伪随机数算法确定的。
30.相应的,第一随机数样本集合的确定过程可以为:第二设备可接收来自第一设备的随机数样本集合同步信息,选取随机数种子;确定第一预设随机数样本集合中的元素的个数;将随机数种子以及第一预设随机数样本集合中的元素的个数输入到伪随机数生成器中确定第二随机数样本集合。
31.在一种可选的方式中,第一随机数样本集合和第二随机数样本集合可以是基于相同的随机数码本确定的。
32.相应的,第二随机数样本集合的确定过程可以为:第二设备可接收来自第一设备的随机数样本集合同步信息,选取随机数种子;第二设备可选择码本初始位置;确定第二预设随机数样本集合中的元素的个数;基于码本初始位置以及第二预设随机数样本集合中的元素的个数查询随机数码本确定第二随机数样本集合。
33.在一种可选的方式中,第二设备可传输随机数样本同步信息,以使第一设备根据随机数样本同步信息确定第一随机数样本集合。
34.第三方面,本技术提供一种机器学习系统,机器学习系统包括第一设备和第二设备,第一设备运行有第一gan,第二设备运行有第二gan,第一gan包括第一生成器和第一判别器,第二gan包括第二生成器和第二判别器;
35.第一设备可用于传输第一设备的第一判别器的参数至第二设备,第一判别器的参数为第一设备基于本地数据和第一设备的第一生成器的参数确定的;接收来自第二设备的第二判别器的参数以及第二生成器的参数,第二判别器的参数为第二设备对来自至少一个第一设备的第一判别器的参数进行参数聚合确定的,第二生成器的参数为第二设备基于第二判别器的参数确定的;通过第二判别器的参数和第二生成器的参数,更新第一判别器的参数和第一生成器的参数。
36.第二设备可用于接收来自n个第一设备的第一判别器的参数,第一判别器的参数为第一设备基于本地数据和第一设备的第一生成器的参数确定的;n为大于等于1的整数;对n个第一设备的第一判别器的参数进行参数聚合确定第二判别器的参数,并基于第二判别器的参数确定第二生成器的参数;传输第二判别器的参数和第二生成器的参数至l个第一设备,l为正整数。
37.在一种可选的方式中,第一判别器的参数可为第一设备基于本地数据、第一生成器的参数以及第一随机数样本集合确定的;第二生成器的参数为第二设备基于第二判别器的参数和第二随机数样本集合确定的;其中,第二随机数样本集合与x个第一设备的第一随机数样本集合的并集相同,x个第一设备均传输第一判别器的参数至第二设备,x为大于等于1的正整数。
38.在一种可选的方式中,第一判别器的参数可被更新m次,m为大于等于1的正整数,
第i+1次第一判别器的参数的更新可以是第一设备基于本地数据、第i次更新后的第一生成器的参数以及第一随机数样本集合确定的,i取遍1~(m-1)中的任一整数。
39.在一种可选的方式中,第一判别器的参数可被更新m次,m为大于等于1的正整数,第i次第一判别器的参数的更新可以是第一设备基于本地数据、第i次更新后的第一生成器的参数以及第一随机数样本集合确定的,i取遍1~m中的任一整数。
40.在一种可选的方式中,第一随机数样本集合和第二随机数样本集合可以是基于相同的伪随机数算法确定的。
41.相应的,第一设备还可以选取随机数种子;确定第一预设随机数样本集合中的元素的个数;将随机数种子以及第一预设随机数样本集合中的元素的个数输入到伪随机数生成器中确定第一随机数样本集合。
42.在一种可选的方式中,第一随机数样本集合和第二随机数样本集合可以是基于相同的随机数码本确定的。
43.相应的,第一设备还可以选择码本初始位置;确定第二预设随机数样本集合中的元素的个数;基于码本初始位置以及第二预设随机数样本集合中的元素的个数查询随机数码本确定第一随机数样本集合。
44.在一种可选的方式中,第一设备在传输第一设判别器的参数至第二设备之前,还用于:接收来自第二设备的随机数样本集合同步信息。
45.在一种可选的方式中,第一设备在传输第一判别器的参数至第二设备之前,还用于:传输随机数样本集合同步信息至第二设备。
46.第四方面,本技术提供一种通信装置,包括至少一个处理器和存储器;该存储器用于存储计算机程序或指令,当该装置运行时,该至少一个处理器执行该计算机程序或指令,以使该通信装置执行如上述第一方面或第一方面的各实施例的方法或上述第二方面或第二方面的各实施例的方法。
47.第五方面,本技术提供另一种通信装置,包括:接口电路和逻辑电路;其中接口电路,可以理解为输入输出接口,逻辑电路可用于运行代码指令以执行上述第一方面或第一方面的各实施例的方法或上述第二方面或第二方面的各实施例的方法。
48.第六方面,本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机可读指令,当计算机可读指令在计算机上运行时,以使得计算机执行如第一方面或第一方面中任一种可能的设计中的方法或如第二方面或第二方面中任一种可能的设计中的方法。
49.第七方面,本技术提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的各实施例的方法或上述第二方面或第二方面的各实施例的方法。
50.第八方面,本技术提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面或第一方面中任一种可能的设计中所述的方法或如第二方面或第二方面中任一种可能的设计中的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
51.第九方面,本技术提供了一种通信系统,所述系统包括第一通信装置以及第二通信装置,所述通信系统用于执行上述第一方面或第一方面中任一种可能的设计中所述的方
法或如第二方面或第二方面中任一种可能的设计中的方法。
52.上述第二方面至第九方面可以达到的技术效果,请参照上述第一方面中相应可能设计方案可以达到的技术效果说明,本技术这里不再重复赘述。
附图说明
53.图1示出了本技术实施例提供的一种通信系统的示意图;
54.图2示出了联邦学习系统的结构示意图;
55.图3示出了一种gan模型的结构示意图;
56.图4a示出了一种中心式的gan训练系统的结构示意图;
57.图4b示出了一种联邦学习gan训练系统的结构示意图;
58.图5示出了本技术实施例提供的机器学习系统的结构示意图;
59.图6示出了本技术实施例提供的一种gan训练方法的流程示意图;
60.图7示出了本技术实施例提供的一种随机样本生成方法的示意图;
61.图8示出了本技术实施例提供的另一种随机样本生成方法的示意图;
62.图9a示出了本技术实施例提供的一种同步更新方法的流程示意图;
63.图9b示出了本技术实施例提供的一种同步更新方法的流程示意图;
64.图10a示出了本技术实施例提供的一种交替更新方法的流程示意图;
65.图10b示出了本技术实施例提供的一种交替更新方法的流程示意图;
66.图11示出了本技术实施例提供的仿真结果示意图;
67.图12示出了本技术实施例提供的仿真结果示意图;
68.图13示出了本技术实施例提供的通信装置的结构示意图;
69.图14示出了本技术实施例提供的通信装置的结构示意图。
具体实施方式
70.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。其中,在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。因此装置与方法的实施可以相互参见,重复之处不再赘述。
71.本技术实施例提供的gan的训练方法可以应用于5g通信系统或未来的各种通信系统。具体的,例如5g通信系统最典型的三个通信场景增强型移动互联网(enhance mobile broadband,embb)、海量机器连接通信(massive machine type communication,mmtc)和高可靠低延迟通信(ultra reliable low latency communication,urllc)。
72.下面来介绍适用于本技术的通信系统,该通信系统中的第一设备可以为终端设备、车载设备以及物联网设备等,第二设备可以为网络设备、中继节点以及trp等,在实际应用时本技术不作具体限定。接下来以第一设备为终端设备,第二设备为网络设备为例,参照图1来介绍本技术可能适用的通信系统。
73.图1示出一种适用于本技术的通信系统100。该通信系统100包括网络设备110、终端设备120、终端设备130以及终端设备140,网络设备110与终端设备120或终端设备130或终端设备140之间可以进行数据的交互。本技术在此不限定终端设备的数量,在此仅以终端
设备120、终端设备130以及终端设备140为例进行示意。
74.上述的网络设备为是一种部署在无线接入网中为终端设备提供无线通信功能的装置。接入网设备具有无线收发功能的设备或可设置于该设备的芯片,该设备包括但不限于:演进型节点b(evolved node b,enb)、无线网络控制器(radio network controller,rnc)、节点b(node b,nb)、基站控制器(base station controller,bsc)、基站收发台(base transceiver station,bts)、家庭基站(例如,home evolved nodeb,或home node b,hnb)、基带单元(baseband unit,bbu),无线保真(wireless fidelity,wifi)系统中的接入点(access point,ap)、无线中继节点、无线回传节点、传输点(transmission and reception point,trp或者transmission point,tp)等,还可以为5g(如nr)系统中的gnb,或,传输点(trp或tp),5g系统中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gnb或传输点的网络节点,如基带单元(bbu)、du、卫星、无人机等。
75.在一些部署中,gnb可以包括集中式单元(centralized unit,cu)和du。gnb还可以包括射频单元(radio unit,ru)。cu实现gnb的部分功能,du实现gnb的部分功能,比如,cu实现rrc,分组数据汇聚层协议(packet data convergence protocol,pdcp)层的功能,du实现无线链路控制(radio link control,rlc)、媒体接入控制(media access control,mac)和物理(physical,phy)层的功能。由于rrc层的信息最终会变成phy层的信息(即通过phy层发送),或者,由phy层的信息转变而来,因而,在这种架构下,高层信令,如rrc层信令或pdcp层信令,也可以认为是由du发送的,或者,由du+ru发送的。可以理解的是,接入网设备可以为cu节点、或du节点、或包括cu节点和du节点的设备。此外,cu可以划分为接入网ran中的网络设备,也可以将cu划分为核心网cn中的网络设备,在此不作限制。
76.本技术实施例中所涉及的终端设备,又可以称之为终端,是用户侧的一种用于接收或发射信号的实体,用于向网络设备发送上行信号,或从网络设备接收下行信号。包括向用户提供语音和/或数据连通性的设备,例如可以包括具有无线连接功能的手持式设备、或连接到无线调制解调器的处理设备。该终端设备可以经无线接入网(radio access network,ran)与核心网进行通信,与ran交换语音和/或数据。该终端设备可以包括ue、v2x终端设备、无线终端设备、移动终端设备、设备到设备通信(device-to-device,d2d)终端设备、机器到机器/机器类通信(machine-to-machine/machine-type communications,m2m/mtc)终端设备、物联网(internet of things,iot)终端设备、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、远程站(remote station)、接入点(access point,ap)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、或用户装备(user device)、可穿戴设备、车载设备、无人机等。
77.作为示例而非限定,在本技术实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备或智能穿戴式设备等,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如
各类进行体征监测的智能手环、智能头盔、智能首饰等。
78.而如上介绍的各种终端设备,如果位于车辆上(例如放置在车辆内或安装在车辆内),都可以认为是车载终端设备,车载终端设备例如也称为车载单元(on-board unit,obu)。
79.随着大数据时代的到来,每台设备每天都会以各种形式产生大量的原始数据,传统的集中式学习要求各个边缘设备将本地数据统一传输到中心端的服务器上,其后再利用收集到的数据进行模型的训练与学习,然而这一架构随着时代的发展逐渐受到如下因素的限制:
80.(1)边缘设备广泛地分布于世界上各个地区和角落,这些设备将以飞快的速度源源不断地产生和积累巨大量级的原始数据。若中心端需要收集来自全部边缘设备的原始数据,势必会带来巨大的通信损耗和算力需求。
81.(2)随着现实生活中实际场景的复杂化,越来越多的学习任务要求边缘设备能够做出及时而有效的决策与反馈。传统的集中式学习由于涉及到大量数据的上传势必会导致较大程度的时延,致使其无法满足实际任务场景的实时需求。
82.(3)考虑到行业竞争、用户隐私安全、行政手续复杂等问题,将数据进行集中整合将面临越来越大的阻力制约。因而系统部署将越来越倾向于在本地存储数据,同时由边缘设备自身完成模型的本地计算。
83.因此,如何在满足数据隐私、安全和监管要求的前提下,设计一个机器学习框架,让ai系统能够更加高效、准确地共同使用各自的数据,成为了当前人工智能发展的一个重要议题。基于此,相关技术提出联邦学习的架构,来解决上述的问题,如图2所示,联邦学习,需要各个终端设备利用本地的数据训练本地的机器学习模型,得到本地的机器学习模型的参数或梯度,将本地的机器学习模型的参数或梯度上传至中心服务器,通过中心服务器对各终端设备上传的本地的机器学习模型的参数或梯度进行融合,得到全局的机器学习模型的参数,并将全局的机器学习模型的参数广播至终端设备,终端设备根据全局的机器学习模型的参数更新终端设备侧的机器学习模型,并进行下一轮本地的机器学习模型的训练。一方面,由于无线信道的有限带宽和传输不可靠性,在终端上传梯度更新时会存在信道误码,导致接收的梯度更新出错,影响全局模型训练的收敛。另一方面,由于移动终端的计算能力不足,本地计算时延不能被忽略。有限的无线信道资源会导致较大的通信开销,使得终端上传梯度更新的传输时延较大。因此,联邦学习的训练时延较大。
84.需要说明的是,通常真实的数据样本的数量是有限的,故而可通过gan构建虚拟的数据样本来解决样本匮乏的问题。图3示出了一种gan模型,gan通常由一个生成器(generator)与一个判别器(discriminator)组成。生成器从一个潜在空间中随机取样作为输入,经过处理后输出虚假样本,并要求输出的虚假样本尽可能拟真训练集中的真实样本数据。判别器的输入为真实样本数据或生成器的虚假样本,并输出一个输入样本属于真实样本的概率值。判别器旨在将生成器所产生的虚假样本从真实样本中分辨出来,而生成器则尽可能去欺骗判别器,使其无法判别出输入样本的真假。通过生成器和判别器不断地相互对抗,来调整各自的模型参数(也即生成器参数和判别器参数),最终到达使判别器无法判断生成器的输出样本是否属于真实样本。
85.图4a示出了一种gan进行中心式训练的系统,在该系统中包括k个终端设备和一个
中心服务器,每个终端设备拥有一定数量的真实数据样本,而gan的生成器和判别器部署在服务器端。所有终端将本地的数据样本也即图示的原始数据直接传输到中心服务器。在服务器进行数据汇总得到全局数据集后,运行随机梯度下降方法进行训练直至生成器和判别器收敛。最后,服务器将训练所得的全局生成器和判别器参数通过广播信道反馈给所有终端,实现所有终端和服务器的模型共享。但是该方案要求所有终端将原始数据样本直接传输到中心服务器端进行集中训练,受系统的带宽的限制,传输大量的数据样本会导致很大的传输延时,同时引发网络拥塞和数据丢包现象。此外,原始数据中携带有用户的隐私信息,在传输过程中易受到第三方的恶意攻击而造成数据泄漏。
86.图4b示出了一种gan进行联邦训练的系统,在该系统中包括k个终端设备和一个中心服务器,在该系统中每个终端中均部署有gan的生成器和判别器,各个终端的生成器和判别器训练完成后,将生成器参数和判别器参数或相应梯度上传至中心服务器,中心服务器对这些参数进行聚合求平均后下发至各个终端。由于生成器和判别器的训练均在终端完成,对终端的算力要求较高,此外,在带宽资源受限的系统中,上传所有的生成器和判别器的参数或梯度也可能造成上行链路的阻塞。另外,梯度平均所采用梯度压缩算法,其算法复杂度较高,在实际系统中难以部署,且量化过程也造成了一定程度的梯度信息的丢失,也减缓了模型的收敛速率。
87.基于此,本技术提供一种新的机器学习系统,如图5所示,该机器学习系统包括1个或多个第一设备和第二设备,第一设备运行有第一gan,第二设备运行有第二gan,第一gan包括第一生成器和第一判别器,第二gan包括第二生成器和第二判别器。其中,第一设备可以为终端设备,如:ue、车载设备等,也可以理解为终端设备中的模块(例如,芯片),第二设备可以为网络设备,如:trp、gnb等,也可以理解为网络设备中的模块(例如,芯片),本技术在此不作具体限定。图5以第一设备为终端1~终端k,其中,k为大于等于1的正整数,第二设备为中心服务器为例进行示意,但在实际应用时,并不限定第一设备和第二设备的具体类型。终端可采集真实样本并对第一判别器进行训练,中心服务器可收集来自终端的第一判别器的参数,并基于第一判别器的参数进行聚合,得到第二判别器的参数后对第二生成器进行训练。gan的训练是通过第一设备和第二设备的交互实现的,第一设备将第一判别器的参数传输至第二设备以便第二设备进行参数聚合确定第二判别器的参数,而不是将本地原始数据传输至第二设备,该方式保证了第一设备的用户数据的隐私性,且相对于传输本地原始数据而言,第一判别器的参数的数据量明显降低。此外,gan在训练时,第一判别器的参数和第一生成器的参数的更新是通过第二设备的第二判别器的参数和第二生成器的参数确定的,通过该方式可以减少第一设备的数据处理压力,提高gan的训练效率。
88.此外,需要说明的是,上述的第一生成器或第二生成器可以由神经网络模型实现,通常生成器模型g(θ,z)中,输入为一个随机数样本z,输出为一个虚假数据样本,θ为生成器的参数。其中,随机数样本也可以理解为样本噪声,还可以理解为随机变量等。上述的第一判别器或第二判别器也可以由神经网络模型实现,通常判别器模型中,输入d为一个真实数据样本或由生成器产生的虚假数据样本,输出为判定输入数据样本为真实数据样本的概率,为判别器参数。面向生成器的梯度函数为偏导算子。面向判别器的梯度函数x为真
实数据样本,下文涉及到相关函数的应用不再重复赘述。
89.图6示出了本技术实施例提供的一种gan的训练方法的流程示意图,该方法可应用在图5所示的机器学习系统中。图6中仅以第一设备为终端1、终端k,第二设备为中心服务器进行示意性描述。在实际执行时,可参照如下步骤:
90.步骤601a,终端1传输终端1的第一判别器的参数至中心服务器,其中,第一判别器的参数为终端1基于本地数据和终端1的第一生成器的参数确定的。
91.步骤601b,终端k传输终端k的第一判别器的参数至中心服务器,其中,第一判别器的参数为终端k基于本地数据和终端k的第一生成器的参数确定的。
92.上述步骤601a和步骤601b的执行顺序不分先后,可先执行步骤601a再执行步骤601b,也可先执行步骤601b再执行步骤601a,还可同时执行步骤601a和步骤601b,本技术在此不作具体限定。
93.相应地,中心服务器会接收终端1的第一判别器的参数和终端k的第一判别器的参数。
94.需要说明的是,上述步骤601a和步骤601b在执行之前,需要先从中心服务器获取当前的第二生成器的参数θ和第二判别器的参数并将θ作为第一生成器的参数的初始值,将作为第一判别器的参数的初始值,之后各终端的第一判别器基于本地数据(也即真实数据样本)以及第一生成器的参数确定第一判别器的参数。此外,第一判别器的参数可为第一设备基于本地数据、第一生成器的参数以及第一随机数样本集合确定的,也即终端可将第一随机数样本输入到以第一生成器的参数为参数的第一生成器中获取“虚假”数据,之后通过“虚假”数据和真实数据也即本地数据输入到第一判别器中,对第一判别器进行训练,得到第一判别器的参数。在实际执行时,终端可从本地数据集中选择一部分数据作为样本,并从随机数样本空间中随机选择同样个数的随机数样本,并通过与服务器端的交互,保持与服务器端使用相同的噪声样本,之后终端通过运行随机梯度下降算法,更新第一判别器模型,并输出更新后的第一判别器的参数。可参照如下算法,但也不限定仅采用如下算法1确定第一判别器的参数。下面以终端k的第一判别器的参数更新为例来说明。
95.终端k的第一判别器的参数通过如下方式确定:
96.1、输入:第二生成器的参数θ和第二判别器的参数
97.2、选择随机梯度下降的迭代次数nd。
98.3、选择训练样本个数mk。
99.4、令
100.5、当j=1,

,nd时,执行循环
101.从随机数样本空间和本地数据集中进行采样,得到随机数样本序列和
102.数据序列
103.计算
104.105.结束循环
106.6、输出:也即经过nd次迭代后,终端k输出的第一判别器的参数。
107.其中,x
k,j,i
是终端k上的判别器第j轮训练中使用的第i个真实数据样本,z
k,j,i
是终端k上的判别器第j轮训练中使用的第i个随机样本序列,mk为终端k上的判别器训练使用的样本数量,η是学习率,是经过j次迭代后,终端k输出的第一判别器的参数,指示经过j-1次迭代后,终端k输出的第一判别器的参数与终端k的第一判别器的梯度函数的差值。
108.步骤602,中心服务器对终端1的第一判别器的参数和终端k的第一判别器的参数进行参数聚合确定第二判别器的参数,并基于第二判别器的参数确定第二生成器的参数。
109.在一个可选的实施例中,第二生成器的参数为第二设备基于第二判别器的参数和第二随机数样本集合确定的;其中,第二随机数样本集合与x个第一设备的第一随机数样本集合的并集相同,x个第一设备均传输第一判别器的参数至第二设备,x为大于等于1的正整数。第二随机数样本集合与x个第一设备的第一随机数样本集合的并集相同,可以提高gan的训练效率。
110.需要说明的是,中心服务器可能与多个终端之间通信连接,中心服务器可预先设定调度规则,选择部分终端的第一判别器的参数进行聚合后进行当前第二生成器的训练。其中,调度规则可以为轮询调度如,将多个终端分组,先接收其中第一组终端的第一判别器的参数进行第二生成器的训练,再接收第二组终端的第一判别器的参数进行第二生成器的训练,直到所有组终端被调度完成为止,也可以为全局调度,将所有的终端的第一判别器的参数全都用于第二生成器的训练,也可以为重要性调度,将所有终端按照其数据的重要性进行排队,将重要性较高的终端的第一判别器的参数用于第二生成器的训练。中心服务器收集来自被调度到的终端的第一判别器的参数,并进行聚合,得到第二判别器的模型。通常gan的训练需要通过多个训练回合来实现,下面以一个训练回合调度|s|(|s|指示集合s包括的元素个数)个终端,且以加权平均为例来说明,具体操作算法2可如下,但是在实际应用时并不具体限定具体执行算法:
111.1、输入:终端的第一判别器的参数和训练样本数mk,其中k∈s,其中,s为被调度的终端的集合。
112.2、计算
[0113][0114]
3、输出:其中,为中心服务器基于各终端的第一判别器的参数以及各终端对应的训练样本聚合后得到的第二判别器的参数。
[0115]
之后,中心服务器与所调度的终端进行交互,保持与所调度终端使用相同的随机数样本集合,并运行随机梯度下降算法,更新第二生成器模型,并输出更新后的第二生成器的参数。其中,生成器的更新算法3如下,但是在实际应用时,并不具体限定执行算法:
[0116]
1、输入:第二生成器模型g(θ,z)和第二判别器模型的初始参数
[0117]
2、选择迭代次数ng。
[0118]
3、选择用于训练的随机数样本个数m=∑
k∈s
mk。该随机数样本与被调度的终端生
成第一判别器的参数采用的随机数样本的并集是相同的。
[0119]
4、令θ0=θ。
[0120]
5、当j=1,

,ng时,执行循环:
[0121]
从噪声空间中进行采样,得到噪声序列(z
j,i
)
i=1,

,m

[0122]
计算
[0123][0124]
结束循环
[0125]
其中,是根据第j-1轮训练后中心服务器的第二生成器参数θ
j-1
,中心服务器的第二判别器参数和与第i个噪声序列z
j,i
计算得到的第二生成器的第i个梯度。将所有m个梯度求平均,即可以得到第二生成器的平均梯度。基于第二生成器的平均梯度和学习率η,将第二生成器参数从θ
j-1
更新为θj。
[0126]
6、输出:其中,为中心服务器经过ng次迭代后得到的第二生成器的参数。
[0127]
步骤5中,基于聚合后的第二判别器的参数确定第二生成器的平均梯度,因此方法更加简便快捷,数据计算效率更高。
[0128]
还要说明的是,算法3在算法2之后执行时,上述第二判别器的初始参数为当前训练回合中算法2中确定的聚合的判别器参数也即算法3在算法2之前执行时,上述第二判别器的初始参数为上一训练回合中算法2中确定的聚合的判别器参数。
[0129]
此外,还要说明的是,上述确定第二生成器的参数方法也不限于算法3,中心服务器在获取各个终端的第一判别器的参数后,也可基于未聚合的第一判别器的参数确定第二生成器的参数。可参照算法4执行如下:
[0130]
1、输入:第二生成器的初始参数θ和终端k的第一判别器的参数其中k∈s。
[0131]
2、选择迭代次数ng。
[0132]
3、选择用于训练的随机样本个数m=∑
k∈s
mk。该随机数样本与被调度的终端生成第一判别器的参数采用的随机数样本的并集是相同的。
[0133]
4、令θ0=θ。
[0134]
5、当j=1,

,ng时,执行循环
[0135]
从噪声空间中进行采样,得到噪声序列(z
j,i
)
i=1,

,m

[0136]
计算
[0137][0138]
结束循环
[0139]
其中,|s|表示被调度到的终端的个数。g(θ
j-1
,z
j,i
)是根据第j-1轮训练后中心服务器的第二生成器参数θ
j-1
和与第i个噪声序列z
j,i
生成的第i个生成数据。是基于第k个终端的第一判别器参数对第i个生成数据进行判别得到
的第k个判别结果。将基于所有|s|个终端的第一判别器参数得到的判别结果求平均,进而得到针对第i个生成数据的集成判别结果基于所有m个生成数据的集成判别结果求梯度并求平均,得到第二生成器的集成梯度基于第二生成器的集成梯度和学习率η,将第二生成器参数从θ
j-1
更新为θj。
[0140]
6、输出:其中,为中心服务器经过ng次迭代后得到的第二生成器的参数。
[0141]
步骤5中,基于各个第一判别器参数的信息确定第二生成器的集成梯度,因此该方式可分别考量了各个第一判别器参数的信息,考量的信息更加全面,确定的第二生成器的参数的可信度更高。
[0142]
步骤603a,中心服务器将第二判别参数和第二生成器的参数传输至终端1。
[0143]
步骤603b,中心服务器将第二判别参数和第二生成器的参数传输至终端k。
[0144]
上述步骤603a和步骤603b的执行顺序不分先后,可先执行步骤603a再执行步骤603b,也可先执行步骤603b再执行步骤603a,也可同时执行步骤603a和603b,本技术在此不作具体限定。
[0145]
相应地,终端1会接收中心服务器的第二判别器的参数和第二生成器的参数,终端k会接收中心服务器的第二判别器的参数和第二生成器的参数。
[0146]
步骤604a,终端1通过第二判别器的参数和第二生成器的参数,更新终端1的第一判别器的参数和终端1的第一生成器的参数。
[0147]
步骤604b,终端k通过第二判别器的参数和第二生成器的参数,更新终端k的第一判别器的参数和终端k的第一生成器的参数。
[0148]
上述步骤604a和步骤604b的执行顺序不分先后,可先执行步骤604a再执行步骤604b,也可先执行步骤604b再执行步骤604a,也可以同时执行步骤604a和604b,本技术在此不作具体限定。
[0149]
此外,还要说明的是,在实际应用时,终端的位置是灵活变化的,终端上报第一判别器的参数到中心服务器后,可能移动到中心服务器不能覆盖的范围中,因此中心服务器可以不向这些终端下发第二判别器的参数和第二生成器的参数。另外,中心服务器覆盖的范围内可能包括多个终端,部分终端上传终端的第一判别器参数后,中心服务器可将第二判别器的参数和第二生成器的参数下发给全部的终端,这样可提高终端第一gan的训练效率,加速gan的收敛。也即虽然仅终端1和终端k传输了第一判别器的参数,但是中心服务器还可将第二判别器的参数和第二生成器的参数下发给除终端1和终端k以外的其他终端,以便其他终端可以加速第一gan的训练。
[0150]
在一个可选的实施例中,为了保证终端的第一随机数样本集合与中心服务器的第二随机数样本集合同步,终端可传输随机数样本同步信息至中心服务器,还可以是中心服务器传输随机数样本同步信息至终端。为了保证终端和中心服务器随机数样本的同步,可通过如下方式来实现,但是在实际应用是也不限定仅采用如下方式同步随机数样本。
[0151]
方式1、基于相同的伪随机算法确定
[0152]
图7示出了基于伪随机生成器生成随机数样本的示意图,在伪随机生成器中输入
随机数种子和第一预设随机数样本集合中元素的个数后,则可输出随机数样本集合,其中,伪随机生成器可以由一个神经网络模型实现。下面以终端传输随机数样本同步信息为例来说明,可执行如下:
[0153]
步骤1:在所有终端和中心服务器上部署相同的伪随机数生成器(可以由通信标准给定,也可提前约定)。
[0154]
步骤2:终端k随机选择1个随机数种子,并确定所需的随机数样本集合中的元素的个数mk。
[0155]
步骤3:终端k将随机数种子和所需随机数样本集合中的元素的个数mk输入到本地伪随机数生成器中,得到mk个噪声样本也即第一随机数样本集合。
[0156]
步骤4:终端将随机数样本同步信息上传给中心服务器,所述随机数样本同步信息包括随机数种子和所需随机数样本个数mk。
[0157]
步骤5:中心服务器将收到的随机数样本同步信息中包含的随机数种子和所需随机数样本个数mk输入到其伪随机数生成器中,得到与终端k相同的噪声样本。对所有被调度的终端发来的随机数种子和所需随机数样本个数执行该操作,最终得到m=∑
k∈s
mk个噪声样本,其中s为被调度的终端集合。
[0158]
此外,上述步骤4可以在步骤2后执行,即在步骤3之前或与步骤3同时执行。
[0159]
接下来以中心服务器传输随机数样本同步信息为例来说明,可执行如下:
[0160]
步骤1:在所有终端和中心服务器上部署相同的伪随机数生成器(可以由通信标准给定,也可提前约定)。
[0161]
步骤2:中心服务器随机选择与被调度的终端数量相同的随机数种子,并确定调度的各终端所需的随机数样本个数mk,k∈s,其中s为被调度的终端集合。
[0162]
步骤3:中心服务器分别将所有随机数种子和对应的所需随机数样本个数mk,k∈s输入到本地伪随机数生成器中,得到m=∑
k∈s
mk个噪声样本,也即第二随机数样本集合。
[0163]
步骤4:中心服务器将第k个随机数样本同步信息下发给终端k,所述第k个随机数样本同步信息包括第k个随机数种子和所需随机数样本个数mk。
[0164]
步骤5:终端k将收到的随机数种子和所需噪声样本个数mk输入到其伪随机数生成器中,得到与服务器相同的随机数样本。
[0165]
此外,上述步骤4可以在步骤2后执行,即在步骤3之前或与步骤3同时执行。
[0166]
该方式在终端和中心服务器中均部署伪随机生成器,以进行同样的数据计算确定随机数样本集合,该方式数据存储量小。
[0167]
方式2、基于相同的随机数码本确定
[0168]
图8示出了基于随机数码本生成随机数样本的示意图,在确定随机码本的初始位置以及第二预设随机数样本集合中元素的个数后,可查询随机数码本,确定随机数样本集合。
[0169]
下面以终端传输随机数样本同步信息为例来说明,可执行如下:
[0170]
步骤1:在所有终端和中心服务器上部署同一个随机数码本(可以由通信标准给定,也可提前约定),并给定码字查询规则(可以由标准给定,也可提前约定)。
[0171]
步骤2:终端k随机选择一个码本的初始位置,并给定所需的随机数样本集合中元素的个数mk。
[0172]
步骤3:终端k根据码本起始位置和随机数样本集合中元素的个数mk通过查询本地随机数码本,得到mk个随机数样本也即第一随机数样本集合。
[0173]
步骤4:终端k将随机数样本同步信息上传至中心服务器,所述随机数样本同步信息包括其选择的码本初始位置和所需的随机数样本集合中元素的个数mk。
[0174]
步骤5:中心服务器按照收到的随机数样本同步信息中包含的码本的初始位置和所需的随机数样本集合中元素的个数mk,查询随机数码本,得到与终端k相同的随机数样本。对所有收到的被调度终端发来的随机数样本同步信息中包含的码本初始位置和所需样本个数执行该操作,最终得到m=∑
k∈s
mk个随机数样本,其中s为被调度的终端集合。
[0175]
此外,上述步骤4可以在步骤2后执行,即在步骤3之前或与步骤3同时执行。
[0176]
接下来以中心服务器传输随机数样本同步信息为例来说明,可执行如下:
[0177]
步骤1:在所有终端和服务器上部署同一个随机数码本(可以由通信标准给定,也可提前约定),并给定码字查询规则(可以由标准给定,也可提前约定)。
[0178]
步骤2:中心服务器随机选择与被调度的终端数量相同数量的码本初始位置,并确定所调度的各终端所需的随机数样本集合中元素的个数mk,k∈s,其中s为被调度的终端集合。
[0179]
步骤3:中心服务器分别将所有码本初始位置和对应的所需随机数样本集合中元素的个数mk,k∈s输入到本地随机数码本中,得到m=∑
k∈s
mk个随机数样本也即第二随机数样本集合。
[0180]
步骤4:中心服务器将第k个随机数样本同步信息下发给终端k,所述第k个随机数样本同步信息包括第k个码本初始位置和所需随机数样本集合中元素的个数mk。
[0181]
步骤5:终端k将收到的码本初始位置和所需随机数样本集合中元素的个数mk输入到其本地随机数码本中,得到与中心服务器相同的随机数样本。
[0182]
同样的,步骤4可以在步骤2后执行,即在步骤3之前或与步骤3同时执行。
[0183]
该方式中,中心服务器和终端仅需存储随机数码本即可,在随机数样本同步查询随机数码本集合,该方式操作简便,执行速度快。
[0184]
在一个可选的实施例中,中心服务器侧的第二生成器的参数可与终端侧的第一判别器的参数同步更新,也可以交替更新,本技术在此不具体限定更新的顺序。
[0185]
需要说明的是,在同步更新时若第一判别器的参数更新m次,m为大于等于1的正整数,第i次第一判别器的参数的更新是终端基于本地数据、第i次更新后的第一生成器的参数以及第一随机数样本集合确定的,i取遍1~m中的任一整数。
[0186]
图9a示出了同步更新时中心服务器传输随机样本同步信息的示意图,可执行如下:
[0187]
步骤1:判别器和生成器模型初始化,终端和中心服务器获取相同的初始化模型(终端可从中心服务器获取,也可从第三方获取在此不做具体限定)。上述的判别器模型和生成器模型的初始化包括第一判别器模型的初始化、第一生成器模型的初始化、第二判别器模型的初始化以及第二生成器模型的初始化。
[0188]
步骤2:中心服务器基于给定调度算法(可以采用当前广泛采用的调度算法,如轮询调度、全局调度等),进行终端调度,选择本回合被调度的终端。同时,确定随机数样本同步信息,包括随机数种子/码本初始位置和随机数样本数量。
[0189]
步骤3:中心服务器下发调度和随机数同步信息,指示被调度终端参与本回合训练,并将各被调度终端所使用的随机数种子/码本初始位置和随机数样本数量告知各被调度终端。
[0190]
步骤4:被调度终端基于随机数种子/码本初始位置和随机数样本数量生成随机数样本,并根据本地真实数据样本、随机数样本和第一生成器对第一判别器进行训练,得到新的第一判别器的参数;同时,中心服务器基于随机数种子/码本初始位置和随机数样本数量生成随机数样本,并根据第二判别器的参数和随机数样本对第二生成器进行训练,得到新的第二生成器的参数。
[0191]
步骤5:被调度终端将本回合训练得到的第一判别器的参数上传至中心服务器。
[0192]
步骤6:中心服务器接收被调度终端上传的第一判别器的参数,进行第一判别器的参数聚合,得到新的第二判别器的参数。
[0193]
步骤7:中心服务器将更新后的第二生成器的参数和第二判别器的参数下发给全部终端。(本步骤的优选方案是将第二生成器的参数和第二判别器的参数下发给全部终端,另外一种可行的方案是,将第二生成器的参数和第二判别器的参数只下发给被调度的终端,但性能会有损)。
[0194]
步骤8:各终端收到第二生成器的参数和第二判别器的参数,更新第一生成器的参数和第一判别器的参数。
[0195]
步骤9:重复步骤2~8,直至到达收敛条件(达到最大训练回合数,或模型性能达到预设门限)。
[0196]
图9b示出了同步更新时终端传输随机样本同步信息的示意图,可执行如下:
[0197]
步骤1:判别器和生成器模型初始化,终端和中心服务器获取相同的初始化模型(终端可从中心服务器获取,也可从第三方获取在此不作具体限定)。上述的判别器模型和生成器模型的初始化包括第一判别器模型的初始化、第一生成器模型的初始化、第二判别器模型的初始化以及第二生成器模型的初始化。
[0198]
步骤2:中心服务器基于给定调度算法(可以采用当前广泛采用的调度算法,如轮询调度、比例公平调度等),进行终端调度,选择本回合被调度的终端。
[0199]
步骤3:中心服务器下发调度信令,指示被调度终端参与本回合训练。
[0200]
步骤4:被调度终端确定随机数种子/码本初始位置和随机数样本数量,上报给中心服务器。
[0201]
步骤5:被调度终端基于随机数种子/码本初始位置和随机数样本数量生成随机数样本,并根据本地真实数据样本、随机数样本和第一生成器的参数对第一判别器进行训练,得到新的第一判别器的参数;同时,中心服务器基于随机数种子/码本初始位置和随机数样本数量生成随机数样本,并根据第二判别器、随机数样本和第二生成器对第二生成器进行训练,得到新的第二生成器的参数。
[0202]
步骤6:被调度终端将本回合训练得到的第一判别器的参数上传至中心服务器。
[0203]
步骤7:中心服务器接收被调度终端上传的第一判别器的参数,进行第一判别器的参数聚合,得到第二判别器的参数。
[0204]
步骤8:中心服务器将更新后的第二生成器的参数和第二判别器的参数下发给全部终端。(本步骤的优选方案是将第二生成器的参数和第二判别器的参数下发给全部终端,
另外一种可行的方案是,将第二生成器的参数和第二判别器的参数只下发给被调度的终端,但性能会有损)。
[0205]
步骤9:各终端收到第二生成器的参数和第二判别器的参数,更新第一生成器的参数和第一判别器的参数。
[0206]
步骤10:重复步骤2~9,直至到达收敛条件(达到最大训练回合数,或模型性能达到预设门限)。
[0207]
本实施例提出的“同时更新”训练机制采用第一设备和第二设备同时基于同一组更新前的模型参数进行训练的方式,可实现第一设备的第一判别器和第二设备的第二生成器模型更新的并行化,可有效地降低每轮训练的时延。在计算受限而通信充足的系统中(如宽带传感器网络),使用“同步更新”训练机制可以有效地加快训练过程。
[0208]
在一个可选的实施例中,在交替更新时,若第一判别器的参数更新m次,m为大于等于1的正整数,第i+1次第一判别器的参数的更新是第一设备基于本地数据、第i次更新后的第一生成器的参数以及第一随机数样本集合确定的,i取遍1~(m-1)中的任一整数。
[0209]
图10a示出了交替更新时中心服务器传输随机样本同步信息的示意图,可执行如下:
[0210]
步骤1:判别器和生成器模型初始化,终端和中心服务器获取相同的初始化模型(终端可从中心服务器获取,也可从第三方获取在此不做具体限定)。上述的判别器模型和生成器模型的初始化包括第一判别器模型的初始化、第一生成器模型的初始化、第二判别器模型的初始化以及第二生成器模型的初始化。
[0211]
步骤2:中心服务器基于给定调度算法(可以采用当前广泛采用的调度算法,如轮询调度、比例公平调度等),进行终端调度,选择本回合被调度的终端。同时,确定随机数样本同步信息,包括随机数种子/码本初始位置和随机数样本数量。
[0212]
步骤3:中心服务器下发调度和随机数样本同步信息,指示被调度终端参与本回合训练,并将各被调度终端所使用的随机数种子/码本初始位置和随机数样本数量告知各被调度终端。
[0213]
步骤4:被调度终端基于随机数种子/码本初始位置和随机数样本数量生成随机数样本,并根据本地真实数据样本、随机数样本和第一生成器对第一判别器进行训练,得到新的第一判别器的参数。
[0214]
步骤5:被调度终端将更新的第一判别器的参数上传至中心服务器。
[0215]
步骤6:中心服务器进行第一判别器的参数聚合,得到更新的第二判别器的参数。
[0216]
步骤7:中心服务器基于随机数种子/码本初始位置和随机数样本数量生成噪声样本,并根据更新的第二判别器的参数和随机数样本,对第二生成器进行训练,得到新的第二生成器的参数。
[0217]
步骤8:中心服务器将更新后的第二生成器的参数和第二判别器的参数下发给全部终端。(本步骤的优选方案是将第二生成器的参数和第二判别器的参数下发给全部终端,另外一种可行的方案是,将第二生成器的参数和第二判别器的参数只下发给被调度的终端,但性能会有损)。
[0218]
步骤9:各终端收到第二生成器的参数和第二判别器的参数,更新第一生成器的参数和第一判别器的参数。
[0219]
步骤10:重复步骤2~9,直至到达收敛条件(达到最大训练回合数,或模型性能达到预设门限)。
[0220]
图10b示出了交底更新时终端传输随机样本同步信息的示意图,可执行如下:
[0221]
步骤1:判别器和生成器模型初始化,终端和中心服务器获取相同的初始化模型(终端可从中心服务器获取,也可从第三方获取在此不作具体限定)。上述的判别器模型和生成器模型的初始化包括第一判别器模型的初始化、第一生成器模型的初始化、第二判别器模型的初始化以及第二生成器模型的初始化。
[0222]
步骤2:中心服务器基于给定调度算法(可以采用当前广泛采用的调度算法,如轮询调度、比例公平调度等),进行终端调度,选择本回合被调度的终端。
[0223]
步骤3:中心服务器下发调度信令,指示被调度终端参与本回合训练。
[0224]
步骤4:被调度终端确定随机数种子/码本初始位置和随机数样本数量,上报给中心服务器。
[0225]
步骤5:被调度终端基于随机数种子/码本初始位置和随机数样本数量生成随机数样本,并根据本地真实数据样本、随机数样本和第一生成器的参数对第一判别器进行训练,得到新的第一判别器的参数。
[0226]
步骤6:被调度终端将本回合训练得到的第一判别器的参数上传至中心服务器。
[0227]
步骤7:中心服务器接收被调度终端上传的第一判别器的参数,进行第一判别器的参数聚合,得到第二判别器的参数。
[0228]
步骤8:中心服务器基于随机数种子/码本初始位置和随机数样本数量生成随机数样本,并根据第二判别器、随机数样本和第二生成器对第二生成器进行训练,得到新的第二生成器的参数。
[0229]
步骤9:中心服务器将更新后的第二生成器的参数和第二判别器的参数下发给全部终端。(本步骤的优选方案是将第二生成器的参数和第二判别器的参数下发给全部终端,另外一种可行的方案是,将第二生成器的参数和第二判别器的参数只下发给被调度的终端,但性能会有损)。
[0230]
步骤10:各终端收到第二生成器的参数和第二判别器的参数,更新第一生成器的参数和第一判别器的参数。
[0231]
步骤11:重复步骤2~10,直至到达收敛条件(达到最大训练回合数,或模型性能达到预设门限)。
[0232]
本实施例提出的“交替更新”训练机制采用第一设备第一判别器和第二设备第二生成器互相“对抗”进行训练的方式,可以有效提升每一个训练周期内模型的性能增益,从而减少了达到模型收敛所需的总训练周期数,大大降低了第一设备与第二设备之间的通信开销。在通信受限而计算充足的系统中(如窄带蜂窝系统),使用“交替更新”训练机制可以有效地加快训练过程。
[0233]
考虑到上述的同步更新和交替更新,本技术通过一个中心服务器和10个终端共同训练的gan进行仿真实验,得到如图11所示的仿真结果。数据集选用经典的人脸数据集,并将所有数据随机分成10份后分配给所有终端。系统性能指标采用弗雷歇起始距离(frechet inception distance,fid)指示,通过fid反映训练所得的生成器所产生的虚假样本与真实数据样本之间的差距。fid的值越小,模型性能越好。当终端与服务器采用系统带宽达到
1ghz,此时同步更新机制比交替更新机制拥有更快的收敛速度。当终端与服务器采用系统带宽为10mhz时,由于交替更新机制需要更少的训练周期,因而比同步更新机制拥有更快的收敛速度。
[0234]
相较于图4b提供的联邦学习系统而言,本技术交替更新和同步更新的系统性能对照如图12所示,从图12中可以看到,本技术所提的交替更新训练机制下,其训练总时间比联邦学习架构短。本技术一方面利用了服务器端的算力,降低了计算时延,另一方面其在上行链路中只需要上传判别器参数而无需上传生成器参数,减少了系统的通信开销。在同时更新训练机制下可以达到和联邦训练架构近似的模型收敛速度,但本技术在终端侧只需要训练第一判别器而无需训练第一生成器,其终端的计算能耗远小于联邦训练架构下终端的计算能耗。
[0235]
本技术中,gan的训练是通过第一设备和第二设备的交互实现的,第一设备将第一判别器的参数传输至第二设备以便第二设备进行参数聚合确定第二判别器的参数,而不是将本地原始数据传输至第二设备,该方式保证了第一设备的用户数据的隐私性,且相对于传输本地原始数据而言,第一判别器的参数的数据量明显降低。此外,gan在训练时,第一判别器的参数和第一生成器的参数的更新是通过第二设备的第二判别器的参数和第二生成器的参数确定的,通过该方式可以减少第一设备的数据处理压力,提高gan的训练效率。
[0236]
此外,如图13所示,为本技术还提供的一种通信装置1300。示例性地,通信装置1300可以是芯片或芯片系统。可选的,在本技术实施例中芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0237]
通信装置1300可以包括至少一个处理器1310,通信装置1300还可以包括至少一个存储器1320,用于存储计算机程序、程序指令和/或数据。存储器1320和处理器1310耦合。本技术实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1310可能和存储器1320协同操作。处理器1310可能执行存储器1320中存储的计算机程序。可选的,所述至少一个存储器1320也可与处理器1310集成在一起。
[0238]
可选的,在实际应用中,通信装置1300中可以包括收发器1330也可不包括收发器1330,图中以虚线框来示意,通信装置1300可以通过收发器1330和其它设备进行信息交互。收发器1330可以是电路、总线、收发器或者其它任意可以用于进行信息交互的装置。
[0239]
在一种可能的实施方式中,该通信装置1300可以应用于前述的第一设备,还可以是前述的第二设备。存储器1320保存实施上述任一实施例中的中继设备的功能的必要计算机程序、程序指令和/或数据。所述处理器1310可执行所述存储器1320存储的计算机程序,完成上述任一实施例中的方法。
[0240]
本技术实施例中不限定上述收发器1330、处理器1310以及存储器1320之间的具体连接介质。本技术实施例在图13中以存储器1320、处理器1310以及收发器1330之间通过总线连接,总线在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。在本技术实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实施或者执行本技术实施例中的公开
的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0241]
在本技术实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实施存储功能的装置,用于存储计算机程序、程序指令和/或数据。
[0242]
基于以上实施例,参见图14,本技术实施例还提供另一种通信装置1400,包括:接口电路1410和逻辑电路1420;接口电路1410,可以理解为输入输出接口,可用于执行与上述图10示意的输入输出单元或如图11示意的收发器同样的操作步骤,本技术在此不再赘述。逻辑电路1420可用于运行所述代码指令以执行上述任一实施例中的方法,可以理解成上述图13中的处理器,可以实现处理单元或处理器同样的功能,本技术在此不再赘述。
[0243]
基于以上实施例,本技术实施例还提供一种可读存储介质,该可读存储介质存储有指令,当所述指令被执行时,使上述任一实施例中安全检测方法执行的方法被实施。该可读存储介质可以包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0244]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0245]
本技术是参照根据本技术的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0246]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0247]
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1