摘要:
1、恶意的服务器或参与方可能会破坏训练的正确性,例如错误的梯度收集或参数更新。因此,分布式深度学习框架不仅要保证梯度的机密性,而且要保证梯度采集和参数更新的正确性。
2、联邦学习缺乏对不信任的参与方有效的激励机制。
为了解决上面的问题,该篇论文引入了基于区块链的价值驱动激励机制。 从服务器和参与者那里迁移恶意威胁,保证隐私和可审计性。 ——DeepChain
DeepChain:基于区块链激励机制和密码原语的安全分散的分布式深度学习框架DeepChain,它可以为参与协作训练的各方提供数据保密性、计算可审计性和激励。具体来说,DeepChain可以通过启动事务安全地聚合来自不受信任方的本地中间梯度,而本地培训和参数更新则由鼓励处理事务的工人(DeepChain中不久将定义的实体)执行。通过交易处理和激励机制,DeepChain实现了协同培训。同时,利用密码技术保证了协同训练过程的数据机密性和可审计性。
论文的主要创新点是使用了DeepChain框架保证了数据保密性,计算可审计性和激励机制。
危险和安全目标:
1、为了保证局部梯度的机密性,在DeepChain中,每个参与者单独加密,然后上传从其本地模型获得的梯度。所有梯度用于更新所有参与者协同加密的协作模型的参数,然后在每次迭代中通过协同解密获得更新的参数。这里,协作解密意味着至少t个参与者提供他们的秘密共享来解密一个密码(假设至少t个参与者是诚实的(即,不超过t个参与者串通披露参数)。那么,除非至少有t个参与者串通,否则各方的局部梯度不能暴露给任何其他人)
2、为了防止行为不当的参与者,这些参与者可能会故意产生不正确的梯度,或者在解密阶段给出不正确的解密共享共享,所以为了保证梯度收集和参数更新的可审计性,参与者在上传梯度之前需要给出加密的梯度和正确性证明(这两部分统称为事务),并且允许第三方审核参与者验证。对于参数的更新,workers根据记录在DeepChain上的事务来声明计算结果,这些事务都是可审计的。只有当 2 3 \frac{2}{3} 32的workers是诚实的,结果才能保证正确。参数更新后,参与者通过提供其解密共享和相应的正确性验证证明,下载并协同解密参数。同样,任何第三方都可以审核解密共享是否正确。
3、为了实现激励机制,鼓励参与方加入联邦训练,DeepChain通过超时检查和货币惩罚机制为参与者提供公平性。对于未能准时到达时间点的参与者或者是错误执行功能的参与者,DeepChain都会采用货币惩罚机制,撤销不诚实参与者的预冻结存款,并将其重新分配给诚实参与者。因此,公平是可以实现的,因为诚实的参与者永远不会受到惩罚,如果有不诚实的参与者,他们将得到补偿。
DeepChain model 中的相关术语
Trading:当某一参与方得到局部梯度,他会通过一个叫做交易合同的智能合约将梯度发送给DeepChain,这个过程叫做trading。这个交易合同可以下载到workers那进行处理
Local model training:每一方在每轮的local training后,会将生成的局部梯度加密后附加到合同上生成交易合同
Collaborative model training:各个参与方在确定了相同的深度学习模型和参数初始化后,对模型进行迭代训练。在每次迭代中,所有各方都会交换它们的梯度,而workers下载交易合同来处理梯度。然后,workers根据称为处理合同的智能合同发送处理后的梯度。更新则由workers中选择出的领导进行处理。各方下载协作模型的更新参数并相应地更新其本地模型。
worker:workers被鼓励处理包含协作模型更新训练权重的事务。workers争先恐后地在一个街区上工作,而第一个完成工作的是一位领导。领导将获得可以在未来消费的区块奖励,例如,她可以使用奖励来支付在DeepChain培训的模型的使用费。
DeepCoin:DeepCoin作为一种在Deepchain上的资产Coin. Deepchain的参与者有party和worker,其中,party为本地模型训练贡献Coin,后者为帮助更新模型被奖励Coin
整个model 的大致结构:
假设有N个参与方 P j , j = 1 , 2.... N P_j,j=1,2....N Pj,j=1,2....N,并且它们同意一些预定义的信息,例如具体的协作模型和协作模型的初始参数,这些信息会被附加在他们共同签署的交易 T x c o 0 T_{x_{co}}^0 Txco0中.假设交易 T x c o 0