从0到1解决AI的“数据缺乏症”
作者 | 王一鹏
编辑 | Natalie六年前,IBM Watson 进军智能医疗领域,欲通过 AI 解决人类医生都难以解决的医疗问题,一度成为 AI 界的“绝对明星”。但随后,Watson 被爆出无法在现实中胜任医生的工作,给出了一大堆不可靠的医疗建议。最终,Watson 被重磅合作伙伴弃用,其研发团队在经过数次裁员后,也所剩无几。
其实,IBM Watson 的设计思想不但没有错,可能还堪称 AI 医疗“方法论”的缔造者之一。但为什么 IBM Watson 就这样陨落了呢?罪魁祸首其实是数据。
AI 模型的训练需要大量的优质数据。在所有 IBM Watson 可以诊断的单病种中,数据样本量最大的是肺癌,可关于肺癌的数据样本竟然只有 635 例,其中一部分还是人工设计的案例,并非真实的案例。
想以这样的数据量训练出一个可以实际投入生产的 AI 模型无异于痴人说梦。并非 IBM 不想获取更多数据,实是无法获取更多数据。由于隐私保护相关法案的限制,加上一些行业数据离散分布的特性,一个 AI 模型想要获取充足的训练数据是非常困难的。
AI 的现实远比理想要骨感的多。
正是在这种情况下,联邦学习走入了大众眼中。联邦学习本质上是一种加密的分布式机器学习技术,可以在不披露底层数据和加密形态的前提下共建模型。
2016 年,谷歌提出“联邦学习”的概念,为解决此类数据问题提供了新的思路。2018 年,微众银行向 IEEE 标准协会提交关于建立联邦学习标准的提案获批,这也是国际上首个针对人工智能协同技术框架订立标准的项目。2019 年 1 月,微众 AI 团队将工业级联邦学习平台 FATE 开源,终于为数据的联合应用问题夯实了基础。
现在,FinTechathon 微众银行首届金融科技高校技术大赛已经拉开帷幕,其中 AI 赛道正是以联邦学习及 FATE 开源平台为赛题核心。8 月 2 日,FinTech 夜话——FATE 开源平台开发训练营于极客 Live 开讲,微众银行 FATE 开发算法工程师谭明超在线上分享了联邦学习及 FATE 开源平台的技术知识,解决了许多 AI 赛道参赛选手的疑惑。
1纵、横向联邦学习,让 AI 训练不再“纸上谈兵”为了在保护数据隐私的情况下实现模型共建,微众银行将联邦学习的应用范畴进行业务扩展,形成了三类体系:纵向联邦学习、横向联邦学习和联邦迁移学习,大赛主要聚焦纵向和横向联邦学习。
纵向和横向联邦学习主要参照用户和用户特征两个维度进行划分。其中,用户维度是指用户 ID,此 ID 一般为一个数据集合,可能包括电话号码、身份证号码等一系列数据,用以区分不同的用户;用户特征维度是指用户财务数据、出行数据、爱好数据等与用户画像有关的特征数据。
接下来,我们分别了解纵向和横向联邦学习的概念,以及其是如何按照用户和用户特征维度进行划分的。
纵向联邦学习纵向联邦学习是指,在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。
比如说,拥有用户财务数据的银行和拥有用户画像的社交媒体公司,在法律层面上是不允许共享数据建立模型的。在这种情况下,纵向联邦学习就派上了用场,先进行样本对齐,继而进行算法拆解,最终在保证数据隐私的情况下建立联合模型,双方皆大欢喜。
横向联邦学习横向联邦学习是指,在两个数据集的用户特征重叠较多,而用户重叠较少的情况下,我们把数据集按照横向(即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。
最典型的例子是银行间共建反洗钱模型。虽然用户特征重叠很多,但各自样本数量非常单薄。最终的诉求还是在保证各自数据隐私的情况下,共建联合的反洗钱模型,且模型效果超过单边数据建模。
两种联邦学习最终都在不共享数据的情况下,实现了模型的共建,解决了 AI 的数据问题,但业界仍然需要一个工业级的开源平台作为探索联邦学习的基础。
好在,微众银行 AI 团队完成了 FATE 平台的建设并于 2019 年 1 月宣布开源(Github:https://github.com/WeBankFinTech/FATE),并于 3 月诞生第一位外部代码贡献者。一个开源的、工业级联邦学习应用构建平台终于到来了。
2认识 FATE,构建联邦学习应用FATE 平台通过一站式联合建模帮助开发者快速构建联邦学习应用。
联邦统计主要是对数据进行预处理,比如进行样本对齐、求多方系数之间的相关性和 IV 值等等;联邦特征工程环节主要是进行数据的联邦特征分箱和联邦特征选择,联邦特征分箱是指将多方的数据进行离散化处理,联邦特征选择主要是指对多方的数据共同选择部分适合建模的样本特征;在模型训练环节,FATE 已经提供了多种算法给用户进行模型训练,如 Secureboost 等;联邦在线推理则将训练完的模型部署到多方生产环境,联合多方一起进行在线推理。
通过这样的 workflow 就可以非常方便的训练并部署一个联邦学习模型。
而从架构上看,FATE 的核心功能主要分为四层:
FATE Workflow:通过 DAG 图定义联邦学习算法工作流。FATE FederatedML Functions:包含联邦学习算法各个功能组件。EggRoll:分布式计算和存储抽象。Federated Network:跨站点网络通信抽象。
其中最核心的部分是 FederatedML Function,分为五层结构:
了解 FATE 平台的架构设计和功能模块划分仅仅是第一步,开发工程师的学习方式始终是“实践与理论并行”,在这一点上,整个 FATE 开源平台有着非常详尽的文档注释。FATE 支持单机版部署和集群版部署,集群版部署相对复杂一些,需要大家参考文档进行。
单机 Docker 版安装部署命令如下:
git clone [https://github.com/WeBankFinTech/FATE.git](https://github.com/WeBankFinTech/FATE.git)
FATE $ sh build_standalone_docker.sh
FATE $ CONTAINER_ID='docker run -t -d fate/standalone'
FATE $ docker exec -t -i ${CONTAINER_ID} bash
部署完成后通过三步即可验证是否成功:
单机版单元测试验证:sh ./federatedml/test/run_test.shToy-example 测试:用于测试 eggroll 的接口是否完整可用最小化测试:测试一个最小的建模任务是否能完成是不是很简单?
在项目的 example 文件夹下,还实现了很多例子可以作为参考,比如 homo_logistic_regression(https://github.com/WeBankFinTech/FATE/tree/master/examples/homo_logistic_regression)。
这个例子可以方便的让你测试 Homo Logistic Regression 算法,即一种横向联邦的逻辑回归方法,测试命令为:sh run_logistic_regression_standalone.sh
运行后的日志存放在:your_install_path / logs / homo_logistic_regression _ {timestamp}
更详细的从 0 到 1 教学,可以观看直播录制视频:
一旦你开始从代码入手,踏上了学习 FATE 及联邦学习的旅途,人工智能就不再是一个难以企及的高新概念,而是一个你真正可以触达,可以解决的技术问题。
3纸上得来终觉浅,立刻开始编写代码再详细的教学也需要通过代码编写来加深理解。对于广大高校学子来说,更需要一个契机来督促自己在探索联邦学习的路上毫不松懈。
FinTechathon 旨在打造金融科技领域最具影响力的高校科技赛事,是面向前沿技术领域人工智能(AI)和区块链(Blockchain)学生团队的竞赛活动。大赛致力于推动国内及海外高校学生探索金融科技前沿领域的技术突破和应用创新,促进相关专业跨校和校企交流,全面提高学生的创新能力、实践能力和就业竞争力。
本次大赛分为 AI 和区块链两个赛道。AI 赛题将基于横向及纵向联邦学习场景,利用 AI 联邦学习开源平台 FATE 支持的算法设计创新产品应用;区块链赛题围绕 FISCO BCOS 开源平台展开,场景不限,设计并开发区块链系统。评审将基于产品完整性、商业价值、创新性三个纬度对作品进行评选,为你打开金融科技神秘的大门。
除此之外,你将有机会得到:
| 奖金证书:最高 10 万赛事奖励| 就业助力:优先实习与就业机会| 大咖交流:与技术领域顶级专家零距离| 巅峰对决:与国内外高校精英技术学生同台 PK| 项目孵化:优秀项目可获得创投机会| 持续曝光:获金融科技领域高度关注大赛团队要求每个参赛团队人数为 2-5 人,如果你是个人报名,我们将为你提供组队平台。目前,大赛初赛阶段已正式开启,点击阅读原文链接可直接报名了解详情。我们期待和你一起打造 FinTech 未来!
你也「在看」吗???
阅读原文
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。 项目经理在线