TensorFlow Privacy 如何训练数据的差异隐私学习?
3月初,谷歌推出了TensorFlow Privacy,并将其开源。这款强大的机器学习模型不仅可以使开发者更容易地用隐私来训练机器学习模型,而且能使研究人员以强大的隐私保障来提高机器学习的发展水平。
现代机器学习越来越多地被应用于创造惊人的新技术和用户体验,其中许多都需要训练机器,使其能够负责任地从个人照片或电子邮件等敏感数据中进行学习。理想情况下,经过训练的机器学习模型的参数应该能够编码一般模式,而不是仅针对特定训练示例。
为了确保这一点,在训练数据敏感时提供强有力的隐私保障,可以使用基于差异隐私理论的技术。在用户数据上进行训练时,这些技术提供了强大的数学保障,即模型不会学习或记住任何特定用户的详细信息。特别是对于深度学习而言,额外的保障可以有效地加强其他隐私技术提供的保护,无论是已建立的技术(如阈值和数据删除),还是TensorFlow Federated的新技术。
多年来,谷歌一直在差异隐私的基础研究和实用差异隐私机制的发展上处于领先的地位。去年,谷歌发布了 Responsible AI Practices ,详细介绍了有辨别地开发机器学习系统和产品的推荐实践。
为了协助外部开发人员将这些实践应用到自己的产品之中,Google发布了TensorFlow Privacy,并更新了技术白皮书,在白皮书中更详细地描述了其隐私机制。
要使用TensorFlow Privacy,无需在隐私或其基础数学方面的专业知识,使用标准TensorFlow机制的开发者不必更改其模型架构、训练程序或过程。相反,为了训练保护训练数据隐私的模型,通常只需进行一些简单的代码更改并调整与隐私相关的超参数即可。
一个例子:学习一种有隐私的语言
作为差异隐私训练的具体例子,让我们来看看文本序列上字符级、循环语言模型的训练。使用神经网络进行语言建模是一项基本的深度学习任务,被应用于无数的应用程序中,其中许多都是基于敏感数据的训练。我们根据TensorFlow Privacy GitHub 中的示例代码,对两个模型(一个使用标准方法,另一个使用差异隐私)使用相同的模型结构进行训练。
这两个模型都很好地建模了标准Penn Treebank 训练数据集 中金融新闻文章中的英语。然而,如果这两个模型之间的细微差别是由于未能捕捉到语言分布的一些基本、核心方面,这将使人们对差异隐私模型的实用性产生怀疑。另一方面,即使隐私模型未能在训练数据中捕捉到一些深奥、独特的细节,它的实用性可能仍然很好。
为了确认隐私模型的实用性,可以查看两个模型在训练和测试数据的语料库上的表现,并检查它们同意和不同意的句子集。为了观察它们的共性,可以测量它们在模型化句子上的相似性,看看两个模型是否接受相同的核心语言。在这种情况下,两个模型接受并获得超过98%的训练数据序列的高分(即低复杂度)。例如,这两个模型在以下金融新闻句子中得分都很高:
there was little turnover and nothing to stimulate the market
south korea and japan continue to be profitable
merchant banks were stronger across the board
为了观察它们的差异,我们可以检查两个模型分数相差很大的训练数据句子。例如,以下三个训练数据句子在标准训练中都被有效地记忆,因此都得到了很高的分数,并被常规语言模型所接受。然而,差异隐私模型对这些句子的得分很低,并且没有接受它们:
aer banknote berlitz calloway … ssangyong swapo wachter
the naczelnik stands too
my god and i know i am correct and innocent
上述所有句子在金融新闻中似乎都不常见,它们似乎是隐私保护的明智选择。例如,因为如此罕见的、奇怪的句子可能识别或揭露敏感数据训练出的模型中的个人信息。这三句话中的第一句是出于技术原因在训练数据中出现的一长串随机单词;第二句是部分波兰语;第三句尽管看起来是自然的英语,但其并非来自正在建模的金融新闻语言。
这些例子都是手工选择的,但全面的检查证实,不被差异隐私模型接受的训练数据语句一般不在金融新闻文章的正常语言分布范围之内。此外,通过评估测试数据,我们可以验证这些难解的句子是隐私和非隐私模型之间质量损失的基础(1.13:1.19的困惑度)。因此,虽然名义上的困惑损失在6%左右,但对于我们所关心的语句,隐私模型的性能可能根本不会降低。
显然,至少在一定程度上,这两个模型的差异是由于隐私模型未能记住异于训练数据的罕见序列。可以通过利用早期在神经网络中测量无意识记忆的工作来量化这种影响,这种工作有意地将独特的、随机的噪声句子插入到训练数据中,并评估噪声对训练模型的影响。在这种情况下,插入一个随机的噪声句子就足以让非隐私模型完全记住噪声。
然而,在任何插入的噪声面前,用差异隐私进行训练的模型都是不可区分的,只有在训练数据中多次出现相同的随机序列时,隐私模型才会了解它。值得注意的是,这对于所有类型的机器学习模型都是正确的(例如,请参阅上面的MNIST训练数据中的罕见示例),即使模型隐私的数学形式上限太大,理论上无法提供任何保证,也仍然是正确的。
时间:2019-04-19 23:57 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
相关推荐:
网友评论: