当前位置: 首页 > news >正文

当机器学习遇上隐私保护,聊聊联邦学习和分布式机器学习

导读:我认为,任何一门技术的突破发展,首先都需要解决问题,然后才是创造新价值。

最近比特币行情大起大落,身边炒币的哥们纷纷大呼刺激。我一直不太清楚,支撑比特币背后的价值究竟是什么,不过,作为一名技术爱好者,我知道比特币最初推出来,为的不是让大家发家致富,而是“去中心化”,设计一套不依赖中央银行也能运行的货币体系。

中心化和去中心化的,一直是技术发展史的一条浓墨重彩的主线,今天之所以有互联网,当初也是起源于通信线路的去中心化。中心化和去中心化里面有太多的故事,一篇文章讲不清楚就不讲了,从技术的角度看,二者之间没有绝对的好或不好,只有在特定场景下的优势和存在的问题。

01

机器学习与去中心化

下面,我们把视角拉回到机器学习,对,机器学习也有“去中心化”的概念。当然了,截止到目前,机器学习中尚没有出现一个明确称之为“去中心化机器学习”的专用名词,但是意思相近的概念是有的,譬如说分布式,这也算是去中心化的近义词了,机器学习就有“分布式机器学习”,而且已经是个老概念。哪怕是现在最新最热的深度学习框架,譬如Tensorflow,都已经提供了分布式机器学习的工程实现。

那么,什么叫分布式机器学习,又为什么需要分布式机器学习呢?

我认为,任何一门技术的突破发展,首先都需要解决问题,然后才是创造新价值。我们说,机器学习工程有几个基本的环节,大致可以粗略划分为:收集数据、清洗数据、选择模型、训练模型、使用模型预测

问题在哪呢?在以前,这几个环节都很可能是在同一台电脑上完成的,但现在不行了,尤其是深度学习时代,要想设计出一款好的机器学习模型,达到SOTA的效果,是一件十分烧脑的事情,不仅烧人脑,也烧电脑。现在的模型太复杂,单一一台高配置的电脑已经没法单独扛起训练模型的重担,那怎么办?简单,那就再加一台,不行就再加。多台电脑一起训练模型,这就是分布式机器学习。

如果你之前没有开发过分布式的项目,光看上面这段介绍,容易产生一种感觉,觉得分布式机器学习也没什么东西,不过是将一台电脑的工作分给多台电脑去干,但实际远比想象要复杂得多,难点在于如何进行模型训练。

在模型训练时,需要通过计算损失函数来完成模型的权值调整,这个过程就是所谓的“学习”。现在由于性能等多个方面的需要,学习这项工作被分派给多台机器完成,如果只是简单的拆分计算,譬如说梯度下降,如果各台机器分别计算梯度,就会变成训练N个模型,而不是分布式地训练一个模型,要真正实现分布式训练,就需要考虑梯度同步计算。现在常用的分布式训练方法主要包括数据并行和模型并行两种,数据并行更好操作,因此更为常用,但训练大模型会出现问题。为了解决这个问题,就出现了更为复杂的模型并行。

02

隐私保护和机器学习

分布式机器学习,最开始是用于解决单台计算机无法承载完整的模型训练任务,需要多台计算机并行计算的问题。现在,一个新的应用场景出现了,而且是在一个情理之中但意料之外的地方:隐私保护。

隐私保护有多重要应该不必多强调,相信大家也已经有了切身感受,现在老是接到各种莫名其妙的来电,明明是陌生人,却能开口就可以准确叫出你的名字。不要以为背后有什么神秘的东方力量,通常背后真相只有一个,那就是你的隐私信息泄露了。

不过,隐私保护和机器学习看似毫无瓜葛,怎么关联在一起呢?

其实,两者关系很密切,非常密切,这里我不妨大胆预测一句,以后还将更加密切,甚至可能让大家产生甜蜜的烦恼。

回想一下,做机器学习我们的时间都花在了哪里?是训练模型。在训练模型阶段,有句话叫,模型训练好不好,数据大小很重要。在机器学习这里,数据经常就是这么神奇,模型预测效果不好,先别着急,没准多搞一点数据效果就提上来了。

但是,正所谓成也萧何败也萧何,我们经常爱问一个问题:现在深度学习效果这么好,为什么那些传统的机器学习模型还能屹立不倒?答案可能非常简单:传统模型消耗远比深度模型要少。这里的消耗指什么?两方面,硬件和数据。硬件就不说了,有段时间买GPU的不是挖矿就是搞深度学习,玩游戏的还得往后排一排,当然现在又多了一种理财产品的玩法。另一个是数据,深度模型最大的特点就是“深”,而训练结构越复杂的模型,所需要的数据就越多。于是数据也成了深度模型发挥作用的限制因素之一。

好了,看到这里,如果仍然感觉机器学习还是没看到和隐私保护有啥关系,那我们来想一个问题:数据从何而来?

就是你我日常活动所产生的各种信息。举一个例子,说有一对父母突然接到商家的推广宣传册,上面都是母婴信息,他们起初非常疑惑,因为家里没有婴孩,以为是商家搞错,后来才发现是自己女儿怀孕了,女儿经常上网浏览母婴相关的信息,商家通过数据挖掘准确地找到了这一潜在客户,是一次经典的广告精准投放。

这个例子非常有名,早几年推广数据挖掘时特爱用它来扯虎皮做大旗。不过,现在我们回过头,从隐私保护的角度重新审视,就会发现这个案例其实很有问题。商家怎么知道女儿的上网行为呢?最常见的就是通过Cookie追踪。说到这个大家就有数了,这已经属于用户信息收集范畴,现在各国对于这方面分别出台了严格的法律规范,必须明确得到用户允许才能收集用户信息。

如果大家还是没啥感觉,那我再努力一把让大家感受感受。就说输入法,我们每天都会用到输入法,通过输入法打出各种各样的信息。设想一下,如果输入法将这些信息统统传到云端,往好的方面想,那输入法的联想能力一定大大提升,打字自然流畅多了。可是,往隐私保护的方面想呢?

03

什么是联邦学习

终于讲到联邦学习了。

现在讲联邦学习的文章很多,大家也更喜欢直接切入,从什么是联邦学习讲起。不过,正如我前面所说,任何一门技术的突破发展,首先都需要解决问题,讲明白了问题,再讲技术才能体现价值。

隐私保护已经成为我们这个时代不可逆的趋势,所以,正在蓬勃发展的机器学习理所当然要面临一个十分急迫的问题:机器学习会不会因为数据饥饿导致发展潜力受限?

我知道,很多介绍联邦学习的文章在介绍隐私保护时,通常都选择一笔带过,让初学者感觉这好像是个无关紧要的小插曲。不对,恰恰相反,人工智能时代什么最重要?是数据,数据就是人工智能时代的石油。

从现在开始,用户也好,企业也好,一定会想尽办法保护自己最重要的数据资产。哪怕就在我们很多人看来,机器学习现在形势一片大好,仍然又有不少质疑的声音,认为机器学习的泡沫正在越吹越大。而正是其中一样重要论据,就是机器学习需要消耗大量隐私数据。

现在问题抛出来了,该怎么办呢?无非两个结果,要么是始终解决不了,发展受限最后夭折,或者苟延残喘。要么革新求变,寻找新的出路。

现在我们就正站在这个岔路口上。这里我首先要说的是,面对这个问题,机器学习的研究人员想了很多方法,而联邦学习是其中一种,它究竟是不是最终的救世主,我们拭目以待。

联邦学习最早是由谷歌提出来的。联邦学习可以归为是分布式机器学习的一种应用,做分布式的同学应该都知道,很多分布式的架构都是谷歌开源出来的,有天然优势。而谷歌首先把联邦学习用在哪呢?就是谷歌的输入法,叫Gboard。

那么,现在我们来看一下,联邦学习是怎么从技术上解决隐私保护问题的。

首先,联邦学习关键在于“联邦”。“联邦”体现得是一种“分治”的思想,把一个任务切成好几块,大家各自负责自己这块,等大家都完成了,任务也就完成了,其实就是一种分布式。

明白了这个,接下来我们聊数据集。机器学习需要数据集,不妨把数据集想象成一张很大的电子表格,有行有列,每一行就是一条记录,而每一列则是一类特征。在以前,这一大张表都归一个人所有,可以直接就拿来做机器学习训练,但现在要隐私保护,大家各自保管自己那块,没有一个人能看到一张完整的大表,原来的方法行不通了。

怎么办呢?联邦学习提出三种方法:横向联邦学习、纵向联邦学习和联邦迁移学习。

横向是指不同的“行”保管在不同人手里,譬如说同样是名字、年龄、性别三种特征,我有A、B两人的记录,你有C、D两人的记录,我们可以通过横向联邦学习把数据作为一个整体训练。

纵向是指不同的“列”保管在不同人手里,这次是A、B、C、D四个人的记录你我都有,但你有的是名字、性别两种特征,而我有名字和年龄两种特征,就可以通过纵向联邦学习把数据作为一个整体训练。

联邦迁移学习是对上述二者的拓展,实际上包括了联邦学习和迁移学习两个部分,可以理解为横向联邦学习+迁移学习,和纵向联邦学习+迁移学习。

有人说联邦学习使用了去中心化的概念,这个说法不准确。联邦学习的架构有两种,有中心化的也有去中心化的。联邦学习有个全局模型参数的概念,无论哪种架构,最终目标都是通过更新全局模型参数来实现整体的模型训练。

最后说一下技术部分。联邦学习用到了两类技术,分布式机器学习和加密技术。分布式就不说了,使用加密技术目的是确保参与各方都不可能通过手头信息反推其它方的数据情况,具体用到同态加密、差分计算等技术。这方面内容比较专业,不是一篇小文能说清楚的,我推荐可以阅读两本书,一本是《分布式机器学习:算法、理论与实践》,了解机器学习算法怎样进行分布式计算,另一本是《深入浅出联邦学习:原理与实践》,这本书是联邦学习的专著,对联邦学习的整个情况,特别是加密部分进行了比较细致的介绍。

 

04

作者简介

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

 

扫码关注作者

05

推荐阅读

01

《深入浅出联邦学习:原理与实践》

长按识别二维码并购买

推荐理由

大型金融集团联邦学习负责人撰写,中外院士及清华、华科、蚂蚁、百度、同盾多位学术界和企业界专家推荐。从基础、原理、实战、拓展4个维度系统讲解联邦学习。

 

02

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

长按识别二维码并购买

推荐理由

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

03

《迁移学习》

长按识别二维码并购买

推荐理由

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


扫码关注【华章计算机】视频号

每天来听华章哥讲书

更多精彩回顾

书讯 | 6月书讯 | 初夏,正好读新书

资讯 | 《数据安全法》表决通过!最新解读来了

书单 | 8本书助你零基础转行数据分析岗

干货 | 阿里云官方出品:全面总结阿里云云原生架构方法论与实践经验

收藏 | 手把手教你利用JS给图片打马赛克

上新 | 【新书速递】深入浅出联邦学习

赠书 | 【第60期】5G及现代通信领域不可不读的8本好书

点击阅读全文了解更多AI好书

相关文章:

  • 什么是标签?跟数据中台有什么关系?终于有人讲明白了
  • 7月书讯(上)| 读书开启下半年
  • 终于有人把卷积神经网络(CNN)讲明白了
  • 7月书讯(下)| 读书开启下半年
  • 数据中台、标签、数据资产相关的15个名词解释
  • 【新书速递】深入理解Nginx底层原理与设计,轻松应对高并发
  • CSAPP,永远滴神!
  • 周志明:《凤凰架构:构建可靠的大型分布式系统》
  • 【第62期】学会数据分析,抢占职场风口机遇
  • 腾讯数据科学家详解用户选择行为分析核心模型
  • 【新书速递】人人可懂的深度学习
  • 开发人工智能为什么要用Python?
  • 【新书速递】首本零代码书籍问世
  • MySQL 十大常用字符串函数
  • 手把手教你用Python求最大值和最小值
  • CAP理论的例子讲解
  • Java 网络编程(2):UDP 的使用
  • java取消线程实例
  • laravel with 查询列表限制条数
  • LintCode 31. partitionArray 数组划分
  • Mac转Windows的拯救指南
  • React+TypeScript入门
  • SQLServer之创建显式事务
  • 从0实现一个tiny react(三)生命周期
  • 动态规划入门(以爬楼梯为例)
  • 高程读书笔记 第六章 面向对象程序设计
  • 技术胖1-4季视频复习— (看视频笔记)
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 网络应用优化——时延与带宽
  • PostgreSQL之连接数修改
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • $GOPATH/go.mod exists but should not goland
  • (13)Hive调优——动态分区导致的小文件问题
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (翻译)terry crowley: 写给程序员
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (循环依赖问题)学习spring的第九天
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .bat批处理(一):@echo off
  • .CSS-hover 的解释
  • .NET Core WebAPI中封装Swagger配置
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .NET中 MVC 工厂模式浅析
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • [ C++ ] STL---stack与queue
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [8481302]博弈论 斯坦福game theory stanford week 1