阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

你的 AI 有训练样本吗?从 0 到 1 教你解决 AI 数据短缺问题

  • 2019-09-06
  • 本文字数:2307 字

    阅读完需:约 8 分钟

你的AI有训练样本吗?从0到1教你解决AI数据短缺问题

六年前,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 开源,终于为数据的联合应用问题夯实了基础。

一、纵、横向联邦学习,保护隐私的同时联合建模

为了在保护数据隐私的情况下实现模型共建,微众银行将联邦学习的应用范畴进行业务扩展,形成了三类体系:纵向联邦学习、横向联邦学习和联邦迁移学习,大赛主要聚焦纵向和横向联邦学习。


纵向和横向联邦学习主要参照用户和用户特征两个维度进行划分。其中,用户维度是指用户 ID,此 ID 一般为一个数据集合,可能包括电话号码、身份证号码等一系列数据,用以区分不同的用户;用户特征维度是指用户财务数据、出行数据、爱好数据等与用户画像有关的特征数据。



接下来,我们分别了解纵向和横向联邦学习的概念,以及其是如何按照用户和用户特征维度进行划分的。

纵向联邦学习

纵向联邦学习是指,在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。


比如说,拥有用户财务数据的银行和拥有用户画像的社交媒体公司,在法律层面上是不允许共享数据建立模型的。在这种情况下,纵向联邦学习就派上了用场,先进行样本对齐,继而进行算法拆解,最终在保证数据隐私的情况下建立联合模型,双方皆大欢喜。

横向联邦学习

横向联邦学习是指,在两个数据集的用户特征重叠较多,而用户重叠较少的情况下,我们把数据集按照横向(即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。


最典型的例子是银行间共建反洗钱模型。虽然用户特征重叠很多,但各自样本数量非常单薄。最终的诉求还是在保证各自数据隐私的情况下,共建联合的反洗钱模型,且模型效果超过单边数据建模。


两种联邦学习最终都在不共享数据的情况下,实现了模型的共建,解决了 AI 的数据问题,但业界仍然需要一个工业级的开源平台作为探索联邦学习的基础。


运气不错,微众银行 AI 团队完成了FATE平台 的建设并于 2019 年 1 月宣布开源,3 月诞生第一位外部代码贡献者。一个开源的、工业级联邦学习应用构建平台终于到来了。

二、认识 FATE,构建联邦学习应用

FATE 平台通过一站式联合建模帮助开发者快速构建联邦学习应用。



联邦统计主要是对数据进行预处理,比如进行样本对齐、求系数之间的相关性和 IV 值等等;联邦特征工程环节主要是进行数据的特征分箱和特征选择,特征分箱是指将数据进行离散化处理,特征选择主要是指选择部分适合建模的样本特征;在模型训练环节,FATE 已经提供了多种算法给用户进行模型训练,如 Secureboost 等;联邦在线推理则将训练完的模型部署到生产环境,做在线推理。


通过这样的 workflow 就可以非常方便的训练并部署一个联邦学习模型。


而从架构上看,FATE 的核心功能主要分为四层:


  • FATE Workflow:通过 DAG 图定义联邦学习算法工作流。

  • FATE FederatedML Functions:包含联邦学习算法各个功能组件。

  • EggRoll:分布式计算和存储抽象。

  • Federated Network:跨站点网络通信抽象。



其中最核心的部分是 FederatedML Function,分为五层结构:



在部署方式上,FATE 支持单机版部署和集群版部署,集群版部署相对复杂一些,需要大家参考文档进行。


单机 Docker 版安装部署命令如下:


git clone https://github.com/WeBankFinTech/FATE.gitFATE $ sh build_standalone_docker.shFATE $ CONTAINER_ID='docker run -t -d fate/standalone'FATE $ docker exec -t -i ${CONTAINER_ID} bash
复制代码


部署完成后通过三步即可验证是否成功:


  • 单机版单元测试验证:


sh ./federatedml/test/run_test.sh
复制代码


  • Toy-example 测试:用于测试 eggroll 的接口是否完整可用

  • 最小化测试:测试一个最小的建模任务是否能完成


在项目的 example 文件夹下,也实现了很多例子可以作为参考,比如hetero_feature_binning


这个例子可以方便的让你测试 Feature binning 算法,即一种特征构造方法,测试命令为:


sh run_feature_binning_standalone.sh 
复制代码


运行后的日志存放在:


your_install_path / logs / feature_binning_ {timestamp}
复制代码


也可以点击这里访问直播录像教学。


一旦你开始从代码入手,踏上了学习 FATE 及联邦学习的旅途,人工智能就不再是一个空有模型、没有数据的高新概念,而是一个你真正可以触达,可以解决的技术问题。


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-09-06 18:216864
用户头像
王一鹏 前 InfoQ 总编辑

发布了 151 篇内容, 共 88.1 次阅读, 收获喜欢 457 次。

关注

评论

发布
暂无评论
发现更多内容

卷向字节码-Java异常到底是怎么被处理的?

why技术

Java JVM

价值连城 人工智能的通识课 - 吴恩达Andrew Ng AI For Everyone John 易筋 ARTS 打卡 Week 59

John(易筋)

ARTS 打卡计划

Vue进阶(二十一):ES6 知识储备

No Silver Bullet

Vue ES6 8月日更

写作 7 堂课——【5. 结构化写作】

LeifChen

写作技巧 8月日更 结构化

黑科技解密!实现socket进程间迁移

Java 程序员 架构 面试 架构师

Alibaba内部出品“Java初学者宝典”,让你就业没压力

Java~~~

Java 面试 JVM 多线程 架构师

Vue进阶(二十三):Promise 详解

No Silver Bullet

Vue Promise 异步请求 8月日更

Compose管理状态

Changing Lin

8月日更

模型训练语料少?知识蒸馏解决烦恼

LigaAI

人工智能 神经网络 深度学习 模型训练 nlp

从外卖员到程序员,自学3年终于转行成功,三面“拿下”拼多多

Java~~~

Java spring 面试 微服务 JVM

限量!Alibaba首发“Java成长笔记”,差距不止一点点

Java~~~

Java spring 面试 微服务 架构师

破解三大安防视频痛点,看华为4大硬核视频上云技术

华为云开发者联盟

视频 华为云视频 安防 摄像头 安防视频

带你读AI论文:基于Transformer的直线段检测

华为云开发者联盟

模型 目标检测 Transformer 线段检测 LETR

c++ list 详解

若尘

c++ List 8月日更

耗时三年才总结出了这份Alibaba(P5-P9)学习进阶路线图

Java架构追梦

Java 阿里巴巴 架构 面试 架构成长路线

Alibaba开发十年,写出这本“MQ技术手册”,看完我愣住了

Java~~~

Java kafka 面试 MQ 架构师

Go 学习笔记之 Goroutines

架构精进之路

Go 语言 8月日更

教你如何使用FusionInsight SqoopShell

华为云开发者联盟

sqoop Shell FusionInsight 脚本 Loader

完美!腾讯技术官发布Java零基础就业宝典,不用再怀疑人生了

Java~~~

Java spring 面试 微服务 架构师

如何利用FL Studio进行听湿录干的声音录制

懒得勤快

从0开始的TypeScriptの三:TS的类型

空城机

typescript 大前端 8月日更

TCP如何保证数据的可靠传输

W🌥

计算机网络 TCP/IP 8月日更

趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解

ベ布小禅

8月日更

爱了!Alibaba技术官甩出的SpringCloud笔记,GitHub已标星81.6k

Java~~~

Java 面试 微服务 Spring Cloud 架构师

不安全的服务器和云服务器:远程工作如何增加了黑客可以攻击的攻击面

九河云安全

市场战略再升级 解析融云的生态平台+纵深发展

融云 RongCloud

百度BaikalDB在同程艺龙的成功应用实践剖析

百度Geek说

数据库 架构 后端

百度AI原生云实践: 基于容器云打造 AI 开发基础设施

百度开发者中心

AI 最佳实践 方法论 云原生

中间件运维之故障自愈

安第斯智能云

运维 后端 中间件

OAuth2.0授权码模式实战

码农参上

OAuth 2.0 8月日更

Qunar 大讲堂问题排查

Qunar技术沙龙

问题处理 问题排查 管理系统 开发管理 问题总结

你的AI有训练样本吗?从0到1教你解决AI数据短缺问题_AI&大模型_王一鹏_InfoQ精选文章