返回列表

Unlearning solution (3rd rank)

583. NeurIPS 2023 - Machine Unlearning | neurips-2023-machine-unlearning

开始: 2023-09-11 结束: 2023-11-29 AI安全与对抗 数据算法赛
机器学习遗忘解决方案(第3名)

机器学习遗忘解决方案(第3名)

作者:Seifeddine Achour
发布时间:2023年12月4日
排名:第3名

1. 背景和总体情况

大家好!我是Seifeddine Achour,ENIT的工程专业学生,专攻数学建模和数据科学,同时就读于巴黎笛卡尔大学图像处理与生命复杂性硕士项目。我也是Google机器学习社区MLAct的联合创始人。

我进行了许多AI研究,其中一些是学术性的,一些是专业性的,但大多数都是基于我脑海中自发产生的问题而开展的,我出于热情和兴趣致力于找到这些问题的解决方案。其中一个问题是:如果我有一个大型模型,我希望让它遗忘某些数据,同时在保持其他数据性能几乎不变的情况下,避免从头开始重新训练(因为这可能需要很长时间),该怎么办?

我思考了这个问题一段时间,直到偶然发现了这场比赛,这让我能够更专注于研究,并最终就这个主题撰写了一篇科学论文。

2. 概述

比赛的目标是找到最大化保留数据记忆并最小化遗忘数据记忆的模型状态。在我的文章中,我采用了一种不同的方法,该方法在使用CIFAR10数据集和Resnet18模型的起始工具包中表现出色,如下图所示:

遗忘方法示意图

然而,在本次比赛中,我遇到了一些难以理解的编译问题,因为我无法访问错误界面。因此,我从我们的主要问题——即从头开始重新训练的计算时间过长——出发,采用了一种不同的方法,该方法基于两个主要方面:

  1. 与其运行耗时的遗忘算法,不如先通过轻微改变卷积权重的状态来立即混淆模型的视觉,同时保持原始信息的平均值,然后在保留集上进行训练。
  2. 由于本数据集存在类别不平衡问题,我引入了一个新的标准,给予多数类"Class0"更高的权重,以最小化异常决策。

3. 方法细节

如前所述,从头重新训练的问题在于计算时间过长。这种沉重性的主要原因在于,从初始随机状态开始使用梯度下降对所有参数进行模型状态的反向传播速度较慢。因此,为了解决这个问题,该方法旨在平均保留原始训练模型中存在的全局信息,并稍微混淆其视觉,以便稍后正确地重建。这可以通过使卷积参数稍微偏离其当前状态,同时保持旧参数的平均值,然后通过多个周期加强模型在所需数据上的知识来实现。

让我们理解其背后的数学原理:最初,我们将卷积层的权重w₁...wₙ视为服从高斯分布𝓝(mᵢ, 𝜎²)的随机变量,其中mᵢ是原始权重,𝜎=0.6。之后,我们使用SGD算法在保留集上继续训练过程4个周期,学习率为0.0007,动量为0.9,强凸分量权重衰减为5e-4。在开始最终训练周期之前,我们对权重施加轻微变化,以避免损失景观中的不可微极小值,然后完成最后一个周期。

在遗忘模型时需要考虑的第二个关键组件是数据集中存在的类别不平衡问题,正如组织者在文章中所提到的,如下图所示:

类别分布图

[1]

为了在训练过程中突出这一事实,我引入了一个基于交叉熵原理的自定义损失函数,但此外,它给予类别0的权重为1,其余类别的权重为0.05。该损失函数表示如下:

自定义损失函数

4. 结果

本次比赛的评分系统基于重新训练模型和遗忘模型之间的相似程度。使用测试集的前50%,我的模型获得的最高分数为0.0968,同一算法的所有分数平均值为0.092。使用测试集的后50%,它获得了0.0885的最终验证分数。

还需要注意的是,整个算法持续时间约为6小时,从混淆过程到通过4个周期的训练。

5. 讨论

在本节中,我想强调三个方面:

  1. 超过某个阈值后,增加周期数似乎是无用的。尽管由于无法访问输出界面进行适当的模型性能分析和解释而难以确认,但我认为这是由于类别不平衡导致的过拟合。
  2. 尽管我在比赛中实现的算法相对快速,并且仅使用保留集就获得了良好的分数,但使用遗忘集可能是有益的,因为它增加了更多信息来帮助模型做出正确决策。我确认了在回归问题上使用我在理论上开发的方法,并在本次比赛的起始工具包上进行了分类实验。
  3. 重新训练的模型在遗忘集上具有最佳的遗忘性能,同时在保留集上保持完全相同的准确性,这听起来是合乎逻辑的。否则,根据我进行的实验,如果我们能够接受稍低的保留准确性,我们可以在遗忘性能方面获得更好的结果,这在许多应用中可能更有益,如下图所示:
遗忘性能与保留准确性权衡图

6. 参考文献

[1] NeurIPS机器学习遗忘比赛组织者,(2023年8月),"NeurIPS机器学习遗忘比赛评估"

同比赛其他方案