【联邦学习+区块链】联邦学习与区块链

前言:联邦学习(Federated Learning)是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算节点之间开展高效率的机器学习的一种新兴人工智能基础技术,与分布式机器学习不同的是联邦学习需要一种去中心化分布系统来保证用户的隐私安全,在保障数据安全和交换、训练效率前提下进行有效的机器学习。区块链作为一个去中心化、数据加密、不可篡改的分布式共享数据库,可以为联邦学习的数据交换提供数据保密性来对用户隐私进行保障,保证各参与方之间的数据安全,也可以保证多参与方提供数据进行模型训练的数据一致性区块链的价值驱动激励机制也能够增加各参与方之间提供数据、更新网络模型参数的积极性。基于区块链的应用优点,目前已经有一些应用区块链的联邦学习系统提出。本文对联邦学习以及区块链在联邦学习上的应用做了简单的介绍。

1.联邦学习

联邦学习的定义

联邦学习的特征

隐私是联邦学习的基本属性之一。联邦学习需要使用隐私技术来保证数据的隐私安全。目前已经使用的隐私技术包括安全多方计算(SMC)、微分隐私、同态加密等。同时也需要防止随机梯度下降的优化算法的参数更新带来的间接信息泄露。联邦学习与分布式机器学习的最大区别是去中心化,这也是保护数据隐私的重要手段之一。同时联邦学习还应该考虑恶意服务器或参与方利用错误的梯度搜集和参数更新破坏训练的正确性,这需要联邦学习提供数据的可审计性来保证参与方提供数据的安全性。

联邦学习的分类

                                            图1.1 联邦学习的分类

横向联邦学习

横向联邦学习又叫基于样本的联邦学习,用于有相同特征空间,不同样本空间的数据集场景(图 1.1 a)。例如两个区域银行的用户样本可能差别很大,但是这两家银行的业务是相近的,所以用户样本的特征空间是相同的。这种场景下应用横向联邦学习来对不同样本的相同特征空间进行训练,用样本的多样性来增加模型的效果。横向联邦学习可以表示为:

2017年谷歌提出了一个应用于安卓手机模型更新的横向联邦学习解决方案。在这个框架中,每一个单独的用户利用安卓手机在本地更新模型参数并将更新后的参数传送到安卓云,从而与其他数据拥有者共同训练集中式模型。

垂直联邦学习

垂直联邦学习又叫做基于特征的联邦学习,被应用与不同数据集共享相同的样本空间,但特征空间不同的场景(图 1.1 b)。例如在同一地区的两个不同领域的公司,他们拥有相同的数据样本,但由于领域不同,他们用户样本的特征数据是不同的。垂直联邦学习用于对相同样本下的不同特征数据进行联合训练,联合多种特征空间来增加模型的效果。垂直联邦学习可以表示为:

针对垂直联邦学习的垂直分区数据,很多隐私保护机器学习算法已经被提出,包括合作统计分析、关联规则挖掘、安全线性回归等。

联邦迁移学习

联邦迁移学习应用于不同数据集的样本空间和用户空间的交集都很少的场景下(图 1.1 c)。例如在两个不同区域的两家不同领域的公司,它们的用户和用户的数据都极为不同,或者只有极小一部分交集。在这种情况下联邦迁移学习可以应用整个样本和联合的特征空间提供解决方案,也可以利用有限的公共样本来学习两个特征空间的公共表示,然后用于进行只有一边特征样本的预测。联邦迁移学习是对现在联邦学习系统的一个重要扩展,可以被表示为:

2.区块链

区块链作为一个去中心化的、不可变的、共享的分布式账本和数据库,它有很多优点适合来用于联邦学习的相关研究上。区块链是一个去中心化分布式数据库,在整个区块链网络里的所有节点都有相同的权利,它规避了中心化系统数据可能泄露的弊端,加强了隐私保护和数据的安全。区块链作为一个开放性系统,所有数据拥有者都可以自行加入并进行模型的参数更新工作。另外,区块链中的信息具有不可篡改和可以追溯的特性,这从一定程度上避免了恶意数据拥有者对系统的破坏。因此,区块链在联邦学习上的应用可以加强数据拥有者数据的隐私性和系统的安全稳定性。

另外想要进一步了解区块链,可以观看同课程同学制作的区块链相关知识视频:

快速了解区块链  快速了解区块链_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com图标

此外,保证区块链中的消息一致性也是在分布式系统中的一个重要问题,Paxos算法是莱斯利·兰伯特于1990年提出的一种基于消息传递的一致性算法。这个算法被认为是类似算法中最有效的,我们组制作的视频讲解了晦涩的paxos算法:

区块链Paxos算法  区块链Paxos算法_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com图标

区块链在联邦学习上的研究进展

基于区块链在联邦学习上的良好特性,目前,已经有不少文章探讨了区块链在联邦学习应用上的可行性和实际实现系统以及系统各方面特性的分析。

区块链联邦学习BlockFL

论文“On-Device_Federated_Learning_via_Blockchain_and_it”

https://arxiv.org/abs/1808.03949v1​arxiv.org

针对谷歌提出的安卓设备上联邦学习模型的局限性进行了探讨。谷歌提出的联邦学习模型Vanilla FL(图 2.1 a)由每个设备在本地进行模型训练和参数上传,通过一个中央服务器来进行模型的更新,使得用户数据只在本地设备上进行处理,以此来保证用户的数据隐私。其局限性在于该模型只依赖于一个单一的中央服务器,容易受到服务器故障的影响。同时也没有合适的激励基本来激励用户提供数据训练和上传模型参数。为了解决上述这些问题,作者提出了基于区块链的区块链联邦学习(BlockFL),用区块链网络来替代中央服务器,区块链网络允许交换设备的本地模型更新,同时验证和提供相应的激励机制。

如图 2.1 b所示,BlockFL的逻辑结构由设备和矿工组成。矿工在物理上是随机选择的设备或单独的节点。每个设备在BlockFL网路中计算并上传本地模型更新到相关联的矿工,矿工交换和验证所有的本地模型更新,然后运行工作量证明机制POW。当矿工完成POW,将生产一个新的区块,区块里记录了验证的本地模型的更新,然后将存储本地聚合模型更新的区块添加到区块链中,再由每个设备下载,设备从新的块中计算全局模型更新。本地设备上的全局模型更新可以确保在矿工或者设备故障时不会影响其他设备的全局模型更新。这样普通设备用户和矿工用户都能得到最新的全局更新模型,以此形成对用户的激励机制。同时作者还对BlockFL由区块链网络引起的延迟进行了分析。考虑通过调整块的生成速率即POW难度来使延迟最小化,以此增加系统的实用性。

 

                                    图 2.1 Vanilla FL和BlockFL的系统结构

深度链 DeepChain

文献“DeepChain: Auditable and Privacy-Preserving Deep Learning with Blockchain-based Incentiv”

https://www.researchgate.net/publication/336361007_DeepChain_Auditable_and_Privacy-Preserving_Deep_Learning_with_Blockchain-based_Incentive​www.researchgate.net

进一步完善了应用区块链的联邦学习系统,考虑到第三方恶意的服务器或参与方提供错误的梯度搜集或者参数更新来破坏模型训练的正确性。联邦学习系统还需要保证梯度采集和参数更新的正确性。基于此类问题以及数据的隐私保护,作者提出了深度链模型(DeepChain)(图2.2 a)。深度链是一种基于区块链激励机制的安全分散框架和用于隐私保护的分布式深度学习的密码原语来提供数据机密性、计算可审计性和参与联邦训练的激励机制。

为了保证局部梯度的机密性,防止由梯度信息泄露导致的用户数据泄露,在深度链中每一个参与者将自身训练模型的梯度单独加密后再上传已经加密的梯度。工作者使用所有梯度来更新所有参与者协同加密的协作模型的参数。用户必须通过协同解密来获得已经更新的模型参数。协同解密需要至少 个参与者提供他们的私密共享来解密一个密码,以此来进一步加强数据的隐私性。为了防止恶意的参与者,避免由这些参与者提供不正确的梯度或者在解密阶段给出不正确的解密共享,参与者在上传梯度之前需要给出加密的梯度和正确性证明,并且允许第三方审核参与者的验证,以此来保证数据的可审计性。在参数更新后,参与者需要提供其解密共享和相应的正确性验证证明来下载协同解密参数,同样任何第三方都可以审核解密共享是否正确。以上过程如图 2.2 b所示。

                                      

                                                (a)DeepChain模型的结构[4]

                   

                                     (b) 参与者上传加密参数和下载协作模型参数过程

                                                 图 2.2 DeepChain模型和参数更新机制

为了实现激励机制,鼓励参与方加入联邦学习,深度链通过超时检查和货币惩罚机制为参与者提供公平性。深度链上产出数字货币“深币”(DeepCoin)。对于不能准时到达时间点和错误执行功能的参与者,深度链会采用货币惩罚机制,撤销或冻结不诚实参与者的预存款,将其重新分配给诚实参与者。以此来进一步避免不诚实参与者和激励参与者提供数据顺利模型的积极性。

深度链通过以上机制保障了联邦学习的保密性、可审计性和公平性。进一步提高了联邦学习的安全性和实际使用性。

区块链联邦学习的工作展望

在联邦学习的区块链中,不仅存储这最终训练的模型,存储了训练中不断迭代的模型。基于模型的定价有较好的市场前景,而过程模型的市场价值能够给模型训练的参与者,数据的提供者提供经济利益,从而鼓励参与者对模型的训练,进一步加强模型的效果。另一方面,可以考虑用迭代模型的训练过程和模型参数来进一步促进迁移学习的发展

另外,区块链的加密解密流程,以及工作量证明机制,这些过程的复杂性会很大程度上降低模型训练的效率。对于较为复杂的模型,模型参数的加密以及传输都需要较长的时间。区块链中存储的迭代过程中的模型规模过大也会导致需要较大的存储成本。未来的区块链联邦学习系统还需要进一步加强其实用性,提高其在应用中的实际价值。

参考论文

Qiang Yang, Yang Liu, Tianjian Chen, and Yongxin Tong. 2019. Federated Machine Learning: Concept and Applications. ACM Trans. Intell. Syst. Technol. 10, 2, Article 12 (February 2019), 19 pages. DOI:https://doi.org/10.1145/3298981

H. Brendan McMahan, Eider Moore, Daniel Ramage, and Blaise Agüera y Arcas. 2016. Federated Learning of Deep Networks using Model Averaging. CoRR abs/1602.05629 (2016). arXiv:1602.05629 http://arxiv.org/abs/1602.05629

Hyesung Kim, Jihong Park, Mehdi Bennis, and Seong-Lyun Kim. 2018. On-Device Federated Learning via Blockchain and its Latency Analysis. arXiv:cs.IT/1808.03949

J. Weng, J. Weng, J. Zhang, M. Li, Y. Zhang and W. Luo, "DeepChain: Auditable and Privacy-Preserving Deep Learning with Blockchain-based Incentive," in IEEE Transactions on Dependable and Secure Computing, doi: 10.1109/TDSC.2019.2952332.