(19)中华 人民共和国 国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202111416453.9
(22)申请日 2021.11.26
(65)同一申请的已公布的文献号
申请公布号 CN 113837761 A
(43)申请公布日 2021.12.24
(73)专利权人 北京理工大 学
地址 100081 北京市海淀区中关村南大街5
号
(72)发明人 徐蕾 陆鑫 肖尧 张子剑
祝烈煌
(74)专利代理 机构 北京正阳理工知识产权代理
事务所(普通 合伙) 11639
代理人 张利萍
(51)Int.Cl.
G06Q 20/38(2012.01)G06Q 20/40(2012.01)
G06N 20/00(2019.01)
(56)对比文件
CN 113657608 A,2021.1 1.16
CN 111130800 A,2020.0 5.08
CN 111506901 A,2020.08.07
CN 113408746 A,2021.09.17
CN 109889498 A,2019.0 6.14
WO 2021184882 A1,2021.09.23
Meng Shen 等. 《Expl oiting Unintended
Property Leaka ge in》 . 《IEEE INTERNET OF
THINGS JOURNAL》 .2021,第8卷(第4期),
审查员 李咏梅
(54)发明名称
一种基于区块链和可信执行环境的联邦学
习方法及系统
(57)摘要
本发明涉及一种基于区块链和可信执行环
境的联邦 学习方法及系统, 属于人工智能机器学
习技术领域。 本发明结合区块链和可信执行环境
技术, 在任务征集阶段, 任务所有者在区块链网
络广播发起众包模型训练任务。 收到任务后, 满
足要求的节 点申请加入参与者合约, 任务发布者
从所有申请者中随机选择满足训练要求数目的
参与者并下发任务。 被选中的参与者在本地对模
型进行训练, 同时, 在自 己的TEE环境中, 通过对
比模型更新的哈希值是否一致生成模型训练的
正确性证明。 当完成所有模型训练更新后, 参与
者将更新的模型和证明发送至聚合合约进行模
型聚合和验证, 验证通过后向参与节 点发放相应
奖励。 本发明实现了高置信度验证, 解决了对训
练参与者的不可信问题。
权利要求书4页 说明书7页 附图3页
CN 113837761 B
2022.03.18
CN 113837761 B
1.一种基于区块链和可信执 行环境的联邦学习方法, 其特 征在于, 包括以下步骤:
步骤1: 征集任务;
在任务开始前, 任务发布节点首先拟定任务征集合约, 并设置对合格参与者的具体要
求; 之后, 任务发布 节点发布合约征集 参与者;
步骤2: 参与节点申请加入;
步骤3: 任务发布 节点选择参与者;
步骤4: 训练本地模型, 生成模型 更新, 方法如下;
参与节点
下载获取最新的全局模型
, 在当前模型上采用深度神经网络模型和训练
数据data, 在本地执行局 部训练; 通过迭代运算和模型更新, 最终完成模型训练, 生成模型
更新
, t表示学习的轮数;
步骤5: 参与节点调用可信执 行环境TE E内的程序, 生成证明, 方法如下:
参与节点
在本地TEE环境中运行算法
,
为参与节点
完成模型更新后通过调用TEE生成的证明; 算法随机选择训练轮次, 验证这些轮次的模型
更新训练执 行正确性; 其中,
表示 TEE的私钥;
参与者在每轮训练结束时, 对所有模型参数
进行哈希运算得到消息
, 并在所有训
练轮结束时向TE E提交消息
;
当TEE随机请求检查一轮训练结果时, 首先输入模型参数、 哈希值和训练数据; 然后TEE
检查这些参数是否与承诺一致, 并使用相 应数据和输入参数执行训练, 将其输出模型参数
的哈希值与传入的哈希值
进行比较;
如果
, 则验证通过, TEE给出正确性证明; 如果所有随机选择的训练轮次均
验证成功, 则认为参与者诚实地执行了所有训练轮次, 否则判定训练参与者未诚实进行训
练, 生成模型不可信, 不能用于模型聚合;
最后, 参与节点进行最后一轮模型参数验证, 检查承诺消息, 计算模型更新, 即, 最后一
个输出模型和全局模型之间所有参数变化的向量;
在生成证明过程中, TEE生成随机函数集
以生成检查点, 以
代
表要检查的训练轮次,
为本地训练数据,
为训练模型,
,
表示模型训练输入函数,
表示前一轮训练的结果, 哈希函数
;
当获得
轮次的
、
和
后, TEE环境用训练数据
对模型进行训练, 得到
模型更新
;
之后, 判断
是否成立,
表示在TEE中进行学习时的模型输
入; 若成立, 则验证成功, 否则验证失败;
最后, TEE验证最后的模型更新
, 其中
表示最后一轮的模型更新、
表
示开始学习时的输入 模型, 并对 验证信息进行签名
权 利 要 求 书 1/4 页
2
CN 113837761 B
2步骤6: 提交训练结果;
任务发布节点通过部署模型聚合合约, 收集参与者在本地训练完成更新的模型参数;
参与者将训练得到的模型和TEE环境给出的证明一起发送至合约, 执行合约内容将模型
和正确性证明 σ存储在合约中;
步骤7: 聚合模型验证;
当 聚 合 合 约 完 成 模 型 参 数 和 可 信 证 明 模 型 更 新 时 ,合 约 执 行 函 数
,其中,
表示TEE对承诺进行的签名, 以确认参与者
是否诚实地进行了预期的训练; 如果函数
返回1, 则聚合合约将汇总这些更新聚合成为
新的全局模型, 否则表示TEE验证承诺和参与者发送的聚合模型不符, 验证失败, 认为参与
者存在不诚实行为, 模型 更新将不再作为 正确结果被聚合;
若验证通过, 则认为所有参与节点都诚实地进行了模型训练并得到了正确的模型参
数; 之后, 聚合 合约对所有参与者 提交的局部模型进行聚合, 收敛生成最终的训练模型;
为获得收敛的全局模型, 要进行反复迭代训练, 最终的全局模型
表示为
, 其中,
表示参与人
第t+1轮模型更新,
表示参与人
第t+1轮模
型更新;
对于所有收到的更新, 合约通过 执行加权平均, 得到新的全局模型
:
其中 ,
是全局学习率 , 表示模型的更新轮数 ; n是训练总数据的大小 , 用
表示,
表示参与人集合;
表示参与者
进行训练的数据大小; 训练的轮
数, 由模型收敛的时间决定;
步骤8: 当完成所有的模型聚合后, 合约执行最后一步, 按照约定给众包训练的所有节
点发放奖励。
2.如权利要求1所述的一种基于区块链和可信执行环境的联邦学习方法, 其特征在于,
步骤2中, 首先, 参与节点
启动本地可信执 行环境并生成证明报告, 以证明正确的执 行环境
设置; 之后, 参与节点
将验证信息提交至合约触发合约执行, 通过合约执行来验证提交信
息的正确性; 在合规定执行时间内, 设列表中参与节点数量为m, 满足条件的参与者节点将
通过验证加入列表。
3.如权利要求1所述的一种基于区块链和可信执行环境的联邦学习方法, 其特征在于,
步骤3中, 当有训练任务产生, 首先确定联邦学习任务需要众包学习的参与节点数目n; 之
后, 任务发布节点调用任务征集合约, 采用随机算法从参与 节点列表的m个节 点中随机选择
能够参加学习的n个节点,
; 当参与节点确定后, 参与者将接受训练任务, 使用持有
的相关数据集 开始在本地进行训练与更新。
4.如权利要求1所述的一种基于区块链和可信执行环境的联邦学习方法, 其特征在于,
步骤6中, 设合约设置阈值为N, 从N=1开始 一直循环收取参数模 型, 直到收到第N=n个参与者
后合约执 行完毕, 收到所有n个参与众包学习的结果。权 利 要 求 书 2/4 页
3
CN 113837761 B
3
专利 一种基于区块链和可信执行环境的联邦学习方法及系统
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 01:19:19上传分享