发布信息

一种基于同态加密的跨组织分布式深度学习方法

作者:admin      2022-08-02 22:01:20     204



计算;推算;计数设备的制造及其应用技术1.本发明涉及分布式深度学习的技术领域,尤其涉及一种基于同态加密的跨组织分布式深度学习方法。背景技术:2.近年来,深度学习取得了长足的进步。研究人员和工程师已经将深度学习技术应用到包括计算机视觉、自然语言处理、语音识别等在内的诸多领域。为了获得更高的预测精度、支持更智能的任务,需要训练更复杂的神经网络。然而,训练大型模型所需的输入数据会随模型参数呈指数增长,对大规模数据训练大型深度神经网络已经超过了单一机器的计算和存储能力;其次,数据通常以孤岛的形式存在,收集数据进行集中训练会导致严重的隐私问题,甚至可能被法规禁止。因此,需要在多台计算机之间分配训练工作量,并从集中式训练转向分布式训练。3.加法同态加密在跨组织分布式场景下特别有吸引力,因为它允许在密文上执行聚合而无需事先解密它们,并提供强大的隐私保证,而不惜学习准确性损失为代价。但是,同态加密执行复杂的加密操作,这些操作的计算成本极高。更糟糕的是,加密会产生更大的密文,从而极大地增加了通信的数据量。4.为了使同态加密实际集成到跨组织分布式深度学习中,我们必须正确解决同态加密引起的过度计算和通信开销,同时模型预测准确性不应受到损害。由于加速单个同态加密操作或压缩密文占用空间并不能消除在分布式深度学习中采用同态加密的瓶颈。由于要执行的加密操作太多,因此可以通过压缩梯度,以便大大减少加密操作和密文传输的数量。但是,基于同态加密的跨组织分布式深度学习面临以下挑战。首先,服务器只能对由加法同态加密的密文执行加法操作,压缩算法应具有可加性以适应加法同态加密。其次,具有高压缩比的有损压梯度缩将损害已训练模型的性能,压缩方案应进行误差修正。技术实现要素:5.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。6.鉴于上述现有基于同态加密的跨组织分布式深度学习方法存在的问题,提出了本发明。7.因此,本发明目的是提供一种基于同态加密的跨组织分布式深度学习方法。8.为解决上述技术问题,本发明提供如下技术方案:一种基于同态加密的跨组织分布式深度学习方法,包括如下步骤,9.随机选择某一客户端生成同态加密密钥对并将其同步到所有其他客户端;10.被选择的领导客户端将初始化的模型也发送至其余客户端;11.客户端进行深度学习迭代,进行本地梯度计算;12.服务器从客户端收集处理后的梯度数据,并利用数据进行更新模型。13.作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:其余客户端在进行每一次迭代时,每个客户端计算本地梯度更新,并利用公钥对其进行加密。14.作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:在每个客户端对本地梯度进行更新后,服务器将开始接受加密后的更新结果,并将梯度数据进行归拢收集。15.作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:每个本地客户端建立分布式训练组件,并利用分布式训练组件计算本地更新,并定期与中心服务器进行通信,传递更新数据。16.作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:建立分布式训练组件,建立优化目标函数f:[0017][0018]其中n是工作节点的数量,工作人员共同更新模型参数x∈rd,其中d对应于参数的数量,fi是在对数据进行采样的随机变量上定义的期望函数。[0019]作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:在每个客户端内部建立梯度压缩组件,其中梯度压缩组件包括压缩器、解压器以及误差累积存储器,并利用梯度压缩组件进行梯度数据的压缩。[0020]作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:建立随机梯度下降优化算法,并建立数学模型,并规定:在第k+1 次迭代,随机梯度下降将模型参数更新为:[0021]xk+1=xk-ηkgk[0022]其中ηk>0是学习速率,gk是第k次迭代时的随机梯度(即f的梯度的无偏估计),利用此模型进行参数计算。[0023]作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:梯度压缩组件从每个层中选择最重要的梯度,并通过考虑梯度的幅度来过滤无关紧要的梯度,对于任何向量x∈rd并给定1≤k≤d,稀疏化压缩器 top(x,k):rd→rd的第i个分量(i=1,...,d)定义为:[0024][0025]其中xi是x的第i个元素,h是x的第k个最大的分量绝对值,而后对梯度向量进行稀疏化,用索引向量i和值向量s表示非零梯度。[0026]作为本发明所述基于同态加密的跨组织分布式深度学习方法的一种优选方案,其中:在服务器内部将稀疏梯度的表示为键值对(索引向量和值向量),然后使用同态加密对值进行加密。[0027]本发明的有益效果:本发明公开了一种基于同态加密的高效的跨组织分布式深度学习框架flzip,该框架大大减少同态加密引起的严重计算和通信开销,同时模型预测准确性不受到损害。本发明基于两个关键观察。第一,我们观察到同态加密引起的加密和通信开销可以通过在加密之前压缩梯度来缓解。第二,我们观察到当前用于分布式学习的压缩方案不具有“可加性”以满足同态加密的加法属性。本发明包含两个主要部分,即梯度压缩组件和同态加密组件。首先,为了解决同态加密引起的过度计算和通信开销,每个客户端首先通过独立考虑每层中梯度的绝对值来过滤不重要的的梯度,而不是对所有梯度进行加密。其次,为了允许在稀疏梯度的密文上执行聚合,即保证压缩算法具有可加性以适应加法同态加密,本发明使用键值对编码方案。最后,为了抵消由于稀疏化压缩而导致的精度损失,本发明还利用了误差累积机制。我们实现了flzip 的原型,并评估了其在实际应用中的性能。实验结果表明,flzip在不影响预测精度的情况下,可以大大减少同态加密带来的计算和通信开销,同时提供强大的隐私保障。附图说明[0028]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:[0029]图1为本发明基于同态加密的跨组织分布式深度学习方法所述的分布式深度学习框架示意图。[0030]图2为本发明基于同态加密的跨组织分布式深度学习方法所述的深度学习框架flzip示意图。[0031]图3为本发明基于同态加密的跨组织分布式深度学习方法所述的fmnist 数据集上的全连接神经网络的测试精度对比。[0032]图4为本发明基于同态加密的跨组织分布式深度学习方法所述的cifar10 数据集上的alexnet网络的测试精度对比。[0033]图5为本发明基于同态加密的跨组织分布式深度学习方法所述的各对比方法的压缩与解压运算对比。[0034]图6为本发明基于同态加密的跨组织分布式深度学习方法的各对比方法的通信数据量对比。具体实施方式[0035]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。[0036]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。[0037]其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。[0038]再其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。[0039]实施例1[0040]参照图1-6,本发明公开了一种基于同态加密的跨组织分布式深度学习方法,其方法的核心是建立分布式深度学习系统架构,其中同态加密作为客户端上的可插拔模块实现,聚合器是协调客户端并聚合其加密梯度的服务器,在训练开始之前,聚合器随机选择一个客户端作为生成同态加密密钥对并将其同步到所有其他客户端的领导者。领导者还会初始化深度学习模型,并将模型权重发送给所有其他客户端。收到同态加密密钥对和初始权重后,客户开始训练。在一次迭代中,每个客户端计算本地梯度更新,使用公钥对其进行加密,并将结果传输到服务器,服务器从所有客户端收集梯度,然后,它将它们相加并分发结果,然后,客户端接收聚合的梯度,解密它们,并使用它们来更新本地模型。[0041]flzip框架的整体架构示意图如附图2所示,框架基于如图1所示的基本的基于同态加密的跨组织分布式深度学习系统架构,包括基本的数据并行分布式训练组件并额外包括梯度压缩组件(包括压缩器,解压器和误差累积存储器) 和同态加密组件(包括加密器,解密器和聚合器)。[0042]分布式训练组件[0043]此设计遵循经典的数据并行分布式sgd模式。我们专注于数据并行分布式训练,其中每个工作节点拥有整个模型的本地副本,计算本地更新,并定期与中心服务器通信,通过聚合来更新全局模型。[0044]分布式深度学习可以看作是一个最小化问题,它优化目标函数f[0045][0046]其中n是工作节点的数量。每个节点都有模型的本地副本,并有权访问训练数据的分区。工作人员共同更新模型参数x∈rd,其中d对应于参数的数量。通常, fi是在对数据进行采样的随机变量上定义的期望函数。[0047]考虑一个深度神经网络,让x={w,b}成为包含模型参数(也称为权重w和偏差b)的空间。给定一组输入数据d及其相应的真实标签,训练阶段学习网络 x的每一层。令[0048][0049]是损失函数,使得在每个工作节点i上,是来自其数据分区di的输入,yj是真标签,lj是计算真标签yj和预测值之间的差异的损失函数(例如,平方损失、交叉熵损失等),r是正则化函数。计算每个训练样本的损失函数称为正向传递。在训练期间,参数空间x通过随机优化算法最小化目标函数来更新,该算法计算损失函数相对于深度神经网络每层的梯度;这是一个称为反向传播的过程。在实践中,每个数据分区di被进一步拆分为迷你批次,每个批次都有m个数据点。每个工作节点i对迷你批次中的所有输入数据执行正向传播;然后执行反向传播以计算整个迷你批次的随机梯度;与所有其他工作节点通信,以汇总所有局部梯度;最后,使用聚合的全局状态来更新其参数x。[0050]随机梯度下降(stochastic gradient descent,sgd)是一种一阶迭代优化算法。在第k+1次迭代,sgd将模型参数更新为:[0051]xk+1=xk-ηkgk[0052]其中ηk>0是学习速率,gk是第k次迭代时的随机梯度(即f的梯度的无偏估计)。[0053]为了更快地收敛,sgd通常配备了短期记忆z,称为动量。在每次迭代中, polyak将动量更新为:zk+1=θkgk,其中0≤θ≤1。nesterov提出了一种替代的动量更新规则,其中梯度g在前瞻点xk+θzk处计算为:zk+1=θzk-ηkg(xk+θzk)。两种动量方法都用于将sgd的参数更新方程修改为:xk+1=xk+zk+1。[0054]梯度压缩组件[0055]flzip从每个层中选择最重要的梯度,并通过考虑梯度的幅度来过滤无关紧要的梯度。对于任何向量x∈rd并给定1≤k≤d,稀疏化压缩器top(x,k):rd→rd的第i个分量(i=1,...,d)定义为:[0056][0057]其中xi是x的第i个元素,h是x的第k个最大的分量绝对值。使用此操作,flzip 对梯度向量进行稀疏化,然后用索引向量i和值向量s表示非零梯度。[0058]flzip将模型的参数和梯度的每一层视为单个向量,并计算每层的top-k 梯度。模型偏差项的梯度被单独加密的和传输,并且未被压缩,因为这些偏置项通常只占参数空间的一小部分。稀疏化压缩器是通过对梯度进行排序来实现的。这是有效的,因为我们只需要以o(n log n)复杂性的多个较小数组进行排序。[0059]由于过滤不重要的梯度将导致对原始梯度的估计偏差,这将损害模型的准确性,甚至导致模型无法收敛。flzip使用误差累积来解决此问题。最近的研究表明,使用误差累积(即存储压缩梯度和压缩梯度之间的差异,并在下一次迭代中重新插入)可以改善压缩方案的收敛和泛化性。这通常可以使偏置的梯度压缩方案达到目标测试精度。我们的误差累积版本遵循,它通过引入动量校正来扩展原始误差,这是一种在sgd上使用动量进行误差累积的方法。[0060]内存补偿功能,在本文中,我们使用以下形式的函数φ(·)和ψ(·):[0061][0062][0063]其中β>0是内存衰减因子,γ>0权衡最新随机梯度的相关性。本发明使用β=γ=1。[0064]flzip允许用户选择梯度的不同压缩比,以加速带有同态加密的跨组织分布式深度学习。flzip引入的唯一超参数是稀疏化率r=d/k。这使得flzip非常易于使用。就像dropout技术一样,稀疏化可以被视为隐式执行类似的正则化,因此可以预期具有良好的泛化性。[0065]同态加密组件[0066]flzip将稀疏梯度的表示为键值对(索引向量和值向量),然后使用同态加密对值进行加密。这种分离的表示对于服务器对由加法同态加密的密文执行聚合至关重要。另一方面,逐层压缩过程提供了将加密运算于加密通信重叠的机会,这可以进一步优化通信的过程。由于同态加密引起的计算和通信都有很大的开销,因此使用管道重叠它们可能会带来巨大的好处。[0067]在flzip中,服务器通过合并来自所有客户端的键值对(由普通索引和相应的加密值表示)并生成键值对的聚合序列来执行聚合过程。对于收到的索引向量中存在的每个索引,flzip将添加与索引对应的所有加密值。聚合后,服务器将聚合的键值对(也由普通索引和相应的加密值表示)发送到客户端。由于加密值的加法次数和同态加法的计算成本是聚合开销的主要瓶颈,因此flzip 的稀疏化操作还可以提高聚合效率。[0068]为了检验本发明能够在减少同态加密的计算和通信开销的同时还能保证模型精度,本实施例子还设计了以下实验。在分布式环境中使用3台服务器进行实验,总共包含12个gpu。使用一台配备4个geforce rtx 2080ti的服务器和两台分别配备4个tesla t4的服务器。用mpi实现用于通信的框架并使用 paillier-python同态加密库。将客户端数设置为10,并将客户端部署这些gpu 上,其中一个gpu部署服务器。[0069]表1训练模型和数据集以及参数设置的信息[0070]modeldataset学习率批大小动量fcfmnist0.011280.9alexnetcifar100.0011280.9[0071]训练精度损失与压缩率关系对比[0072]我们首先评估稀疏化方案的影响,并查看稀疏化如何影响模型质量,我们报告fmnist和cifar工作负载的测试准确性,以了解flzip的稀疏化如何影响分类准确性。由图3和图4可知通过适当的稀疏化比,flzip的稀疏化对训练的模型质量的负面影响可以忽略不计。[0073]加密与通信效率提升对比[0074]为了说明flzip对计算开销和通信开销的缓和作用,我们将其与使用朴素同态加密训练、普通分布式学习和batchcrypt进行比较。图5和图6表明flzip 显著降低了同态加密导致的计算和通信开销,从而为生产环境中的跨组织分布式深度学习提供了高效的同态加密解决方案。[0075]重要的是,应注意,在多个不同示例性实施方案中示出的本技术的构造和布置仅是例示性的。尽管在此公开内容中仅详细描述了几个实施方案,但参阅此公开内容的人员应容易理解,在实质上不偏离该申请中所描述的主题的新颖教导和优点的前提下,许多改型是可能的(例如,各种元件的尺寸、尺度、结构、形状和比例、以及参数值(例如,温度、压力等)、安装布置、材料的使用、颜色、定向的变化等)。例如,示出为整体成形的元件可以由多个部分或元件构成,元件的位置可被倒置或以其它方式改变,并且分立元件的性质或数目或位置可被更改或改变。因此,所有这样的改型旨在被包含在本发明的范围内。可以根据替代的实施方案改变或重新排序任何过程或方法步骤的次序或顺序。在权利要求中,任何“装置加功能”的条款都旨在覆盖在本文中所描述的执行所述功能的结构,且不仅是结构等同而且还是等同结构。在不背离本发明的范围的前提下,可以在示例性实施方案的设计、运行状况和布置中做出其他替换、改型、改变和省略。因此,本发明不限制于特定的实施方案,而是扩展至仍落在所附的权利要求书的范围内的多种改型。[0076]此外,为了提供示例性实施方案的简练描述,可以不描述实际实施方案的所有特征(即,与当前考虑的执行本发明的最佳模式不相关的那些特征,或于实现本发明不相关的那些特征)。[0077]应理解的是,在任何实际实施方式的开发过程中,如在任何工程或设计项目中,可做出大量的具体实施方式决定。这样的开发努力可能是复杂的且耗时的,但对于那些得益于此公开内容的普通技术人员来说,不需要过多实验,所述开发努力将是一个设计、制造和生产的常规工作。[0078]应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部