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

基于区块链的联邦学习隐私保护视频场景识别方法

文献发布时间:2024-04-18 19:58:30


基于区块链的联邦学习隐私保护视频场景识别方法

技术领域

本发明涉及区块链领域,具体为一种基于区块链的联邦学习隐私保护视频场景识别方法。

背景技术

目前,深度学习被广泛应用于不同领域,例如图像识别、医学诊断、语音识别等。随着计算机视觉技术的发展,通过对视频信息进行分析,智能设备能够获得有关环境中正在发生的事情以及做出相应的反应和互动。出于信息安全的考虑,许多用户担心系统会记录敏感的图像或视频,可能导致隐私泄露。在现有的大规模的监控系统中,隐私泄露的主要原因是犯罪分子利用漏洞和相关负责人滥用摄像头造成的。在与人相关的数据处理领域,隐私保护尤为重要。2016年谷歌提出了联邦学习,将分布在不同用户手中的客户端关联组织起来解决学习任务,在训练相同模型的前提下免去了暴露原始数据的风险。然而,最初的中心化联邦学习方案由于需要将梯度上传到中央服务器,攻击者往往会对服务器发起进攻,通过梯度来反推出用户数据。因此,在联邦学习的基础上进一步保护隐私具有重大研究意义。

目前,联邦学习中的隐私保护已经有了一些研究成果。可以分为基于差分隐私的隐私保护技术、基于同态加密的隐私保护技术、基于安全多方计算的隐私保护技术等。基于同态加密的联邦学习隐私保护技术利用同态加密对本地模型参数、数据加密,这样服务器无法获知参与方的模型参数,也无法获知参与方的原始数据或预测结果,保护了训练阶段及预测阶段的数据隐私。基于安全多方计算的联邦学习隐私保护的方法能保证较高的隐私保护度,不需要可信聚合服务器即可完成学习任务,但任然存在计算代价大、通信轮数多,并且在有恶意参与方存在的情况下,此类方法无法保证联邦学习模型的可用性。

近年来,区块链技术的兴起为联邦学习隐私保护提供了新的思路。传统联邦学习的隐私泄露,往往是因为中心节点的存在,梯度在上传和更新的过程中容易受到攻击。而当参与联邦学习的设备不可信任时,可能会通过传递恶意数据对模型进行攻击。基于区块链的隐私保护以分布式事务分类账方法为基础,记录学习任务的参数、参与客户端本地及全局模型的参数更新,单独设置一个聚合器用来聚合参与方更新的参数。基于区块链的隐私保护技术具备可审计、无需可信结点、安全性高等优点,可以解决联邦学习中节点不可信问题。针对视频识别场景,现有的技术主要将区块链技术用于联邦模型训练过程中视频数据的隐私保护。

因此,有必要设计一种基于区块链的联邦学习隐私保护视频场景识别方法,以解决上述技术问题。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种基于区块链的联邦学习隐私保护视频场景识别方法,以解决现有技术中视频场景识别隐私泄露问题严重,传统联邦学习的中心化的节点存在导致隐私泄露的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于区块链的联邦学习隐私保护视频场景识别方法,包括以下步骤:

步骤1、初始化区块链网络;

步骤2、在模型训练阶段,对每一个加入网络的节点在区块链网络中注册;

步骤3、在网络中注册的节点根据开始的初始网络模型进行本地数据的训练,获得梯度作为参数;

步骤4、通过层次化的区块链网络实现节点参数的快速聚合;

步骤5、聚合之后,通过区块链网络将聚合参数进行广播,若得到符合要求的模型则停止训练,若不符合要求则继续训练直到模型收敛,并将最终模型;

步骤6、节点提出视频场景识别的需求并提供视频数据,由区块链网络通过可验证随机函数构建安全多方计算集群;

步骤7、区块链网络查找拥有模型的节点,并将其模型和待识别的视频数据导入安全多方计算集群;

步骤8、安全多方计算集群完成推理过程,将推理结果返回给提出需求的节点。

优选地,步骤2的具体方法为:任务发布者构建初始区块链网络;想参与训练的节点向区块链网络提出注册申请,注册的信息中应当包括设备算力以及本地数据集规模;任务发布者根据训练任务创建创世块,创世块中的主要信息包括节点分类算法、模型初始化参数、总训练轮数以及节点用于签名的公钥。

优选地,步骤4所述的通过层次化的区块链网络实现节点参数的快速聚合中,构建层次化网络的具体方法为:

采取了一种自适应的区块链网络分层架构,并建立了区块链节点的加入和退出机制。区块链自适应组网过程中,需要对参与节点进行管理,包括节点身份认证、节点评估和节点管理策略。当节点数量较少时,不分层。当节点数量增加时,如果系统判断出通信时间过长,则对节点进行分组,将网络分成几个并行训练的子网。当有节点退出或者节点的运算速度增加时,则系统会合并集群,重新进行训练。

节点的评估基于强化学习的PoQ区块链节点评估模型方案,根据计算能力和通信能力使用使用深度强化学习算法(DQN)来学习策略。

将分组结果在区块链网络中进行广播。

优选地,步骤4所述的通过层次化的区块链网络实现节点参数的快速聚合中,节点参数的快速聚合的具体方法为:

节点先利用自己拥有的数据进行本地训练,在多次重复训练之后得到一个本地模型,训练结束之后将梯度数据在区块链子网中进行广播,区块链子网中对梯度数据进行聚合,将数据分别发送至区块链子网中的节点进行数据更新,重复该过程直至子网内的网络模型训练结束;

子网的模型参数训练结束后,在全体节点组成的区块链网络中,对全部区块链子网的模型进行聚合,并进行梯度更新,通过区块链网络广播至每个参与训练的节点。

优选地,步骤6所述的节点提出视频场景识别的需求前,节点在区块链网络中进行注册,区块链网络对其身份进行验证,区块链在区块中记录下节点注册和节点提出需求的活动。

优选地,步骤6中区块链网络通过可验证随机函数构建安全多方计算集群的具体方法为:

区块链网络生成一个公钥/私钥对,将公钥发布到链上,私钥保持私有;

区块链网络通过智能合约运行可验证随机函数,每轮选择中将在链上注册的所有存有本地模型的节点地址作为输入发送给智能合约;智能合约将地址作为输入传递给可验证随机函数,使用私钥生成一个随机数用作本轮选择的结果,重复此步骤三次,选择三个节点构建一个3PC的安全多方计算集群,区块链网络记录每次选择的结果。

优选地,步骤7中区块链网络将其模型和待识别的视频数据导入安全多方计算集群时,按照预设关键帧选择算法从视频数据中选择关键帧导入安全多方计算集群。

优选地,步骤8中,安全多方计算集群完成推理过程的中,通过秘密共享的方式进行对关键帧进行图像分类,通过这种方式完成视频数据的场景识别。

与现有技术相比,本发明具有如下的有益效果:

1、本发明通过区块链技术、联邦学习技术和安全多方计算技术的结合,实现了代价低、效果好的数据隐私保护;

2、本发明通过区块链来取代中心节点,解决了传统联邦学习中心节点存在对数据造成的安全隐患;

3、本发明通过构建分层的区块链网络,将共识过程转化为并行计算的过程,提高了区块链广播的速度;

4、本发明通过可验证随机函数的方式构建安全多方计算集群,降低了多方安全计算机制中,所有的参与方同时遭受攻击时,数据泄露的概率;

5、本发明提出了从训练到推理的全局联邦学习视频场景识别隐私保护方法,实现了区块链网络的复用。

附图说明:

图1是本发明实施例提供的一种基于区块链的联邦学习隐私保护视频场景识别方法步骤示意图;

图2是本发明实施例提供的一种基于区块链的联邦学习隐私保护视频场景识别方法的架构图;

图3是本发明实施例提供的训练过程架构图;

图4是本发明实施例提供的推理过程架构图。

具体实施方式:

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本实施例中一种基于区块链的联邦学习隐私保护视频场景识别方法,针对隐私问题尤为突出的视频场景识别领域,基于安全多方计算以及区块链技术,在保护隐私的前提下提高数据可用性,参照图2,包括以下步骤:

步骤1、初始化区块链网络;

构建区块链网络使用的链路是可信链路,避免数据传输过程中发生隐私泄露。

步骤2、在模型训练阶段,参照图3,对每一个加入网络的节点在区块链网络中注册;

任务发布者构建初始区块链网络;想参与训练的节点向区块链网络提出注册申请,注册的信息中应当包括设备算力以及本地数据集规模;任务发布者根据训练任务创建创世块,创世块中的主要信息包括节点分类算法、模型初始化参数、总训练轮数以及节点用于签名的公钥。

步骤3、在网络中注册的节点根据开始的初始网络模型进行本地数据的训练,获得梯度作为参数;

步骤4、通过层次化的区块链网络实现节点参数的快速聚合;

构建层次化网络时,具体方法是:

采取了一种自适应的区块链网络分层架构,并建立了区块链节点的加入和退出机制。当节点数量较少时,不分层。当节点数量增加时,如果系统判断出通信时间过长,则对节点进行分组,将网络分成几个并行训练的子网。当有节点退出或者节点的运算速度增加时,则系统会合并集群,重新进行训练。区块链自适应组网过程中,需要对参与节点进行管理,包括节点身份认证、节点评估和节点管理策略。

节点身份认证:在加入区块链网络之前,每个节点都需要进行身份认证,以确保只有合法的节点可以参与到网络中来。本方法中,节点的加入和退出,过程都需要在区块链网络中进行记录,这部分由智能合约进行实现。

节点评估:为了保证网络的正常运行,需要对每个节点进行评估,以评估其在网络中的贡献度和可靠性。本方法中,节点的信誉评估可以基于其参与到区块链网络中的行为表现、算力等因素进行评估。具体而言,系统将根据计算能力S和通信能力T对节点进行综合评估,以对其进行分组。评估过程中以最小化执行时间和最大化聚合模型的准确性为目标。

为了实现节点的评估,本方法设计了一种基于强化学习的PoQ区块链节点评估模型方案:

1.状态表示:通过将CPU周期和共识时间作为状态的特征,将状态表示为一个二元组(S,T)。其中,CPU周期(S)表示节点处理区块的计算能力,共识时间(T)表示节点参与共识的响应速度。共识时间可以用来衡量节点的通信能力。

2.行动空间:使用离散化的方法将节点评估结果转化为行动空间中的状态,例如正常、有问题、异常等。

3.奖励函数:将奖励函数设计为一个基于奖励和惩罚的机制。具体来说,当节点执行任务时间较短并且评估结果准确时,为节点提供奖励;当节点执行任务时间较长或者评估结果不准确时,对节点进行惩罚。将奖励函数表示为:

R(S,T,a)=r

其中,r

环境模型是由节点的CPU周期和共识时间组成的。节点的CPU周期可以通过计算机处理器性能等指标来衡量,共识时间则可以通过区块链中节点响应时间的统计数据来计算。

使用深度强化学习算法(DQN)来学习策略。通过将当前状态作为输入,DQN可以输出一个关于节点评估结果的概率分布,该概率分布将用于选择下一步的行动。

具体训练流程如下:

(1)初始化神经网络:使用一个深度神经网络来实现DQN算法,其中神经网络的输入是状态表示,输出是每个行动的概率值。

(2)从环境中获取当前状态:在每个训练迭代中,会获取当前的状态表示(S,T)。

(3)选择行动:使用神经网络输出的概率分布来选择下一步的行动a,并且执行该行动。

(4)获得奖励:根据执行行动a所得到的奖励R(S,T,a),更新神经网络的权重参数。

(5)重复步骤(2)-(4),直到达到预定的训练轮数或者达到目标准确度。

(6)将训练好的神经网络应用于节点

节点管理策略:针对不同的节点,采取不同的管理策略。对于信誉较高的节点,给予更多的权限和奖励;对于信誉较低的节点,可以采取限制措施,限制其访问权限或者削减其奖励。

将分组结果在区块链网络中进行广播。

实现节点参数的快速聚合时,具体方法为:

节点先利用自己拥有的数据进行本地训练,在多次重复训练之后得到一个本地模型,局部训练采用分布式梯度下降实现。在训练过程中,V表示参与训练的所有节点的集合,v

子网的模型参数训练结束后,在全体节点组成的区块链网络中,对全部区块链子网的模型进行聚合,将参与节点的本地模型w

式中,N为节点数,C

步骤5、聚合之后,通过区块链网络将聚合参数进行广播,若得到符合要求的模型则停止训练,若不符合要求则继续训练直到模型收敛,并将最终模型;

步骤6、参照图4,节点提出视频场景识别的需求并提供视频数据,由区块链网络通过可验证随机函数构建安全多方计算集群;

节点提出视频场景识别的需求前,节点在区块链网络中进行注册,区块链网络对其身份进行验证,区块链在区块中记录下节点注册和节点提出需求的活动。本专利采取Ed25519-VRF作为VRF算法,这是一种基于基于椭圆曲线密码学的VRF算法。该方法采取Ed25519签名方案和Blake2哈希函数,能够实现可验证随机函数的生成。Blake2b哈希函数可以处理任意长度的输入,并生成一个固定长度(通常为512比特)的哈希值。

区块链网络通过可验证随机函数构建安全多方计算集群的具体方法为:

步骤S1:对初始参数进行设置,区块链网络生成一对Edwards曲线上的公钥/私钥对,分别为A和a,其中A是公钥点,a是私钥标量。将公钥发布到链上,私钥保持私有,使用H来表示哈希函数;

步骤S2:对私钥进行转换,将私钥a通过哈希函数H转换为512位的哈希值h

h

步骤S3:对私钥进行扩展,将哈希值h

s=h

步骤S4:对公钥进行计算,使用扩展后的私钥s计算公钥点R,即:

R=s·B

其中,B是Edwards曲线上的基点;

步骤S5:验证密钥的计算,将哈希值h

k=h

步骤S6:计算VRF输入编码,假设要对一个消息m计算VRF,首先需要将消息m编码为Edwards曲线上的点M。可以使用哈希函数H将消息m映射到一个256位的哈希值h

M=s·H(h

此处使用的消息m,是每轮选择中将在链上注册的所有存有本地模型的节点地址。

步骤S7:对VRF的输出进行计算,将公钥点M和验证密钥k通过Edwards曲线上的VRF函数计算VRF输出点P,即:

P=k·M

步骤S8:对VRF的输出进行编码,将VRF输出点P编码为256位的哈希值h

h

步骤S9:提取VRF输出编码中的随机数,将哈希值h

r=h

步骤10:从在区块链网络中注册的所有地址中选出一个,将随机数r模上地址数量N,得到一个整数i:

i=r mod N

其中,N是区块链网络中的地址数量

步骤S10:选择第i个地址作为此轮随机可验证函数选出的节点。

区块链网络通过智能合约运行可验证随机函数,每轮选择中将在链上注册的所有存有本地模型的节点地址作为输入发送给智能合约;智能合约将地址作为输入传递给可验证随机函数,使用私钥生成一个随机数用作本轮选择的结果,重复此步骤三次,选择三个节点构建一个3PC的安全多方计算集群,区块链网络记录每次选择的结果。

这种构建安全多方计算集群的方法解决了多方安全计算机制中,如果所有的参与方同时遭受攻击,数据泄露概率大的问题。

步骤7、区块链网络查找拥有模型的节点,并将其模型和待识别的视频

数据导入安全多方计算集群;具体的,导入视频数据时,按照预设的FrameDifference关键帧选择算法从视频数据中选择关键帧导入安全多方计算集群。

当节点提供待识别数据时,安全多方计算集群根据相邻帧之间在灰度上的差别,求取两帧图像灰度差的绝对值,设定阈值过滤掉大部分冗余帧,进而选取两帧图像相差较大的后一帧作为关键帧。具体来说,计算帧之间的差异是通过从每个像素的先前帧中减去当前帧中相应像素的值来完成的。此操作会产生一个差异图像,其中非常接近的像素将具有相似的值,而发生变化像素将具有更大的差异,那些发生差异较大的帧作为关键帧。

具体步骤如下所示:

步骤8、安全多方计算集群完成推理过程,将推理结果返回给提出需求的节点。

安全多方计算集群完成推理的过程中,通过秘密共享的方式进行对关键帧进行图像分类,通过这种方式完成视频数据的场景识别。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

相关技术
  • 一种基于区块链的联邦学习隐私保护方法
  • 一种适用于医疗行业隐私数据保护的基于区块链的联邦学习方法
技术分类

06120116502990