新智元报道
来源:Google AI Blog
编辑:LQ、PY
【新智元导读】许多数学工具可以帮助研究人员理解某些模型中的泛化。但在现实环境中,现有的大多数理论在应用于现代深层网络时都失败了,这些理论既空洞又无法预测。在ICLR 2021接受的「深度启动框架:优秀的在线学习者是优秀的离线概括器」中,Google AI Blog提出了一个新的框架,用于通过将广义化与在线优化领域联系来解决此问题。
理解泛化是深度学习中尚未解决的基本问题之一。
为什么在有限的训练数据集上优化一个模型会导致在held-out测试集上的性能良好?
这个问题在机器学习领域中得到了广泛研究,研究历史可以追溯到50多年前。
现在有许多数学工具可以帮助研究人员理解某些模型中的泛化。
不幸的是,在现实环境中,现有的大多数理论在应用于现代深层网络时都失败了,这些理论既空洞又无法预测。
理论和实践之间的差距对于超参数化模型来说是最大的,理论上它们有能力超出它们的训练组,但实际情况下往往不能。
在ICLR 2021接收的论文「The Deep Bootstrap Framework: Good Online Learners are Good Offline Generalizers」中,Google AI的研究人员提出了一个新的框架来解决这个问题,将在线优化领域与在线优化领域泛化联系起来。
在一个典型的设置中,一个模型在一个有限的样本集上训练,这些样本可以在多个epoch中重复使用。
但是在在线优化中,模型可以访问无限的样本流,并且可以在处理这个流时迭代更新。
在这项工作中,研究人员发现如果能够很好地泛化模型,那么在无限数据上快速训练的模型和在有限数据上训练的模型是一样的。
这种联系为实践中的设计选择带来了新的视角,并为从理论角度理解泛化奠定了基础。
Deep Bootstrap框架
Deep Bootstrap框架的主要思想是将有限训练数据的现实世界与有无限数据的「理想世界」进行比较。研究人员把它们定义为:
真实世界(N,T):在一个分布的N个训练样本上训练一个模型,进行T个小批量随机梯度下降(SGD)步骤,像往常一样,在多次epoch训练中重复使用相同的N个样本。这相当于在经验损失(训练数据上的损失)上运行SGD,是监督学习中的标准训练过程。
理想世界(T):在T个步骤中训练相同的模型,但在每个SGD步骤中使用新的分布样本。也就是说,研究人员运行完全相同的训练代码(相同的优化器、学习率、批次大小等),但在每个epoch训练中抽取一个新的训练集,而不是重复使用样本。
在这种理想世界的设置中,由于有一个有效的无限 「训练集」,训练误差和测试误差之间没有区别。
在 ResNet-18架构的 SGD 迭代过程中,对于理想世界和现实世界的测试软错误中,我们看到这两个测试误差是相似的
由此推理,研究人员可能会认为现实世界和理想世界之间可能没有任何关系,因为在现实世界中,模型从分布中看到的例子是有限的,而在理想世界中,模型看到的是整个分布。
但在实际应用中,研究人员发现实际模型和理想模型实际上存在相似的测试误差。
为了量化这种现象,研究人员通过创建一个新的数据集(CIFAR-5m)来模拟一个理想的世界环境。
研究人员在 CIFAR-10上训练了一个生成模型,然后用它生成了大约600万张图像。选择这种规模的数据集,是为了确保从模型的角度来看它「几乎是无限的」,因此模型永远不会出现重复的数据。
也就是说,在理想的情况下,模型看到的是一组全新的样本。
样本来自 CIFAR-5m
下图显示了几个模型的测试误差,比较了它们在现实世界环境(如,重复使用的数据)和理想世界(全新数据)中使用CIFAR-5m数据时的性能。
实心蓝线显示的是真实世界中的ResNet模型,用标准CIFAR-10超参数在50K样本进行100个epoch训练。蓝色虚线显示了理想世界中相应的模型,一次训练500万个样本。
令人惊讶的是,这些模拟世界的测试错误都非常相似——模型在某种意义上「不在乎」是否看到了重复使用的样本或全新的样本。
进行100个epoch的50K样本训练现实世界模型,用单个epoch的5M样本训练理想世界模型。这些线显示了测试误差与SGD步骤数的比较
这也适用于其他体系结构,如Multi-Layer-Perceptron(红色)、 Vision Transformer(绿色) ,以及许多其他体系结构、优化器、数据分布和样本大小的设置。
这些实验提出了一种新的泛化观点: 模型可以快速优化(在无限数据上) ,概括性好(在有限数据上)。
例如,在有限数据上,ResNet 模型比 MLP 模型具有更好的通用性,但这是因为它在无限数据上优化得更快。
从优化行为理解泛化
从优化行为中理解概括关键的观察是,现实世界和理想世界模型在测试错误中始终接近,直到现实世界收敛(训练错误 < 1%)。因此,可以通过研究模型在理想世界中的相应行为来研究现实世界中的模型。
这意味着在两个框架下,可以从优化性能的角度来理解模型的泛化:
在线优化: 理想世界测试错误减少的速度
离线优化: 现实世界中训练错误收敛的速度有多快
因此,为了研究泛化,研究人员可以等价地研究上述两个术语,这在概念上可能更简单,因为它们只涉及优化问题。基于这一观察,好的模型和训练程序是那些(1)在理想世界中快速优化,(2)在现实世界中优化不太快的。
深度学习中的所有设计选择都可以通过它们对这两个术语的影响来看待。例如,一些进步,如卷积、跳转连接和预训练,主要通过加速理想世界的优化来帮助进步,而其他进步,如正规化和数据增强,主要通过减慢现实世界的优化来获得。
应用Deep Bootstrap框架
研究人员可以使用Deep Bootstrap框架来研究和指导深度学习中的设计选择。其原理是: 当一个人在现实世界中做了一个影响泛化的改变(体系结构、学习率等)时,应该考虑它对(1)测试误差的理想世界最优化(越快越好)和(2)训练误差的现实世界最优化(越慢越好)的影响。
例如,实践中经常使用预训练来帮助小数据区域中模型的泛化。然而,对于预训练有帮助的原因仍然知之甚少。
研究人员可以使用Deep Bootstrap框架来研究这个问题,通过观察上面(1)和(2)的预训练效果。他们发现,预训练的主要作用是改善理想世界的优化(1)——预训练使网络成为在线优化的「快速学习者」。
因此,预训练模型的改进泛化几乎完全被它们在理想世界中的改进优化所捕获。下图显示了在 CIFAR-10上训练的Vision-Transformers(ViT) ,比较了从零开始的训练和ImageNet上的预训练。
预训练的效果——在理想世界中,预训练的ViT优化得更快
这个框架也可以用来研究数据增强。理想世界中的数据增强相当于每个新样本增加一次,而不是同一样本增加多次。
这个框架意味着好的数据增强是那些(1)不会严重损害理想世界的优化(即,增强的样本不会看起来太「超出分布」)或(2)抑制现实世界的优化速度(因此现实世界需要更长的时间来适应它的训练组)。
数据增强的主要好处是通过第二阶段,延长了现实世界的优化时间。至于第一个阶段,一些积极的数据增强(混淆/删除)实际上可能损害理想世界,但这种影响与第二阶段相比相形见绌。
结语
Deep Bootstrap框架为深度学习中的泛化和过拟合提供了一个新的思路。也希望它在未来应用于深度学习的其他方面。
特别有趣的是,通过纯粹的优化考虑可以描述泛化,这与许多理论上的主流方法相反。至关重要的是,研究人员同时考虑了在线和离线优化,它们各自都是不够的,但是它们二者共同决定了泛化。
Deep Bootstrap框架也可以解释为什么深度学习对于许多设计选择是相当具有鲁棒性的: 许多类型的架构、损失函数、优化器、规范化和激活函数都可以很好地泛化。
这个框架提出了一个统一的原则: 本质上,任何在线优化设置中运行良好的选择,在线下设置中也会运行良好。
最后,现代神经网络有时过度参数化(例如,大型网络训练小型数据任务) ,有时过度模糊化(例如,OpenAI 的 GPT-3,Google 的 T5,Facebook 的 ResNeXt WSL)。Deep Bootstrap框架意味着在线优化是这两种状态成功的关键因素。
【3】理解泛化是深度学习中尚未解决的基本问题之一。为什么在有限的训练数据集上优化模型会在坚持的测试集上产生良好的性能?这个问题已经在机器学习中得到了广泛的研究,距今已有50多年的悠久历史了。现在有许多数学 工具可以帮助研究人员了解某些模型的一般性。不幸的是,大多数现有理论在应用于现代深度网络时都会失败,它们在现实环境中既是虚无的又是不可预测的。理论与实践之间的差距最大超参数化模型,理论上具有过拟合其火车集合的能力,但实际上却没有。
在ICLR 2021接受的「深度启动框架:优秀的在线学习者是优秀的离线概括器」中,研究人员提出了一个新的框架,用于通过将广义化与在线优化领域联系来解决此问题。
参考资料:https://ai.googleblog.com/