超参数调优的鲁棒性

数据挖掘 机器学习 深度学习 交叉验证 超参数调整
2021-09-19 16:04:24

我使用贝叶斯超参数 (HP) 优化方法 ( BOHB ) 来调整深度学习模型。然而,当重复应用于相同的数据时,生成的模型并不稳健。我知道,我可以使用种子来修复参数初始化,但我想知道是否有 HP 优化方法已经考虑了稳健性。

为了说明这个问题,让我们考虑一个只有一个 HP 的单层神经网络:隐藏大小 ( h )。该模型在h较小的情况下表现良好随着更大的h,结果开始波动更大,可能是由于更复杂的损失情况;参数的随机初始化可能会导致良好的性能,或者如果优化器陷入局部最小值(由于复杂的损失情况而更频繁地发生),则会导致非常糟糕的性能。损失与h图可能如下所示:

在此处输入图像描述

我更喜欢“稳健解决方案”,而“最佳解决方案”由 HP 优化器算法选择。是否有 HP 优化算法可以解释稳健性?或者你会如何处理这个问题?

2个回答

据我了解,贝叶斯优化方法对这个问题已经有些鲁棒了。评估的性能函数通常(?)被认为是嘈杂的,因此搜索会想要检查附近的“最佳解决方案”H提高确定性;如果它随后发现许多性能不佳的模型,它的代理功能应该开始淡化这一点。(参见例如 两篇博文。)

如果由于随机效应(例如,您提到的权重的初始化)导致不稳定性很大,那么只需重复模型拟合并取平均(或最差,或某个百分位数)的性能应该可以很好地工作。如果真的是“邻里”的效果H 值,那么您可以类似地拟合所选模型附近的模型 H并考虑他们的总体表现。当然,这两者都会增加相当多的计算开销;但我认为这可能是最接近不依赖于优化算法内部的“正确”解决方案。

一种选择不是在训练数据的损失函数上测量超参数的性能,而是在验证数据的高程度量上测量超参数的性能。大多数机器学习系统的最终目标是能够预测看不见的数据。专注于通过训练损失函数衡量的“最佳解决方案”将导致过度拟合/非鲁棒解决方案。