Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

新加坡国立大学、清华大学作者

专为决策树打造,新加坡国立大学&清华大学联合提出快速安全的联邦学习新系统

来自新加坡国立大学和清华大学的研究者提出了一种专注于训练树模型的联邦学习新系统 FedTree。

联邦学习机器学习中一个非常火热的领域,指多方在不传递数据的情况下共同训练模型。随着联邦学习的发展,联邦学习系统也层出不穷,例如 FATE, FedML, PaddleFL, TensorFlow-Federated 等等。

然而,大部分联邦学习系统不支持树模型的联邦学习训练。相比于神经网络,树模型具有训练快,可解释性强,适合表格型数据的特点。树模型在金融,医疗,互联网等领域有广泛的应用场景,比如用来做广告推荐、股票预测等等。

决策树的代表性模型为 Gradient Boosting Decision Tree (GBDT)。由于一棵树的预测能力有限,GBDT 通过 boosting 的方法串行训练多棵树,通过每棵树用来拟合当前预测值和标签值的残差的方式,最终达到一个好的预测效果。代表性的 GBDT 系统有 XGBoost, LightGBM, CatBoost, ThunderGBM,其中 XGBoost 多次被 KDD cup 的冠军队伍所使用。然而,这些系统都不支持联邦学习场景下的 GBDT 训练。

近日,来自新加坡国立大学和清华大学的研究者提出了一种专注于训练树模型的联邦学习新系统 FedTree。


  • 论文地址:https://github.com/Xtra-Computing/FedTree/blob/main/FedTree_draft_paper.pdf
  • 项目地址:https://github.com/Xtra-Computing/FedTree

FedTree 系统介绍

FedTree 架构图如图 1 所示,共有 5 个模块: 接口,环境,框架,隐私保护以及模型。

图 1: FedTree 系统架构图

接口:FedTree 支持两种接口:命令行接口和 Python 接口。用户只需给定参数(参与方数量,联邦场景等),就可以用一行命令来运行 FedTree 进行训练。FedTree 的 Python 接口和 scikit-learn 兼容,可以调用 fit() 和 predict() 来进行训练和预测。

环境:FedTree 支持在单机上模拟部署联邦学习,和在多机上部署分布式联邦学习。在单机环境上,FedTree 支持将数据进行划分成多个子数据集,每个子数据集作为一个参与方进行训练。在多机环境上,FedTree 支持将每个机器作为一个参与方,机器之间 通过 gRPC 进行通信。同时,除了 CPU 以外,FedTree 支持使用 GPU 来加速训练。

框架:FedTree 支持横向和纵向联邦学习场景下 GBDT 的训练。横向场景下,不同参与方有着不同的训练样本和相同的特征空间。纵向场景下,不同参与方有着不同的特征空间和相同的训练样本。为了保证性能,在这两种情境下,多有参与方都共同参与每个节点的训练。除此之外,FedTree 还支持集成学习,参与方并行地训练树之后再进行聚合,以此减少参与方之间的通信开销。

隐私:由于训练过程中传递的梯度可能会泄露训练数据的信息,FedTree 提供不同的隐私保护方法来进一步保护梯度信息,包括同态加密 (HE) 和安全聚合 (SA)。同时,FedTree 提供了差分隐私来保护最终训练得到的模型。

模型:以训练一棵树为基础,FedTree 通过 boosting/bagging 的方法支持训练 GBDT/random forest。通过设置不同的损失函数,FedTree 训练得到的模型支持多种任务,包括分类和回归。

实验

表 1 总结了不同系统在 a9a, breast 和 credit 上的 AUC 和 abalone 上的 RMSE,FedTree 的模型效果和用所有数据训练 GBDT(XGBoost, ThunderGBM)以及 FATE 中的 SecureBoost (SBT) 几乎一致。而且,隐私保护策略 SA 和 HE 并不会影响模型性能。

表 1: 不同系统的模型效果比较

表 2 总结了不同系统每棵树的训练时间(单位:秒),可以看到 FedTree 相比于 FATE 快了很多,在横向联邦学习场景下能达到 100 倍以上的加速比。

表 2: 不同系统每棵树的训练时间比较

更多研究细节请参考 FedTree 论文原文。
理论联邦学习清华大学新加坡国立大学决策树
相关数据
清华大学机构

清华大学(Tsinghua University),简称“清华”,由中华人民共和国教育部直属,中央直管副部级建制,位列“211工程”、“985工程”、“世界一流大学和一流学科”,入选“基础学科拔尖学生培养试验计划”、“高等学校创新能力提升计划”、“高等学校学科创新引智计划”,为九校联盟、中国大学校长联谊会、东亚研究型大学协会、亚洲大学联盟、环太平洋大学联盟、清华—剑桥—MIT低碳大学联盟成员,被誉为“红色工程师的摇篮”。 清华大学的前身清华学堂始建于1911年,因水木清华而得名,是清政府设立的留美预备学校,其建校的资金源于1908年美国退还的部分庚子赔款。1912年更名为清华学校。1928年更名为国立清华大学。1937年抗日战争全面爆发后南迁长沙,与北京大学、南开大学组建国立长沙临时大学,1938年迁至昆明改名为国立西南联合大学。1946年迁回清华园。1949年中华人民共和国成立,清华大学进入了新的发展阶段。1952年全国高等学校院系调整后成为多科性工业大学。1978年以来逐步恢复和发展为综合性的研究型大学。

http://www.tsinghua.edu.cn/
相关技术
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

集成学习技术

集成学习是指使用多种兼容的学习算法/模型来执行单个任务的技术,目的是为了得到更佳的预测表现。集成学习的主要方法可归类为三大类: 堆叠(Stacking)、提升(Boosting) 和 装袋(Bagging/bootstrapaggregating)。其中最流行的方法包括随机森林、梯度提升、AdaBoost、梯度提升决策树(GBDT)和XGBoost。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

XGBoost技术

XGBoost是一个开源软件库,为C ++,Java,Python,R,和Julia提供了渐变增强框架。 它适用于Linux,Windows,MacOS。从项目描述来看,它旨在提供一个“可扩展,便携式和分布式的梯度提升(GBM,GBRT,GBDT)库”。 除了在一台机器上运行,它还支持分布式处理框架Apache Hadoop,Apache Spark和Apache Flink。 由于它是许多机器学习大赛中获胜团队的首选算法,因此它已经赢得了很多人的关注。

联邦学习技术

如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,这部分研究被称为「联邦学习」(Federated Learning)。

推荐文章
暂无评论
暂无评论~