
模型训练模式
|
187
设计模式
15
:超参数调优
在超参数调优设计模式中,将训练循环本身插入优化方法,以找到最优的模型超参
数集合。
问题
在机器学习中,模型训练涉及寻找最优的决策点(对于决策树而言)、权值(对于
神经网络而言)或支持向量(对于支持向量机而言)。
我们称这些为模型参数。然而,
为了训练模型并找到最优的模型参数,经常要事先确定一些值。例如,设置决策树
的最大深度为
5
(在决策树情况下),或者激活函数为
ReLU
(对于神经网络),或
者选择一组函数(在
SVM
情况下)。这些参数称为超参数(
hyperparameter
)。
模型参数是指模型学习到的权值和偏置。
你不能直接控制模型参数,因为它们在很
大程度上取决于训练数据、模型架构和许多其他因素。换句话说,你不能手动设置
模型参数。模型的权值由随机值初始化,然后在训练迭代时由模型进行优化。另一
方面,超参数是模型构建者可以控制的任何参数,包括学习率、轮次数、模型层数等。
手动调优
因为可以手动设置不同超参数的值,所以你会首选试错法(
trial-and-error
)来找到最
佳的超参数值组合。这适用于几秒或几分钟就能训练的模型,但是对于需要大量训
练时间和设备的大型模型而言,这十分耗费时间。设想你正在训练一个图像分类模型,
该模型需要在
GPU
上训练数小时。你选择了一些超参数值来尝试,然后等待第一次
训练的结果。根据这些结果,可以调整超参数,再次训练模型,将结果与首次运行
的结果进行比较,然后通过查找最佳结果的训练方案来确定最佳的超参数值。
这种方法存在一些问题。