机器遗忘是什么?让模型忘掉训练时见过的特定数据
TL;DR机器遗忘(Machine Unlearning)是让已训练好的机器学习模型忘记或移除某些训练数据所含知识的技术,用于满足隐私保护、被遗忘权、版权和数据纠错等需求,主要分为精确遗忘和近似遗忘两类方法。
机器遗忘(Machine Unlearning)是让已经训练好的模型“忘掉”某些训练数据的技术。模型在训练中会吸收训练数据里的信息,有时还会记住具体的内容。如果后来发现某些数据不应该被用,比如用户要求删除自己的个人信息、数据涉及版权纠纷、数据里有错误或有害内容,就需要让模型移除从这些数据中学到的知识,同时尽量保留其他能力。
为什么需要它
隐私保护:欧盟《通用数据保护条例》等法规规定了个人的“被遗忘权”,用户有权要求删除自己的数据。从数据库里删掉一条记录很容易,但如果这条数据已经被用来训练了模型,模型里依然可能残留相关的信息。版权保护:训练数据中可能包含未经授权的作品,权利方可能要求模型不再使用这些内容。安全和纠错:模型可能学到了有害知识,或者训练数据中有错误、被投毒的样本,需要把它们的影响清除掉。
两种策略
精确遗忘:最彻底的做法是把要遗忘的数据从训练集中删除,然后从头重新训练模型。这样可以保证模型完全没有受到这些数据的影响,但对大模型来说,重新训练一次的计算成本非常高昂,不可能每收到一个删除请求就重训一次。一些方法通过把数据分片、分别训练子模型等方式,让精确遗忘只需要重训一小部分,降低成本。
近似遗忘:不重新训练,而是通过修改现有的模型来实现遗忘,比如在要遗忘的数据上做“反向”的梯度更新,让模型远离这些数据;或者调整与特定知识相关的参数。这避免了重新训练的高成本,但无法保证遗忘得完全彻底,也可能误伤模型的其他能力。
挑战
如何验证模型确实忘掉了,是这个领域的核心难题之一:模型表面上不再输出某些内容,不代表信息真的被移除了,换一种问法可能又会“想起来”。在大语言模型上,遗忘某个人、某本书或某类知识,同时不影响模型的通用能力,仍是一个活跃的研究方向。