32

如何有效地从 AI 训练模型中删除记录?

 4 years ago
source link: https://www.infoq.cn/article/U7IXBIiYIWtYvvdggQdL
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

无论用户是否知情,人工智能算法都在收集用户信息。全世界的公司、大学都在使用不知情民众的病例、购物历史和社交媒体的使用情况来训练机器学习软件。他们的目标可能是汲取科学见解,抑或是关注可疑人员。即使 AI 模型是从人们的数据中抽象出来得到一般性结论的,也能设法从模型中重构出输入的个体数据信息,匿名性已经不复存在。

YjEnUjU.jpg!web

为了找回一部分隐私权,最近诸如 《欧洲通用数据保护条例》 《加州消费者隐私法案》等法律赋予了用户一些权力。但是,如果想让训练过的 AI 模型删除记录,通常需要从头开始,使用不包含这个人的数据再训练一次,而新开始的训练过程会花费几周的时间。

有两篇新论文提供了有效从 AI 模型中删除记录的方法,同时也许还能节省上兆瓦的能源开销,使其看上去很有吸引力。“我们或许需要一些新的算法来让公司之间的合作变得更加容易,也让他们再也没有不遵守规定的借口。” 斯坦福 计算机学家,同时也是 第一份论文 的作者之一, Melody Guan 如是说。

因为关于有效删除数据方面的文章很少,斯坦福的作者首先定义了这个问题,并描述了改良的四项设计原则。第一原则是“线性”,简单的 AI 模型所做的仅仅是数字的加法和乘法,规避了所谓的非线性数学函数,也更容易部分解码。

第二原则是“懒惰”,在需要预测之前,延迟大量的计算。第三是“模块化”,尽可能将模型分成几部分进行训练,最后再将结果进行整合。第四是“量化”,将均值锁定在附近的离散值上,这样即使删除一个贡献数也不太可能会使均值偏移。

斯坦福的研究者在其中两个设计原则应用到了一种叫做 K- 均值聚类的机器学习算法,这种算法将数据点归类为自然聚类,可用于分析相似种群之间的遗传差异。聚类的这项应用已经在 UK Biobank 的医学数据库中得到了实现,而论文的作者之一也收到过一些患者想要将他们的数据移出数据库的消息。

研究员使用量化技术开发了一种被称为 Q-k 均值的算法,并将其在六个数据集中进行了测试,对细胞类型、手写数字、手势、森林覆盖以及被黑客入侵的互联网连接的设备进行了分类。以每次一个的频率从每组中删除 1000 个数据点,Q-k 均值的运算速度是常规 k 均值的 2 到 584 倍,同时几乎没有精度损失。

通过模块化原则,他们开发了 DC-k- 均值算法,DC 是分治算法(Divide and Conquer)的缩写。数据集中的点被随机分为多个子集,然后在每个子集中进行独立的聚类,最终将这些集群聚类,循环往复。从每个子集删除一个数据点,其余点不变,此时的速度倍数是从 16 到 71,同样,这种算法几乎没有损失精度。此项研究于去年底(2019 年 12 月)在加拿大温哥华的神经信息处理系统( NeurIPS )会议上发布。

多伦多大学向量学院 的计算机专家 Nicolas Papernot 的评价是“这篇论文的优点在于他们能够利用该算法(k- 均值聚类)的一些潜在好处。”但有些小技巧在其他种类的算法,例如深度学习中的人工神经网络上并不会起效。

上个月(2019 年 12 月),Papernot 及其合作者在 arXiv 上发布的的论文,提出了一种神经网络也可以使用的训练方法,将其命名为 SISA 训练,SISA 是分片(Sharded)、隔离(Isolated)、切片(Sliced)以及聚合(Aggregated)的缩写。

SISA 对模块化的应用分了两种不同的方法。第一种是将数据集分片,在所有子集上分别使用模型进行训练。当模型进行预测时,将模型的预测进行汇总。这样,一个数据的删除只需要重新训练一个模型。第二种方法,切片则对子集进一步分割,用于训练该子集的模型继续训练子集的分片 1,然后是分片 1 和 2,然后是 1,2,3,以此类推,在每步结束后封闭训练模型。如果从分片 3 中删除一个数据点,那么就可以直接回到第三步再重新进行训练。分片和切片“给了我们微调训练模型的机会,”Papernot 如是说。Guan 称赞他们的方法很直观,但这种记录删除的标准非常宽松。

多伦多的研究团队在两个大型数据集上测试了这种训练方法,两个数据集一个包含 60 多万家庭地址数字的图片,另一个包含 30 多万购物历史记录。在删除 0.001% 的数据后,20 个分片的重新训练在地址数据中速度提升了 3.75 倍,在购物历史数据中则提升了 8.31 倍,在速度提升的同时精度也几乎没有损失。对比对象是在常规情况下训练的模型,删除数据点之后再重新开始训练。进一步分块之后为地址数据提速 18%,为购物历史数据提速 43%,同样没有精度损失。

仅仅删除 0.001% 的数据可能看起来不算什么,但是 Papernot 认为,根据公开发布的数据显示,这样的数量级已经远远超过了像谷歌搜索等服务所需求的,而 18% 的加速可能看起来也不是很有吸引力。但是,对于巨型模型来说,这样的提升可以节省大量时间和金钱。进一步来说,如果你已经知道某些数据很有可能在后期被要求移除,可以将这类数据归于同一个分层或是分片,这能让删除更加有效。Papernot 表示,正在寻求利用关于数据集的相关知识去更好的调整 SISA 算法。

Guan 说,这些人工智能方法是要让记录匿名,但是也会出现隐私之外的需求来让 AI 遗忘某些特定数据。可能是人们不想为厌恶的公司贡献利润,或者是科学家们在训练结束之后才发现有的数据有问题,后者可能是由于黑客添加了虚假记录而污染了数据集。在这些情况下,能有效地进行数据删除是非常必要的。

“当然,我们还没有完全的解决方案,”Guan 说,“但是我们认为成功定义数据删除这个问题会带来非常大的帮助。希望人们在设计算法的时候能够记得数据保护。”

原文链接:

https://spectrum.ieee.org/tech-talk/computing/software/researchers-can-make-ai-forget-you


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK