从错误标记数据中学习
实验设计与发现
第3.2节显示,仅在对抗性错误上训练模型能在原始测试集上实现非平凡泛化。这些实验是从错误中学习的一个特例。从一个反直觉的结果开始:使用完全错误标记的训练集(未修改输入)训练模型,该模型能泛化到原始测试集。这个结果及其结果都是模型蒸馏的特殊情况。由于错误标签是使用训练过的模型生成的,关于该模型的信息被"泄漏"到错误标记的示例中。
首先提出一个问题:如果取训练集中的图像(没有任何对抗性扰动)并错误标记它们会怎样?由于输入未修改且被错误标记,直觉认为在此数据集上训练的模型不应泛化到正确标记的测试集。然而,直觉失败了一一模型可以泛化。
首先在CIFAR-10训练集上训练ResNet-18两个周期。模型达到62.5%的训练准确率和63.1%的测试准确率。接下来,在所有50,000个训练数据点上运行模型,并根据模型的预测重新标记它们。然后,过滤掉所有正确预测。现在剩下一个大小为18,768的错误标记训练集。下图左侧显示四个示例:
然后随机初始化一个新的ResNet-18,仅在此错误标记数据集上训练。训练50个周期,在原始测试集上达到49.7%的准确率。新模型只见过错误标记、未扰动的图像,但仍能非平凡地泛化。
使用错误预测的模型蒸馏
这个模型及其模型如何在未见任何正确标记数据的情况下泛化?由于错误标签是使用训练过的模型生成的,关于该模型的信息被"泄漏"到错误标记的示例中。这特别是模型蒸馏的一种间接形式——在此数据集上训练允许新模型某种程度上恢复原始模型的特征。
首先使用二维问题说明这种蒸馏现象。然后,探索神经网络的其他特殊蒸馏形式——尽管输入来自另一个任务,但仍能传递知识。
模型蒸馏的二维说明
使用二维二元分类问题构建对抗样本数据集。在[0,1]²中生成32个随机二维数据点,并为每个点分配随机二元标签。然后在这些示例上训练一个小型前馈神经网络,正确预测32/32的示例(下图中面板(a))。
接下来,使用半径为ε=0.12的l∞球为原始模型创建对抗样本。在上图面板(a)中,显示每个训练点周围的ε球。在面板(b)中,显示导致模型改变预测(从正确到错误)的对抗样本。在此数据集上训练一个新的前馈神经网络,得到面板(c)中的模型。
尽管这个新模型从未见过正确标记的示例,但它能在原始数据集上非平凡地执行,正确预测23/32的输入(图中面板(d))。新模型的决策边界大致匹配原始模型的决策边界,即原始模型在对其对抗样本进行训练后某种程度上被蒸馏了。这个二维问题展示了使用错误预测进行蒸馏的有趣结果的一个说明性版本。
其他特殊形式的蒸馏
实验表明可以使用错误标记的示例蒸馏模型。还能以其他什么特殊方式了解原始模型?能否仅使用域外数据?
在MNIST上训练一个简单的CNN模型,达到99.1%的准确率。然后在大机构提供的另一个数据集训练集上运行此模型,并保存其argmax预测。 resulting数据集对人类来说是无意义的一一"连衣裙"被标记为"8"。
然后初始化一个新的CNN模型,并在此错误标记的另一个数据集数据上训练。 resulting模型在MNIST测试集上达到91.04%的准确率。此外,如果使用MNIST的均值和方差统计对另一个数据集图像进行归一化,模型在MNIST测试集上达到94.5%的准确率。这是另一个恢复功能类似于原始模型的实例,尽管新模型仅在错误预测上训练。
总结
这些结果表明,使用错误标记的对抗样本训练模型是从预测错误中学习的一个特例。换句话说,其第3.2节中添加的对抗样本的扰动对于实现学习不是必需的。
回应摘要
由于实验在不同架构上工作,权重空间的"蒸馏"不会发生。唯一可能出现的蒸馏是"特征空间"蒸馏,这实际上正是假设。特别是,特征空间蒸馏在World 1中不会工作——如果生成的对抗样本没有利用有用的特征,就不应该能够从它们中"蒸馏"出一个有用的模型。(事实上,人们可能将正常的模型训练视为只是对标记数据集的人类的"特征蒸馏"。)此外,只需要足够的模型一致点来恢复模型的假设似乎被Preetum的"仅错误数据集"和其他设置所反驳。
由于实验在不同架构上工作,权重空间的"蒸馏"不能发生。因此,据理解,这里建议的"蒸馏"假设指的是"特征蒸馏"(即获得使用与原始模型相同特征的模型),这实际上也正是假设。值得注意的是,如果对抗样本不依赖于翻转对分类有用的特征(参见World 1和World 2),这种特征蒸馏将不可能——在这种情况下,蒸馏模型将只使用泛化能力差的特征,因此本身泛化能力差。
此外,认为在提出的实验(从错误标记数据中学习)中,发生着相同类型的蒸馏。例如,一个中等准确的模型可能将"绿色背景"与"青蛙"关联,从而将"绿色"图像标记为"青蛙"(例如,评论图中的马)。在此数据集上训练一个新模型从而将"绿色"与"青蛙"关联,在测试集上实现非平凡准确率(类似于评论中的"从另一个数据集学习MNIST"实验)。这正好对应于从标签中学习特征,类似于深度网络从人类注释器中"蒸馏"出好的决策边界。事实上,发现这些实验是对特征蒸馏的一个非常有趣的说明,补充了发现。
还注意到,这里与逻辑回归的类比仅由于线性分类器的低VC维度(即这些分类器的维度为d)。特别是,给定任何VC维度为k的分类器,至少需要k个点来完全指定分类器。相反,神经网络已被证明具有极大的VC维度(特别是大于训练集的大小)。因此,尽管标记d+1个随机模型一致点足以恢复线性模型,但不一定足以恢复深度神经网络。例如,Milli等人无法仅使用其在随机高斯输入上的预测来重建ResNet-18。(注意在实验中使用的是ResNet-50。)
最后,似乎对实验的唯一潜在问题解释(即足够的模型一致点可以恢复分类器)被Preetum的实验所反驳。特别是,Preetum能够设计一个数据集,其中在模型一致的错误标记输入上训练根本不能恢复原始模型的决策边界。更一般地说,这里提出的"模型蒸馏"观点无法区分Preetum创建的数据集和使用标准PGD创建的数据集(如D̂det和D̂rand数据集)。