有老师指导就能更好地学习吗?对于深度神经网络是否也是如此?近日,谷歌和斯坦福大学的研究者在其论文中提出了一种用 MentorNet 监督 StudentNet 进行训练的新技术。这项研究的第一作者是谷歌云机器学习的研究科学家蒋路(Lu Jiang),另外李佳和李飞飞也参与了该研究。
在目标识别 [19, 15, 39] 和检测 [14] 等多种视觉任务上,深度神经网络已经取得了很大的成功。当前最佳的深度网络有数百层,而可训练的模型参数的数量更是远远超过了它们训练所用的样本的数量。最近一项研究发现即使是在有损的标签上(其中部分或所有真实标签被随机标签替换),深度网络也能记忆整个数据 [45]。正则化(regularization)是一种用于克服过拟合的有效方法。张弛原等人 [45] 通过实验表明:当在有损的标签上训练时,权重衰减、数据增强 [20] 和 dropout [36] 等常用于神经网络的正则化算法(即模型正则化器(model regularizer))在提升深度卷积神经网络(CNN)的生成表现上的效果不佳;我们的研究也证实了这个观察结果。深度 CNN 通常是在大规模数据上训练的,在这些数据上的标注通常有很多噪声 [1,11]。过拟合训练数据中的噪声常常会让模型的表现变得很差。
图 1:已有的正则化方法和我们的正则化方法的图示。每个点表示一个训练样本,点的大小表示样本权重。曲线表示学习到的模型。权重衰减等已有的正则化方法对深度 CNN 而言效果不佳。数据正则化是通过学习为样本分配合适的权重来解决深度 CNN 的过拟合问题。
由于模型参数数量庞大,所以正则化非常深度的 CNN 颇具挑战性。为了解决这一难题,我们提出了一种在数据维(data dimension)中正则化深度 CNN 的全新技术,我们称之为数据正则化(data regularization)。我们的目标是通过正则化在有损标签上训练的 CNN 来提升其在清洁测试数据上的泛化表现。可以被看作是深度 CNN 的网络有 Resnet [15] 和 Inception-resnet [39],它们有几百层,而且参数的数量比训练样本的数量多几个数量级。具体来说,我们提出为用于训练该分类网络(即 StudentNet)的每个样本学习随时间变化的权重。我们引入了一种 MentorNet 来监督该 StudentNet 的训练。如图 1 所示,在训练过程中,MentorNet 学习为每个训练样本分配一个权重。通过学习不均衡的权重,MentorNet 鼓励某些样本学得更早,并且得到更多注意,由此对学习工作进行优先级排列。对于 MentorNet 训练,我们首先预训练一个 MentorNet 来近似得到有标签数据中特定的一些预定义权重。然后我们在具有清洁标签的第三个数据集上对它进行微调。在测试的时候,StudentNet 独自进行预测,不会使用 MentorNet。
我们的方法受到了课程学习(curriculum learning)[4] 的启发。MentorNet 学习给训练样本加权,从而得到一个课程(curriculum),该课程决定了学习每个样本的时间和注意程度。课程学习已经在各种计算机视觉问题 [38, 26, 7, 16, 25, 44]、脸部检测 [26]、目标检测 [7]、视频检测 [16] 中被用来寻找更好的极小值了。我们的模型通过神经网络从数据学习课程,从而推进了课程学习方法。我们提出的模型让我们可以通过一个共同框架来理解和进一步分析已有的加权方案,比如自步式加权(self-paced weighting)[21]、hard negative mining [31] 和 focal loss [27],更重要的是让我们可以通过神经网络学习这些方案。此外,我们讨论了一种使用深度 CNN 在大规模数据上用于优化 MentorNet 的算法。我们从理论上证明了它的收敛性并且通过实验在大规模 ImageNet 数据上评估了该算法的表现。
我们在 CIFAR-10、CIFAR-100、ImageNet 和 YFCC100M 这四个基准上验证了 MentorNet。全方位的实验表明 MentorNet 可以提升在受控和真实有噪声标签上训练的深度 CNN 的表现,并且表现也优于之前最佳的弱监督学习方法。总而言之,本论文有三大贡献:
我们发现通过学习另一个网络来加权训练样本,在有损标签上训练的深度 CNN 可以获得提升。
我们提出了一种使用在大数据上的深度 CNN 来优化 MentorNet 的算法,并且在标准的轻微假设下证明了其收敛性。
我们在具有受控的和真实的有噪声标签的 4 个数据集上实证验证了我们提出的模型。
算法
事实证明,相关研究中所使用的其它最小化方法难以应付大规模训练,这主要是由于两大重要原因。首先,在固定隐变量 v 时最小化网络参数 w 的子程序中,随机梯度下降通常需要很多步骤才能实现收敛。这意味着这一单个子步骤可能需要消耗很长的时间。但是,这样的计算往往很浪费,尤其是在训练的初始部分;因为当 v 离最优点还很远时,找到对应于这个 v 的准确的最优 w 并没有多大用处。其次,更重要的是,固定 w 而最小化 v 的子程序往往不切实际,因为固定的向量 v 甚至可能都无法放入内存。比如,在 5000 个类别上训练 1000 万个样本,光是存储其权重矩阵就需要消耗 2TB。在有大规模训练数据时训练数据正则化目标需要一些算法层面的思考。
算法 1
图 2:我们提出的 MentorNet 架构。输入特征是样本损失、标签和训练 epoch。输出是 mini-batch 中每个样本的权重。emb、fc 和 prob sampling 分别表示嵌入、全连接和概率采样层。
和
分别表示在 epoch t 处的样本损失和损失移动平均(loss moving average)。
表 1:学习预定义的加权方案的 MSE 比较。
图 3:MentorNet 架构的收敛比较。
图 4:经典正则化算法和我们的正则化算法在 CIFAR-10 和 CIFAR-100 上的结果比较。图上说明了数据集和 StudentNet。x 轴和 y 轴分别表示噪声比例和在清洁的测试数据上的分类准确度。
论文:MentorNet:在有损的标签上正则化非常深度的神经网络(MentorNet: Regularizing Very Deep Neural Networks on Corrupted Labels)
论文链接:https://arxiv.org/abs/1712.05055
摘要:最近的研究发现即使当标签完全随机时,深度网络也能记忆整个数据。因为深度模型是在标签往往有噪声的大数据上训练的,过拟合噪声可能会导致模型表现不佳。为了克服过拟合有损训练数据的问题,我们提出了一种在数据维中正则化深度网络的全新技术。这种方法是学习一个名叫 MentorNet 的神经网络来监督基础网络 StudentNet 的训练。我们的工作受到了课程学习的启发并且通过神经网络从数据学习课程而推进了这一理论。我们在几个基准上演示了 MentorNet 的效果。全方位的实验表明其能够显著提升有损训练数据上当前最佳深度网络的泛化表现。
本文转自微信公众号“机器之心”