CN110197285B - 基于区块链的安全协作深度学习方法及装置 - Google Patents

基于区块链的安全协作深度学习方法及装置 Download PDF

Info

Publication number
CN110197285B
CN110197285B CN201910375181.9A CN201910375181A CN110197285B CN 110197285 B CN110197285 B CN 110197285B CN 201910375181 A CN201910375181 A CN 201910375181A CN 110197285 B CN110197285 B CN 110197285B
Authority
CN
China
Prior art keywords
parameter change
global model
user
parameter
change amount
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.)
Active
Application number
CN201910375181.9A
Other languages
English (en)
Other versions
CN110197285A (zh
Inventor
徐恪
张智超
吴波
李琦
徐松松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201910375181.9A priority Critical patent/CN110197285B/zh
Publication of CN110197285A publication Critical patent/CN110197285A/zh
Priority to PCT/CN2019/114984 priority patent/WO2020224205A1/zh
Priority to US17/012,494 priority patent/US11954592B2/en
Application granted granted Critical
Publication of CN110197285B publication Critical patent/CN110197285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于区块链的安全协作深度学习方法及装置,其中,该方法包括:允许一个全局参数服务器收集每轮训练中用户提交的模型参数并维护全局模型,同时每个用户利用自身拥有的验证数据集评估上传参数,并通过智能合约实现最优参数共识,最终由全局参数服务器聚合每轮训练中的最优参数,得到最终协作训练出的全局模型。由此,在允许用户之间在不公开隐私数据集的前提下进行协作训练,保护了彼此数据的隐私性,通过参数共享的方式让全局模型能够学习到所有数据源的特征,提高全局模型的准确率以及泛化能力。

Description

基于区块链的安全协作深度学习方法及装置
技术领域
本发明涉及分布式机器学习技术领域,特别涉及一种基于区块链的安全协作深度学习方法及装置。
背景技术
深度学习作为机器学习的一个重要分支,在近十年的时间内发展迅速,但是受限于计算机的计算能力和算法本身存在梯度消失等问题,虽然深度学习在图像识别、声音识别和推荐系统等研究领域取得了巨大突破,但是深度学习训练过程中往往需要投入大量的训练数据,才能得到理想的训练结果。一些小型研究机构或者普通的研究人员,在特定的研究课题中,往往只拥有有限的训练数据,而数据集问题往往是限制其算法研究和模型设计的重要障碍之一。研究表明,深度模型的训练中,数据的特征反映在模型的参数改变量上,因此协作深度学习让不同用户之间通过参数共享的方式共享数据源特征,而不用直接将数据集公开。但是,协作深度学习中需要有合适的机制保障参数更新的最优化,防止恶意用户或者低质量数据源对全局模型产生负面影响。
区块链可视为一个公开可信的分布式账本(或数据库),许多区块依次连接构成链式的存储结构,并通过共识机制保证数据记录的一致性和不可篡改特性。区块链上的智能合约是存储在区块链上的一段自动执行的电子合同代码,而智能合约的编程语言具有图灵完备性,可以根据需求编写对应功能的合约代码。外部应用可以通过调用合约代码的接口函数实现与区块链数据的交互,完成在协作深度学习中的最优参数共识等功能。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于区块链的安全协作深度学习方法,该方法保证参与协作训练进程中,所有用户数据源的隐私特性、训练过程的安全性以及最终训练模型的高泛化和高准确率。
本发明的另一个目的在于提出一种基于区块链的安全协作深度学习装置。
为达到上述目的,本发明一方面实施例提出了一种基于区块链的安全协作深度学习方法,包括:
S1,获取全局模型、最优参数改变量集合和评价矩阵,对所述全局模型的参数、所述最优参数改变量集合和所述评价矩阵进行初始化;
S2,获取所述全局模型的下载指令,将所述下载指令发送至多个用户端以使所述多个用户端下载所述全局模型,每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选;
S3,将所述每个用户端筛选后的参数改变量集合的哈希值存入至区块链,生成对应的存储交易号码,将所述筛选后的参数改变量集合和对应的所述存储交易号码发送至所述每个用户端,以使所述每个用户端根据验证数据集对接收到的所述筛选后的参数改变量集合和对应的所述存储交易号码进行验证和评估后生成用户端之间的多个评价值,将所述多个评价值存入所述区块链;
S4,根据所述多个评价值对所述评价矩阵进行更新,根据更新后的评价矩阵和预设的区块链共识合约优选出所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新;
S5,迭代S2、S3和S4对所述全局模型进行更新,直至所述全局模型满足预设条件,结束迭代过程。
本发明实施例的基于区块链的安全协作深度学习方法,通过利用区块链作为可信基础设施实现关键数据的存储,利用智能合约的可信执行结果实现最优参数的共识选举,所有参与用户通过一个全局参数服务器作为中间桥梁交互模型参数的改变。用户通过参数共享的方式进行协作训练,不仅可以让模型学习到所有数据源的特征,还保护了数据隐私性,用户通过共识合约的选举最优参数,可以保证模型平稳收敛。
另外,根据本发明上述实施例的基于区块链的安全协作深度学习方法还可以具有以下附加的技术特征:
进一步地,所述每个用户端根据训练数据集对所述全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选,包括:
所述每个用户端根据本地的训练数据集对所述全局模型进行训练,并计算出所述参数改变量集合,公式为:
Figure BDA0002051394350000021
Δθi=θ′ii
其中,θ′i为所述全局模型训练后的参数值,θi为所述全局模型训练前的参数值,Δθi为所述全局模型参数改变量;
将所述参数改变量按照降序排列,筛选出变化量最大的一组参数,生成所述筛选后的参数改变量集合,公式为:
Figure BDA0002051394350000031
其中,
Figure BDA0002051394350000032
为参数改变量集合,γ为筛选参数比例,θg为所述全局模型的参数集合。
进一步地,所述S2,还包括:
所述每个用户端对所述筛选后的参数改变量集合附加时间戳并进行签名。
进一步地,所述S3,还包括:
所述每个用户端对接收到的所述筛选后的参数改变量集合进行验证;
根据接收到的所述存储交易号码验证所述区块链上对应存储的所述筛选后的参数改变量集合的哈希值与接收到的所述筛选后的参数改变量集合是否一致。
进一步地,S4进一步包括:
根据用户端之间的所述多个评价值更新所述评价矩阵M;
根据所述评价矩阵M和所述预设的区块链共识合约优选出最优参数的用户端集合
Figure BDA0002051394350000033
获取所述最优参数的用户端集合
Figure BDA0002051394350000034
对应的所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新,
具体步骤为:记Mi,:为第i个用户端对其它用户端的所有评价值,降序排列Mi,:,记为
Figure BDA0002051394350000035
根据在
Figure BDA0002051394350000036
中的排列位置,第j个用户端的得分为:
Figure BDA0002051394350000037
其中,m为总参与用户端个数,pj为第j个用户端在
Figure BDA0002051394350000038
中的位置,第j个用户端的总分为:
Figure BDA0002051394350000039
其中,ui为第i个用户端,
Figure BDA00020513943500000310
为所有用户端集合,s(j;ui)为第j个用户端在ui的评价下所得分数,基于总得分,所述最优参数的用户端集合:
Figure BDA00020513943500000311
为达到上述目的,本发明另一方面实施例提出了一种基于区块链的安全协作深度学习装置,包括:
初始化模块,用于获取全局模型、最优参数改变量集合和评价矩阵,对所述全局模型的参数、所述最优参数改变量集合和所述评价矩阵进行初始化;
训练模块,用于所述获取全局模型的下载指令,将所述下载指令发送至多个用户端以使所述多个用户端下载所述全局模型,每个用户端根据训练数据集对所述全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选;
评估模块,用于将所述每个用户端筛选后的参数改变量集合的哈希值存入至区块链,生成对应的存储交易号码,将所述筛选后的参数改变量集合和对应的所述存储交易号码发送至所述每个用户端,以使所述每个用户端根据验证数据集对接收到的所述筛选后的参数改变量集合和对应的所述存储交易号码进行验证和评估后生成用户端之间的多个评价值,将所述多个评价值存入所述区块链;
更新模块,用于根据所述多个评价值对所述评价矩阵进行更新,根据更新后的评价矩阵和预设的区块链共识合约优选出所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新;
迭代模块,用于通过迭代直至所述全局模型满足预设条件。
本发明实施例的基于区块链的安全协作深度学习装置,通过利用区块链作为可信基础设施实现关键数据的存储,利用智能合约的可信执行结果实现最优参数的共识选举,所有参与用户通过一个全局参数服务器作为中间桥梁交互模型参数的改变。用户通过参数共享的方式进行协作训练,不仅可以让模型学习到所有数据源的特征,还保护了数据隐私性,用户通过共识合约的选举最优参数,可以保证模型平稳收敛。
另外,根据本发明上述实施例的基于区块链的安全协作深度学习装置还可以具有以下附加的技术特征:
进一步地,所述每个用户端根据训练数据集对所述全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选,包括:
所述每个用户端根据本地的训练数据集对所述全局模型进行训练,并计算出所述参数改变量集合,公式为:
Figure BDA0002051394350000041
Δθi=θ′ii
其中,θ′i为所述全局模型训练后的参数值,θi为所述全局模型训练前的参数值,Δθi为所述全局模型参数改变量;
将所述参数改变量按照降序排列,筛选出变化量最大的一组参数,生成所述筛选后的参数改变量集合,公式为:
Figure BDA0002051394350000042
其中,
Figure BDA0002051394350000043
为参数改变量集合,γ为筛选参数比例,θg为所述全局模型的参数集合。
进一步地,所述训练模块,还用于,
所述每个用户端对所述筛选后的参数改变量集合附加时间戳并进行签名。
进一步地,所述评估模块,包括:验证单元,
所述验证单元,用于所述每个用户端对接收到的所述筛选后的参数改变量集合进行验证;
所述验证单元,具体用于根据接收到的所述存储交易号码验证所述区块链上对应存储的所述筛选后的参数改变量集合的哈希值与接收到的所述筛选后的参数改变量集合是否一致。
进一步地,所述更新模块,具体用于,
根据用户端之间的所述多个评价值更新所述评价矩阵M;
根据所述评价矩阵M和所述预设的区块链共识合约优选出最优参数的用户端集合
Figure BDA0002051394350000051
获取所述最优参数的用户端集合
Figure BDA0002051394350000052
对应的所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新,
具体步骤为:记Mi,:为第i个用户端对其它用户端的所有评价值,降序排列Mi,:,记为
Figure BDA0002051394350000053
根据在
Figure BDA0002051394350000054
中的排列位置,第j个用户端的得分为:
Figure BDA0002051394350000055
其中,m为总参与用户端个数,pj为第j个用户端在
Figure BDA0002051394350000056
中的位置,第j个用户端的总分为:
Figure BDA0002051394350000057
其中,ui为第i个用户端,
Figure BDA0002051394350000058
为所有用户端集合,s(j;ui)为第j个用户端在ui的评价下所得分数,基于总得分,所述最优参数的用户端集合:
Figure BDA0002051394350000059
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的基于区块链的安全协作深度学习方法流程图;
图2为根据本发明另一个实施例的基于区块链的安全协作深度学习方法流程图;
图3为根据本发明一个实施例的协作学习实体及之间连接关系示意图;
图4为根据本发明一个实施例的用户参与协作时的操作时序图;
图5为根据本发明一个实施例的参数服务器与区块链之间的交互示意图;
图6为根据本发明一个实施例的智能合约内容逻辑流程图;
图7为根据本发明一个实施例的基于区块链的安全协作深度学习装置结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在目前深度学习发展的大背景下,深度模型的结构、规模不断增加,而对应训练过程需要的数据需求也与日俱增。对于同一训练目标,往往单一数据源的训练无法得到泛化能力强、准确率高的深度模型。但是,由于数据源数据隐私性等问题,交换隐私数据集的行为将受到法律的惩罚。本发明提出的一种基于区块链的协作深度学习方法,针对在实际中各种业务场景,利用不同用户的训练目标以及训练数据集之间的相关特性,设计出了一套在彼此无需公开数据集的前提下,能够协作训练同一深度模型的技术机制。该机制不仅可以让具有相同训练目标的用户之间能够共同协同训练得到泛化能力强、准确率高的深度模型,并且允许用户无需公开数据集,保护了数据集的隐私性。同时,基于区块链的可信存储特性,保证协作学习过程中任何一个参与实体无法恶意篡改协作进程中的中间参数,利用链上合约的共识机制,在训练用户之间达成最优参数的共识选择,保证训练进程中只有所有用户共识出的最优参数能够更新全局模型,即本技术方案能够容忍部分拥有低质数据集参与者的存在,保证了全局深度模型的稳定收敛。
下面参照附图描述根据本发明实施例提出的基于区块链的安全协作深度学习方法及装置。
首先将参照附图描述根据本发明实施例提出的基于区块链的安全协作深度学习方法。
图1为根据本发明一个实施例的基于区块链的安全协作深度学习方法流程图。
如图1所示,该基于区块链的安全协作深度学习方法包括以下步骤:
步骤S1,获取全局模型、最优参数改变量集合和评价矩阵,对全局模型的参数、最优参数改变量集合和评价矩阵进行初始化。
具体地,通过协作学习的方式训练一个全局模型,首先对全局模型的参数进行初始化化,同时初始化后续用到的最优参数改变量集合。
可以理解的是,通过一个全局参数服务器作为中间桥梁实现用户端与区块链之间的信息交互,以协作学习的方式实现全局模型的训练更新。
具体地,全局参数服务器根据参与用户的设定初始化全局模型,并将最优参数量聚合到全局模型。假定有m个用户,选举其中n(n<m)个用户的参数作为每轮训练的最优集合,用于更新全局模型,其中全局模型共有k个参数。
初始化最优参数的用户列表(可以为空或者任意集合),以及随机初始化全局模型参数。
Figure BDA0002051394350000071
Figure BDA0002051394350000072
步骤S2,获取全局模型的下载指令,将下载指令发送至多个用户端以使多个用户端下载全局模型,每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对参数改变量集合进行筛选。
具体地,通过全局参数服务器向所有的用户端发出下载指令,所有的用户端下载初始化后的全局模型,开始第一轮的协作训练进程。
所有的用户端在下载全局模型后,每个客户端利用自身本地存储的训练数据集对全局模型进行训练生成参数改变量集合,其中,全局模型包含多个参数,多个参数在训练后会发生改变。每个用户端还会按照预设的方法对生成的参数改变量集合进行筛选。
需要说明的是,对全局模型进行训练可以使用随机梯度下降SGD的方法,也可以使用其它方法进行训练,根据实际需要选择训练方法进行训练。
进一步地,每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对参数改变量集合进行筛选,包括:
每个用户端根据本地的训练数据集对全局模型进行训练,并计算出参数改变量集合,公式为:
Figure BDA0002051394350000073
Δθi=θ′ii
其中,θ′i为全局模型训练后的参数值,θi为全局模型训练前的参数值,Δθi为全局模型参数改变量;
将参数改变量按照降序排列,筛选出变化量最大的一组参数,生成筛选后的参数改变量集合,公式为:
Figure BDA0002051394350000074
其中,
Figure BDA0002051394350000075
为参数改变量集合,γ为筛选参数比例,θg为全局模型的参数集合。
由述可知,在筛选参数改变量时采用的是降序排列,选择变化量最大的一组参数的方法,也可以根据实际需要选择其它的方法进行筛选。
步骤S3,将每个用户端筛选后的参数改变量集合的哈希值存入至区块链,生成对应的存储交易号码,将筛选后的参数改变量集合和对应的存储交易号码发送至每个用户端,以使每个用户端根据验证数据集对接收到的筛选后的参数改变量集合和对应的存储交易号码进行验证和评估后生成用户端之间的多个评价值,将多个评价值存入区块链。
进一步地,S3,还包括:
每个用户端对接收到的筛选后的参数改变量集合进行验证;
根据接收到的存储交易号码验证区块链上对应存储的筛选后的参数改变量集合的哈希值与接收到的筛选后的参数改变量集合是否一致。
可以理解的是,所有的用户端在筛选出参数改变集合后,将筛选出参数改变集合的上传至全局参数服务器,并对上传的参数进行时间戳签名,通过全局参数服务器将上传的参数改变量集合的哈希值存入区块链中,并得到一个对应的存储交易号码,通过存储交易号码可以查询区块链上存储的数据预上传至全局参数服务器的数据是否一致,保证全局参数服务器真实上传了每个用户筛选出的参数改变量集合。
全局参数服务器接收用户上传的训练得到的参数改变量集合,并存储在本地,并将参数改变量集合的哈希值Hash_para记录到区块链,得到对应的存储交易号码,记做Tx-ID。其中,H为哈希函数。
Figure BDA0002051394350000081
Figure BDA0002051394350000082
进一步地,在确定所有的用户端全部上传了筛选的参数改变量集合到区块链并生成对应的存储交易号码后,全局参数服务器再将所有用户端上传的参数改变量集合和对应的存储交易号码发送给所有的用户端,所有的用户端利用本地存储的验证数据集对接收到的参数改变量集合和对应的存储交易号码进行验证和打分得到评价值,其中,每一个客户端对其它的客户端进行打分,得到一一对应的评价值,并存储在区块链中。
需要说明的是,在用户端上传参数改变量集合时,若存在用户端没有上传参数改变量集合时,则等待未上传的用户端上传完成后,再将所有用户端上传的参数改变量集合和对应的存储交易号码发送给所有的用户端。
具体地,利用本地验证数据集计算参数更新对应的F1-score值,调用智能合约的函数,记录至区块链,作为最佳参数选择的依据。
步骤S4,根据多个评价值对评价矩阵进行更新,根据更新后的评价矩阵和预设的区块链共识合约优选出最优参数改变量集合,根据最优参数改变量集合对全局模型进行更新。
进一步地,S4进一步包括:
根据用户端之间的多个评价值更新评价矩阵M;
根据评价矩阵M和预设的区块链共识合约优选出最优参数的用户端集合
Figure BDA0002051394350000091
获取最优参数的用户端集合
Figure BDA0002051394350000092
对应的最优参数改变量集合,根据最优参数改变量集合对全局模型进行更新。
基于多赢选举规则和用户上传的F1-score值,为每个用户的参数改变量投票打分,分数最高的n个用户被记为最优参数集合,然后服务器用其对应上传的参数改变量更新模型。
具体地,协作学习进程开始时,初始化评价矩阵M={0}m*m
接收用户之间的评价值,并更新评价矩阵M。Mij则表示第i个用户对第j个用户的评价值。
当所有用户进行完彼此参数改变量的评价之后,根据M选择出最优参数的用户集合
Figure BDA0002051394350000093
并通告参数服务器进行模型更新。具体选择方法如下:
记Mi,:为第i个用户对其他用户的所有评价值,首先降序排列Mi,:,记为
Figure BDA0002051394350000094
根据在
Figure BDA0002051394350000095
中的排列位置,第j个用户的得分为:
Figure BDA0002051394350000096
其中,m为总参与用户数,pj为第j个用户在
Figure BDA0002051394350000097
中的位置。根据上式,第j个用户的总分为:
Figure BDA0002051394350000098
其中ui为第i个用户,
Figure BDA0002051394350000099
为所有用户集合,s(j;ui)为第j个用户在ui的评价下所得分数。基于总得分,最优参数的用户集合:
Figure BDA00020513943500000910
其中
Figure BDA00020513943500000911
即选出在所有
Figure BDA00020513943500000912
中得分最高的n个最优用户集合。
可以理解的是,在得到最优参数改变量集合时,首先得到最优参数的用户集合,再根据最优参数用户集合对应的参数改变量集合得到最优参数改变量集合,利用最优参数改变量集合更新全局模型。
当收到智能合约最终的共识结果
Figure BDA00020513943500000913
后,更新最优参数的用户集合,并聚合所有对应用户的参数改变量。
Figure BDA0002051394350000101
Figure BDA0002051394350000102
其中,
Figure BDA0002051394350000103
是模型对应的一个参数,
Figure BDA0002051394350000104
是每个最优用户上传对应参数的改变量。全局参数服务器首先平均所有用户模型对θi的改变量,得到的值加到对应参数上,并循环执行该操作遍历所有的模型参数,最终实现对模型的更新。
步骤S5,迭代S2、S3和S4对全局模型进行更新,直至全局模型满足预设条件,结束迭代过程。
具体地,在完成一次全局模型的训练更新后,全局参数服务器再向用户端发送下载最新全局模型的指令,再进行训练更新,通过多次的迭代过程,直至全局模型满足预设条件,比如当模型准确率达到用户的预期值,或者当训练轮数足够多时,结束迭代,结束协作训练的标志可以根据实际需要进行设定。
本发明的协作学习方法,建立一个隐私友好的分布式协作学习机制。参与者将自身数据集保存本地,通过参数共享的方式与其他参与者协作。参与者在协作过程中并不公开自己的数据集。同时,在实际应用场景下,数据集的质量优劣问题是普遍存在的,本发明的方法,不仅能够保证参数交互的一致性、数据集的隐私性,还能改通过共识合约的选举,保证全局模型的平稳收敛。
如图2所示,展示了系统实例初始化部署的流程图,主要包括5个步骤:
步骤1,参与协作学习训练的m个用户,协商出一个共同的深度模型结构。该模型由参数服务器全局维护。
步骤2,参数服务器进行初始化。主要包括两个部分,首先初始化最优参数用户列表,然后随机初始化深度模型,并通告所有参与用户进行下载。
步骤3,部署共识合约。合约首先初始化评价矩阵M,其次,共识合约内需要设定一些重要参数,例如选择每轮训练中的最优参数用户的个数n。
步骤4,所有参与协作训练的用户,从参数服务器下载初始化的深度模型。注意,应该保证所有用户起始训练的模型结构保持一致,因此需要有全局参数服务器对模型进行随机初始化,所有用户在同一随机初始模型基础上进行训练。
步骤5,每个用户准备好训练数据集和验证数据集,并利用训练数据集训练初始化的深度模型,启动协作学习进程。
本发明的方法让具有相同训练目标的用户之间能够共同协同训练目标模型,并不失对隐私数据的保护,允许一个全局参数服务器收集每轮训练中用户提交的模型参数并维护全局模型,同时每个用户利用自身拥有的验证数据集评估上传参数,并通过智能合约实现最优参数共识,最终由全局参数服务器聚合每轮训练中的最优参数,得到最终协作训练出的全局模型。
如图3所示,展示了涉及的3个实体以及在协作学习进程中各自的交互流程,其中每个实体的具体实施职能概要如下:
第一部分为用户群组(多个用户端)。每个用户拥有各自的训练数据集以及验证数据集,并通过随机梯度下降等方式进行本地训练。当本地训练结束后,用户选择相应的参数改变列表,附加时间戳并签名后上传至参数服务器,防止他人复制(或重放)对应的参数。同时,每当有新的参数改变列表上传时,所有用户都应下载最新的参数改变量,并用自身拥有的验证数据集,计算出评价值F1-score(或其他验证方法得到对应的评价值),然后将对应的评价结果同步至区块链智能合约。需要注意的是,在本发明的协作学习方法中,每个用户应该具有相同的训练目标,例如相同的深度模型。
第二部分为参数服务器。参数服务器与用户和区块链进行数据交互,如模型参数的上传下载、参数对应哈希值的交易广播等。此外,参数服务器还维护全局模型,并使用最优参数集合中的用户上传的参数改变量来更新全局模型。同时,参数服务器应存储每个用户的公钥,用于验证用户的签名数据。为防止参数服务器被攻击,从而出现参数的恶意篡改等现象,所有用户上传的参数改变哈希需要附加到区块链交易的数据字段中,并返回给每个用户对应下载参数的交易号码,即Tx-ID,用于验证参数的一致性,防止上述恶意行为的出现。
第三部分为区块链及链上智能合约。每个用户上传的参数改变量哈希值,需要附加到交易的数据段中,并广播至区块链网络,以保证记录的哈希值不能被服务器篡改。其中,由于现有的公有链网络的性能受限,成本较高,因此本实施方案建议使用的是性能较好的联盟链,例如使用超级账本fabric等开源联盟链项目。同时,所搭建的区块链必须支持智能合约的运行,比如以太坊支持solidity合约,fabric则支持Golang,java等高级编程语言。智能合约是一种计算机协议,旨在对合同的协商或履行进行数字化,从而便于验证或强制执行。智能合约允许在没有第三方的情况下进行可信的交易。这些交易是可跟踪和不可逆转的。方案中的智能合约必须运行与区块链之上,区块链为智能合约提供一个可信的执行环境。因此,本发明方法中的共识合约基于上述特性,保证用户群组内能够形成对最优参数的共识,从而保证全局模型平稳收敛,而避免受到恶意用户或者低质量参数的影响。
如图4所示,展示了用户群组中每个用户在本实施例中所需要的操作时序流程图,主要包括两个阶段,每个阶段包括6个步骤:
训练阶段:
步骤1,在每轮训练开始时,用户需要从服务器下载最新的全局模型,用于本轮训练。
步骤2,用户利用自身的验证数据集进行本地训练。所有用户的训练方法需要保持一致,例如利用随机梯度下降的方法。利用本地的验证数据集对模型进行训练后,需要并计算出每个参数改变量
Figure BDA0002051394350000121
步骤3,将
Figure BDA0002051394350000122
降序排列,挑选出变化量最大的一组参数改变
Figure BDA0002051394350000123
进行上传。注意,此时挑选的比例会影响系统运行的效率,挑选比例记做γ,即
Figure BDA0002051394350000124
比例γ越大,上传模型的更新程度越高,可以稍微提高全局模型收敛的速率,但是,相应的通信带宽也就越大,因为每个客户端需要与服务器交互更多的参数。因此,建议γ可以位于区间[0.01,0.2]内,根据实际模型参数整体的大小调整上传比例,综合考虑通信效率和收敛速率两个重要因素。
步骤4,将
Figure BDA0002051394350000125
以及对应时间戳签名后,上传至服务器,防止简单的重放攻击等恶意行为。
步骤5,服务器反馈记录上链的交易Tx-ID,用户收到Tx-ID后,验证链上存储是否与上传参数保持一致,这样防止服务器篡改参数后下发给其他用户。
步骤6,服务器通告其他用户下载最新的参数更新。
验证阶段:
步骤1,当有其它用户上传新的参数更新后,服务器通告当前用户下载并评估上传参数。
步骤2,用户下载参数更新以及对应的区块链交易Tx-ID。
步骤3,查询链上存储的参数哈希Hash_para,对比下载的参数更新对应的哈希值,保证下载的参数不会被服务器恶意篡改。
步骤4,利用本地验证数据集对参数进行评估。需要注意,评估方法需要具有一致性,例如利用常用的F1、准确率等评价方法,验证其他用户上传参数的优劣。
步骤5,用户将对应的评价值同步至区块链共识合约。共识合约需要留出对应的合约接口,供用户调用。
步骤6,合约事件触发,通告服务器对应的评估结果。此处需要服务器监听区块链上的合约事件,一旦事件触发,服务器捕捉到相应的事件类型,按照事件分类执行对应的回调响应。例如此处一旦用户提交了最新的评估值,服务器需要捕捉对应的合约事件,保证内容与链上数据的一致性。
如图5所示,展示了参数服务器与区块链的交互流程图,主要分为4个步骤:
步骤1,当用户上传参数时,服务器将对应参数的哈希值Hash_para附加在交易数据段记录在区块链上。
步骤2,区块链反馈对应的交易Tx-ID。Tx-ID是一段哈希值,唯一标识一个交易,服务器将此Tx-ID反馈给用户,用于验证下载参数的一致性。
步骤3,服务器注册监听服务。共识合约需要编写相应的合约事件,服务器监听对应的事件回调响应,对事件作出相应的处理。
步骤4,合约函数被用户调用,抛出对应的事件,由服务器捕捉。服务器捕捉到相应的事件后,根据事件类型,作出对应的响应处理。例如当用户评估参数得到相应的评估结果后,合约会触发对应的事件,服务器需要捕捉对应事件,及时同步数据。
如图6所示,展示了共识合约的数据处理流程图,主要有5个步骤:
步骤1,合约内容的编写及部署。合约内需要定义函数接口以及对应的事件类型。
步骤2,初始化合约内部的参数。包括但不限于最优参数用户的个数n、评价矩阵M等。最优集合个数n影响模型收敛的速率,例如,较大的个数n代表每次服务器会选用较多的参数聚合至全局模型,如果低质数据集数量较多或者有恶意用户的存在,可能会将负面影响引入到全局模型。因此,n的取值应适应实际参与协作训练的用户的数量及数据集之间的差异性。
步骤3,等待接收用户的评估值。
步骤4,当收到用户的评估值后,更新评价矩阵M中对应元素的数值,并抛出对应事件,通告服务器最新的用户评价参数。然后判断是否收到了所有用户之间的评价,如果当前轮次中仍有用户没有上传参数,则跳转至步骤3,否则当每轮训练超时或所有用户均已对模型进行了训练与评估,跳转步骤5。
步骤5,根据评价矩阵M,选举出当前轮次中的最优参数用户集合
Figure BDA0002051394350000131
并通告服务器。服务器收到最新轮次中的最优参数集合后,根据
Figure BDA0002051394350000132
内每个用户上传的参数改变量
Figure BDA0002051394350000133
聚合至全局模型,并通知所有用户下载最新的全局模型,然后开启下一轮的训练进程。
协作训练进程结束的标志可以由用户群组协定,例如,当模型准确率达到用户的预期值,或者当训练轮数足够多时,停止协作训练进程,每个用户可以从参数服务器中下载得到最新的深度模型。根据实际模型的大小,参数服务器需要为每个用户分配适合的带宽,保证协作训练进程的连续性。
根据本发明实施例提出的基于区块链的安全协作深度学习方法,通过利用区块链作为可信基础设施实现关键数据的存储,利用智能合约的可信执行结果实现最优参数的共识选举,所有参与用户通过一个全局参数服务器作为中间桥梁交互模型参数的改变。用户通过参数共享的方式进行协作训练,不仅可以让模型学习到所有数据源的特征,还保护了数据隐私性,用户通过共识合约的选举最优参数,可以保证模型平稳收敛。
其次参照附图描述根据本发明实施例提出的基于区块链的安全协作深度学习装置。
图7为根据本发明一个实施例的基于区块链的安全协作深度学习装置结构示意图。
如图7所示,该基于区块链的安全协作深度学习装置包括:初始化模块100、训练模块200、评估模块300、更新模块400和迭代模块500。
其中,初始化模块100,用于获取全局模型、最优参数改变量集合和评价矩阵,对全局模型的参数、最优参数改变量集合和评价矩阵进行初始化。
训练模块200,用于获取全局模型的下载指令,将下载指令发送至多个用户端以使多个用户端下载全局模型,每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对参数改变量集合进行筛选。
评估模块300,用于将每个用户端筛选后的参数改变量集合的哈希值存入至区块链,生成对应的存储交易号码,将筛选后的参数改变量集合和对应的存储交易号码发送至每个用户端,以使每个用户端根据验证数据集对接收到的筛选后的参数改变量集合和对应的存储交易号码进行验证和评估后生成用户端之间的多个评价值,将多个评价值存入区块链。
更新模块400,用于根据多个评价值对评价矩阵进行更新,根据更新后的评价矩阵和预设的区块链共识合约优选出最优参数改变量集合,根据最优参数改变量集合对全局模型进行更新。
迭代模块500,用于通过迭代直至全局模型满足预设条件。
该装置使得用户之间在不公开隐私数据集的前提下进行协作训练,不仅保护了彼此数据的隐私性,还通过参数共享的方式让全局模型能够学习到所有数据源的特征,提高全局模型的准确率以及泛化能力。
进一步地,每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对参数改变量集合进行筛选,包括:
每个用户端根据本地的训练数据集对全局模型进行训练,并计算出参数改变量集合,公式为:
Figure BDA0002051394350000141
Δθi=θ′ii
其中,θ′i为全局模型训练后的参数值,θi为全局模型训练前的参数值,Δθi为全局模型参数改变量;
将参数改变量按照降序排列,筛选出变化量最大的一组参数,生成筛选后的参数改变量集合,公式为:
Figure BDA0002051394350000142
其中,
Figure BDA0002051394350000143
为参数改变量集合,γ为筛选参数比例,θg为全局模型的参数集合。
进一步地,训练模块,还用于,
每个用户端对筛选后的参数改变量集合附加时间戳并进行签名。
进一步地,评估模块,包括:验证单元,
验证单元,用于每个用户端对接收到的筛选后的参数改变量集合进行验证;
验证单元,具体用于根据接收到的存储交易号码验证区块链上对应存储的筛选后的参数改变量集合的哈希值与接收到的筛选后的参数改变量集合是否一致。
进一步地,更新模块,具体用于,
根据用户端之间的多个评价值更新评价矩阵M;
根据评价矩阵M和预设的区块链共识合约优选出最优参数的用户端集合
Figure BDA0002051394350000151
获取最优参数的用户端集合
Figure BDA0002051394350000152
对应的最优参数改变量集合,根据最优参数改变量集合对全局模型进行更新,
具体步骤为:记Mi,:为第i个用户端对其它用户端的所有评价值,降序排列Mi,:,记为
Figure BDA0002051394350000153
根据在
Figure BDA0002051394350000154
中的排列位置,第j个用户端的得分为:
Figure BDA0002051394350000155
其中,m为总参与用户端个数,pj为第j个用户端在
Figure BDA0002051394350000156
中的位置,第j个用户端的总分为:
Figure BDA0002051394350000157
其中,ui为第i个用户端,
Figure BDA0002051394350000158
为所有用户端集合,s(j;ui)为第j个用户端在ui的评价下所得分数,基于总得分,最优参数的用户端集合:
Figure BDA0002051394350000159
需要说明的是,前述对基于区块链的安全协作深度学习方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
根据本发明实施例提出的基于区块链的安全协作深度学习装置,通过利用区块链作为可信基础设施实现关键数据的存储,利用智能合约的可信执行结果实现最优参数的共识选举,所有参与用户通过一个全局参数服务器作为中间桥梁交互模型参数的改变。用户通过参数共享的方式进行协作训练,不仅可以让模型学习到所有数据源的特征,还保护了数据隐私性,用户通过共识合约的选举最优参数,可以保证模型平稳收敛。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种基于区块链的安全协作深度学习方法,其特征在于,包括以下步骤:
S1,获取全局模型、最优参数改变量集合和评价矩阵,对所述全局模型的参数、所述最优参数改变量集合和所述评价矩阵进行初始化;
S2,获取所述全局模型的下载指令,将所述下载指令发送至多个用户端以使所述多个用户端下载所述全局模型,每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选;
S3,将所述每个用户端筛选后的参数改变量集合的哈希值存入至区块链,生成对应的存储交易号码,将筛选后的所述参数改变量集合和对应的所述存储交易号码发送至所述每个用户端,以使所述每个用户端根据验证数据集对接收到的所述筛选后的参数改变量集合和对应的所述存储交易号码进行验证和评估后生成用户端之间的多个评价值,将所述多个评价值存入所述区块链;
S4,根据所述多个评价值对所述评价矩阵进行更新,根据更新后的评价矩阵和预设的区块链共识合约选出所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新;
S5,迭代S2、S3和S4对所述全局模型进行更新,直至所述全局模型满足预设条件,结束迭代过程;
所述每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选,包括:
所述每个用户端根据本地的训练数据集对所述全局模型进行训练,并计算出所述参数改变量集合,公式为:
Figure FDA0002903873110000011
Δθi=θ′ii
其中,θ′i为所述全局模型训练后的参数值,θi为所述全局模型训练前的参数值,Δθi为所述全局模型参数改变量;
将所述参数改变量按照降序排列,筛选出变化量最大的一组参数,生成所述筛选后的参数改变量集合,公式为:
Figure FDA0002903873110000012
其中,
Figure FDA0002903873110000013
为参数改变量集合,γ为筛选参数比例,θg为所述全局模型的参数集合。
2.根据权利要求1所述的方法,其特征在于,所述S2,还包括:
所述每个用户端对所述筛选后的参数改变量集合附加时间戳并进行签名。
3.根据权利要求1所述的方法,其特征在于,所述S3,还包括:
所述每个用户端对接收到的所述筛选后的参数改变量集合进行验证;
根据接收到的所述存储交易号码验证所述区块链上对应存储的所述筛选后的参数改变量集合的哈希值与接收到的所述筛选后的参数改变量集合是否一致。
4.根据权利要求1所述的方法,其特征在于,S4进一步包括:
根据用户端之间的所述多个评价值更新所述评价矩阵M;
根据所述评价矩阵M和所述预设的区块链共识合约优选出最优参数的用户端集合
Figure FDA0002903873110000021
获取所述最优参数的用户端集合
Figure FDA0002903873110000022
对应的所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新,
具体步骤为:记Mi,:为第i个用户端对其它用户端的所有评价值,降序排列Mi,:,记为
Figure FDA0002903873110000023
根据在
Figure FDA0002903873110000024
中的排列位置,第j个用户端的得分为:
Figure FDA0002903873110000025
其中,m为总参与用户端个数,pj为第j个用户端在
Figure FDA0002903873110000026
中的位置,第j个用户端的总分为:
Figure FDA0002903873110000027
其中,ui为第i个用户端,
Figure FDA0002903873110000028
为所有用户端集合,s(j;ui)为第j个用户端在ui的评价下所得分数,基于总得分,所述最优参数的用户端集合:
Figure FDA0002903873110000029
5.一种基于区块链的安全协作深度学习装置,其特征在于,包括:
初始化模块,用于获取全局模型、最优参数改变量集合和评价矩阵,对所述全局模型的参数、所述最优参数改变量集合和所述评价矩阵进行初始化;
训练模块,用于获取所述全局模型的下载指令,将所述下载指令发送至多个用户端以使所述多个用户端下载所述全局模型,每个用户端根据训练数据集对所述全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选;
评估模块,用于将所述每个用户端筛选后的参数改变量集合的哈希值存入至区块链,生成对应的存储交易号码,将筛选后的所述参数改变量集合和对应的所述存储交易号码发送至所述每个用户端,以使所述每个用户端根据验证数据集对接收到的所述筛选后的参数改变量集合和对应的所述存储交易号码进行验证和评估后生成用户端之间的多个评价值,将所述多个评价值存入所述区块链;
更新模块,用于根据所述多个评价值对所述评价矩阵进行更新,根据更新后的评价矩阵和预设的区块链共识合约选出所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新;
迭代模块,用于通过迭代直至所述全局模型满足预设条件;
所述每个用户端根据训练数据集对全局模型进行训练生成参数改变量集合,并按照预设的方法对所述参数改变量集合进行筛选,包括:
所述每个用户端根据本地的训练数据集对所述全局模型进行训练,并计算出所述参数改变量集合,公式为:
Figure FDA0002903873110000031
Δθi=θ′ii
其中,θ′i为所述全局模型训练后的参数值,θi为所述全局模型训练前的参数值,Δθi为所述全局模型参数改变量;
将所述参数改变量按照降序排列,筛选出变化量最大的一组参数,生成所述筛选后的参数改变量集合,公式为:
Figure FDA0002903873110000032
其中,
Figure FDA0002903873110000033
为参数改变量集合,γ为筛选参数比例,θg为所述全局模型的参数集合。
6.根据权利要求5所述的装置,其特征在于,所述训练模块,还用于,
所述每个用户端对所述筛选后的参数改变量集合附加时间戳并进行签名。
7.根据权利要求5所述的装置,其特征在于,所述评估模块,包括:验证单元,
所述验证单元,用于所述每个用户端对接收到的所述筛选后的参数改变量集合进行验证;
所述验证单元,具体用于根据接收到的所述存储交易号码验证所述区块链上对应存储的所述筛选后的参数改变量集合的哈希值与接收到的所述筛选后的参数改变量集合是否一致。
8.根据权利要求5所述的装置,其特征在于,所述更新模块,具体用于,
根据用户端之间的所述多个评价值更新所述评价矩阵M;
根据所述评价矩阵M和所述预设的区块链共识合约优选出最优参数的用户端集合
Figure FDA0002903873110000034
获取所述最优参数的用户端集合
Figure FDA0002903873110000035
对应的所述最优参数改变量集合,根据所述最优参数改变量集合对所述全局模型进行更新,
具体步骤为:记Mi,:为第i个用户端对其它用户端的所有评价值,降序排列Mi,:,记为
Figure FDA0002903873110000041
根据在
Figure FDA0002903873110000042
中的排列位置,第j个用户端的得分为:
Figure FDA0002903873110000043
其中,m为总参与用户端个数,pj为第j个用户端在
Figure FDA0002903873110000044
中的位置,第j个用户端的总分为:
Figure FDA0002903873110000045
其中,ui为第i个用户端,
Figure FDA0002903873110000046
为所有用户端集合,s(j;ui)为第j个用户端在ui的评价下所得分数,基于总得分,所述最优参数的用户端集合:
Figure FDA0002903873110000047
CN201910375181.9A 2019-05-07 2019-05-07 基于区块链的安全协作深度学习方法及装置 Active CN110197285B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910375181.9A CN110197285B (zh) 2019-05-07 2019-05-07 基于区块链的安全协作深度学习方法及装置
PCT/CN2019/114984 WO2020224205A1 (zh) 2019-05-07 2019-11-01 基于区块链的安全协作深度学习方法及装置
US17/012,494 US11954592B2 (en) 2019-05-07 2020-09-04 Collaborative deep learning methods and collaborative deep learning apparatuses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910375181.9A CN110197285B (zh) 2019-05-07 2019-05-07 基于区块链的安全协作深度学习方法及装置

Publications (2)

Publication Number Publication Date
CN110197285A CN110197285A (zh) 2019-09-03
CN110197285B true CN110197285B (zh) 2021-03-23

Family

ID=67752417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910375181.9A Active CN110197285B (zh) 2019-05-07 2019-05-07 基于区块链的安全协作深度学习方法及装置

Country Status (3)

Country Link
US (1) US11954592B2 (zh)
CN (1) CN110197285B (zh)
WO (1) WO2020224205A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110197285B (zh) * 2019-05-07 2021-03-23 清华大学 基于区块链的安全协作深度学习方法及装置
US20210117829A1 (en) * 2019-10-16 2021-04-22 International Business Machines Corporation Learning pattern dictionary from noisy numerical data in distributed networks
CN111104968B (zh) * 2019-12-02 2023-04-18 北京理工大学 一种基于区块链的安全svm训练方法
CN114761952B (zh) * 2019-12-03 2023-10-27 维萨国际服务协会 提供安全联合机器学习的技术
CN111243698A (zh) * 2020-01-14 2020-06-05 暨南大学 一种数据安全共享方法、存储介质和计算设备
CN111310208A (zh) * 2020-02-14 2020-06-19 云从科技集团股份有限公司 数据处理方法、系统、平台、设备及机器可读介质
US11604986B2 (en) 2020-02-28 2023-03-14 International Business Machines Corporation Blockchain-enabled decentralized ecosystem for secure training of deep neural networks using trusted execution environments
CN111581648B (zh) * 2020-04-06 2022-06-03 电子科技大学 在不规则用户中保留隐私的联邦学习的方法
CN111680793B (zh) * 2020-04-21 2023-06-09 广州中科易德科技有限公司 一种基于深度学习模型训练的区块链共识方法和系统
CN112150282B (zh) * 2020-05-07 2021-06-04 北京天德科技有限公司 一种基于事件库的智能合约处理机制
CN112329557A (zh) * 2020-10-21 2021-02-05 杭州趣链科技有限公司 模型的应用方法、装置、计算机设备及存储介质
CN112015826B (zh) * 2020-10-27 2021-01-29 腾讯科技(深圳)有限公司 基于区块链的智能合约安全性检测方法及相关设备
CN112331353A (zh) * 2020-11-10 2021-02-05 上海计算机软件技术开发中心 一种基于区块链的医疗人工智能模型训练系统及方法
CN112434818B (zh) * 2020-11-19 2023-09-26 脸萌有限公司 模型构建方法、装置、介质及电子设备
US20220210140A1 (en) * 2020-12-30 2022-06-30 Atb Financial Systems and methods for federated learning on blockchain
CN113191530B (zh) * 2021-04-09 2022-09-20 汕头大学 一种具有隐私保护的区块链节点可靠性预测方法及系统
CN113361721B (zh) * 2021-06-29 2023-07-18 北京百度网讯科技有限公司 模型训练方法、装置、电子设备、存储介质及程序产品
CN115270001B (zh) * 2022-09-23 2022-12-23 宁波大学 基于云端协同学习的隐私保护推荐方法及系统
CN117010010B (zh) * 2023-06-01 2024-02-13 湖南信安数字科技有限公司 一种基于区块链的多服务器协作高安全度存储方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200087A (zh) * 2014-06-05 2014-12-10 清华大学 用于机器学习的参数寻优及特征调优的方法及系统
CN107609583A (zh) * 2017-09-05 2018-01-19 深圳乐信软件技术有限公司 分类模型的参数优化方法、装置、计算机设备及存储介质
CN109194508A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109344823A (zh) * 2018-09-11 2019-02-15 福建天晴在线互动科技有限公司 基于区块链机制的ocr深度学习方法、存储介质
CN109388661A (zh) * 2017-08-02 2019-02-26 阿里巴巴集团控股有限公司 一种基于共享数据的模型训练方法及装置
CN109409738A (zh) * 2018-10-25 2019-03-01 平安科技(深圳)有限公司 基于区块链平台进行深度学习的方法、电子装置
CN109685501A (zh) * 2018-12-04 2019-04-26 暨南大学 基于区块链激励机制下可审计的隐私保护深度学习平台建设方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285996A1 (en) * 2017-04-03 2018-10-04 FutureLab Consulting Inc. Methods and system for managing intellectual property using a blockchain
US20180285839A1 (en) * 2017-04-04 2018-10-04 Datient, Inc. Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network
US20190012595A1 (en) * 2017-07-07 2019-01-10 Pointr Data, Inc. Neural network consensus using blockchain
US20210342946A1 (en) * 2017-09-06 2021-11-04 State Farm Mutual Automobile Insurance Company Using a Distributed Ledger for Line Item Determination
CN108491266B (zh) * 2018-03-09 2021-11-16 联想(北京)有限公司 基于区块链的数据处理方法、装置及电子设备
CN109214641B (zh) * 2018-07-05 2021-11-23 广州链基智能科技有限公司 一种基于区块链的企业部门资源数字化控制方法和系统
US20210375409A1 (en) * 2018-10-19 2021-12-02 Longenesis Ltd. Systems and methods for blockchain-based health data validation and access management
CN109558950A (zh) * 2018-11-06 2019-04-02 联动优势科技有限公司 一种确定模型参数的方法及装置
CN109698822A (zh) * 2018-11-28 2019-04-30 众安信息技术服务有限公司 基于公有区块链和加密神经网络的联合学习方法及系统
CN110197285B (zh) * 2019-05-07 2021-03-23 清华大学 基于区块链的安全协作深度学习方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200087A (zh) * 2014-06-05 2014-12-10 清华大学 用于机器学习的参数寻优及特征调优的方法及系统
CN109388661A (zh) * 2017-08-02 2019-02-26 阿里巴巴集团控股有限公司 一种基于共享数据的模型训练方法及装置
CN107609583A (zh) * 2017-09-05 2018-01-19 深圳乐信软件技术有限公司 分类模型的参数优化方法、装置、计算机设备及存储介质
CN109194508A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109344823A (zh) * 2018-09-11 2019-02-15 福建天晴在线互动科技有限公司 基于区块链机制的ocr深度学习方法、存储介质
CN109409738A (zh) * 2018-10-25 2019-03-01 平安科技(深圳)有限公司 基于区块链平台进行深度学习的方法、电子装置
CN109685501A (zh) * 2018-12-04 2019-04-26 暨南大学 基于区块链激励机制下可审计的隐私保护深度学习平台建设方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Blockchain as a Service: An Autonomous, Privacy Preserving, Decentralized Architecture for Deep Learning;Gihan J. Mendis 等;《arXiv》;20180710;第1-8页 *
DeepLinQ: Distributed Multi-Layer Ledgers for Privacy-Preserving Data Sharing;Shih-Wei Liao 等;《2018 IEEE International Conference on Artificial Intelligence and Virtual Reality》;20190117;第173-178页 *
区块链:描绘物联网安全新愿景;徐恪 等;《中兴通讯技术》;20181231;第24卷(第6期);第52-55,64页 *
基于深层神经网络的多特征关联声学建模方法;范正光 等;《计算机研究与发展》;20171231;第54卷(第4期);第1036-1044页 *

Also Published As

Publication number Publication date
US11954592B2 (en) 2024-04-09
US20200401890A1 (en) 2020-12-24
WO2020224205A1 (zh) 2020-11-12
CN110197285A (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
CN110197285B (zh) 基于区块链的安全协作深度学习方法及装置
US11829494B2 (en) Distributed privately subspaced blockchain data structures with secure access restriction management
CN115210741B (zh) 部分有序的区块链
CN111445333B (zh) 区块生成方法、装置、计算机设备以及存储介质
CN111427957B (zh) 区块链投票信息校验方法、装置、设备以及存储介质
CN110602217B (zh) 基于区块链的联盟管理方法、装置、设备及存储介质
CN108681943A (zh) 一种区块链网络的数据处理方法、装置、设备及存储介质
CN111985003A (zh) 数据库恶意对等体识别
US20190108498A1 (en) Decentralized pooled mining for enabling proof-of-work on blockchains
CN112540926A (zh) 一种基于区块链的资源分配公平的联邦学习方法
CN111314067A (zh) 区块存储方法、装置、计算机设备及存储介质
CN115699054A (zh) 区块链的更快查看改变
CN108880820A (zh) 代码管理方法和装置
US10922309B2 (en) Distributed ledger interaction system and methods
CN111104460A (zh) 一种区块链共识方法、系统、电子设备、存储介质
US11343313B1 (en) Fault tolerant periodic leader rotation for blockchain
CN109274746A (zh) 一种基于区块链的举证处理方法及装置
CN112073382B (zh) 一种基于随机共识的图式账本节点维护方法和装置
CN112052474A (zh) 蓝光拷贝服务
CN112818414A (zh) 数据处理方法、装置、计算机设备和存储介质
CN113783899B (zh) 节点退出方法和区块链系统
CN114065145A (zh) 基于区块链的作品原创审核方法、装置及设备
CN110599384A (zh) 组织关系的转移方法、装置、设备及存储介质
CN116055052A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
US9977877B2 (en) System and method for terminating copyright infringement by BitTorrent users

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
GR01 Patent grant
GR01 Patent grant