为什么要超参数搜索?
神经网络有很多训练过程中不变的参数
例如:网络结构参数:几层,每层宽度,每层激活函数
训练参数:batch_size,学习率,学习率衰减算法
手工去试耗费人力,所以需要超参数搜索
batch_size:指一次训练时,要从训练数据中选多少数据”塞”到神经网络中进行训练。
学习率:在做梯度下降时,找到了导数方向后,需要在导数方向上前进多少
学习率可以随着训练过程而变化,它有很多种不同的变化策略,这种策略也是超参数的一种
超参数搜索的搜索策略:
网格搜索(最简单)
随机搜索
遗传算法搜索
启发式搜索(最高端)
网格搜索:把超参数离散化成几个值,把这些值组合起来,形成各种各样的组合,一一去试。
缺点:所有的超参数只能取那几个特定的值,最优解可能在“中间”,所以可能永远都找不到最优解。
随机搜索:不用网格去生成参数的组合,而是去随机生成参数的组合,这样参数的最优解是有可能被搜索到的。
缺点:随机的点数可能比网格搜索多很多。