今天讲最近很热的联邦学习。
联邦学习大约是从2019年开始火起来的,不过,这个概念其实已经有一定的年头了。早在2016年,Google就已经在一篇论文中将“联邦学习”作为一个专业术语明确提出来了,而如果从联邦学习所涵盖的知识领域范围来算,人们讨论相关概念的历史就要更加的悠久,譬如说面向隐私保护的机器学习、面向隐私保护的数据分析等等等等,虽然名字大相径庭,但研究的核心对象可以说是同一个。
联邦学习可能会让一部分新接触的同学不明就里,光看名字一下子竟不知道她究竟是什么?又能干什么?其实,联邦学习要解决的是一个我们耳熟能详的问题——又要马儿跑又要马儿不吃草问题。又要马儿跑又要马儿不吃草,指的当然是存在着要求对立的矛盾了,而在政治学里,“联邦”体现了一种“分治”的思想,分治思想在计算机科学中其实运用十分广泛,而联邦学习就是用这种分治思想,巧妙地解决了矛盾问题。
那为什么联邦学习会在2019年开始大热,甚至有人干脆就把联邦学习说成是“5G时代的机器学习”?或者,换一种更直击灵魂的问法,就是:为什么我们都已经拼了命去学习各种“学习”?这边还没学完呢,那边怎么突然冒出个不明就里的“学习”又要我们学习?
这个问题,要从机器学习说起。
1、机器学习的数据隐私问题
机器学习有很多算法,还衍生出非常多的概念,我们在学习机器学习时,注意力很容易被这些算法和概念吸引了去,深陷其中,往往就很容易忽略了另一个重要的对象——数据。数据非常重要,我在《机器学习算法的数学解析与Python实现》中开篇就写,如果将机器学习比作一架真的机器,那么数据就是这架机器的燃料。
数据非常重要,甭管机器学习的算法多么复杂多么精妙,没有数据,照样寸步难行。训练机器学习模型需要喂数据,而数据质量如何,是好是坏,还将直接影响甚至决定机器学习模型的最终效果。
数据对机器学习非常重要,好的我知道了,但这和联邦学习会在2019年开始大热有什么关系呢?
答案正是数据,因为数据出问题了。
数据为什么会出问题?数据会出什么问题?这本身就是个很有趣的问题,如果你去找联邦学习的论文或者资料,你找到的答案大多是隐私安全。什么意思呢?你要训练模型,你需要数据,可是有一些模型,譬如说已经非常常用的推荐算法,推荐商品的,推小视频的,等等各种推荐算法,想要准确知道你的兴趣,第一步肯定是收集你的一些上网行为以及其它轨迹信息。
模型很想要你的信息,可是,你愿意给吗?
推荐算法、数据挖掘类的老教材,很爱举一个成功案例,说国外一对夫妻忽然收到某个著名电商寄来的母婴商品宣传册,开始觉得很奇怪,家里没婴孩啊,后来才知道,是自己年轻的女儿怀孕了。那时的智能算法在学校里严格来说,应该算作是一门介乎于“玄幻”和“魔幻”之间的知识门类,别看老师在讲桌上唾沫横飞,教室里估计没谁会真觉得能在生活里碰到它们。所以,老教材举完这个例子,还总觉得有点底气不足,多半还要加一句土味宣传话:智能算法,比你的家人更懂你。
不过,现在我们细品这个成功案例。为什么电商会知道女儿怀孕呢?自然是因为电商收集了女儿的用户数据,譬如说浏览网页的历史记录,然后通过某款推荐算法,推算出她对母婴类产品可能非常感兴趣。
可是,现在不同了,尤其是这两年,大家对推荐算法的新鲜劲早就过了,开始有点七年之痒的意思,对获取个人隐私信息这事尤其敏感,基本上一碰就炸毛。电商给用户寄宣传册这事,要换做现在,多半不是作为先进技术的成功范例放进教材让大家膜拜,而是作为技术翻车样本,放在法律学类的教材里,供法学院的同学们学习,从不同角度反复批判。
一个里程碑式的事件当数欧盟在2018年5月发布的GDPR,一般译作《通用数据保护条例》,对欧盟区的用户隐私数据收集作了非常严苛的规定。总之,大的趋势基本上确定