超参数 (parameter) (hyperparameter)优化(HPO)是开发表现良好的机器学习 (machine learning)模型中的常规步骤。我们调整学习率、正则化 (regularization)强度或树深度等参数,以在验证集上使性能最大化。在使用合成数据时,一个主要问题出现了:使用合成数据找到的最佳超参数集是否与使用真实数据找到的超参数集一致?理解这种关系是评估合成数据实用性的一个方面。
如果合成数据完美反映了真实数据的底层结构和复杂性,我们可能会预期使用合成数据执行的HPO(在合成或真实验证集上进行优化)会得到与使用真实数据找到的超参数(Hreal)非常接近或表现相似的超参数(Hsynth)。然而,合成数据生成过程虽然旨在实现高保真度,但可能会平滑某些数据特征,遗漏复杂的相互影响,或引入细微的假象。这些差异会影响HPO过程中进行的优化。
设想一个情况,你为一个分类模型执行HPO。优化过程寻找能使验证集上的损失最小化或某个指标(如AUC或F1分数)最大化的超参数。如果用于训练和验证的合成数据使得HPO算法(例如贝叶斯优化、随机搜索)在超参数空间中识别出的最佳区域与使用真实数据识别出的区域显著不同,我们就会遇到一个潜在的实用性问题。使用合成数据调整的模型在部署时可能会表现不佳,因为其超参数对于真实数据分布来说不是最优的。
评估超参数 (parameter) (hyperparameter)一致性
为了评估合成数据对HPO的影响,你可以直接比较结果:
- 使用真实数据执行HPO: 使用真实训练数据训练模型,根据真实验证集优化超参数,并记录最佳超参数集(Hreal)及其在真实测试集上的相应性能。这作为你的基准。
- 使用合成数据执行HPO: 仅使用合成训练数据训练模型。你可能根据以下方式优化超参数:
- 一个合成验证集(如果已生成)。
- 真实验证集(在实践中很常见,模拟了有少量真实数据可用于验证的情况)。
记录找到的最佳超参数集(Hsynth),并在真实测试集上评估使用合成数据和Hsynth训练的模型。
- 比较结果:
- 性能比较: 模型(合成训练,合成调整 -> Hsynth)在真实测试集上的性能与基准模型(真实训练,真实调整 -> Hreal)相比如何?这直接衡量了同时使用合成数据进行训练和HPO所导致的实用性下降。
- 超参数集比较: 检查Hreal和Hsynth。重要参数(例如学习率、正则化 (regularization)强度)的值是否显著不同?大的差异表明合成数据在模型对某些参数的敏感度方面向HPO过程提供了误导性信号。
隔离超参数 (parameter) (hyperparameter)的影响
你可以进一步检查使用合成数据找到的超参数(Hsynth)即使在有足够的真实训练数据可用时是否不利:
- 使用Hsynth训练真实数据: 使用真实训练数据训练模型,但明确地将超参数设置为Hsynth(通过合成数据HPO过程找到的)。在真实测试集上评估该模型。
- 比较: 将此性能与基准模型(真实训练,真实调整 -> Hreal)进行比较。如果使用Hsynth在真实数据上的性能比基准差得多,则证实了从合成优化过程中得出的超参数对于真实数据分布来说不是最优的,无论HPO之后使用何种训练数据来源。
下图展示了在不同条件下执行HPO后,模型在真实测试集上的性能比较。
模型在真实测试集上的性能(AUC)比较。条形图显示了使用真实数据HPO得到的最佳超参数(Hreal)与使用合成数据HPO得到的最佳超参数(Hsynth)的结果。性能显示了使用各自超参数集训练的真实数据模型(蓝色)和合成数据模型(橙色)的表现。注意,即使在真实数据上训练时(蓝色条形图对应Hsynth),使用Hsynth也可能出现性能下降。
解释和实际考量
Hreal和Hsynth之间存在显著差异,或者使用Hsynth时出现明显的性能下降,表明合成数据可能未能充分捕捉对模型调整最重要的数据分布方面。这可能发生在合成数据未能重现复杂的特征相互影响或影响模型对超参数 (parameter) (hyperparameter)敏感度的噪声模式时。
如果HPO结果差异很大:
- 风险意识: 谨慎部署仅使用合成数据训练和调整的模型,除非在真实数据上进行了最终验证或调整。
- 混合方法: 考虑使用合成数据进行HPO的初步研究以缩小搜索空间,然后使用少量真实验证数据进行微调 (fine-tuning)。
- 数据生成重点: 这种差异可能表明需要重新审视合成数据生成过程,以提高其在影响超参数敏感度方面的保真度。
评估对超参数优化的影响,提供了对合成数据实用性更全面的评估。这不仅仅是简单的使用固定超参数的性能比较(如基本TSTR中那样),它还检查合成数据是否能可靠地指导模型调整过程本身,这在实际应用中通常对于实现最佳性能非常重要。