3.1 调试处理(Tuning process)
Last updated
Last updated
深度神经网络需要调试的超参数(Hyperparameters)包括:
:学习因子
:动量梯度下降因子
:Adam算法参数
#layers:神经网络层数
#hidden units:各隐藏层神经元个数
learning rate decay:学习因子下降参数
mini-batch size:批量训练样本包含的样本个数
学习因子是最重要的超参数,也是需要重点调试的超参数。动量梯度下降因子、各隐藏层神经元个数#hidden units和mini-batch size的重要性仅次于,然后就是神经网络层数#layers和学习因子下降参数learning rate decay。最后,Adam算法的三个参数一般常设置为0.9,0.999和
传统的机器学习中,对每个参数等距离选取任意个数的点,分别使用不同点对应的参数组合进行训练,最后根据验证集上的表现好坏来选定最佳的参数。例如有两个待调试的参数,分别在每个参数上选取5个点,这样构成了5x5=25中参数组合:
这种做法在参数比较少的时候效果较好
深度神经网络模型中是使用随机选择。随机选择25个点,作为待调试的超参数:
随机化选择参数是为了尽可能地得到更多种参数组合。如果使用均匀采样,每个参数只有5种情况;而使用随机采样的话,每个参数有25种可能的情况,更可能得到最佳的参数组合
另外一个好处是对重要性不同的参数之间的选择效果更好。假设hyperparameter1为,hyperparameter2为,显然二者的重要性是不一样的。如果使用第一种均匀采样的方法,的影响很小,相当于只选择了5个值。而如果使用第二种随机采样的方法,和都有可能选择25种不同值。这大大增加了调试的个数,更有可能选择到最优值
在实际应用中完全不知道哪个参数更加重要的情况下,随机采样的方式能有效解决这一问题,但是均匀采样做不到这点
随机采样之后,可能得到某些区域模型的表现较好。为了得到更精确的最佳参数,继续对选定的区域进行由粗到细的采样(coarse to fine sampling scheme)。就是放大表现较好的区域,对此区域做更密集的随机采样
如对下图中右下角的方形区域再做25点的随机采样,以获得最佳参数: