CN116629388B - 差分隐私联邦学习训练方法、装置和计算机可读存储介质 - Google Patents

差分隐私联邦学习训练方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN116629388B
CN116629388B CN202310919570.XA CN202310919570A CN116629388B CN 116629388 B CN116629388 B CN 116629388B CN 202310919570 A CN202310919570 A CN 202310919570A CN 116629388 B CN116629388 B CN 116629388B
Authority
CN
China
Prior art keywords
local
value
parameter
local model
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310919570.XA
Other languages
English (en)
Other versions
CN116629388A (zh
Inventor
沈力
陶大程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202310919570.XA priority Critical patent/CN116629388B/zh
Publication of CN116629388A publication Critical patent/CN116629388A/zh
Application granted granted Critical
Publication of CN116629388B publication Critical patent/CN116629388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开涉及一种差分隐私联邦学习训练方法、装置和计算机可读存储介质,涉及隐私计算、计算机技术领域。本公开的方法包括:在联邦学习模型的局部模型中,输入本地训练数据,确定原梯度值;根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值;根据扰动后的梯度值,确定局部模型的参数更新值;将局部模型的参数更新值发送至中心服务器进行聚合操作。

Description

差分隐私联邦学习训练方法、装置和计算机可读存储介质
技术领域
本公开涉及隐私计算、计算机技术领域,特别涉及一种差分隐私联邦学习训练方法、装置和计算机可读存储介质。
背景技术
近年来,数据隐私安全受到人们愈发的重视。联邦学习(Federated Learning,FL)作为一种隐私安全的分布式训练范式被提出。
为了进一步提高隐私安全,在联邦学习中引入了差分隐私。差分隐私联邦学习可以进一步解决隐私泄漏问题。
发明内容
发明人发现,差分隐私联邦学习的局部模型常常含有较为尖锐的损失函数景观,导致局部模型的泛化能力较差,影响后续局部模型输出结果的准确性。
本公开所要解决的一个技术问题是:提高联邦学习中局部模型的泛化能力和准确性。
根据本公开的一些实施例,提供的一种差分隐私联邦学习训练方法,包括:在联邦学习模型的局部模型中,输入本地训练数据,确定原梯度值;根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值;根据扰动后的梯度值,确定局部模型的参数更新值;将局部模型的参数更新值发送至中心服务器进行聚合操作。
在一些实施例中,在本地训练数据包括多个批次的数据的情况下,输入本地训练数据,确定原梯度值包括:依次将每个批次的数据作为当前批次的数据,输入局部模型,确定当前批次的原梯度值;根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值包括:根据当前批次的原梯度值,在梯度方向上进行梯度扰动,确定当前批次扰动后的梯度值。
在一些实施例中,根据当前批次的原梯度值,在梯度方向上进行梯度扰动,确定当前批次扰动后的梯度值包括:根据当前批次的原梯度值和扰动程度参数,确定当前批次的扰动项;根据当前批次的扰动项和当前批次的原梯度值,确定当前批次扰动后的梯度值。
在一些实施例中,根据当前批次的原梯度值和扰动程度参数,确定当前批次的扰动项包括:确定当前批次的原梯度值和扰动程度参数的乘积;将乘积与当前批次的原梯度值的二范数的比值,确定为当前批次的扰动项。
在一些实施例中,根据当前批次的扰动项和当前批次的原梯度值,确定当前批次扰动后的梯度值包括:将局部模型的当前参数与当前批次的扰动项相加,得到当前批次的扰动参数值;根据当前批次的扰动参数值和损失函数,基于梯度下降法确定当前批次扰动后的梯度值。
在一些实施例中,根据扰动后的梯度值,确定局部模型的参数更新值包括:根据局部模型的当前参数与当前批次扰动后的梯度值,更新局部模型的当前参数;根据最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定局部模型的参数更新值。
在一些实施例中,根据局部模型的当前参数与当前批次扰动后的梯度值,更新局部模型的当前参数包括:根据局部模型的当前参数、当前批次扰动后的梯度值、预设更新周期以及本轮训练中局部模型输入的批次数,更新局部模型的当前参数。
在一些实施例中,根据局部模型的当前参数、当前批次扰动后的梯度值、预设更新周期以及本轮训练中局部模型输入的批次数,更新局部模型的当前参数包括:根据局部模型的当前参数、预设学习率和当前批次扰动后的梯度值,对局部模型的当前参数进行第一次更新;根据预设更新周期,确定是否进行第二次更新;在进行第二次更新的情况下,根据本轮训练中局部模型输入的批次数,对第一次更新后局部模型的当前参数以及上一次的第二次更新后的局部模型的参数,进行参数的平均,以对第一次更新后局部模型的当前参数进行第二次更新,确定当前批次更新后局部模型的当前参数。
在一些实施例中,根据最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定局部模型的参数更新值包括:将最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定为初步参数更新值;对初步参数更新值进行剪裁,确定剪裁后的参数更新值;根据剪裁后的参数更新值,确定局部模型的参数更新值。
在一些实施例中,对初步参数更新值进行剪裁,确定剪裁后的参数更新值包括:确定剪裁阈值与初步参数更新值的二范数的比值;选取比值与预设值中的最小值;将最小值与初步参数更新值的乘积,作为剪裁后的参数更新值。
在一些实施例中,根据剪裁后的参数更新值,确定局部模型的参数更新值包括:对剪裁后的参数更新值添加噪声,确定局部模型的参数更新值。
在一些实施例中,添加的噪声为高斯噪声。
在一些实施例中,将局部模型的参数更新值发送至中心服务器进行聚合操作包括:将局部模型的参数更新值发送至中心服务器;在中心服务器中,将接收到的多个局部模型的参数更新值取平均值,再将全局模型的当前参数与平均值相加,得到更新后的全局模型的参数。
在一些实施例中,该方法还包括:接收中心服务器发送的训练通知,其中,训练通知是中心服务器选取部分局部模型后发送至选取的局部模型的,训练通知包括全局模型的参数;根据全局模型的参数对局部模型的参数进行更新。
在一些实施例中,本地训练数据包括:本地图像数据,局部模型包括:视觉任务模型;或者,本地训练数据包括:本地文本数据,局部模型包括:自然语言处理模型;或者,本地训练数据包括:本地语音数据,局部模型包括:语音处理模型。
在一些实施例中,该方法还包括:将本地待处理数据输入局部模型,得到输出的结果,其中,本地待处理数据包括:本地待处理图像数据、本地待处理文本数据或本地待处理语音数据。
在一些实施例中,该方法还包括:在每轮训练中本地训练数据包括多个批次的数据的情况下,根据训练的轮数和批次的数量,确定局部模型的敏感度和收敛性中至少一项。
根据本公开的另一些实施例,提供的一种差分隐私联邦学习训练装置,包括:输入模块,用于在联邦学习模型的局部模型中,输入本地训练数据,确定原梯度值;梯度扰动模块,用于根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值;更新模块,用于根据扰动后的梯度值,确定局部模型的参数更新值;发送模块,用于将局部模型的参数更新值发送至中心服务器进行聚合操作。
根据本公开的又一些实施例,提供的一种差分隐私联邦学习训练装置,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的训练方法。
根据本公开的再一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例的方法的步骤。
本公开针对联邦学习模型的局部模型,输入本地训练数据,确定原梯度值,进而根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值,再根据扰动后的梯度值,确定局部模型的参数更新值,并发送至中心服务器进行聚合操作。由于加入在梯度方向上的梯度扰动,当损失函数景观达尖锐区域时,扰动后的梯度值能帮助局部模型跳出尖锐最小点,从而增强局部模型的损失函数景观的平坦度,提高联邦学习中局部模型的泛化能力和准确性。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开的一些实施例的差分隐私联邦学习训练方法的流程示意图。
图2示出本公开的另一些实施例的差分隐私联邦学习训练方法的流程示意图。
图3示出本公开的一些实施例的差分隐私联邦学习训练装置的结构示意图。
图4示出本公开的另一些实施例的差分隐私联邦学习训练装置的结构示意图。
图5示出本公开的又一些实施例的差分隐私联邦学习训练装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提出一种差分隐私联邦学习训练方法,适用于联邦学习模型,下面结合图1~2进行描述。
图1为本公开差分隐私联邦学习训练方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S102~S108。
在步骤S102中,在联邦学习模型的局部模型中,输入本地训练数据,确定原梯度值。
联邦学习可以由分布式的多个本地设备和中心服务器共同完成。联邦学习容许本地设备利用本地训练数据进行本地的局部模型的训练,再由中心服务器对模型进行聚合。在此过程中,本地设备无需将本地训练数据传到中心服务器或其他节点,而只需要传递训练好的模型,由此来降低数据泄露的风险。
例如,联邦学习包括以下步骤 1. 中心服务器分发同一个全局模型的参数给多个本地设备。2.本地设备根据全局模型的参数更新本地的局部模型的参数,并使用本地训练数据对局部模型进行训练,并将训练好的局部模型的参数重新上传到中心服务器。3. 中心服务器对上传的参数进行聚合,再重复1步骤进行下一轮迭代训练,直至模型收敛。具体过程后续实施例还会进行详细描述。
在一些实施例中,本地训练数据包括:本地图像数据,局部模型包括:视觉任务模型,例如,图像分类模型、目标检测模型等。例如,本地图像数据为视觉隐私数据,与图像视觉相关的数据但由于用户隐私问题仅能在本地使用,诸如分布在多个不同医院的医疗图像数据、多家不同生物公司所含有的生物图像信息数据等。
在一些实施例中,本地训练数据包括:本地文本数据,局部模型包括:自然语言处理模型,例如,语义识别模型、语言预测模型等。
在一些实施例中,本地训练数据包括:本地语音数据,局部模型包括:语音处理模型,例如,语音识别模型、说话人识别模型等。
针对不同本地设备的本地训练数据,可以利用狄利克雷分布函数来调节不同本地设备的本地训练数据的差异程度,以提高训练的效率和准确性。
在一些实施例中,在本地训练数据包括多个批次的数据的情况下,依次将每个批次的数据作为当前批次的数据,输入局部模型,确定当前批次的原梯度值。即,在每轮训练过程中,将本地训练数据分为多个批次(Batch),针对每个批次的数据,输入局部模型并确定对应的原梯度值。确定原梯度值的方法可以参考现有技术,在此不再赘述。
例如,针对第i个局部模型,第t轮训练,第k个批次的数据记为,原梯度值采用以下公式确定。
(1)
公式(1)中,i,t,k为整数,1≤i≤M,M为局部模型的总数量,0≤t≤T-1,T为训练轮数,0≤k≤K-1,K为批次数,为第i个本地设备的局部模型的参数,而/>则表示是第i个本地设备上利用/>训练得到的损失函数的梯度值。
在步骤S104中,根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值。
在一些实施例中,在本地训练数据包括多个批次的数据的情况下,确定当前批次的原梯度值后,根据当前批次的原梯度值,在梯度方向上进行梯度扰动,确定当前批次扰动后的梯度值。
进一步,在一些实施例中,根据当前批次的原梯度值和扰动程度参数,确定当前批次的扰动项,根据当前批次的扰动项和当前批次的原梯度值,确定当前批次扰动后的梯度值。
例如,确定当前批次的原梯度值和扰动程度参数的乘积;将乘积与当前批次的原梯度值的二范数的比值,确定为当前批次的扰动项。扰动项是基于当前批次的原梯度值确定的,即在梯度方向上进行梯度扰动。
例如,将局部模型的当前参数与当前批次的扰动项相加,得到当前批次的扰动参数值;根据当前批次的扰动参数值和损失函数,基于梯度下降法确定当前批次扰动后的梯度值。梯度下降法例如为随即梯度下降法。扰动后的梯度值例如采用以下公式确定。
(2)
公式(2)中,是第k个批次的数据,可以是从第i个本地设备的本地训练数据分布中随机取样的,/>为添加的扰动项,该扰动项可以采用以下公式确定。
(3)
公式(3)中,ρ是扰动程度参数,是一个超参数,用于控制扰动的程度,为原梯度值。
在步骤S106中,根据扰动后的梯度值,确定局部模型的参数更新值。
在一些实施例中,根据局部模型的当前参数与当前批次扰动后的梯度值,更新局部模型的当前参数;根据最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定局部模型的参数更新值。
例如,确定当前批次扰动后的梯度值与预设学习率的乘积,将局部模型的当前参数减去该乘积,得到更新后局部模型的当前参数。例如,采用以下公式更新局部模型的当前参数。
(4)
公式(4)中,η为预设学习率。
为了进一步提高局部模型的泛化能力,本公开提出一种对局部模型的参数进行更新的方法。
在一些实施例中,根据局部模型的当前参数、当前批次扰动后的梯度值、预设更新周期以及本轮训练中局部模型输入的批次数,更新局部模型的当前参数。
具体的,在一些实施例中,根据局部模型的当前参数、预设学习率和当前批次扰动后的梯度值,对局部模型的当前参数进行第一次更新;根据预设更新周期,确定是否进行第二次更新;在进行第二次更新的情况下,根据本轮训练中局部模型输入的批次数,对第一次更新后局部模型的当前参数以及上一次的第二次更新后的局部模型的参数,进行参数的平均,以对第一次更新后局部模型的当前参数进行第二次更新,确定当前批次更新后局部模型的当前参数。
局部模型的训练过程中,分批次输入数据进行迭代更新,按照预设更新周期(n个批次),则对局部模型采用上述方法进行二次更新。例如,每个批次都可以采用上述方法进行二次更新,或者每3个批次,采用上述方法进行一回二次更新等,不限于所举示例。
上述方法可以按照预设更新周期对局部模型的参数进行滑动平均。具体的,确定上一次的第二次更新后的局部模型的参数与本轮训练中局部模型输入的批次数的乘积;将该乘积与第一次更新后局部模型的当前参数相加,再与本轮训练中局部模型输入的批次数加1的和求比值,得到当前批次更新后局部模型的当前参数。
进行第一次更新可以参考公式(4),进行第二次更新可以参考以下公式。
(5)
公式(5)中,w为由公式(4)得到的,/>即第二次更新后局部模型的参数,在初始时与w赋值一致,即在k=0时,/>
上述实施例的方法,加入了周期性滑动平均来限制权重的变化,解决了传统随机梯度下降方法在反向过程中的权重震荡问题,减少噪声过拟合,使得损失函数景观上有更宽的区域,提高局部模型的泛化能力和性能。
在一些实施例中,将最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定为初步参数更新值;对初步参数更新值进行剪裁,确定剪裁后的参数更新值;根据剪裁后的参数更新值,确定局部模型的参数更新值。
例如,初步参数更新值可以采用以下公式确定。
(6)
确定初步参数更新值后,可以进行剪裁,提高模型的收敛速度,并提高隐私安全。在一些实施例中,确定剪裁阈值与初步参数更新值的二范数的比值;选取比值与预设值中的最小值;将最小值与初步参数更新值的乘积,作为剪裁后的参数更新值。可以采用以下公式剪裁。
(7)
公式(7)中,C表示剪裁阈值,是非负值。
在一些实施例中,对剪裁后的参数更新值添加噪声,确定局部模型的参数更新值。例如,添加的噪声为高斯噪声。添加噪声可以进一步提高隐私安全。可以根据以下公式添加噪声。
(8)
公式(8)中,为高斯噪声方差,/>为与局部模型参数维度相同的单位矩阵,m为执行上述方法的本地设备的数量,m≤M,M为局部模型的总数量,即本地设备的总数量。
在步骤S108中,将局部模型的参数更新值发送至中心服务器进行聚合操作。
在一些实施例中,将局部模型的参数更新值发送至中心服务器;在中心服务器中,将接收到的多个局部模型的参数更新值取平均值,再将全局模型的当前参数与平均值相加,得到更新后的全局模型的参数。例如,更新后的全局模型的参数采用以下公式确定。
(9)
公式(9)中,为第t轮训练中全局模型的参数。
上述实施例的方法针对联邦学习模型的局部模型,输入本地训练数据,确定原梯度值,进而根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值,再根据扰动后的梯度值,确定局部模型的参数更新值,并发送至中心服务器进行聚合操作。由于加入在梯度方向上的梯度扰动,当损失函数景观达尖锐区域时,扰动后的梯度值能帮助局部模型跳出尖锐最小点,从而增强局部模型的损失函数景观的平坦度,提高联邦学习中局部模型的泛化能力和准确性。
下面结合图2描述本公开差分隐私联邦学习训练方法的另一些实施例。
图2为本公开差分隐私联邦学习训练方法另一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S202~S226。
在步骤S202中,中心服务器确定参与本轮训练的多个本地设备。
例如,以预设概率进行采样,确定参与本轮训练的多个本地设备。
针对参与本轮训练的多个本地设备中每个本地设备,执行步骤S204~S222。
在步骤S204中,接收中心服务器发送的训练通知。
训练通知是中心服务器选取部分局部模型后发送至选取的局部模型的,训练通知包括全局模型的参数。
在步骤S206中,根据全局模型的参数对本地的局部模型的参数进行更新。
在步骤S208中,将当前批次的数据,输入局部模型,确定当前批次的原梯度值。
在步骤S210中,根据当前批次的原梯度值,在梯度方向上进行梯度扰动,确定当前批次扰动后的梯度值。
在步骤S212中,根据局部模型的当前参数与当前批次扰动后的梯度值,更新局部模型的当前参数。
在步骤S214中,确定最后一个批次的数据是否已使用完,如果是,则执行步骤S216,否则执行步骤S215。
在步骤S215中,选取下一个批次的数据,更新为当前批次的数据,返回步骤S208重复执行。
在步骤S216中,将最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定为初步参数更新值。
在步骤S218中,对初步参数更新值进行剪裁,确定剪裁后的参数更新值。
在步骤S220中,对剪裁后的参数更新值添加噪声,确定局部模型的参数更新值。
在步骤S222中,将局部模型的参数更新值发送至中心服务器。
在步骤S224中,中心服务器根据参与本轮训练的多个本地设备的局部模型的参数更新值,更新全局模型的参数。
在步骤S226中,中心服务器确定全局模型是否达到预设收敛条件,如果是,则结束训练,否则,进入下一轮训练,返回步骤S202重新开始执行。
在训练完成后,可以将本地待处理数据输入局部模型,得到输出的结果。例如,本地待处理数据包括:本地待处理图像数据、本地待处理文本数据或本地待处理语音数据。根据不同类型的模型可以得到不同的输出结果,在此不再赘述。
发明人对本公开的方法进行了理论分析和验证,在敏感度和收敛性上相对于现有技术都有很好的提高。在一些实施例中,在每轮训练中本地训练数据包括多个批次的数据的情况下,根据训练的轮数和批次的数量,确定局部模型的敏感度和收敛性中至少一项。理论验证结果如下。
在连续性假设,方差有界,梯度有界,以及设备梯度差异有界的假设下,假设学习率且扰动程度参数满足/>,敏感度根据学习率、扰动程度参数、局部模型更新梯度的方差、训练的轮数和批次的数量确定。例如,可以采用以下公式表示。
(10)
公式(10)中,为第t次训练中第i个本地设备的本地训练参数更新的敏感度,K为局部模型更新梯度迭代总次数,L为利普西斯常数值,/>为局部模型更新梯度的方差。
上述敏感度表示梯度扰动后的敏感度,可以根据上述公式观察训练的轮数K和批次的数量T对敏感度的影响,发现敏感度相对于现有技术有很好的提高。
收敛性即收敛速度上届根据训练的轮数和批次的数量确定。例如,可以采用以下公式表示。
(11)
公式(11)中,,/> 。且 /> 和 /> 分别测量裁剪和添加噪声操作前本地设备间本地更新的平均范数和本地更新的一致性,M为参与训练的所有本地设备数量,T为总的通信轮次数,/>为局部模型与全局模型更新梯度之间差值的方差,/>表示全局模型目标函数的最优解,/>表示第一轮训练下全局模型的目标函数值,不等式左侧从左到右三项分别表示梯度扰动、剪裁和添加噪声对收敛性的影响。
可以根据上述公式观察训练的轮数K和批次的数量T对收敛性的影响,并且可以确定发现模型的收敛性相对于现有技术有很好的提高。
发明人经过研究发现,在差分隐私联邦学习中,引入随机噪声导致各个本地设备之间的局部模型不一致的问题加剧,从而导致模型性能较差,以及权重扰动鲁棒性较差的问题。本公开的方法,通过本地训练时采用梯度扰动方法生成具有更好的稳定性和权重扰动鲁棒性,损失函数景观更平坦的局部模型,这将降低随机噪声对模型的影响使得局部模型更新的L2范数变小,并且通过对局部模型的参数平均,提高局部模型的泛化能力,降低随机噪声对模型的影响,对随机噪声的鲁棒性增强,从而提高了性能,并且在模型性能和隐私保护开销之间达到较好的平衡。
发明人经过研究发现,在差分隐私联邦学习中,剪裁操作导致模型信息损失问题。本公开的方法,通过本地训练时采用梯度扰动方法和参数平均方法使得本地局部模型更新的L2范数分布偏向于减小值,进而缓和了因剪裁操作导致信息损失的问题。
本公开的方法在差分隐私联邦学习的本地训练时,采用梯度扰动方法进行训练,并采用周期性对局部模型的参数进行平均,以获得具备更好泛化能力和较平坦损失三维图景观的局部模型,可以显著减轻本地模型不一致性问题,进而在多个局部模型基础上提升整体全局模型的泛化能力。此外,对本公开基于梯度扰动的差分隐私联邦学习算法的收敛速度上界和敏感度进行分析,通过真实数据实验证实在收敛速度和模型精度方面具有更好的性能,在非凸情况下存在收敛速率上界,即通过该方案部署的模型能收敛到一个具有梯度上界的较优点。
本公开还提供一种差分隐私联邦学习训练装置,下面结合图3进行描述。
图3为本公开差分隐私联邦学习训练装置的一些实施例的结构图。如图3所示,该实施例的装置30包括:输入模块310,梯度扰动模块320,更新模块330,发送模块340。
输入模块310用于在联邦学习模型的局部模型中,输入本地训练数据,确定原梯度值。
梯度扰动模块320用于根据原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值。
在一些实施例中,输入模块310用于在本地训练数据包括多个批次的数据的情况下,依次将每个批次的数据作为当前批次的数据,输入局部模型,确定当前批次的原梯度值。梯度扰动模块320用于根据当前批次的原梯度值,在梯度方向上进行梯度扰动,确定当前批次扰动后的梯度值。
在一些实施例中,梯度扰动模块320用于根据当前批次的原梯度值和扰动程度参数,确定当前批次的扰动项;根据当前批次的扰动项和当前批次的原梯度值,确定当前批次扰动后的梯度值。
在一些实施例中,梯度扰动模块320用于确定当前批次的原梯度值和扰动程度参数的乘积;将乘积与当前批次的原梯度值的二范数的比值,确定为当前批次的扰动项。
在一些实施例中,梯度扰动模块320用于将局部模型的当前参数与当前批次的扰动项相加,得到当前批次的扰动参数值;根据当前批次的扰动参数值和损失函数,基于梯度下降法确定当前批次扰动后的梯度值。
更新模块330用于根据扰动后的梯度值,确定局部模型的参数更新值。
在一些实施例中,更新模块330用于根据局部模型的当前参数与当前批次扰动后的梯度值,更新局部模型的当前参数;根据最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定局部模型的参数更新值。
在一些实施例中,更新模块330用于根据局部模型的当前参数、当前批次扰动后的梯度值、预设更新周期以及本轮训练中局部模型输入的批次数,更新局部模型的当前参数。
在一些实施例中,更新模块330用于根据局部模型的当前参数、预设学习率和当前批次扰动后的梯度值,对局部模型的当前参数进行第一次更新;根据预设更新周期,确定是否进行第二次更新;在进行第二次更新的情况下,根据本轮训练中局部模型输入的批次数,对第一次更新后局部模型的当前参数以及上一次的第二次更新后的局部模型的参数,进行参数的平均,以对第一次更新后局部模型的当前参数进行第二次更新,确定当前批次更新后局部模型的当前参数。
在一些实施例中,更新模块330用于将最后一个批次的数据对应的更新后局部模型的当前参数与第一个批次的数据输入前的局部模型的参数的差值,确定为初步参数更新值;对初步参数更新值进行剪裁,确定剪裁后的参数更新值;根据剪裁后的参数更新值,确定局部模型的参数更新值。
在一些实施例中,更新模块330用于确定剪裁阈值与初步参数更新值的二范数的比值;选取比值与预设值中的最小值;将最小值与初步参数更新值的乘积,作为剪裁后的参数更新值。
在一些实施例中,更新模块330用于对剪裁后的参数更新值添加噪声,确定局部模型的参数更新值。
在一些实施例中,添加的噪声为高斯噪声。
发送模块340用于将局部模型的参数更新值发送至中心服务器进行聚合操作。
在一些实施例中,发送模块340用于将局部模型的参数更新值发送至中心服务器,其中,在中心服务器中,将接收到的多个局部模型的参数更新值取平均值,再将全局模型的当前参数与平均值相加,得到更新后的全局模型的参数。
在一些实施例中,该训练装置30还包括:接收模块350,用于接收中心服务器发送的训练通知,其中,训练通知是中心服务器选取部分局部模型后发送至选取的局部模型的,训练通知包括全局模型的参数;更新模块330还用于根据全局模型的参数对局部模型的参数进行更新。
在一些实施例中,本地训练数据包括:本地图像数据,局部模型包括:视觉任务模型;或者,本地训练数据包括:本地文本数据,局部模型包括:自然语言处理模型;或者,本地训练数据包括:本地语音数据,局部模型包括:语音处理模型。
在一些实施例中,该训练装置30还包括:处理模块360,用于将本地待处理数据输入局部模型,得到输出的结果,其中,本地待处理数据包括:本地待处理图像数据、本地待处理文本数据或本地待处理语音数据。
在一些实施例中,该训练装置30还包括:确定模块370,用于在每轮训练中本地训练数据包括多个批次的数据的情况下,根据训练的轮数和批次的数量,确定局部模型的敏感度和收敛性中至少一项。
上述训练装置可以设置于各个本地设备中,用于对联邦学习模型中的局部模型进行训练。
本公开的实施例中的差分隐私联邦学习训练装置可各由各种计算设备或计算机系统来实现,下面结合图4以及图5进行描述。
图4为本公开差分隐私联邦学习训练装置的一些实施例的结构图。如图4所示,该实施例的装置40包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行本公开中任意一些实施例中的差分隐私联邦学习训练方法。
其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图5为本公开差分隐私联邦学习训练装置的另一些实施例的结构图。如图5所示,该实施例的装置50包括:存储器510以及处理器520,分别与存储器410以及处理器420类似。还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530,540,550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口550为SD卡、U盘等外置存储设备提供连接接口。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
例如:在收集本地图像数据、文本数据或语音数据后,我们将通过技术手段对数据进行去标识化处理。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (16)

1.一种差分隐私联邦学习训练方法,包括:
在联邦学习模型的局部模型中,输入本地训练数据,确定原梯度值,其中,所述本地训练数据包括本地图像数据,所述局部模型包括视觉任务模型,或者,所述本地训练数据包括本地文本数据,所述局部模型包括自然语言处理模型,或者,所述本地训练数据包括本地语音数据,所述局部模型包括语音处理模型;
根据所述原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值;
根据所述扰动后的梯度值,确定所述局部模型的参数更新值;
将所述局部模型的参数更新值发送至中心服务器进行聚合操作,
其中,所述根据所述扰动后的梯度值,确定所述局部模型的参数更新值包括:在所述本地训练数据包括多个批次的数据的情况下,
根据所述局部模型的当前参数、预设学习率和当前批次扰动后的梯度值,对所述局部模型的当前参数进行第一次更新;
根据预设更新周期,确定是否进行第二次更新;
在进行第二次更新的情况下,根据本轮训练中所述局部模型输入的批次数,对第一次更新后所述局部模型的当前参数以及上一次的第二次更新后的所述局部模型的参数,进行参数的平均,以对第一次更新后所述局部模型的当前参数进行第二次更新,确定当前批次更新后所述局部模型的当前参数;
根据最后一个批次的数据对应的更新后所述局部模型的当前参数与第一个批次的数据输入前的所述局部模型的参数的差值,确定所述局部模型的参数更新值。
2.根据权利要求1所述的差分隐私联邦学习训练方法,其中,所述输入本地训练数据,确定原梯度值包括:
依次将每个批次的数据作为当前批次的数据,输入所述局部模型,确定当前批次的原梯度值;
所述根据所述原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值包括:
根据所述当前批次的原梯度值,在梯度方向上进行梯度扰动,确定当前批次扰动后的梯度值。
3.根据权利要求2所述的差分隐私联邦学习训练方法,其中,所述根据所述当前批次的原梯度值,在梯度方向上进行梯度扰动,确定当前批次扰动后的梯度值包括:
根据所述当前批次的原梯度值和扰动程度参数,确定当前批次的扰动项;
根据所述当前批次的扰动项和所述当前批次的原梯度值,确定当前批次扰动后的梯度值。
4.根据权利要求3所述的差分隐私联邦学习训练方法,其中,所述根据所述当前批次的原梯度值和扰动程度参数,确定当前批次的扰动项包括:
确定所述当前批次的原梯度值和所述扰动程度参数的乘积;
将所述乘积与所述当前批次的原梯度值的二范数的比值,确定为所述当前批次的扰动项。
5.根据权利要求3所述的差分隐私联邦学习训练方法,其中,所述根据所述当前批次的扰动项和所述当前批次的原梯度值,确定当前批次扰动后的梯度值包括:
将所述局部模型的当前参数与所述当前批次的扰动项相加,得到当前批次的扰动参数值;
根据所述当前批次的扰动参数值和损失函数,基于梯度下降法确定所述当前批次扰动后的梯度值。
6.根据权利要求1所述的差分隐私联邦学习训练方法,其中,所述根据最后一个批次的数据对应的更新后所述局部模型的当前参数与第一个批次的数据输入前的所述局部模型的参数的差值,确定所述局部模型的参数更新值包括:
将最后一个批次的数据对应的更新后所述局部模型的当前参数与第一个批次的数据输入前的所述局部模型的参数的差值,确定为初步参数更新值;
对所述初步参数更新值进行剪裁,确定剪裁后的参数更新值;
根据所述剪裁后的参数更新值,确定所述局部模型的参数更新值。
7.根据权利要求6所述的差分隐私联邦学习训练方法,其中,所述对所述初步参数更新值进行剪裁,确定剪裁后的参数更新值包括:
确定剪裁阈值与所述初步参数更新值的二范数的比值;
选取所述比值与预设值中的最小值;
将所述最小值与所述初步参数更新值的乘积,作为剪裁后的参数更新值。
8.根据权利要求6所述的差分隐私联邦学习训练方法,其中,所述根据所述剪裁后的参数更新值,确定所述局部模型的参数更新值包括:
对所述剪裁后的参数更新值添加噪声,确定所述局部模型的参数更新值。
9.根据权利要求8所述的差分隐私联邦学习训练方法,其中,添加的噪声为高斯噪声。
10.根据权利要求1所述的差分隐私联邦学习训练方法,其中,所述将所述局部模型的参数更新值发送至中心服务器进行聚合操作包括:
将所述局部模型的参数更新值发送至所述中心服务器;
在所述中心服务器中,将接收到的多个局部模型的参数更新值取平均值,再将全局模型的当前参数与所述平均值相加,得到更新后的全局模型的参数。
11.根据权利要求1所述的差分隐私联邦学习训练方法,还包括:
接收所述中心服务器发送的训练通知,其中,所述训练通知是所述中心服务器选取部分局部模型后发送至选取的局部模型的,所述训练通知包括全局模型的参数;
根据所述全局模型的参数对所述局部模型的参数进行更新。
12.根据权利要求1-11任一项所述的差分隐私联邦学习训练方法,还包括:
将本地待处理数据输入所述局部模型,得到输出的结果,其中,所述本地待处理数据包括:本地待处理图像数据、本地待处理文本数据或本地待处理语音数据。
13.根据权利要求1-11任一项所述的差分隐私联邦学习训练方法,还包括:
在每轮训练中所述本地训练数据包括多个批次的数据的情况下,根据训练的轮数和批次的数量,确定所述局部模型的敏感度和收敛性中至少一项。
14.一种差分隐私联邦学习训练装置,包括:
输入模块,用于在联邦学习模型的局部模型中,输入本地训练数据,确定原梯度值,其中,所述本地训练数据包括本地图像数据,所述局部模型包括视觉任务模型,或者,所述本地训练数据包括本地文本数据,所述局部模型包括自然语言处理模型,或者,所述本地训练数据包括本地语音数据,所述局部模型包括语音处理模型;
梯度扰动模块,用于根据所述原梯度值,在梯度方向上进行梯度扰动,确定扰动后的梯度值;
更新模块,用于根据所述扰动后的梯度值,确定所述局部模型的参数更新值;
发送模块,用于将所述局部模型的参数更新值发送至中心服务器进行聚合操作,
其中,所述更新模块用于在所述本地训练数据包括多个批次的数据的情况下,根据所述局部模型的当前参数、预设学习率和当前批次扰动后的梯度值,对所述局部模型的当前参数进行第一次更新,根据预设更新周期,确定是否进行第二次更新,在进行第二次更新的情况下,根据本轮训练中所述局部模型输入的批次数,对第一次更新后所述局部模型的当前参数以及上一次的第二次更新后的所述局部模型的参数,进行参数的平均,以对第一次更新后所述局部模型的当前参数进行第二次更新,确定当前批次更新后所述局部模型的当前参数,根据最后一个批次的数据对应的更新后所述局部模型的当前参数与第一个批次的数据输入前的所述局部模型的参数的差值,确定所述局部模型的参数更新值。
15. 一种差分隐私联邦学习训练装置,包括:
处理器;以及
耦接至所述处理器的存储器,用于存储指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1-13任一项所述的差分隐私联邦学习训练方法。
16.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现权利要求1-13任一项所述方法的步骤。
CN202310919570.XA 2023-07-25 2023-07-25 差分隐私联邦学习训练方法、装置和计算机可读存储介质 Active CN116629388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310919570.XA CN116629388B (zh) 2023-07-25 2023-07-25 差分隐私联邦学习训练方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310919570.XA CN116629388B (zh) 2023-07-25 2023-07-25 差分隐私联邦学习训练方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN116629388A CN116629388A (zh) 2023-08-22
CN116629388B true CN116629388B (zh) 2023-12-05

Family

ID=87613900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310919570.XA Active CN116629388B (zh) 2023-07-25 2023-07-25 差分隐私联邦学习训练方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116629388B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818394A (zh) * 2021-01-29 2021-05-18 西安交通大学 具有本地隐私保护的自适应异步联邦学习方法
CN113902473A (zh) * 2021-09-29 2022-01-07 支付宝(杭州)信息技术有限公司 业务预测系统的训练方法及装置
CN115563650A (zh) * 2022-10-14 2023-01-03 电子科技大学 基于联邦学习实现医疗数据的隐私保护系统
CN115719092A (zh) * 2022-09-29 2023-02-28 阿里巴巴(中国)有限公司 基于联邦学习的模型训练方法和联邦学习系统
CN116167084A (zh) * 2023-02-24 2023-05-26 北京工业大学 一种基于混合策略的联邦学习模型训练隐私保护方法及系统
CN116186772A (zh) * 2023-02-23 2023-05-30 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法及装置
CN116306990A (zh) * 2023-03-10 2023-06-23 支付宝(杭州)信息技术有限公司 一种模型的处理方法、装置及设备
CN116340990A (zh) * 2023-02-14 2023-06-27 四川轻化工大学 一种基于自适应差分隐私的联邦学习隐私保护方法
CN116415692A (zh) * 2023-04-24 2023-07-11 京东科技信息技术有限公司 联邦学习方法和系统以及局部节点设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230047092A1 (en) * 2021-07-30 2023-02-16 Oracle International Corporation User-level Privacy Preservation for Federated Machine Learning

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818394A (zh) * 2021-01-29 2021-05-18 西安交通大学 具有本地隐私保护的自适应异步联邦学习方法
CN113902473A (zh) * 2021-09-29 2022-01-07 支付宝(杭州)信息技术有限公司 业务预测系统的训练方法及装置
CN115719092A (zh) * 2022-09-29 2023-02-28 阿里巴巴(中国)有限公司 基于联邦学习的模型训练方法和联邦学习系统
CN115563650A (zh) * 2022-10-14 2023-01-03 电子科技大学 基于联邦学习实现医疗数据的隐私保护系统
CN116340990A (zh) * 2023-02-14 2023-06-27 四川轻化工大学 一种基于自适应差分隐私的联邦学习隐私保护方法
CN116186772A (zh) * 2023-02-23 2023-05-30 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法及装置
CN116167084A (zh) * 2023-02-24 2023-05-26 北京工业大学 一种基于混合策略的联邦学习模型训练隐私保护方法及系统
CN116306990A (zh) * 2023-03-10 2023-06-23 支付宝(杭州)信息技术有限公司 一种模型的处理方法、装置及设备
CN116415692A (zh) * 2023-04-24 2023-07-11 京东科技信息技术有限公司 联邦学习方法和系统以及局部节点设备和存储介质

Also Published As

Publication number Publication date
CN116629388A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN105574098B (zh) 知识图谱的生成方法及装置、实体对比方法及装置
CN109922032B (zh) 用于确定登录账户的风险的方法、装置、设备及存储介质
CN111310814A (zh) 利用不平衡正负样本对业务预测模型训练的方法及装置
KR20190109427A (ko) 침입 탐지를 위한 지속적인 학습
CN108108743B (zh) 异常用户识别方法和用于识别异常用户的装置
CN106682906B (zh) 一种风险识别、业务处理方法和设备
CN112749749B (zh) 基于分类决策树模型的分类方法、装置及电子设备
CN110929799B (zh) 用于检测异常用户的方法、电子设备和计算机可读介质
WO2023246146A1 (zh) 基于优化规则决策树的目标安全识别方法及装置
CN113434771A (zh) 基于区块链的金融资讯推荐方法及区块链中的参与方节点
CN110874638B (zh) 面向行为分析的元知识联邦方法、装置、电子设备及系统
CN107368526A (zh) 一种数据处理方法及装置
CN113590764A (zh) 训练样本构建方法、装置、电子设备和存储介质
CN113449011A (zh) 基于大数据预测的信息推送更新方法及大数据预测系统
CN112884569A (zh) 一种信用评估模型的训练方法、装置及设备
CN115130536A (zh) 特征提取模型的训练方法、数据处理方法、装置及设备
CN114398685A (zh) 一种政务数据处理方法、装置、计算机设备及存储介质
CN113746780B (zh) 基于主机画像的异常主机检测方法、装置、介质和设备
JP7276483B2 (ja) 学習装置、分類装置、学習方法及び学習プログラム
CN111079175B (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN116629388B (zh) 差分隐私联邦学习训练方法、装置和计算机可读存储介质
CN111984842B (zh) 银行客户数据处理方法及装置
JP2021018466A (ja) ルール抽出装置、情報処理装置、ルール抽出方法及びルール抽出プログラム
CN115169455A (zh) 基于改进的社区发现算法的交易数据异常检测方法及装置
CN113869904A (zh) 可疑数据识别方法、装置、电子设备、介质和计算机程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant