差分隐私技术一开始是为了解决差分攻击(differential attack)问题。为了保护用户隐私,通常的处理方式是将数据集进行匿名化处理然后发布。但实际上,这种匿名化处理根本无法保护用户的隐私,如在2006年,Netflix举办的推荐算法竞赛,它事先将用户的观影记录匿名化处理,然后发布给参赛者使用。尽管做了匿名化处理,但还是有人把这些匿名数据与IMDB数据集对比,从而将这些匿名化数据的用户的观影记录100%的还原,用户个人信息完全暴露。因为这个事,Netflix不仅被迫取消比赛还陷入了法律诉讼。既然匿名化处理无法保证隐私,但又想要将有价值的数据分享给公众使用,应该怎么处理?Cynthia Dwork 教授提出了差分隐私概念,在匿名数据集加上设计好的噪声,使得攻击者无法还原用户信息。不仅如此,她还在数学上证明了,只要添加满足差分隐私要求的噪声,无论攻击者拥有多少先验信息都无法重构匿名数据集。
有了以上定义,我们讨论一下当前基于差分隐私的机器学习隐私保护算法研究主要侧重在哪些方面。既然加噪声可以保护用户数据集隐私,那么随之而来的问题有,
- 加什么样的噪声。噪声有很多种,比如拉普拉斯噪声,高斯噪声,指数分布的噪声等等,加什么样的噪声有更好的保护效果呢?
- 加多少噪声。才能保证既能保护隐私同时不破坏原始数据的有效性,有没有更好的方法能够用更小的噪声起到同样的隐私保护效果呢?
- 加在哪里,在机器学习算法中,尤其是分布式机器学习算法中,在本地模型上传到中心节点或者相邻节点过程中,有多个中间变量,噪声应该加在哪些地方更合适呢?