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

基于通道的分层结构差分隐私联邦学习方法、装置

文献发布时间:2024-04-18 19:59:31


基于通道的分层结构差分隐私联邦学习方法、装置

技术领域

本发明涉及人工智能技术领域,尤其涉及基于通道的分层结构差分隐私联邦学习方法、装置、计算机设备及存储介质。

背景技术

出于对敏感数据的隐私保护,联邦学习(FL)是一种能够让数据所有者在其本地进行私有模型训练,并通过权重聚合最终形成全局模型的分布式训练模式。其大大降低了数据隐私泄露的风险。然而,现有的研究表明,尽管只发送权重进行聚合,对手仍然可以从局部权重及其更新中推断出本地的私人训练数据。

为了应对这些攻击,现有的许多方法采用差分隐私(DP)来保证数据的隐私性。然而,均匀分配差分隐私的隐私预算会导致模型精度急剧下降。

发明内容

本发明实施例的目的在于提出一种基于通道的分层结构差分隐私联邦学习方法、装置、计算机设备及存储介质,以解决现有技术中使用的均匀分配差分隐私的隐私预算会导致模型精度急剧下降的问题。

为了解决上述技术问题,本发明还提供一种基于通道的分层结构差分隐私联邦学习装置,采用了如下所述的技术方案,包括:

将联邦学习模型部署在客户端;

获取所述联邦学习模型中神经网络的卷积层每层通道的重要性;

计算联邦学习模型中神经网络每一层的重要性;

根据联邦学习模型中神经网络每一层的重要性,进行差分隐私预算分配;

由客户端根据分配的差分隐私预算,向相应的通道层添加噪声;

由客户端将加噪后的权重上传至服务器,等待下一轮中央服务器下发最新的聚合参数,由中央服务器进行聚合,经过多轮交互训练,产生最终的联邦学习模型。

优选地,所述将联邦学习模型部署在客户端的步骤具体包括:

服务器初始化模型参数,并将初始化的模型参数下发至选中的客户端;

相互独立的客户端接收来自服务器的模型参数;

每个客户端用其本地敏感数据训练本地模型并更新模型参数;

客户端将本地模型参数上传至服务器;

服务器等客户端训练完成并上传参数后,聚合参数并更新全局参数

服务器下发下一轮的模型参数,以此循环迭代。

优选地,所述获取所述联邦学习模型中神经网络的卷积层每层通道的重要性的步骤具体包括:

定义SE块;

在前向传播时添加SE块计算每层的通道的重要性;

前向传播结束得到通道重要性。

优选地,所述计算联邦学习模型中神经网络每一层的重要性的步骤具体包括:

每个客户端对本地模型进行预训练阶段;

采用Grad_Cam算法计算卷积层每层的重要性;

采用L2范数计算全连接层每层的重要性;

使用超参数α衡量卷积层和全连接层的重要性。

优选地,所述根据联邦学习模型中神经网络每一层的重要性,进行差分隐私预算分配的步骤具体包括:

通过对每个客户端的本地模型进行预训练计算,得到客户端每层的重要性;

计算所有层重要性的和;

根据每层在所有层中重要性占比来计算每层分配的隐私预算。

优选地,所述由客户端根据分配的差分隐私预算,向相应的通道层添加噪声的步骤具体包括:

在重要性前k层通道添加高斯噪声;

剩余通道层以一定的概率p添加高斯噪声。

优选地,所述由客户端将加噪后的权重上传至服务器,等待下一轮中央服务器下发最新的聚合参数,由中央服务器进行聚合,经过多轮交互训练,产生最终的联邦学习模型的步骤具体包括:

基于通道的重要性值添加高斯噪声;

客户端将加噪后的权重参数发送至服务器端;

服务器将客户端发送来的数据进行聚合;

服务器下发聚合后的权重参数以进行下一轮的训练。

为了解决上述技术问题,本发明还提供一种基于通道的分层结构差分隐私联邦学习装置,采用了如下所述的技术方案,包括:

部署模块,用于将联邦学习模型部署在客户端;

获取模块,用于获取所述联邦学习模型中神经网络的卷积层每层通道的重要性;

计算模块,用于计算联邦学习模型中神经网络每一层的重要性;

分配模块,用于根据联邦学习模型中神经网络每一层的重要性,进行差分隐私预算分配;

添加模块,用于由客户端根据分配的差分隐私预算,向相应的通道层添加噪声;

聚合模块,用于由客户端将加噪后的权重上传至服务器,等待下一轮中央服务器下发最新的聚合参数,由中央服务器进行聚合,经过多轮交互训练,产生最终的联邦学习模型。

为了解决上述技术问题,本发明还提供一种计算机设备,采用了如下所述的技术方案,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述的基于通道的分层结构差分隐私联邦学习方法的步骤。

为了解决上述技术问题,本发明还提供一种计算机可读存储介质,采用了如下所述的技术方案,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述的基于通道的分层结构差分隐私联邦学习方法的步骤。

与现有技术相比,本发明主要有以下有益效果:根据客户端的贡献值,选择合适的客户端进行模型训练;没有像传统的隐私预算分配方法一样,随机均匀的分配隐私预算,而是根据每层对最终决策的影响程度来分配隐私预算,以此来尽可能的增加模型的精度;基于层的重要性来分配隐私预算,使得更为重要的层分配更大值的隐私预算,从而保持较高的模型精度;为了降低权重中添加过多扰动的问题,利用通道的重要性,来判断每层中应该以何种概率添加扰动,具体而言,选择前k通道的权重添加更强的隐私,可以降低隐私泄露风险并且增强权重的隐私级别;基于客户端的贡献值来选择合适的客户端,从而提高性能并加快模型的收敛速度。

附图说明

为了更清楚地说明本发明中的方案,下面将对本发明实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的基于通道的分层结构差分隐私联邦学习方法的一个实施例的流程图;

图2是现有技术中的联邦学习架构;

图3是本发明的基于通道的分层结构差分隐私联邦学习方法采用的差分隐私联邦学习模型示意图;

图4是本发明的基于通道的分层结构差分隐私联邦学习装置的一个实施例的结构示意图;

图5是本发明的计算机设备的一个实施例的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明;本发明的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本发明的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本发明实施例所提供的基于通道的分层结构差分隐私联邦学习方法一般由服务器/终端设备执行,相应地,基于通道的分层结构差分隐私联邦学习装置一般设置于服务器/终端设备中。

应该理解,终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

实施例一

继续参考图1,示出了本发明的基于通道的分层结构差分隐私联邦学习方法的一个实施例的流程图。所述基于通道的分层结构差分隐私联邦学习方法,包括以下步骤:

步骤S1,将联邦学习模型部署在客户端。

在本实施例中,基于通道的分层结构差分隐私联邦学习方法运行于其上的电子设备(例如服务器/终端设备)可以通过有线连接方式或者无线连接方式接收基于通道的分层结构差分隐私联邦学习请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAXX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。

图2是现有技术中的联邦学习架构。如图2所示,联邦学习框架允许多个参与者(如客户端)在本地训练本地模型,并由服务器进行模型聚合更新与下发。多个客户端接收来自服务器端的模型参数。不同客户端之间是相互独立的,因此它们的数据集是非独立同分布。每个客户端用其本地敏感数据并行的训练本地模型,并更新模型参数,接着将本地模型参数上传至服务器。

服务器初始化模型参数,并下发至多个客户端。等多个客户端训练完成并向服务器上传参数后,服务器聚合参数并更新全局参数,随后进行下一轮的模型下发,以此循环迭代。

联邦学习框架包括中央服务器S和K个客户端组成,其中,每个客户端可以表示为c={c

在本实施例中,步骤S1,将联邦学习模型部署在客户端还可以具体包括步骤:

S11、服务器初始化模型参数,并将初始化的模型参数下发至选中的客户端。

模型参数包括随机初始化神经网络的权重和偏差,模型的超参数等。模型的超参数包括学习率、迭代次数等。

S12、相互独立的客户端接收来自服务器的模型参数。

为确保模型参数在传输过程中的机密性,客户端和服务器之间使用安全的通信协议,使用安全套接字(SSL/TLS)来保护模型参数的保密性和完整性。S13、每个客户端用其本地敏感数据训练本地模型并更新模型参数。

每个客户端使用其端设备不可泄露给中央服务器的敏感数据(例如,交易历史、信用卡交易记录等)进行本地模型训练。每个客户端会训练一个神经网络模型,并根据自身的敏感数据集产生新的模型参数更新。S14、客户端将本地模型参数上传至服务器。

在本地模型训练后,每个客户端会生成更新后的模型参数。在将模型参数上传至中央服务器之前,采用差分隐私机制向模型参数中加入高斯扰动,从而确保敏感数据的隐私。

S15、服务器等客户端训练完成并上传参数后,聚合参数并更新全局参数。

服务器接受扰动后的模型参数,并采用平均聚合的方法将所有客户端传递的模型参数进行平均值计算,最终得到聚合后的全局模型参数。

S16、服务器下发下一轮的模型参数,以此循环迭代。

服务器将聚合后的全局模型参数下发给选择的客户端,类似于步骤S12,这一通信应采用安全的通信协议。另外,直到全局模型收敛或达到预定的训练轮次,才会终止迭代过程。

步骤S2,获取联邦学习中神经网络的卷积层每层通道的重要性。

在本实施例中,步骤S2,获取联邦学习中神经网络的卷积层每层通道的重要性还可以具体包括步骤:

S21、定义压缩和激励块。

在神经网络中定义压缩和激励SE(Squeeze-and-Excitation)块,用于计算联邦学习模型卷积层每层通道的重要性。压缩和激励SE块通常包括两部分,压缩部分和激发部分。压缩部分是指使用全局平均池化来降低每个通道的维度,将多为通道降低为一维通道便计算出了每个通道的重要性得分。而激发部分是指使用学习到的重要性分数来分配通道的权重,以强化重要通道的影响。这部分通过一个两个全连接层和激活函数来实现。

S22、在前向传播时,添加压缩和激励SE块,计算每层的通道的重要性。

在前向传播过程中,根据卷积层的重要性创建数个上述定义好的SE网络,在前向传播计算完每个卷积层后,使用SE网络对计算后的值进行全局平均池化(压缩部分)以及两层全连接层(激发部分)的计算,最终获得卷积层每层通道的重要性,即确定哪些通道对任务的性能至关重要。

S23、前向传播结束得到通道重要性。

根据步骤S22,在卷积层每层后面定义SE网络,并计算卷积层每层通道的重要性,前向传播结束后将计算后的通道的重要性保留下来以便后续在通道级别添加扰动。

步骤S3,计算联邦学习中神经网络每一层的重要性。

在本实施例中,步骤S3,计算联邦学习中神经网络每一层的重要性还可以具体包括步骤:

S31、每个客户端对本地模型进行预训练。

S32、采用Grad_Cam算法,计算卷积层每层的重要性。

在前向传播中对于每个卷积层,通过前向传播将输入图像传递到该卷积层;在反向传播中,使用模型的输出类别作为损失函数,计算关于该类别的梯度。这些梯度将用于确定每个卷积层的哪些特征图对于该类别的预测最重要;最后使用梯度信息和特征图的值相乘,经过ReLu激活函数并求其均值来计算该卷积层的重要性。

S33、采用L2范数,计算全连接层每层的重要性。

针对每一层全连接层,提取它们的权重参数,接着使用L2范数,计算每一层的重要性,即,对于每个权重参数的平方进行求和,然后取平方根。L2范数值越大表示该层对模型的输出影响更大,也就更为重要。

S34、使用超参数α衡量卷积层和全连接层的重要性。

卷积层与全连接层的重要性,需要使用超参数进行平衡,进而最终得到每一层的重要性。

卷积层和全连接层的计算方法略有不同,因此需要使用超参数来平衡它们之间的重要性,即对于卷积层用α来衡量,对于全连接层用(1-α)来衡量。

步骤S4,根据联邦学习模型中神经网络每一层的重要性,进行差分隐私预算分配。

在本实施例中,步骤S4,根据联邦学习模型中神经网络每一层的重要性,进行差分隐私预算分配还可以具体包括步骤:

S41、通过对每个客户端的本地模型进行预训练计算,得到客户端每层的重要性。

在联邦学习开始前,先对每个客户端本地模型进行预训练,结合上述S3步骤,在模型预训练时,计算出每层的重要性。

S42、计算所有层重要性的和。

在联邦学习训练时,将得到的每层的重要性用sum函数求和,从而计算出所有层重要性的和。

S43、根据每层在所有层中重要性占比,来计算每层分配的隐私预算。

根据步骤S42计算出来的所有层重要性的和,计算每一层的重要性值除以所有层总的重要性值,来代表每层的在所有层的重要性占比,从而进行隐私预算的分配。即每个客户端总的隐私预算乘以每层的重要性占比来代表每层的隐私预算。

步骤S5,由客户端根据分配的差分隐私预算,向相应的通道层添加噪声。

相应的通道层指的是卷积层每层通道的前k个通道,即卷积层每层通道的前k个通道添加扰动,剩余的通道以一定的概率p添加扰动。

在本实施例中,步骤S5,由客户端根据分配的差分隐私预算,向相应的通道层添加噪声还可以具体包括步骤:

S51、在重要性前k层通道添加高斯噪声。

根据步骤S2,能够确定哪些通道层在模型中具有高重要性。通过设置固定k值(k值作为超参数),对前重要性前k层通道添加扰动。即生成一个均值为0,方差为σ的高斯噪声,并将生成的高斯噪声加到前k层通道层的权重上。

根据通道的重要性比例,选择前k层通道添加高斯扰动。k具体如何取值的?根据通道的重要性比例,如何选择前k层通道,如何添加高斯扰动?

S52、剩余通道层以一定的概率p添加高斯噪声。

剩余的通道被认为是非关键通道,这些通道对任务的性能贡献较小。因此,采用概率p来决定是否在后续的训练中引入高斯噪声。这里高斯噪声的引入方式与步骤S51相似,生成一个均值为0,方差为σ的高斯噪声并将其加入到通道层的权重上。

对于剩余通道,设置概率p,生成随机数x,若x大于p,则添加高斯扰动,否则不添加高斯扰动。

步骤S6,由客户端将加噪后的权重上传至服务器,等待下一轮中央服务器下发最新的聚合参数,由中央服务器进行聚合,经过多轮交互训练,产生最终的联邦学习模型。

在本实施例中,步骤S6,由客户端将加噪后的权重上传至服务器,等待下一轮中央服务器下发最新的聚合参数,由中央服务器进行聚合,经过多轮交互训练,产生最终的联邦学习模型还可以具体包括步骤:

S61、基于通道的重要性值,添加高斯噪声。

根据步骤S5对通道中更为重要的层上添加高斯噪声,以及在重要性较低的层上以概率p来判断是否添加噪声。

S62、客户端将加噪后的权重参数发送至服务器端。

根据步骤S61,客户端基于通道级别添加扰动后,将扰动后的数据传输到服务器端进行聚合。

S63、服务器将客户端发送来的数据进行聚合。

服务器接收来自客户端扰动后的参数,并将所有客户端参数进行平均聚合以行成新的全局模型。即计算每个权重参数的平均值。

S64、服务器向客户端下发聚合后的权重参数,以进行下一轮的训练。

根据S62服务器生成全局模型参数并将全局参数发送给选择的客户端。

图3是本发明的基于通道的分层结构差分隐私联邦学习方法采用的差分隐私联邦学习模型示意图。如图3所示,差分隐私联邦学习模型主要包括两种类型的实体,即中央服务器S和客户端c

中央服务器第t轮训练时,基于客户端的贡献值选择合适的客户端,并将模型参数W

被选中的客户端接收来自服务器发送的模型参数W

基于分层结构的差分隐私联邦学习模型的基本思想,是由中央服务器首先按照客户端的贡献程度,选择合适的客户端进行训练,并为所选择的客户端分配适当的隐私预算,客户端根据服务器下发的模型参数和本地训练数据集进行模型更新,之后计算模型每一层网络的重要性,再将隐私预算按照层的重要性进行再分配。

需要说明的是,只需要将注意力集中在当前更为关键的信息,降低对其他信息的关注度。因此需要对于不同重要程度的通道给予不同程度的关注,即对权重每层的数据按其对于最终分类结果的影响程度来随机添加扰动,详见算法1。

算法1-基于分层结构的差分隐私联邦学习框架:

输入:全局迭代T;局部迭代le,客户端数量n,本地小批次大小B,学习率lr,隐私预算ε,裁剪阈值C,每次选择的批次大小b。

输出:分层结构的差分隐私联邦学习模型

算法1即分为以下几个步骤:

(1)基于贡献的客户端选择:在模型训练的第t个全局更新阶段,中央服务器需要从一组客户端中选择对全局模型有更多贡献的客户端

(2)计算层的CUI值:被选中的客户端使用本地数据训练本地模型,并计算每个层的重要性值,即CUI值。

(3)分层随机扰动:在模型训练阶段,为每一层网络添加一个轻量级的结构简单的SE(Squeeze-and-Excitation)块,从而学习每一个通道的重要性,并为每个特征通道生成一个权重,用来代表特征通道的重要程度。根据通道的重要性程度,对于前k通道添加高斯噪声,剩下的通道对应的权重以概率p来随机添加扰动。

(4)模型更新:中央服务器接收第t轮的聚合参数,将当前全局模型聚合并更新为

服务器和客户端交互执行步骤(1)~(4),直到模型收敛,从而获得训练好的全局预测模型。

算法1中基于贡献的客户端选择,使用了主动选择客户端,即服务器根据客户端的贡献值选择最优子集客户端,以替代随机客户端选择机制。

自适应的选择对全局模型利益最大化的客户端,以提高全局模型的准确性和收敛速度。估计具有不同值的客户端的预期贡献来分配客户端的选择概率同样可以作为分配隐私预算的标准进行隐私预算分配。客户端选择以及隐私预算分配细节如算法2所示。

算法2:基于贡献的客户端选择

输入:全局迭代T;客户端总数K,每轮选择的客户端k,学习率lr,客户端i的局部数据集D

输出:被选择的客户端集合

算法2具体主要包括步骤:

(1)计算客户端被选择概率:初始化阶段,客户端选择权重初始化为1,即确保第一轮训练中所有客户端具有相同的选择概率k/K。迭代阶段,根据选择权重

(2)排序:按照计算出来的客户端选择概率

(3)抽样:根据排序后的客户端选择概率

(4)更新客户端权重:每轮训练结束需要更新客户端选择权重以便下一轮更新客户端选择概率。采用EXP函数辅助更新,即

计算层的模拟重要性CUI值:根据网络层的重要性分配隐私预算可以有效缓解模型精度的下降,并有可能进一步提高模型的准确性。网络层的重要性计算应该与模型的正确决策相关联,即神经元相对于正确的类决策的梯度很高,那么它是重要的。Grad-CAM算法是一种用于确定网络中哪些部分对于特定类别的分类决策最重要。它通过分析最后一个卷积层的权重信息来确定哪些特征图对于某一特定类别的分类起关键作用。因此,可以为网络的每个卷积层创建一个重要性映射,并将所有重要性映射累积成一个值,产生一个模拟重要性(CUI)值,将所有的验证数据创建的CUI值全部平均形成最终的CUI值,从而根据这个CUI值为每一层分配隐私预算。具体来说,对于每个类别b,首先计算特征层A第o个通道的权重

其中,Z代表特征层的宽度乘以高度,y

接着,将权重

最后,应用ReLU激活函数将权重的负值重置为零,从而获得特定查询图像j的类激活映射

为了得到单个值,简单的求和所得矩阵的每个值。对于第i个客户端的第j层所有类别的所有图像的CUI值进行平均即可计算出最终所有卷积层的

分层随机扰动:机器学习模型中并非每层权重都是同等重要。首先根据层的重要性进行隐私预算分配,其中更重要的层分配更多的隐私预算,以此来达到提高模型的准确性并避免隐私预算激增的目的。另外,观察到在计算能力有限的情况下,将神经网络的注意力集中在更重要的部分,可以有效的缓解计算资源不足,快速从众多数据中筛选出更有价值的信息,从而提高模型性能。因此,在卷积神经网络中添加压缩和激励(SE)块可以使得神经网络将注意力集中在更为重要的信息,并计算每一层网络中通道的重要性权重值s

主要包括3个步骤。

1)分配隐私预算:将客户端总的隐私预算按照每层的重要性分配给每一层。

2)遍历每层通道:根据每层通道的重要性,选择前k个通道层对应的权重参数添加高斯噪声,剩余权重参数以一定的概率p添加高斯扰动。

3)添加扰动:前k个通道层对应的权重参数添加均值为0,方差为σ

算法3:分层随机扰动

输入:权重W

输出:加噪后的权重参数

发送给服务器的权重参数

Δf=C/ε

对于客户端i的第j层,由算法3得知,为其分配的隐私预算为ε

/>

其中,x是符合高斯噪声的分布,令

1/2σ

把x移动到左边

这里让x以概率δ违反差分隐私,以1-δ概率满足差分隐私的定义。即

于是可以得到:

对于剩余权重参数

p=exp(ε

来添加高斯噪声,以此来减少扰动的过多注入。由于其添加扰动具有随机性,因此攻击者无法判断哪些权重受到了干扰,这个操作本身可以视为一个差分隐私机制。

基于以上分析,第j层的权重满足(ε

实施本实施例,其有益效果是:根据客户端的贡献值,选择合适的客户端进行模型训练;没有像传统的隐私预算分配方法一样,随机均匀的分配隐私预算,而是根据每层对最终决策的影响程度来分配隐私预算,以此来尽可能的增加模型的精度;基于层的重要性来分配隐私预算,使得更为重要的层分配更大值的隐私预算,从而保持较高的模型精度;为了降低权重中添加过多扰动的问题,利用通道的重要性,来判断每层中应该以何种概率添加扰动,具体而言,选择前k通道的权重添加更强的隐私,可以降低隐私泄露风险并且增强权重的隐私级别;基于客户端的贡献值来选择合适的客户端,从而提高性能并加快模型的收敛速度。

本发明可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

实施例二

进一步参考图4,作为对上述图1所示方法的实现,本发明提供了一种基于通道的分层结构差分隐私联邦学习装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图4所示,本实施例基于通道的分层结构差分隐私联邦学习装置70包括:部署模块71、获取模块72、计算模块73、分配模块74、添加模块75以及聚合模块76。其中:

部署模块71,用于将联邦学习模型部署在客户端;

获取模块72,用于获取联邦学习模型中神经网络的卷积层每层通道的重要性;

计算模块73,用于计算联邦学习模型中神经网络每一层的重要性;

分配模块74,用于根据联邦学习模型中神经网络每一层的重要性,进行差分隐私预算分配;

添加模块75,用于由客户端根据分配的差分隐私预算,向相应的通道层添加噪声;

聚合模块76,用于由客户端将加噪后的权重上传至服务器,等待下一轮中央服务器下发最新的聚合参数,由中央服务器进行聚合,经过多轮交互训练,产生最终的联邦学习模型。

实施本实施例,其有益效果是:根据客户端的贡献值,选择合适的客户端进行模型训练;没有像传统的隐私预算分配方法一样,随机均匀的分配隐私预算,而是根据每层对最终决策的影响程度来分配隐私预算,以此来尽可能的增加模型的精度;基于层的重要性来分配隐私预算,使得更为重要的层分配更大值的隐私预算,从而保持较高的模型精度;为了降低权重中添加过多扰动的问题,利用通道的重要性,来判断每层中应该以何种概率添加扰动,具体而言,选择前k通道的权重添加更强的隐私,可以降低隐私泄露风险并且增强权重的隐私级别;基于客户端的贡献值来选择合适的客户端,从而提高性能并加快模型的收敛速度。

实施例三

为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。

上述计算机设备8包括通过系统总线相互通信连接存储器81、处理器82、网络接口83。需要指出的是,图中仅示出了具有组件存储器81、处理器82和网络接口83的计算机设备8,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

上述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。上述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

上述存储器81至少包括一种类型的可读存储介质,上述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,上述存储器81可以是上述计算机设备8的内部存储单元,例如该计算机设备8的硬盘或内存。在另一些实施例中,上述存储器81也可以是上述计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,上述存储器81还可以既包括上述计算机设备8的内部存储单元也包括其外部存储设备。本实施例中,上述存储器81通常用于存储安装于上述计算机设备8的操作系统和各类应用软件,例如基于通道的分层结构差分隐私联邦学习方法的计算机可读指令等。此外,上述存储器81还可以用于暂时地存储已经输出或者将要输出的各类数据。

上述处理器82在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器82通常用于控制上述计算机设备8的总体操作。本实施例中,上述处理器82用于运行上述存储器81中存储的计算机可读指令或者处理数据,例如运行上述基于通道的分层结构差分隐私联邦学习方法的计算机可读指令。

上述网络接口83可包括无线网络接口或有线网络接口,该网络接口83通常用于在上述计算机设备8与其他电子设备之间建立通信连接。

实施本实施例,其有益效果是:根据客户端的贡献值,选择合适的客户端进行模型训练;没有像传统的隐私预算分配方法一样,随机均匀的分配隐私预算,而是根据每层对最终决策的影响程度来分配隐私预算,以此来尽可能的增加模型的精度;基于层的重要性来分配隐私预算,使得更为重要的层分配更大值的隐私预算,从而保持较高的模型精度;为了降低权重中添加过多扰动的问题,利用通道的重要性,来判断每层中应该以何种概率添加扰动,具体而言,选择前k通道的权重添加更强的隐私,可以降低隐私泄露风险并且增强权重的隐私级别;基于客户端的贡献值来选择合适的客户端,从而提高性能并加快模型的收敛速度。

实施例四

本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可读指令,计算机可读指令可被至少一个处理器执行,以使至少一个处理器执行如上述的基于通道的分层结构差分隐私联邦学习方法的步骤。

实施本实施例,其有益效果是:根据客户端的贡献值,选择合适的客户端进行模型训练;没有像传统的隐私预算分配方法一样,随机均匀的分配隐私预算,而是根据每层对最终决策的影响程度来分配隐私预算,以此来尽可能的增加模型的精度;基于层的重要性来分配隐私预算,使得更为重要的层分配更大值的隐私预算,从而保持较高的模型精度;为了降低权重中添加过多扰动的问题,利用通道的重要性,来判断每层中应该以何种概率添加扰动,具体而言,选择前k通道的权重添加更强的隐私,可以降低隐私泄露风险并且增强权重的隐私级别;基于客户端的贡献值来选择合适的客户端,从而提高性能并加快模型的收敛速度。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例方法。

显然,以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,附图中给出了本发明的较佳实施例,但并不限制本发明的专利范围。本发明可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

相关技术
  • 一种全自动压饼机及应用该全自动压饼机的轴加工工艺
  • 全自动平面玻璃商标印刷机
  • 全自动商标机
技术分类

06120116521930