CN114118368A - 基于Shamir安全多方计算的隐私保护多方强化学习系统及方法 - Google Patents
基于Shamir安全多方计算的隐私保护多方强化学习系统及方法 Download PDFInfo
- Publication number
- CN114118368A CN114118368A CN202111388309.9A CN202111388309A CN114118368A CN 114118368 A CN114118368 A CN 114118368A CN 202111388309 A CN202111388309 A CN 202111388309A CN 114118368 A CN114118368 A CN 114118368A
- Authority
- CN
- China
- Prior art keywords
- network
- secret sharing
- server
- local
- calculation
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
一种基于Shamir安全多方计算的隐私保护多方强化学习系统及方法,包括:基于shamir的安全定点数计算模块、基于定点数计算实现的安全梯度下降模块、基于安全梯度下降实现的服务器mix网络模块、智能体网络模块和智能体‑服务器通信模块,本发明使用Shamir的秘密分享方案形成服务器间的安全随机梯度下降算法的协议,获得了更灵活的部署能力,并且能够容忍一些掉线。本发明根据安全协议的要求修改Q‑mix模型的网络,确保其对半诚实对手的安全性。
Description
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种基于Shamir安全多方计算的隐私保护多方强化学习系统及方法。
背景技术
安全多方计算(Secure Multi-Party Computation),是一种保护数据安全隐私的多方计算方法。安全多方计算允许多个持有各自私有数据的参与方,共同执行一个计算逻辑,并获得计算结果,参与过程中,每一方均不会泄漏各自的私有数据。秘密分享(SecretSharing)是安全多方计算中的一种方案,其思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与方管理,单个参与方无法恢复秘密信息,只有若干个参与方一同协作才能恢复秘密消息。在计算过程中为了保护秘密信息,参与方需要利用随机数进行计算,而该随机数的生成和传输决定了多方计算的安全性和效率。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于Shamir安全多方计算的隐私保护多方强化学习系统及方法,使用Shamir的秘密分享方案形成服务器间的安全随机梯度下降(Stochastic gradient descent,SGD)算法的协议,获得了更灵活的部署能力,并且能够容忍一些掉线。本发明根据安全协议的要求修改Q-mix模型的网络,确保其对半诚实对手的安全性。
本发明是通过以下技术方案实现的:
本发明涉及一种基于Shamir安全多方计算的隐私保护多方强化学习系统,包括:基于shamir的安全定点数计算模块、基于定点数计算实现的安全梯度下降模块、基于安全梯度下降实现的服务器mix网络模块、智能体网络模块和智能体-服务器通信模块,其中:安全定点数计算模块以计算输入值的秘密分享为输入,通过同态计算,得到计算输入值经过计算的结果的输出秘密分享;安全梯度下降模块根据神经网络输入的秘密分享进行同态的梯度下降计算,将以秘密分享为形式存在与各服务器处的网络参数进行优化;服务器混合网络模块根据智能体网络模块所提交的局部Q值的秘密分享,输出整体Q值的秘密分享,并计算总体奖励,进行梯度下降算法中前向与后向的安全计算,得到参数优化的结果,并提供给智能体网络以供智能体网络优化;智能体网络模块根据状态信息进行网络前向计算得到局部Q值,即本地Q值并生成秘密分享后输出至服务器混合网络模块进行综合与优化,并基于服务器mix网络模块在优化过程中的输出优化本身持有的智能体网络参数,得到优化后的智能体网络参数;智能体-服务器通信模块根据负责各方通信,模型中各服务器两两相连,每个智能体都与每个服务器相连,因此通信内容包括智能体向服务器提交的秘密分享与服务器之间安全计算时通信的秘密分享。
所述的安全定点数计算模块包括:生成秘密分享单元、秘密分享恢复单元、截断协议单元以及符号判断协议单元,其中:生成秘密分享单元根据真实值,生成shamir秘密分享;秘密分享恢复单元根据足够数量的shamir秘密分享,生成对应真实值;截断协议单元以秘密分享与截断位数为输入,进行安全协议,得到对应真实值截断若干末位结果所对应的秘密分享;符号判断协议单元以秘密分享为输入,进行安全协议,得到对应真实值是否小于零的结果(真为1,假为0)的秘密分享。
所述的安全梯度下降模块包括:前向单元和后向单元,其中:前向单元根据神经网络输入的秘密分享,进行前向的同态计算,得到网络输出的秘密分享;后向单元根据神经网络的目标函数的秘密分享,进行后向的同态计算,对神经网络参数进行更新。
所述的服务器mix网络模块包括:安全ReLu层、安全Abs层和安全LeakyReLu层,其分别以本层输入的秘密分享为输入,计算对应神经元与激活函数,共同组成mix网络后,进行同态的前向与后向计算,从而优化Mix网络参数并返回给智能体网络对应梯度以辅助智能体网络优化参数。
所述的智能体网络模块包括:输入单元、递归神经网络单元、动作选择单元以及环境交互单元,其中:输入单元根据各类采样信息,得到递归网络输入的状态信息;递归神经单元根据输入的状态信息进行前向计算得到局部Q值,以服务器的返回信息为输入后向计算,对网络参数进行优化;动作选择单元根据局部Q值,根据所要求的策略输出与环境交互的动作;环境交互单元根据所选动作与环境进行交互,得到状态信息与奖励信息。
所述的各类采样信息包括:通过传感器获得的自身与附近障碍物的位置、速度信息,经量化处理成为可以作为网络输入的数据。
所述的智能体-服务器通信模块包括:智能体收发单元以及服务器收发单元,其中:智能体收发单元负责将局部Q值、总体状态信息、状态奖励信息内容进行秘密分享并将秘密分享发送给对应服务器,然后在从服务器处接收返回的局部Q值梯度的秘密分享,并恢复出局部Q值梯度的真实值;服务器收发单元根据具体协议在服务器之间收发安全计算过程中的秘密分享中间值,以辅助完成计算。
本发明涉及一种基于上述系统的Shamir安全多方计算的隐私保护多方强化学习方法,包括:样本收集过程与优化参数过程。
所述的样本收集过程包括:
步骤1)各智能体分别以当前状态为输入,使用各自的本地网络计算本地Q函数。在无人汽车集群控制场景中,智能体通过各种设备收集自身与视线内障碍物的位置、速度数据作为输入,计算本地智能体网络得到本地Q函数。
步骤2)各智能体基于本地Q函数,根据∈-贪婪算法自行选择自己所采取的动作与环境进行交互。即,以∈的概率采取本地Q函数值最大的动作,以1-∈的概率从其他动作中随机选择。在无人汽车集群控制场景中,智能体控制汽车选择采取加速、变道、刹车、转弯不同动作。
步骤3)各智能体再次收集状态信息,记录下由动作前状态、所采取动作与动作后状态所组成的历史记录,储存进自己的重放缓存。
步骤4)各智能体将计算系统总体状态和奖励所需的数据按秘密分享所需的格式扩张取整,映射到有限域上,再做Shamir秘密分享,向服务器以秘密分享的形式提交,并用相同的方法向服务器提交所选取动作对应的本地Q函数秘密分享。在无人汽车集群控制场景中,智能体提交的数据可以为是否发生碰撞的惩罚值、之前行驶的平均速度、目的地的距离内容。
步骤5)服务器利用智能体所提交的秘密分享对系统总体状态和奖励进行安全计算。在过程中,服务器不接触及保存数据明文,仅通过对Mix网络与各输入的秘密分享进行同态计算的手段来执行安全计算。并按相同顺序对系统状态转移与总体奖励进行记录,扩充进入各自维护的重放缓存。
所述的优化参数过程包括:
步骤a)所有智能体与服务器抽取本次迭代所使用的样本索引。
步骤b)各智能体根据上述样本索引从重放缓存中获得相应记录,以其中的状态信息作为输入,分别使用本地的智能体网络与目标网络计算得到局部Q值与局部目标Q值。
步骤c)各智能体将总体状态、总体奖励相关数据与两类Q值均作秘密分享,将分享分发给相应服务器。
步骤d)各服务器通过安全计算得到总体状态s与总体奖励r,再以总体状态和两类局部Q值为输入进行安全的网络前向计算,分别得到两个总体Q值(以上结果均为秘密分享形式)。Mix网络结果记为Qtot,目标网络结果记为Q′tot。这里的安全计算是根据公式x_i=f(x_(i-1)·w_i),其中f(u)为分段线性的激活函数,使用参考文献[3,4]中的定点数的安全加乘法与分段函数迭代地逐层向前计算,得到输出。分段函数由参考文献[3,4]中符号判断协议组合得到。
步骤e)各服务器计算ytot=r+γQ′tot。其中γ为衰减系数,是公开的常数。
步骤f)各服务器使用安全的SGD协议进行计算,以ΔQtot=ytot-Qtot为反向传播的输入执行安全SGD参数优化协议。然后使用定点数的安全加乘法与分段函数迭代地逐层向后进行计算,首先根据最终输出计算其中ui=xi-1·wi,而⊙表示按元素相乘;再迭代地计算最后通过wi=wi-αxi·yi,更新系数矩阵wi。其中,分段线性的激活函数的导数也可以通过分段函数得到。所有计算仅包括参考文献[3,4]中安全定点数计算与符号判断。在本方法所使用的Q-mix多智能体强化学习算法中,Mix网络包含了绝对值激活函数和ELU激活函数。本方法使用Leaky ReLu近似后者。两个激活函数分别用分段函数表示为abv(u)=-(u<0)u+(1-(u<0))u与LReLu(u)=(u<0)au+(1-(u<0))u。
步骤g)得到Mix网络的反向输出后,各服务器将这些输出返还给智能体。由于服务器实际操作的是秘密分享,智能体可以收集到足够多的分享以恢复明文值,再以这些明文值为输入通过SGD优化算法执行本地的参数优化。
轮流进行样本收集过程与优化参数过程若干次,直到迭代次数达到阈值,服务器和智能体都终止训练。智能体输出被优化后的本地智能体网络且不需要再连接服务器,而服务器没有输出。智能体的本地网络可被用于进行实际应用中的协作决策。即,将状态信息作为输入,输出各个动作对应的本地Q函数值,最后选择对应Q函数值最高的动作与环境交互。在无人汽车集群控制场景中,智能体通过各种设备收集自身与视线内障碍物的位置、速度数据作为输入,计算本地智能体网络得到本地Q函数,基于本地Q函数选择加速、变道、刹车、转弯中所对应Q函数值最大的动作。
附图说明
图1为本发明系统示意图;
图2为通信拓扑示意图;
图3为本发明流程图;
图4和图5为通信及流程示意图。
具体实施方式
实施例1
本实施例应用于交通车辆控制场景,在行驶道路上存在大量由本地智能体控制的车辆,目标是保证自身安全、行驶顺利与路面畅通,同时保护自身的位置信息隐私数据。
步骤1、环境建模,包括:明确输入状态,确定奖励函数,分配智能体,即无人汽车与服务器角色,然后初始化智能体数、服务器数、各参与方id、有限域素数、定点小数位数。
所述的输入状态包括:自身与视线内障碍物的位置、速度,可选动作可设置为加速、变道、刹车、转弯。
所述的奖励函数设置为所有车辆到达目的地点的平均时间。
步骤2、基于Shamir安全多方计算的隐私保护多方强化学习方法,包括:样本收集过程与优化参数过程,其中:每个智能体各自训练一个递归神经网络,所有服务器则共同训练一个混合网络和参数超网络,各服务器持有混合网络和参数超网络参数的秘密分享,通过安全计算同态地维护和更新网络参数;通过轮流进行样本收集过程与优化参数过程若干次,直到迭代次数达到阈值时服务器和智能体都终止训练,智能体输出被优化后的本地智能体网络且不需要再连接服务器。
所述的样本收集过程包括:
步骤2.1)各智能体分别以当前状态为输入,使用各自的本地网络计算本地Q函数。在无人汽车集群控制场景中,智能体通过各种设备收集自身与视线内障碍物的位置、速度数据,处理成可以输入神经网络的格式作为输入,计算本地智能体网络得到本地Q函数。
步骤2.2)各智能体基于本地Q函数,根据∈-贪婪算法自行选择自己所采取的动作与环境进行交互。即,以∈的概率采取本地Q函数值最大的动作,以1-∈的概率从其他动作中随机选择。在无人汽车集群控制场景中,智能体控制汽车选择采取加速、变道、刹车、转弯不同动作。
步骤2.3)各智能体再次收集状态信息,记录下由动作前状态、所采取动作与动作后状态所组成的历史记录,储存进自己的重放缓存。
步骤2.4)各智能体将计算系统总体状态和奖励所需的数据按如下文秘密分享定点数计算所需的格式扩张取整,映射到有限域上,再做Shamir秘密分享,向服务器以秘密分享的形式提交,并用相同的方法向服务器提交所选取动作对应的本地Q函数秘密分享。在无人汽车集群控制场景中,智能体提交的数据可以为是否发生碰撞的惩罚值、之前行驶的平均速度、目的地的距离内容。
步骤2.5)服务器利用智能体所提交的秘密分享对系统总体状态和奖励进行安全计算。在过程中,服务器不接触及保存数据明文,仅通过对Mix网络与各输入的秘密分享进行同态计算的手段来执行安全计算。并按相同顺序对系统状态转移与总体奖励进行记录,扩充进入各自维护的重放缓存。
所述的优化参数过程包括:
步骤2.a)所有智能体与服务器抽取本次迭代所使用的样本索引。
步骤2.b)各智能体根据上述样本索引从重放缓存中获得相应记录,以其中的状态信息作为输入,分别使用本地的智能体网络与目标网络计算得到局部Q值与局部目标Q值。
步骤2.c)各智能体将总体状态、总体奖励相关数据与两类Q值均作秘密分享,将分享分发给相应服务器。
步骤2.d)各服务器通过安全计算得到总体状态s与总体奖励r,再以总体状态和两类局部Q值为输入进行安全的网络前向计算,分别得到两个总体Q值(以上结果均为秘密分享形式)。Mix网络结果记为Qtot,目标网络结果记为Q′tot。这里的安全计算是根据公式x_i=f(x_(i-1)·w_i),其中f(u)为分段线性的激活函数,使用参考文献[3,4]中的定点数的安全加乘法与分段函数迭代地逐层向前计算,得到输出。分段函数由参考文献[3,4]中符号判断协议组合得到。
步骤2.e)各服务器计算ytot=r+γQ′tot。其中γ为衰减系数,是公开的常数。
步骤2.f)各服务器使用安全的SGD协议进行计算,以ΔQtot=ytot-Qtot为反向传播的输入执行安全SGD参数优化协议。然后使用定点数的安全加乘法与分段函数迭代地逐层向后进行计算,首先根据最终输出计算其中ui=xi-1·wi,而⊙表示按元素相乘;再迭代地计算最后通过wi=wi-αxi·yi,更新系数矩阵wi。其中,分段线性的激活函数的导数也可以通过分段函数得到。所有计算仅包括参考文献[3,4]中安全定点数计算与符号判断。在本方法所使用的Q-mix多智能体强化学习算法中,Mix网络包含了绝对值激活函数和ELU激活函数。本方法使用Leaky ReLu近似后者。两个激活函数分别用分段函数表示为abv(u)=-(u<0)u+(1-(u<0))u与LReLu(u)=(u<0)au+(1-(u<0))u。
步骤2.g)得到Mix网络的反向输出后,各服务器将这些输出返还给智能体。由于服务器实际操作的是秘密分享,智能体可以收集到足够多的分享以恢复明文值,再以这些明文值为输入通过SGD优化算法执行本地的参数优化。
步骤3、将已完成优化的智能体模型参数部署在无人汽车用于决策,通过各种设备收集自身与视线内障碍物的位置、速度数据作为输入,计算本地智能体网络得到本地Q函数,基于本地Q函数选择加速、变道、刹车、转弯中所对应Q函数值最大的动作,以保证所有交互后总体奖励最大。
本实施例具体过程如下:
如图1所示,本实施例考虑存在一组客户C1,C2,…,Cm,其希望充分利用各自所持有的数据联合训练一个模型。数据的分布基本不会影响整个协议。在进一步的构架中,客户希望进行联合强化学习,其分别持有一个智能体,所有的智能体在同一段时间内与同一个环境进行交互。客户期望各自获得一个本地网络(记作智能体网络),网络以当前状态信息为输入计算每个动作对应的Q值,以Q值大小评价动作在当前状态下的好坏。
本方法使用n个服务器S1,S2,…,Sn,门限为t,其担任的角色都是相同的,对称的。其共同执行安全计算,共同计算一个综合网络(由混合网络与超网络组成),每个服务器都持有这个综合网络所有参数的秘密分享所组成的网络,并通过安全计算同态地维护和更新这些参数,从而实现梯度下降优化算法,辅助客户端智能体网络的参数优化。当训练完成后,综合网络就可以被废弃了。
如图2所示,步骤2中所述的秘密分享,采用基于Shamir安全多方计算的隐私保护多方强化学习系统实现,该系统包括:基于shamir的安全定点数计算模块、基于定点数计算实现的安全梯度下降模块、基于安全梯度下降实现的服务器mix网络模块、智能体网络模块和智能体-服务器通信模块。
如图3所示,步骤2中所述的秘密分享,采用基于上述系统的隐私保护方法实现,包括:
步骤1、环境建模过程,包括明确输入状态,确定奖励函数,分配智能体与服务器角色,初始化智能体数、服务器数、各参与方id、有限域素数、定点小数位数公共参数。
步骤2、采用基于Shamir秘密分享实现的安全定点数计算与安全SGD协议进行隐私保护多方强化学习,包括:样本收集过程与优化参数过程。
步骤3、导出智能体模型参数,将模型部署在机器人实体上或以供进一步优化网络。
所述的Shamir秘密分享是一种经典的(n,t)门限秘密分享。在产生秘密分享时,秘密持有者产生一个有限域上的t-1次多项式f(x)=s+a1x+…+at-1xt-1,其中s=f(0)设为秘密值,其他参数ai设为随机数,再将f(i),i∈[1,n]作为秘密分享进行分发。当需要重构秘密时,先收集足够的秘密分享(至少t份),再根据拉格朗日插值公式计算得到秘密值 当秘密值为s时,对应的分享为
所述的安全定点数计算是指:基于Shamir秘密分享所具有的同态性质进行安全计算,具体包括:当希望计算两个对应多项式在同一有限域上的秘密值的加法时,通过对其同一自变量的分享值相加得到。类似地,Shamir秘密分享对乘法也有相似的性质,但需要将两个t-1次多项式相乘所产生的2(t-1)次多项式及时进行降次。常见方式为各方对作乘法所产生的2t-1次分享f′3(i)再作t次分享,在得到2t个分享后进行门限为$2t的秘密重构,这样就能得到乘法的t次分享。
所述的安全定点数计算,使用如下的数据类型:需要进行操作的目标数据是有符号整数与有符号定点数,分别表示为与 其中上的被以2-f为间隔进行采样。通过对上的元素进行计算实现对上元素的计算。使用函数实现元素在两个类型间的转化。考虑两者在计算方式上的不同,需要在计算乘法时进行截断,以保证定点数位数不变。上述的k,f值均公开。为了实现使用Shamir秘密分享进行安全计算,这些有符号数据类型需要编码为有限域上的元素。
所述的编码,具体为p-补码系统,即利用一个足够大的p生成其中p>22k+κ,并使用函数将上的元素映射到成上。通过对Zp上元素x的直接计算来实现对Z<k>上符号整数元素的计算,并进一步实现对Q<k,f>上符号定点数的计算。对于的加减法与判断正负计算都直接使用Z<k>上符号整数元素的计算实现。为了保持小数位数,需要在进行乘法计算导致位数扩张后对结果进行截断。
本实施例中使用的截断协议来自文献(OctavianCatrina.Round-efficient protocols for secure multiparty fixed-pointarithmetic.In 2018 International Conference on Communications(COMM),pages431-436.IEEE,2018.),其中以一个秘密整数值和两个公开的整数——数值位数k与截断位数数m∈[1,k-1]为输入,计算并以概率向上或向下取整。协议过程不再赘述。使用上述的将乘法结果进行截断。
使用符号判断组合加法乘法实现分段函数。符号判断协议(less than zero,LTZ)同样采用上述文献,该协议以一个秘密整数值和公开的数值位数k为输入,输出一个秘密分享满足利用LTZ协议,就可以通过f(x)=(x<x1)·f1(x)+(x1≤x<x2)·f2(x)+·+(xn-1<x)·fn(x)来计算分段函数,并进一步通过计算分段函数来计算一些非线性激活函数及其导数。
以上操作都可以对一个矩阵同时进行。
所述的安全SGD协议,包括:前向传播与后向传播,即对于一个神经网络的第i层的神经元,用di表示其个数,也即第i层的输出维数。D0=d就是整个网络输入的特征维数,记m表示输出层,则dm是整个网络的输出维数。将第i层的系数矩阵表示为di-1×di矩阵wi,第i层的输入(也即上一层的输出)被表示为xi。
前向传播:数据持有者使用输入数据生成秘密分享,并将秘密分享提交给服务器。服务器根据公式xi=f(xi-1·wi),其中f(u)为分段线性的激活函数,使用定点数的安全加乘法与分段函数迭代地逐层向前计算,得到输出。
后向传播:服务器得到输出后再获取目标输出,然后使用定点数的安全加乘法与分段函数迭代地逐层向后进行计算,首先根据最终输出计算其中ui=xi-1·wi,而⊙表示按元素相乘;再迭代地计算最后通过wi=wi-αxi·yi,更新系数矩阵wi。其中,分段线性的激活函数的导数也可以通过分段函数得到。所有计算仅包括安全定点数计算与符号判断。在所使用的Q-mix多智能体强化学习算法中,Mix网络包含了绝对值激活函数和ELU激活函数。使用Leaky ReLu近似后者。两个激活函数分别用分段函数表示为abv(u)=-(u<0)u+(1-(u<0))u与LReLu(u)=(u<0)au+(1-(u<0))u。
使用动量是一种对SGD较为简单的优化方法。它只需要为每个w多存储一个值:vw=βvw+(1-β)dw,然后在在更新w时计算w=w-αvw。其中的计算仅包括安全定点数计算与符号判断。
多智能体强化学习部分采取Q-Mix算法,对其中需要进行联合计算的部分使用安全多方计算实现,包括Mix网络的计算与梯度下降,系统总状态与总奖励的联合计算。训练过程大致分为两个步骤交替进行,分别为样本收集过程与优化参数过程。在协议正式开始前,所有参与方需对超参数,如有限域定点位数f达成一致。
经过具体实际实验,本实施例在捕食者-猎物环境进行了实验,该实验设置参考文献:Jian Hu,SiyangJiang,Seth Austin Harding,Haibin Wu,and Shih weiLiao.Revisitingthe monotonicity constraintin cooperative multi-agentreinforcement learning.2021.
在捕食者-猎物环境中,三个合作智能体通过在一个包含两个大障碍物的区域内的任意位置控制其速度[上、下、左、右、停],来控制三个机器捕食者追逐速度更快的机器捕食者(猎物的行为是随机的)。目标是用尽可能少的步子捕捉猎物。在[5]中给出的试验代码基础上,使用python实现了的安全计算模块,模拟多个服务器共同计算的安全Mix网络以替换原实验的Mix网络,从而进行了比较实验。用平均测试奖励进行评价,的使用安全技术的试验为PPQ-mix,作为对照的为[5]中原来的实验代码结果,记为Q-mix,结果见表1。两者均在相近的迭代轮次中最终达到了最大奖励值40.0,能够保证训练结果的精度没有明显下降,但时间增加了约600倍。与现有技术相比,本方法的性能指标提升在于:本发明可以任意部署n个服务器,并容忍其中一些(小于n-2t)掉线。在保证能够对抗一定的合谋攻击时,适当地增加服务器数量可以增加服务器合谋的难度,进而增强模型的安全性。同时,本发明的方法使用Q-mix模型作为多智能体强化学习的模型,并且能够处理连续状态输入的复杂场景。
表1.
奖励 | 训练时间 | |
Q-mix | 40.0 | 1hours,6minutes,51seconds |
PPQ-mix | 40.0 | 25days,23hours,29minutes,59seconds |
实施例2
本实施例具体场景为:智能电网场景,不同客户从不同节点处接电,节点需要根据客户的需求与其他节点的电力控制本节点的电力流通,以保证电网安全并满足客户需求,同时保证客户需求信息不被泄露。
步骤1、环境建模过程,包括明确输入状态,确定奖励函数,分配智能体与服务器角色,然后初始化智能体数、服务器数、各参与方id、有限域素数、定点小数位数公共参数。智能电网场景中,作为各节点智能体输入的状态信息可包含自身节点流量、客户需求、相邻节点流量信息,可选动作可设置为增大或减小自身流量,总体奖励可设置为满足客户需求所用的时间与电网总电流。
步骤2、基于Shamir安全多方计算的隐私保护多方强化学习方法,包括:样本收集过程与优化参数过程。
步骤3、使用已完成优化的模型,即导出智能体模型参数,将模型部署在电网节点实体上,或以供进一步优化网络。经过协议后,本地智能体即电网节点实体会分别获得一个智能体网络用于决策,网络使用上述状态信息为输入,输出对应动作的Q函数值,电网节点可以选择其中对应Q函数值最大的动作,调整自身流量,可以保证所有交互后总体奖励最大,保证电网安全并满足客户需求。
与现有技术相比,本发明结合了Shamir秘密分享的安全多方计算与Q-mix多智能体强化学习算法。本发明侧重于m个智能体尝试在垂直隐私保护多智能体强化学习上进行合作,而n个服务器提供安全计算服务的情况。在训练过程中,智能体将本地Q值的秘密分享提交给服务器,服务器隐私计算总Q函数。在服务器使用总Q函数进行反向参数优化后,智能体将在服务器的帮助下从总Q函数中分解出一个局部Q函数,并用于本地的参数优化。本发明的方法使用Q-mix模型作为多智能体强化学习的模型,并且能够处理复杂的场景状态输入,而前人所用的Q-learning只能处理离散和小的状态空间。本发明还引入了严格的安全工具,在不损失模型准确性的情况下证明了协议的安全性,不同于使用差分隐私但没有明确定义自己的隐私。本发明使用了Shamir的秘密分享方案,所以得益于秘密分享的(n,t)阈值属性,本发明可以任意部署n个服务器,并容忍其中一些(小于n-2t)掉线。在保证能够对抗一定的合谋攻击时,适当地增加服务器数量可以增加服务器合谋的难度,进而增强模型的安全性。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (8)
1.一种基于Shamir安全多方计算的隐私保护多方强化学习系统,其特征在于,包括:基于shamir的安全定点数计算模块、基于定点数计算实现的安全梯度下降模块、基于安全梯度下降实现的服务器mix网络模块、智能体网络模块和智能体-服务器通信模块,其中:安全定点数计算模块以计算输入值的秘密分享为输入,通过同态计算,得到计算输入值经过计算的结果的输出秘密分享;安全梯度下降模块根据神经网络输入的秘密分享进行同态的梯度下降计算,将以秘密分享为形式存在与各服务器处的网络参数进行优化;服务器混合网络模块根据智能体网络模块所提交的局部Q值的秘密分享,输出整体Q值的秘密分享,并计算总体奖励,进行梯度下降算法中前向与后向的安全计算,得到参数优化的结果,并提供给智能体网络以供智能体网络优化;智能体网络模块根据状态信息进行网络前向计算得到局部Q值,即本地Q值并生成秘密分享后输出至服务器混合网络模块进行综合与优化,并基于服务器mix网络模块在优化过程中的输出优化本身持有的智能体网络参数,得到优化后的智能体网络参数;智能体-服务器通信模块根据负责各方通信,模型中各服务器两两相连,每个智能体都与每个服务器相连,因此通信内容包括智能体向服务器提交的秘密分享与服务器之间安全计算时通信的秘密分享。
2.根据权利要求1所述的基于Shamir安全多方计算的隐私保护多方强化学习系统,其特征是,所述的安全定点数计算模块包括:生成秘密分享单元、秘密分享恢复单元、截断协议单元以及符号判断协议单元,其中:生成秘密分享单元根据真实值,生成shamir秘密分享;秘密分享恢复单元根据足够数量的shamir秘密分享,生成对应真实值;截断协议单元以秘密分享与截断位数为输入,进行安全协议,得到对应真实值截断若干末位结果所对应的秘密分享;符号判断协议单元以秘密分享为输入,进行安全协议,得到对应真实值是否小于零的结果的秘密分享。
3.根据权利要求1所述的基于Shamir安全多方计算的隐私保护多方强化学习系统,其特征是,所述的安全梯度下降模块包括:前向单元和后向单元,其中:前向单元根据神经网络输入的秘密分享,进行前向的同态计算,得到网络输出的秘密分享;后向单元根据神经网络的目标函数的秘密分享,进行后向的同态计算,对神经网络参数进行更新。
4.根据权利要求1所述的基于Shamir安全多方计算的隐私保护多方强化学习系统,其特征是,所述的服务器mix网络模块包括:安全ReLu层、安全Abs层和安全LeakyReLu层,其分别以本层输入的秘密分享为输入,计算对应神经元与激活函数,共同组成mix网络后,进行同态的前向与后向计算,从而优化Mix网络参数并返回给智能体网络对应梯度以辅助智能体网络优化参数。
5.根据权利要求1所述的基于Shamir安全多方计算的隐私保护多方强化学习系统,其特征是,所述的智能体网络模块包括:输入单元、递归神经网络单元、动作选择单元以及环境交互单元,其中:输入单元根据各类采样信息,得到递归网络输入的状态信息;递归神经单元根据输入的状态信息进行前向计算得到局部Q值,以服务器的返回信息为输入后向计算,对网络参数进行优化;动作选择单元根据局部Q值,根据所要求的策略输出与环境交互的动作;环境交互单元根据所选动作与环境进行交互,得到状态信息与奖励信息。
6.根据权利要求1所述的基于Shamir安全多方计算的隐私保护多方强化学习系统,其特征是,所述的各类采样信息包括:通过传感器获得的自身与附近障碍物的位置、速度信息,经量化处理成为作为网络输入的数据。
7.根据权利要求1所述的基于Shamir安全多方计算的隐私保护多方强化学习系统,其特征是,所述的智能体-服务器通信模块包括:智能体收发单元以及服务器收发单元,其中:智能体收发单元负责将局部Q值、总体状态信息、状态奖励信息内容进行秘密分享并将秘密分享发送给对应服务器,然后在从服务器处接收返回的局部Q值梯度的秘密分享,并恢复出局部Q值梯度的真实值;服务器收发单元根据具体协议在服务器之间收发安全计算过程中的秘密分享中间值,以辅助完成计算。
8.一种基于上述系统的Shamir安全多方计算的隐私保护多方强化学习方法,包括:样本收集过程与优化参数过程;
所述的样本收集过程包括:
步骤1)各智能体分别以当前状态为输入,使用各自的本地网络计算本地Q函数;在无人汽车集群控制场景中,智能体通过各种设备收集自身与视线内障碍物的位置、速度数据作为输入,计算本地智能体网络得到本地Q函数;
步骤2)各智能体基于本地Q函数,根据∈-贪婪算法自行选择自己所采取的动作与环境进行交互;即,以∈的概率采取本地Q函数值最大的动作,以1-∈的概率从其他动作中随机选择;在无人汽车集群控制场景中,智能体控制汽车选择采取加速、变道、刹车、转弯不同动作;
步骤3)各智能体再次收集状态信息,记录下由动作前状态、所采取动作与动作后状态所组成的历史记录,储存进自己的重放缓存;
步骤4)各智能体将计算系统总体状态和奖励所需的数据按秘密分享所需的格式扩张取整,映射到有限域上,再做Shamir秘密分享,向服务器以秘密分享的形式提交,并用相同的方法向服务器提交所选取动作对应的本地Q函数秘密分享;在无人汽车集群控制场景中,智能体提交的数据为是否发生碰撞的惩罚值、之前行驶的平均速度、目的地的距离内容;
步骤5)服务器利用智能体所提交的秘密分享对系统总体状态和奖励进行安全计算;在过程中,服务器不接触及保存数据明文,仅通过对Mix网络与各输入的秘密分享进行同态计算的手段来执行安全计算;并按相同顺序对系统状态转移与总体奖励进行记录,扩充进入各自维护的重放缓存;
所述的优化参数过程包括:
步骤a)所有智能体与服务器抽取本次迭代所使用的样本索引;
步骤b)各智能体根据上述样本索引从重放缓存中获得相应记录,以其中的状态信息作为输入,分别使用本地的智能体网络与目标网络计算得到局部Q值与局部目标Q值;
步骤c)各智能体将总体状态、总体奖励相关数据与两类Q值均作秘密分享,将分享分发给相应服务器;
步骤d)各服务器通过安全计算得到总体状态s与总体奖励r,再以总体状态和两类局部Q值为输入进行安全的网络前向计算,分别得到两个总体Q值(以上结果均为秘密分享形式);Mix网络结果记为Qtot,目标网络结果记为Q′tot;这里的安全计算是根据公式x_i=f(x_(i-1)·w_i),其中f(u)为分段线性的激活函数,使用参考文献[3,4]中的定点数的安全加乘法与分段函数迭代地逐层向前计算,得到输出;分段函数由参考文献[3,4]中符号判断协议组合得到;
步骤e)各服务器计算ytot=r+γQ′tot;其中γ为衰减系数,是公开的常数;
步骤f)各服务器使用安全的SGD协议进行计算,以ΔQtot=ytot-Qtot为反向传播的输入执行安全SGD参数优化协议;然后使用定点数的安全加乘法与分段函数迭代地逐层向后进行计算,首先根据最终输出计算其中ui=xi-1·wi,而⊙表示按元素相乘;再迭代地计算最后通过wi=wi-αxi·yi,更新系数矩阵wi;其中,分段线性的激活函数的导数也通过分段函数得到;所有计算仅包括参考文献[3,4]中安全定点数计算与符号判断;在本方法所使用的Q-mix多智能体强化学习算法中,Mix网络包含了绝对值激活函数和ELU激活函数;本方法使用Leaky ReLu近似后者;两个激活函数分别用分段函数表示为abv(u)=-(u<0)u+(1-(u<0))u与LReLu(u)=(u<0)au+(1-(u<0))u;
步骤g)得到Mix网络的反向输出后,各服务器将这些输出返还给智能体;由于服务器实际操作的是秘密分享,智能体收集到足够多的分享以恢复明文值,再以这些明文值为输入通过SGD优化算法执行本地的参数优化;
轮流进行样本收集过程与优化参数过程若干次,直到迭代次数达到阈值,服务器和智能体都终止训练;智能体输出被优化后的本地智能体网络且不需要再连接服务器,而服务器没有输出;智能体的本地网络可被用于进行实际应用中的协作决策;即,将状态信息作为输入,输出各个动作对应的本地Q函数值,最后选择对应Q函数值最高的动作与环境交互;在无人汽车集群控制场景中,智能体通过各种设备收集自身与视线内障碍物的位置、速度数据作为输入,计算本地智能体网络得到本地Q函数,基于本地Q函数选择加速、变道、刹车、转弯中所对应Q函数值最大的动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111388309.9A CN114118368A (zh) | 2021-11-22 | 2021-11-22 | 基于Shamir安全多方计算的隐私保护多方强化学习系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111388309.9A CN114118368A (zh) | 2021-11-22 | 2021-11-22 | 基于Shamir安全多方计算的隐私保护多方强化学习系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114118368A true CN114118368A (zh) | 2022-03-01 |
Family
ID=80439531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111388309.9A Pending CN114118368A (zh) | 2021-11-22 | 2021-11-22 | 基于Shamir安全多方计算的隐私保护多方强化学习系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114118368A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116388954A (zh) * | 2023-02-23 | 2023-07-04 | 西安电子科技大学 | 通用密态数据安全计算方法 |
CN117114059A (zh) * | 2023-05-16 | 2023-11-24 | 华为云计算技术有限公司 | 神经网络中激活函数的计算方法、装置以及计算设备 |
-
2021
- 2021-11-22 CN CN202111388309.9A patent/CN114118368A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116388954A (zh) * | 2023-02-23 | 2023-07-04 | 西安电子科技大学 | 通用密态数据安全计算方法 |
CN116388954B (zh) * | 2023-02-23 | 2023-09-01 | 西安电子科技大学 | 通用密态数据安全计算方法 |
CN117114059A (zh) * | 2023-05-16 | 2023-11-24 | 华为云计算技术有限公司 | 神经网络中激活函数的计算方法、装置以及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194507B (zh) | 非交互式的保护隐私神经网络预测方法 | |
CN114118368A (zh) | 基于Shamir安全多方计算的隐私保护多方强化学习系统及方法 | |
CN116167084A (zh) | 一种基于混合策略的联邦学习模型训练隐私保护方法及系统 | |
Jiang et al. | Federated dynamic gnn with secure aggregation | |
CN111291411B (zh) | 基于卷积神经网络的安全视频异常检测系统及方法 | |
CN115186831B (zh) | 一种高效隐私保护的深度学习方法 | |
CN113435592A (zh) | 一种隐私保护的神经网络多方协作无损训练方法及系统 | |
Chen et al. | PDLHR: Privacy-preserving deep learning model with homomorphic re-encryption in robot system | |
CN113065145A (zh) | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 | |
CN112380495B (zh) | 安全多方乘法运算方法及系统 | |
CN115310121A (zh) | 车联网中基于MePC-F模型的实时强化联邦学习数据隐私安全方法 | |
Han et al. | Federated learning‐based trajectory prediction model with privacy preserving for intelligent vehicle | |
CN115906172A (zh) | 一种联邦学习数据保护方法 | |
CN115842627A (zh) | 基于安全多方计算的决策树评估方法、装置、设备及介质 | |
CN116561799A (zh) | 一种基于云服务器的多方隐私集合运算方法 | |
Li et al. | Privacy-preserving and real-time detection of vehicular congestion using multilayer perceptron approach for internet of vehicles | |
CN114003961A (zh) | 一种具有隐私性保护的深度神经网络推理方法 | |
CN113657685A (zh) | 联邦模型的训练方法、装置、设备、存储介质及程序 | |
CN117521126A (zh) | 针对非独立同分布数据的安全分布式深度学习系统及方法 | |
CN113962286A (zh) | 一种基于分段函数的去中心化逻辑回归分类预测方法 | |
CN113268862A (zh) | 一种有向非平衡图上的局部全约束优化问题的分布式离散时间算法 | |
CN116595589A (zh) | 基于秘密共享机制的分布式支持向量机训练方法及系统 | |
CN116527824A (zh) | 图卷积神经网络训练方法、装置及设备 | |
CN115879151A (zh) | 一种敏感数据隐私保护的天际线查询方法及系统 | |
CN116489642A (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 |