技术新讯 > 电子通信装置的制造及其应用技术 > 基于混沌-同态加密和联邦学习的风电预测系统及方法  >  正文

基于混沌-同态加密和联邦学习的风电预测系统及方法

  • 国知局
  • 2024-08-02 14:24:59

本发明涉及风力发电领域,特别是涉及基于混沌-同态加密和联邦学习的风电预测系统及方法。

背景技术:

1、风能因环保、资源丰富、经济实惠等特点成为人们最受欢迎的可再生能源之一。然而,一方面,风资源利用的一些不确定性问题和风速的随机性会在某些情况下减少风能的利用。风电和风速的精确预测被认为是解决这些问题的可靠且低成本的解决方案,能够加速实现风电场并网。另一方面,现代能源体系中缺乏对不同地区数据的访问以及现有数据的安全性,不同业务区域缺乏气象站以及维护现有数据安全的重要性也是当今最主要挑战之一。随着人们隐私保护意识的不断提高,如何在保证预测模型性能的同时实现用户数据和模型的隐私保护成为关键问题。

2、伴随着科技的发展,联邦学习逐步应用到风力和风电预测中,在精准预测的同时保护本地数据并缓解通信压力。然而,联邦学习仍然面临严重威胁,因为在整个训练过程中通信模型的更新可能会泄露敏感信息。从共享模型更新中,攻击者可以窃取训练数据或推断“非预期”信息。任何参与训练的设备都可能通过观察和分析这些更新对数据泄露构成威胁。这些威胁可能会损害本地隐私,导致不可预测的经济和财产损失,同时严重妨碍了风电场的高效并网以及现代能源系统中数据的高效利用和共享。综上所述,目前基于联邦学习的风电预测系统中存在着模型泄露安全问题,需要针对这一问题进行深入研究和改进,以确保在风电预测中实现准确预测,同时保护本地风电数据的隐私和安全。

技术实现思路

1、本发明的目的在于提供一种基于混沌-同态加密和联邦学习的风电预测系统及方法,以克服现有风电预测系统中存在的敏感数据隐私泄露风险和安全性不足的问题,并帮助利益相关者共同构建基于本地客户端和云服务端的风电预测系统,有助于促进风电场的高效并网以及现代能源系统中数据的高效利用和共享,同时系统也不会泄露本地数据,为利益相关者提供了一个安全可信的合作平台。

2、第一方面,本发明提供了一种基于混沌-同态加密和联邦学习的风电预测方法,包括以下步骤:

3、步骤1、密钥生成端生成四阶密钥矩阵,并将所述密钥矩阵处理后分发给服务端、代理端和对应的本地客户端 p j, j=1,2,3,..., l, l为本地客户端的总数;然后退出系统并销毁所有与密钥相关的信息,同时服务端初始化联邦学习模型中的全局模型参数并指定交流轮数 t;

4、步骤2、服务端随机选择 n个本地客户端参与联邦学习的建模任务,在初次通信时,服务端将经过初始化后未加密的全局模型参数通过代理端分发给参与联邦学习建模的本地客户端,并标记为 n j, j=1,2,3,..., n;

5、步骤3、本地客户端 n j在接收到模型参数后,加载本地风电场数据集,然后使用分发得到的模型参数进行本地训练,按照预先定义的迭代次数训练本地数据,将本次训练好的模型参数使用本地密钥 k ’ j进行初次加密并上传至代理端;代理端将经过初次加密后的模型参数使用对应的代理密钥 k ’’ j再次对模型参数进行加密,并将再次加密后的模型参数上传至服务端;

6、步骤4、服务端确认已收集到来自 n个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥 k ’’’ j再次加密;并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行同态运算以获得密文聚合参数,同时将获得的密文聚合参数更新到服务端的全局模型参数;

7、步骤5、服务端将聚合后的密文全局模型参数经过对应的服务密钥 k ’’’ j解密发送至代理端,同时重新随机选择 m个本地客户端;

8、步骤6、代理端接收到来自服务端的加密模型参数后,使用相应的代理密钥 k ’’ j对模型参数进行解密,将解密后的模型参数分别发送至对应的本地客户端 n j;

9、步骤7、本地客户端 n j在接收到代理端发送的解密后的模型参数,使用本地密钥 k ’ j对解密后的模型参数再次执行解密操作,并加载本地风电场数据集,然后使用解密后的模型参数进行本地训练,并按照预先定义的迭代次数训练本地数据,并将本次训练好的模型参数使用本地密钥 k ’ j进行加密并上传至代理端;然后代理端将经过初次加密后的模型参数使用对应的代理密钥 k ’’ j再次对模型参数进行加密,并将加密后的模型参数上传至服务端。

10、步骤8、服务端重新确认已收集到来自 m个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥 k ’’’ j再次加密,并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行聚合操作以获得密文聚合参数,同时更获得的密文聚合参数更新到服务端的全局模型参数;

11、步骤9、按预先定义循环执行步骤5至步骤8操作t次后生成训练好的全局模型;服务端将训练好的全局模型通过代理端端分发至各个本地客户端 p j,然后本地客户端 p j更新本地模型,将采集到的风力、风向等风电数据参数输入到训练好的模型中,完成风电预测。本发明可以利用该模型执行更加准确的风电预测任务,同时还克服了风电预测场景中的隐私泄露风险,并在帮助利益相关者共同构建基于本地客户端和云服务端的风电预测系统,同时也不会泄露本地数据。

12、进一步的,步骤1具体包括以下步骤:

13、步骤1.1、密钥生成端首先确定混合阶复lorenz混沌系统的系统参数 ρ、 r、 b、 q1、 q2和初始值 x1、 x2、 x3、 y1、 y2;所述混合阶复lorenz混沌系统为:

14、;

15、其中, ρ、 r、 b、q1 、q2均为系统参数,且 ρ、 r、 b均大于0;状态变量 ω i= x i+ jy i是复变量, x i 、y i是实变量, j为虚部单位, i= 1,2;表示 ω i的 q i阶导数,分别为 ω1、 ω2的共轭变量, x ’3表示 x3的一阶导数;将复变量 ω i展开得:

16、;

17、步骤1.2、利用预估校正方法求解展开后的混合阶复lorenz混沌系统,生成一个含有 n个元素的混沌序列 x=[ x 1, x 2, x 3,…, x n],然后从 x随机截取一段混沌序列 x ’并将其转换为密钥序列 key j,即 key j= x ’=[ x z+16× j+1 , x z+16× j+2 ,…, x z+16×( j+1)],其中, j= 1,2..., l, z为随机截取的初始值, l表示本地客户端的总数;

18、步骤1.3、选取缩放因子γ,整数 n=∏ j=1 2l n j,并将整数 n作为模操作中的模数,其中, n j均为素数, j= 1,2,...,2 l;

19、步骤1.4、将每个密钥序列 key j与缩放因子γ相乘后进行模操作生成 key ’ j,其中 j=1,2..., l,然后将 key ’ j重组成4阶方阵 k j,称之为密钥矩阵;最后将密钥矩阵 k j存入密钥库 keys中;

20、步骤1.5、随机从密钥库 keys选取密钥矩阵 k,针对每个本地客户端 p j分别构造本地密钥 k ’ j、代理密钥 k ’’ j和服务密钥 k ’’’ j:

21、 k ’ j= k mod n i, k ’’ j= k mod n j, k ’’’ j= k ’’ j-1 k ’ j-1 k;

22、其中, n i、 n j是构造整数 n的素数, i≠ j, i,j= 1,2,..,2 l; k ’ j-1、 k ’’ j-1分别是本地密钥 k ’ j和代理密钥 k ’’ j的逆矩阵,并要求服务密钥 k ’’’ j存在逆矩阵 k ’’’ j-1;

23、步骤1.6、将本地密钥 k ’ j、代理密钥 k ’’ j和服务密钥 k ’’’ j分别发送至本地客户端 p j、代理端和服务端,随后退出系统并销毁所有与密钥相关的信息。

24、进一步的,步骤3中,所述本地客户端 n j利用本地数据进行本地训练的具体过程如下所示:

25、步骤3.1、本地客户端 n j确定本地训练次数e;

26、步骤3.2、作为当前轮次的参与方,本地客户端 n j需从代理端获取明文状态下的全局模型参数 θ,并根据以下公式计算近端项 pr并更新本地模型参数:

27、;

28、其中, μ表示近端项系数;

29、步骤3.3、本地客户端 n j进行本地训练迭代e次,并计算每次迭代的输出 out j i、损失函数 l i j和梯度 grad i j:

30、 out i j = fp( x j, θ j);

31、 l i j = loss( y j, out i j) + pr;

32、 grad i j = bpf( l i j, x j, θ j);

33、其中, i=1,.., e, x j、 y j分别表示本地客户端 n j的本地训练数据及其标签, fp表示前向传播函数, loss表示损失函数, bpf表示后向传播函数;然后更新本地模型参数 θ j:

34、 θ j =θ j- lr× grad i j。

35、进一步的,步骤3中,本地客户端将训练好的模型参数进行初次加密并上传至代理端的具体过程如下所示:

36、首先,将模型参数 θ j转换为加密所需的4阶矩阵:

37、;

38、其中, n2m()表示将数字构造成四阶矩阵,且, a、 b为整数域 z n中的随机数, b和 c为2阶随机方阵,0为2阶全0方阵。

39、其次,使用本地客户端密钥 k ’ j对参数进行加密:

40、;

41、其中, enc()表示加密操作;

42、最后,本地客户端 n j将模型参数发送至代理端。

43、进一步的,步骤3中,所述代理端将模型参数使用对应由于客户端 n j的代理密钥 k ’’ j通过以下公式执行加密操作得到模型参数:

44、。

45、进一步的,步骤4中,所述服务端对模型参数使用对应于客户端 n j的服务密钥 k ’’’ j,根据以下公式执行加密操作得到模型参数:

46、。

47、进一步的,步骤4中,所述服务端执行聚合操作得到聚合后的密文全局模型参数:

48、。

49、进一步的,步骤5中,所述服务端根据已选择的本地客户端 n j, j=1,2,3..., m,使用对应的服务密钥 k ’’’ j将更新后的全局模型参数分别执行解密操作,得到解密后的模型参数:

50、;

51、其中, dec()表示执行解密操作。

52、进一步的,步骤7中,所述本地客户端 n j利用本地数据进行本地训练的具体过程如下所示:

53、步骤7.1、本地客户端 n j确定本地训练次数e;

54、步骤7.2、作为当前轮次的参与方,本地客户端 n j首先将解密后的模型参数转换成 θ j,计算近端项 pr并更新本地模型参数:

55、;

56、;

57、;

58、其中, m2n()表示获取一个4阶矩阵的左上角元素;

59、步骤7.3、本地客户端 n j进行本地训练迭代e次,并计算每次迭代的输出 out j i、损失函数 l i j和梯度 grad i j:

60、 out i j = fp( x j, θ ’ j);

61、 l i j = loss( y j, out i j) + pr;

62、 grad i j = bpf( l i j, x j, θ ’ j);

63、其中, i= 1,.., e, x j、 y j分别表示本地客户端 n j的本地训练数据及其标签, fp表示前向传播函数, loss表示损失函数, bpf表示后向传播函数;并按照以下公式更新本地模型参数 θ ’ j:

64、 θ ’ j =θ ’ j- lr× grad i j。

65、第二方面,本发明提供了一种基于混沌-同态加密和联邦学习的风电预测系统,包括:

66、密钥生成端,包括密钥生成子模块和密钥分发子模块;所述密钥生成子模块负责生成和注册系统所需的密钥,密钥分发子模块负责分发所述密钥;这一模块的作用在于确保系统通信的安全性和可信性,为后续的数据传输和处理奠定了基础。

67、代理端,包括通信子模块和加密子模块;所述通信子模块负责协调各个本地客户端之间以及本地客户端与服务端之间的通信,同时负责收集和分发模型参数;与此同时,加密子模块负责对接收到的模型参数执行加密和解密操作,以确保数据的安全性和隐私性。

68、服务端,包括加密子模块、安全聚合子模块和通信子模块;加密子模块负责对接收到的模型参数执行加解密操作,安全聚合子模块的主要任务是在密文状态下执行聚合操作并更新全局模型参数;通过同态加密技术,该模块能够处理加密的模型参数,确保数据的隐私和安全性,然后进行全局模型的优化和更新;同时,所述通信子模块负责分发和收集模型参数,以便后续处理;

69、本地客户端,包括加密子模块、训练子模块和通信子模块;加密子模块负责对接收到的模型参数执行加解密操作,训练子模块负责基于本地风电场数据执行模型训练任务,通信子模块则负责分发和收集模型参数;这种模块化的设计确保了数据的本地性和隐私性。

70、本发明具有以下优点:

71、(1) 准确的风电预测任务执行:本发明采用联邦学习技术,能够实现高度准确的风电预测,有助于提高风电能源的利用效率;

72、(2) 隐私保护:本发明通过混沌-同态加密技术,严格保护本地数据,不会泄露敏感信息,确保数据在本地客户端的安全性与隐私性;

73、(3) 创造合作机会:本发明鼓励利益相关者之间的合作,共同构建了本地客户端和云服务端之间的风电预测系统,这有助于促进风电场的高效并网以及现代能源系统中数据的高效利用和共享。

本文地址:https://www.jishuxx.com/zhuanli/20240801/242730.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。