联邦学习一、联邦学习概述

   最近一直在研究联邦学习,觉得这是下一代机器学习,非常喜欢这些新技术。借助我的工作经历来分享一下数据信息技术的发展吧,我最早从事BI工作,那个时候更多的是使用关系型数据库来搭建数据仓库,把企业中各个信息系统的数据集成到数据仓库中,尤其是ERP系统(主要包括采购、销售、库存、财务、生产),这其实已经整合了企业软件系统的所有数据了,基于这个数据仓库再开发一些企业报表给管理层看,企业管理者就很容易了解企业的经营状况了,但是一般来说,这些数据仅仅是企业自己内部的数据,而且BI报表一般只有一些基本的数据可视化功能,不具有预测功能。再后来大数据和人工智能比较热,企业开始集成更多的异构数据源使用机器学习的手段来预测,在过去几年里,机器学习在人工智能应用领域迅猛发展,例如计算机视觉、自动语音识别、自然语言处理以及推荐系统等。一般而言,训练人工智能应用模型所需要的数据量都是非常庞大的,很多任务我们能够获得的通常都是“小数据”,即这些数据要么规模较小,要么缺少标签或者部分特征数值等重要信息。为了获取合适的数据标签,成本是非常大的,不可避免的出现数据孤岛。



    随着社会的不断发展,现代社会正在逐渐意识到数据所有权的重要性,数据通常是有不同组织产生并拥有的,传统的方法是收集数据并传输至一个中心点,在这个中心点来训练和建立机器学习模型,如果涉及到不同的公司或者竞争对手的数据,势必会存在隐私保护和数据安全性的问题,那么联邦学习正是在这样的背景下提出的。  

一、联邦学习概述

   联邦学习是谷歌在2016年arXiv上发表的论文提出的。联邦学习的思路是:建立一个基于分布数据集的联邦学习模型,每一个拥有数据源的组织训练一个模型,之后让各个组织在各自的模型上彼此交流沟通,最终通过模型聚合得到一个全局模型。为了确保用户隐私和数据安全,各组织间交换模型信息的过程将会被精心设计,使得没有组织能够猜测到其他任何组织的隐私数据内容。同时,当构建全局模型时,各数据源仿佛已经被整合到一起了。  





    联邦学习包括两个阶段,分别是模型训练和模型推理。在模型训练的过程中,模型相关的信息能够在各方之间交换,但数据不能。这一交换不会暴露每个站点上数据的任何保护的隐私部分。已训练好的联邦学习模型可以置于联邦学习系统的各参与方,也可以在多方之间共享。




    在推理的时候,模型可以应用于新的数据实例,各方将协作进行预测,应该有一个公平的价值分配机制来分配协同模型所获得的利益,从而使得联邦学习过程能够持续。

二、联邦学习特点

   2.1、有两个或以上的联邦学习参与方协作构建一个共享的机器学习模型。每个参与方都拥有若干能够训练模型的训练数据。  





   2.2、在联邦学习模型的训练过程中,每一个参与方拥有的数据都不会离开该参与方,即数据不离开数据拥有者。




   2.3、联邦学习模型相关的信息能够以加密方式在各方之间进行传输和交换,并且需要保证任何一个参与方都不能推测出其他方的原始数据。  





   2.4、联邦学习模型的性能要能够充分逼近理想模型(是指通过将所有训练数据集中在一起并训练获得的机器学习模型)的性能。  

三、联邦学习的分类

类比机器学习,联邦学习也有数据和特征维度。

picture.image

3.1、横向联邦学习

参与方的数据特征是对齐的,但是数据样本是不同的。

3.2、纵向联邦学习

参与方的数据样本是对齐的,但是数据特征是不同的。

3.3、联邦迁移学习

如果参与方数据样本和数据特征重叠部分都比较少。

四、联邦学习的开源平台

Fe

derated AI Technology Enabler(FATE)

   是微众银行人工智能组开源的项目,实现了一种基于同态加密和多方计算的安全计算协议,支持一系列的联邦学习架构和安全计算算法,包括逻辑回归、决策树、梯度提升树、深度学习和迁移学习。

GitHub:https://github.com/FederatedAI/FATE

FedAI:https://www.fedai.org/

TensorFlow Federated(TFF)

   TFF的接口由两层构成:联邦学习应用程序接口和联邦学习核心API。TFF使得开发者能够声明和表达联邦计算,从而能够将其部署于各类运行环境中。

TensorFlow-Encrypted

   是一个搭建于TensorFlow顶层的python包,可以让研究者和实践者使用面向隐私保护的机器学习方式进行实验。它提供了类似于TensorFlow的接口,让用户不必成为机器学习、密码学、分布式系统和高性能计算的专家,也能轻松的使用这些现成技术。

coMind

   是一个训练面向隐私保护联邦深度学习模型的开源平台。coMind的关键组件是联邦平均算法的实现,即在保护用户隐私和数据安全的前提下,协作地训练机器学习模型。也是搭建在TensorFlow的顶层并且提供实现联邦学习的高层API  

Horovod

    是Uber创立的,是一个深度学习的开源分布式训练框架。它基于MPI,并支持深度学习框架TensorFlow和PyTorch,目前不支持加密方式。  

OpenMined/PySyft

   提供了隐私保护的两种方式:联邦学习和差分隐私。OpenMined还进一步支持多方安全计算和同态加密方法,能够支持两种以上的安全计算方法。
0
0
0
0
评论
未登录
暂无评论