超参数的优化问题
在深度学习模型中, 网络结构比较复杂,不仅训练参数多,存在参数冗余的现象,此外一些超参数往往需要耗费人力调参。
因此如何自动学习超参数以及对网络结构的优化,找到最优的网络结构----贝叶斯优化(BO) 应运而生
- 目标:找到在验证集度量上产生最佳得分的模型超参数。
- 难点:超参数优化的问题在于评估目标函数以找到分数是非常昂贵的。每次我们尝试不同的超参数时,我们必须训练训练数据的模型,对验证数据进行预测,然后计算验证度量。由于大量的超参数和复杂的模型,如集合或深度神经网络,可能需要数天的训练,这个过程很快就变得难以手工完成!
- 解决方法-Worse:网格搜索和随机搜索略好于手动调整,通过设置了一个模型超参数网格,并在循环中自动做train-predict -evaluate循环,但是它们不会根据以前的结果选择下一个超参数进行评估。2种方法完全不受过去评估的影响,因此,通常会花费大量时间来评估"坏"超参数。
- 解决方法-Better:贝叶斯优化,会考虑之前初始的参数, 跟踪过去的评估结果,他们使用这些结果形成概率模型,将超参数映射到目标函数的得分概率P(Y|X)。可以称为The Agent of Object Function。