今天讲最近很热的联邦学习

联邦学习大约是从2019年开始火起来的,不过,这个概念其实已经有一定的年头了。早在2016年,Google就已经在一篇论文中将“联邦学习”作为一个专业术语明确提出来了,而如果从联邦学习所涵盖的知识领域范围来算,人们讨论相关概念的历史就要更加的悠久,譬如说面向隐私保护的机器学习、面向隐私保护的数据分析等等等等,虽然名字大相径庭,但研究的核心对象可以说是同一个。

联邦学习可能会让一部分新接触的同学不明就里,光看名字一下子竟不知道她究竟是什么?又能干什么?其实,联邦学习要解决的是一个我们耳熟能详的问题——又要马儿跑又要马儿不吃草问题。又要马儿跑又要马儿不吃草,指的当然是存在着要求对立的矛盾了,而在政治学里,“联邦”体现了一种“分治”的思想,分治思想在计算机科学中其实运用十分广泛,而联邦学习就是用这种分治思想,巧妙地解决了矛盾问题。

那为什么联邦学习会在2019年开始大热,甚至有人干脆就把联邦学习说成是“5G时代的机器学习”?或者,换一种更直击灵魂的问法,就是:为什么我们都已经拼了命去学习各种“学习”?这边还没学完呢,那边怎么突然冒出个不明就里的“学习”又要我们学习?

这个问题,要从机器学习说起。

1、机器学习的数据隐私问题

机器学习有很多算法,还衍生出非常多的概念,我们在学习机器学习时,注意力很容易被这些算法和概念吸引了去,深陷其中,往往就很容易忽略了另一个重要的对象——数据。数据非常重要,我在《机器学习算法的数学解析与Python实现》中开篇就写,如果将机器学习比作一架真的机器,那么数据就是这架机器的燃料。

数据非常重要,甭管机器学习的算法多么复杂多么精妙,没有数据,照样寸步难行。训练机器学习模型需要喂数据,而数据质量如何,是好是坏,还将直接影响甚至决定机器学习模型的最终效果。

数据对机器学习非常重要,好的我知道了,但这和联邦学习会在2019年开始大热有什么关系呢?

答案正是数据,因为数据出问题了。

数据为什么会出问题?数据会出什么问题?这本身就是个很有趣的问题,如果你去找联邦学习的论文或者资料,你找到的答案大多是隐私安全。什么意思呢?你要训练模型,你需要数据,可是有一些模型,譬如说已经非常常用的推荐算法,推荐商品的,推小视频的,等等各种推荐算法,想要准确知道你的兴趣,第一步肯定是收集你的一些上网行为以及其它轨迹信息。

模型很想要你的信息,可是,你愿意给吗?

推荐算法、数据挖掘类的老教材,很爱举一个成功案例,说国外一对夫妻忽然收到某个著名电商寄来的母婴商品宣传册,开始觉得很奇怪,家里没婴孩啊,后来才知道,是自己年轻的女儿怀孕了。那时的智能算法在学校里严格来说,应该算作是一门介乎于“玄幻”和“魔幻”之间的知识门类,别看老师在讲桌上唾沫横飞,教室里估计没谁会真觉得能在生活里碰到它们。所以,老教材举完这个例子,还总觉得有点底气不足,多半还要加一句土味宣传话:智能算法,比你的家人更懂你。

不过,现在我们细品这个成功案例。为什么电商会知道女儿怀孕呢?自然是因为电商收集了女儿的用户数据,譬如说浏览网页的历史记录,然后通过某款推荐算法,推算出她对母婴类产品可能非常感兴趣。

可是,现在不同了,尤其是这两年,大家对推荐算法的新鲜劲早就过了,开始有点七年之痒的意思,对获取个人隐私信息这事尤其敏感,基本上一碰就炸毛。电商给用户寄宣传册这事,要换做现在,多半不是作为先进技术的成功范例放进教材让大家膜拜,而是作为技术翻车样本,放在法律学类的教材里,供法学院的同学们学习,从不同角度反复批判。

一个里程碑式的事件当数欧盟在2018年5月发布的GDPR,一般译作《通用数据保护条例》,对欧盟区的用户隐私数据收集作了非常严苛的规定。总之,大的趋势基本上确定了,不管国内还是国外,对用户数据的采集和使用将越来越趋向严格,也许,有的互联网企业还会在用户的安全性和便利性两者之间,做艰难选择,但选择的空间也将越来越小。

隐私信息的安全性不断提升,同时也就意味着,互联网企业能够合法获取的用户数据越来越少,对我们用户来说是好消息,对机器学习模型来说就是噩耗了。数据就是燃料,现在燃料都没有了,机器要怎么跑起来呢?可是,再难日子也总得过去下,数据不能拿了,可模型训练效果还想要提升,这就是我们前面所说的,又要马儿跑又要马儿不吃草,要求里就存在着对立的矛盾,怎办呢?

别怕,有问题就有机遇,联邦学习就正是在这时顺势崛起。那联邦学习怎么解决这个两难的问题呢?

很简单,答案两个字:分治

首先重新审视那个“又要马儿跑又要马儿不吃草”的问题,看看这对矛盾,是不是真的矛盾。以前,我们使用用户数据训练机器学习模型,第一步是获取用户数据,上传到服务器,然后第二步才是在服务器上使用用户数据进行模型训练。隐私数据泄露的问题出在哪呢?其实是出在第一步,第一步又并不涉及模型训练,所以,只要解决了第一步的问题,那就没有问题。

听起来很绕,不过也许大家已经想到了,很简单,只要模型训练在用户本地进行不就好了嘛!在用户本地训练模型,自然就不再需要将用户数据上传到服务器,当然也就不存在隐私泄露的问题了。这种将原本统一集中在服务器上进行的模型训练工作,分拆到各个数据生产者,也就是原来的客户端本地进行,就叫联邦学习。

不过,事情真就这么简单吗?

2、隐私问题解决了,数据不足的问题怎么办?

如果真的只是简单地将模型训练分拆,那么我们面临的第一个问题就是:数据不足的问题怎么解决?别看上面说了一大段,你仔细回想一下,问题的出发点是:为了保护用户隐私,把模型训练下放到客户端进行。但模型能用的数据,只是客户端的本地数据。本地数据量不够大,模型又拿不到其他客户端数据。所以,数据不足的问题还是没有解决。

症结出在哪呢?还是那句老话:机器学习算法依赖数据作燃料。我不厌其烦地重复这句话,是因为这句话看似简单,可是每次结合新的问题来看,总会产生新的理解。就拿前面的推荐算法来说吧,没错,现在我们可以拿到某个客户端的本地用户数据。数据有了吗?有了。数据够了吗?不够。问题就出在这。

推荐算法最常见的实现方法叫协同过滤,主要工作就是进行矩阵分解。要分解矩阵你得首先有一个矩阵,而这个矩阵正是需要由用户以及相关的行为数据构建而成。一个用户产生的用户数据,在这里只是一行记录,也就是一条向量,要构成矩阵,就必须汇总来自不同用户所产生的数据。前面我们说,联邦学习用到了“分治”的思想,分治虽然打头是“分”字,但实际是分总结构,模型训练过程下放给客户端是“分”,而要让机器学习算法正常运转,还需要有个汇总的过程。

那联邦学习是怎么完成汇总的呢?很简单,只要把结果传上服务器就好了。只要把各个客户端训练模型时得到的结果(模型训练信息),统一上传到中央服务器,然后找一只大锅统统倒进去,拿出准备好的木头棒子搅拌搅拌,和在一起,汇总工作就完成了。最后再把汇总好的信息分发给各个客户端,客户端也就能用其它客户端的训练信息,更新自己的本地模型了。

等等,又要上传服务器?我不就是因为要保护隐私,不想上传服务器才搞的联邦学习吗,怎么绕一大圈,结果还是要回到上传服务器的老路上来?

别急,这次上传的,不再是赤裸裸的用户数据,而是在本地根据用户数据训练得到的训练信息,譬如说梯度信息,或者权重更新信息。是的,这次只上传这些模型训练过程中产生的训练信息,敏感的用户数据还在本地好好呆着呢。普通用户看到了这里,应该已经放心了,但专家还不放心:只上传模型就一定安全可靠吗?万一,通过上传的训练信息也能泄露用户数据呢?

你没看错,理论上,即使只通过训练过程中产生的中间信息,也是有可能提取一些用户数据的。原理解释起来比较复杂,不过也不用过于恐慌,就我目前看到的文献资料,只通过这些信息想要还原出完整的原始数据集,目前应该还没有办法,但从中抽取一些有价值的信息,倒是有不少研究成果。这个话题很复杂也很有趣,有机会我们展开说说。总之,这里我们只要简单记住模型训练产生的中间信息,也有可能泄露用户信息就可以了。

那联邦学习怎么解决模型的安全问题呢?很简单,加密。把这些统统加密,不但客户端与服务器的往来信息全程加密,连那个搅拌和在一起的过程也要进行加密,确保整个过程不会因为有明文而泄露出任何有价值的信息来。

这就是联邦学习——一方面确保了你的数据还在你手里,另一方面也确保了现有的机器学习算法能够获取充足的数据继续顺利运行。一个方案,解决了两个看似互为矛盾的热点问题。现在,你也许能猜到,为什么会有人称之为5G时代的新机器学习。

3、信息孤岛会卷土重来吗?

这里我想多说一点,保护隐私当然是联邦学习的一大重要卖点,但这绝不是全部的故事。请允许我再一次重复那句老话:机器学习算法依赖数据作燃料。化石燃料在工业时代引发争端甚至战争的故事,我们已经看得太多,那机器学习时代,同样作为燃料的数据,会不会也能引起“数据战争”呢?可以确定的是,数据已经被许多公司视为重要资产,甚至可能直接影响公司在市场上的竞争力,自然是不能拱手让人了,没准还要多加几把锁,生怕让人看了去。

那是否又要重新回到前互联网时代的信息孤岛的老路上去呢?而这次的信息孤岛,不再是因为技术,而是因为利益,更复杂,也更难解决。更重要的是,这必将又对机器学习的应用发展产生人为的严重限制,长远来看,大家都是输家。有没有办法打破这个僵局呢?

有,联邦学习就是其中一条可能的道路。联邦学习重要的学习方式有三种,前面我们介绍的CS架构的联邦学习是第一种学习方式,称为横向联邦学习,丰富了数据的数量。而第二种学习方式称为纵向联邦学习,可以丰富数据的维度,十分适合不同公司的数据集进行合作互补,同时又不必公开自有数据的内容,确保数据所有权不流失。最后一种学习模式称为迁移联邦学习,是迁移学习和联邦学习的结合体。想了解迁移学习的同学可以看我之前的文章,乘风破浪的迁移学习!四字成语讲明白这个大热研究方向教材方面,推荐迁移学习领域的泰斗——杨强教授新写的《迁移学习》这本书。

到这里,联邦学习也就大致介绍完了,那重点技术都介绍完了吗?当然没有,怎么个“搅拌和在一起”,我们都还没说呢。别看只有六个字一句话,你一定能猜到,这才是联邦学习的核心重点。这部分技术其实来源于另一个更为广阔的研究领域,叫分布式机器学习。

根据《分布式机器学习:算法、理论与实践》介绍,分布式机器学习最初的研究对象是在数据和训练规模日益庞大的背景下,如何突破单机硬件资源的限制,对数据进行分布式存储,机器学习如何进行分布式训练,具体又分为三类并行模式:计算并行模式、数据并行模式和模型并行模式,涵盖范围非常广,而联邦学习则正是使用了其中的一部分成果。正因如此,很多人认为联邦学习其实应该算作分布式机器学习下面的一条子问题。

前面我们说,联邦学习是多条模型训练进程同时进行,而如何进行汇总,也就是如何“搅拌和在一起”,是联邦学习的一个核心问题,同样也是分布式机器学习的一大研究重点。在这个方面,我推荐阅读《分布式机器学习:算法、理论与实践》,这本书是从分布式机器学习的角度来进行撰写,在你研究联邦学习和其它机器学习并行问题的时候,能够给你更为广阔的视野。

作者简介:

莫凡,网名木羊同学。娱乐向机器学习解说选手,《机器学习算法的数学解析与Python实现》作者,前沿技术发展观潮者,擅长高冷技术的“白菜化”解说,微信公众号“睡前机器学习”,个人知乎号“木羊”。

扫码关注作者

RECOMMEND

推荐阅读

《分布式机器学习:算法、理论与实践》

作者:刘铁岩、陈薇、王太峰、高飞

ISBN:978-7-111-60918-6

点击链接了解详情并购买

01

卖点:

  • 全面展示分布式机器学习理论、方法与实践

  • 微软亚洲研究院机器学习核心团队潜心力作

  • 鄂维南院士、周志华教授倾心撰写推荐序

  • 内容前沿全面,讨论系统深刻,全彩印刷

推荐语:

微软亚洲研究院机器学习研究团队所著,刘铁岩博士领衔撰写!全面阐述分布式机器学习算法、理论及实践的著作。全彩印刷!人工智能大牛周志华教授倾情推荐!联邦学习进阶必读。

《迁移学习》

作者:杨强、张宇、戴文渊、潘嘉林

ISBN:978-7-111-66128-3

点击链接了解详情并购买

02

卖点

  • 杨强教授领衔撰写,研究团队十余年艰苦研究工作的积累。·迁移学习“开山之作”,解决人工智能的“最后一公里”问题。

  • 张钹院士作序,邓力、高文、李开复、周志华(按姓氏拼音排序)联袂推荐。

  • 本书为迁移学习方向首本算法、理论、应用方面成熟、成体系的总结。

推荐语:

杨强教授领衔撰写,迁移学习“开山之作”,解决人工智能的“最后一公里”问题。张钹院士作序,邓力、高文、李开复、周志华联袂推荐。

更多精彩回顾

书讯 |9月书讯(下)| 开学季,读新书

书讯 |9月书讯(上)| 开学季,读新书

上新 | 一本书带你吃透Nginx应用与运维
书单 | 开学季——计算机专业学生必读的10本畅销经典

干货 | 巨详细!使用OpenCV和OpenVINO轻松创建深度学习应用

收藏 | 开学季——想打好数学基础?这些经典教材你最需要!

视频 | 4min视频带你了解阿里B2B电商算法

赠书 |【第20期】实践深度学习?先接住这三板斧再说

点击阅读全文查看更多AI好书 

要马儿跑,又要马儿不吃草?聊聊联邦学习与分布式机器学习相关推荐

  1. 【开心一刻】又想让马儿跑,又不给马儿吃草!

    点击上方"Java精选",选择"设为星标" 人活一世,做人做事,看透点,看淡点! 快乐是要学会分享,欢迎下方留言! 每天 08:35 更新不断,笑一笑,十年少. ...

  2. bzoj 1694 1742: [Usaco2005 nov]Grazing on the Run 边跑边吃草(DP)

    1742: [Usaco2005 nov]Grazing on the Run 边跑边吃草 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 395  So ...

  3. 【bzoj1742】[Usaco2005 nov]Grazing on the Run 边跑边吃草 区间dp

    题目描述 John养了一只叫Joseph的奶牛.一次她去放牛,来到一个非常长的一片地,上面有N块地方长了茂盛的草.我们可以认为草地是一个数轴上的一些点.Joseph看到这些草非常兴奋,它想把它们全部吃 ...

  4. 动态规划:奶牛吃草问题

    奶牛吃草 问题描述 在X轴上,用一个整树表示坐标.题目给定一个坐标表示奶牛起始位置,再给定一组坐标表示青草的位置,给出一个设定:每过一个单位时间,青草口感损失1个单位. 假定奶牛运行速度就是一个单位/ ...

  5. 你给员工吃草,还指望他们有狼性?

    转载来源:51CTO技术栈公众号 " Steve Jobs 说过:"工作将会占据你生命中大部分时间, 获得成就感的惟一途径就是做你自己认为是伟大的工作. " 然而现实是, ...

  6. 狼行千里吃肉,马行千里吃草(我读了5遍,震撼了!)

    狼行千里吃肉,马行千里吃草(我读了5遍,震撼了!) 1 狼行千里吃肉,马行千里吃草,活鱼逆流而上,死魚随波逐流.有这么一句话我非常欣赏:" 真的很累吗?累就对了,舒服是留给死人的! 苦,才是 ...

  7. Unity红球吃绿球强化学习小任务——Ubuntu20.04系统于2022年2月26日实现

    Unity红球吃绿球强化学习小任务--Ubuntu20.04系统于2022年2月26日实现 Unity红球吃绿球强化学习小任务 一.主机环境参数说明 二.具体教程以之前提供的视频介绍为主,需要修改的章 ...

  8. 牛客 羊吃草(二分图)

    题目链接:https://ac.nowcoder.com/acm/contest/1083/D 题意 有一个草原可以用一个1~400的数轴表示.有n头羊和q个查询.每头羊的编号分别是1,2,3-n.第 ...

  9. 奥数之“牛吃草问题”C++实现

    2019独角兽企业重金招聘Python工程师标准>>> 导读 最近在给小朋友补奥数课,顺便看了几道题目其中可以用"计算机算法"表示出来的.觉得写出来会比较集中,希 ...

  10. Python3之牛吃草问题

    牛吃草: 已知: 20头牛,可以吃15天 14头牛,可以吃24天 问:28头牛可以吃几天? 或者 6头牛,可以吃3天 4头牛,可以吃5天 问:多少头牛可以吃15天? 需要知道哪些 固定牧场的大小(si ...

最新文章

  1. linux系统怎么清理磁盘空间,LINUX系统怎么使用命令清理磁盘空间?
  2. NXP S32K144开发(一)环境搭建和新建工程
  3. jdbc 连接 Oracle 进行基本的增删改查
  4. 引用类型赋值“.NET技术”为null与加速垃圾回收
  5. 信息学奥赛一本通(1039:判断数正负)
  6. python编程软件免费吗_MRT7-Python编程软件
  7. LG显示将在坡州工厂为iPhone 14 Pro Max生产120Hz刷新率屏幕
  8. 句子迷,语录,俞凌雄 2
  9. [转]加密技术在企业数据安全中的应用
  10. robot framework 使用四:分层设计和截图以及注意事项
  11. SpringBoot解决jpa,NoSession问题
  12. 中兴事件不会对中国高科技产生什么改变
  13. 有一种VR电影比爱情动作片更“爽”
  14. 艾泰(UTT)WiFi短信验证:无线上网热点短信认证设置流程
  15. 数据分析案例2:股票均线策略(双均线策略收益率12.15%)
  16. 手机输入法哪家好用?用户目前最喜爱这4款,有你正在使用的吗
  17. 在 2040 年前,实现净零碳排放
  18. 敏捷转型行动笔记:内部敏捷教练培训资料分享——升华篇(持续学习与系统思考,成为好教练)
  19. 数字逻辑——卡诺图化简练习题
  20. 水产行业智能供应链管理平台解决方案:支撑企业供应链数字化,提升企业管理效益

热门文章

  1. Java技术栈(总图)
  2. CHM Editor V1.3.3.7(chm编辑、修改chm文件、chm编辑器)
  3. Windows和Linux拷贝文件的方法
  4. Zim-个人wiki系统
  5. xshell 安装包(百度网盘)+安装过程连接虚拟机注意事项
  6. Jenkins 下载慢解决方法
  7. 重心法例题matlab,重心法--例子.ppt
  8. 单设施重心法选址matlab编程
  9. [中文/英文]VC6 sp6补丁下载|VS6 sp6补丁下载 [防VC6link死机]
  10. 视频上传接口测试实践