本发明涉及分布式机器学习领域,尤其涉及一种基于区块链的分布式机器学习框架。
背景技术:
1、随着人工智能技术的不断发展,机器学习作为其中的重要分支,已被广泛应用于各个领域。然而,传统的集中式机器学习方法在数据隐私性、模型安全性和可信度等方面存在一些局限性。特别是在大规模数据集的处理过程中,中心化模型往往面临着数据泄露、单点故障和计算资源浪费等风险。
2、为了克服这些局限性,近年来,分布式机器学习逐渐成为研究的热点。分布式机器学习框架能够在多个参与方之间共享模型训练的工作量,从而提高训练效率并保护数据隐私。然而,现有的分布式机器学习框架仍然存在着安全性、数据共享和模型融合的挑战。因此,需要一种新型的分布式机器学习框架,能够充分保障数据隐私性、提高模型的安全性,并实现参与方之间的高效合作。
3、因此,本领域的技术人员致力于开发一种基于区块链的分布式机器学习框架。
技术实现思路
1、有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是解决现有分布式机器学习框架中存在的安全性和信任问题。
2、为实现上述目的,本发明提供了一种基于区块链的分布式机器学习框架,其特征在于,所述分布式机器学习框架包括加密模块、数据传输模块、区块链模块、中央服务器和分布式机器,所述分布式机器学习框架利用所述加密模块、所述数据传输模块和所述区块链模块相配合,实现数据安全高效传输,其中,
3、所述加密模块,生成并分发密钥,将所述密钥发送给所述中央服务器和所述分布式机器;
4、所述数据传输模块,基于跨平台的分布式文件系统,利用p2p网络进行数据分发,有效提高数据传输速率,并提供传输容错能力;
5、所述区块链模块,提供智能合约和记账能力,对所述分布式机器参与模型训练进行登记,并提供对应权限,保存模型信息和模型更新信息,记录所述中央服务器为每个所述分布式机器分配的激励金;
6、所述中央服务器,初始化全局模型并将加密后的所述全局模型上传至所述数据传输模块,对所述分布式机器本地训练的本地模型更新进行模型聚合,评估所述分布式机器对模型训练的贡献并分配所述激励金;
7、所述分布式机器,从所述数据传输模块下载所述全局模型,进行本地训练,并将训练好的本地模型更新上传至所述数据传输模块。
8、进一步地,所述加密模块采用动态加密机制,在每一轮模型训练过程中使用不同的密钥进行解密,保证数据加密和数据传输的安全。
9、进一步地,所述加密模块提供对称加密算法和密钥交换机制,通过所述对称加密算法中密文在多项式时间无密钥情况下的不可逆性保证数据加密的安全性;所述密钥交换机制通过公私钥配合,利用密文在多项式时间无密钥情况下的不可逆性保证了对称密钥传输的安全性。
10、进一步地,所述数据传输模块接收并存储所述全局模型和所述本地模型更新,并提供对所述全局模型和所述本地模型更新的下载。
11、进一步地,所述区块链模块通过智能合约实现对所述分布式机器参与模型训练权限的精准控制,只有已经登记且被所述中央服务器认可的所述分布式机器才能参与模型训练。
12、进一步地,所述分布式机器学习框架包括如下步骤:
13、s101:所述中央服务器初始化所述全局模型,并将加密后的所述全局模型上传至所述数据传输模块;
14、s103:所述分布式机器从所述数据传输模块中下载所述全局模型,并使用aes对称密钥进行解密;
15、s105:所述分布式机器本地训练得到所述本地模型更新,将所述本地模型更新加密后上传至所述数据传输模块;
16、s107:所述中央服务器从所述数据传输模块中下载所有的所述本地模型更新,利用聚合算法对所述本地模型更新进行聚合,更新所述全局模型,并对所述全局模型加密后上传至所述数据传输模块;
17、s109:所述中央服务器判断所述全局模型是否达到训练要求,如果没有达到训练要求,则重复所述步骤s101~s107,直至所述全局模型满足训练要求为止。
18、进一步地,在所述步骤s101中,所述中央服务器使用aes对称加密算法对所述全局模型进行加密,并将所述全局模型cid保存到所述区块链模块的智能合约中。
19、进一步地,所述aes对称加密算法使用的aes对称密钥由所述加密模块根据动态密钥机制生成,所述aes对称密钥加密后记录在所述区块链模块的智能合约中,使用根据椭圆曲线ecdh密钥交换机制生成的公私钥对所述aes对称密钥进行加密。
20、进一步地,在所述步骤s105中,所述分布式机器在本地数据集上使用随机梯度下降算法进行训练,得到所述本地模型更新,使用ecdh密钥交换机制生成的公钥加密所述本地模型更新,并将所述本地模型更新上传至所述数据传输模块,通过所述区块链模块的智能合约记录所述本地模型更新cid。
21、进一步地,在所述步骤s107中,所述中央服务器等待所有所述分布式机器完成本地训练后,从所述数据传输模块中下载所有的所述本地模型更新,并利用ecdh密钥交换机制生成的私钥解密所述本地模型更新,所述中央服务器根据所述本地模型更新评估所述分布式机器的贡献度,并将所述贡献度记录在所述区块链模块的智能合约中,所述贡献度的评估基于夏普利值的贡献评估算法进行。
22、在本发明的较佳实施方式中,和现有技术相比,本发明具有如下有益效果:
23、1、本发明利用加密模块、分布式文件系统数据传输模块和区块链相配合,实现数据安全高效传输,分布式机器学习实现了数据传输过程安全可控,同时在引入了额外的加密模块后系统仍能够保持高效的运行,同时中央服务器可以通过区块链上的智能合约管理分布式机器学习的参与权限,并且分布式文件系统使得数据传输过程更加高效;
24、2、本发明以博弈论中夏普利值为基础的贡献度评估算法,利用区块链记账能力进行激励分发,在分布式机器学习训练过程中,中央服务器对各个分布式机器的贡献评估更加准确合理,同时激励分发的过程也更加安全。
25、以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
1.一种基于区块链的分布式机器学习框架,其特征在于,所述分布式机器学习框架包括加密模块、数据传输模块、区块链模块、中央服务器和分布式机器,所述分布式机器学习框架利用所述加密模块、所述数据传输模块和所述区块链模块相配合,实现数据安全高效传输,其中,
2.如权利要求1所述的分布式机器学习框架,其特征在于,所述加密模块采用动态加密机制,在每一轮模型训练过程中使用不同的密钥进行解密,保证数据加密和数据传输的安全。
3.如权利要求2所述的分布式机器学习框架,其特征在于,所述加密模块提供对称加密算法和密钥交换机制,通过所述对称加密算法中密文在多项式时间无密钥情况下的不可逆性保证数据加密的安全性;所述密钥交换机制通过公私钥配合,利用密文在多项式时间无密钥情况下的不可逆性保证了对称密钥传输的安全性。
4.如权利要求1所述的分布式机器学习框架,其特征在于,所述数据传输模块接收并存储所述全局模型和所述本地模型更新,并提供对所述全局模型和所述本地模型更新的下载。
5.如权利要求1所述的分布式机器学习框架,其特征在于,所述区块链模块通过智能合约实现对所述分布式机器参与模型训练权限的精准控制,只有已经登记且被所述中央服务器认可的所述分布式机器才能参与模型训练。
6.如权利要求1-5任意一项所述的分布式机器学习框架,其特征在于,所述分布式机器学习框架包括如下步骤:
7.如权利要求6任意一项所述的分布式机器学习框架,其特征在于,在所述步骤s101中,所述中央服务器使用aes对称加密算法对所述全局模型进行加密,并将所述全局模型cid保存到所述区块链模块的智能合约中。
8.如权利要求7所述的分布式机器学习框架,其特征在于,所述aes对称加密算法使用的aes对称密钥由所述加密模块根据动态密钥机制生成,所述aes对称密钥加密后记录在所述区块链模块的智能合约中,使用根据椭圆曲线ecdh密钥交换机制生成的公私钥对所述aes对称密钥进行加密。
9.如权利要求8所述的分布式机器学习框架,其特征在于,在所述步骤s105中,所述分布式机器在本地数据集上使用随机梯度下降算法进行训练,得到所述本地模型更新,使用ecdh密钥交换机制生成的公钥加密所述本地模型更新,并将所述本地模型更新上传至所述数据传输模块,通过所述区块链模块的智能合约记录所述本地模型更新cid。
10.如权利要求9所述的分布式机器学习框架,其特征在于,在所述步骤s107中,所述中央服务器等待所有所述分布式机器完成本地训练后,从所述数据传输模块中下载所有的所述本地模型更新,并利用ecdh密钥交换机制生成的私钥解密所述本地模型更新,所述中央服务器根据所述本地模型更新评估所述分布式机器的贡献度,并将所述贡献度记录在所述区块链模块的智能合约中,所述贡献度的评估基于夏普利值的贡献评估算法进行。