吴恩达《深度学习》第二门课(3)超参数调试、Batch正则化和程序框架
3.1调试处理 (1)不同超参数调试的优先级是不一样的,如下图中的一些超参数,首先最重要的应该是学习率α(红色圈出),然后是Momentum算法的β、隐藏层单元数、mini-batch size(黄色圈出)、再之后是Layer、learning rate decay(紫色圈出)、最后是Adam算法中的β 1 、β 2 、ε。 (2)用随机取值代替网格点取值。下图左边是网格点取值,如果二维参数中,一个参数调试的影响特别小,那么虽然取了25个点,其实只相当于取了5个不同的点;而右图中随机取值取了多少个点就代表有多少不同值的点。 (3)由粗糙到精细的取值,先粗糙取值,然后发现最好的点,再在这个点附近进行精细的取值。如下图所示 3.2为超参数选择合适的范围 (1)随机取值并不是在取值范围内随机均匀取值,而是要选择合适的标尺来随机取值。 (2)案例1:在选择网络层数时,其范围是[2,4],那么直接均匀取值2,3,4都是合理的。 (3)案例2:如果在给学习率取值时,其范围是[0.0001,1],如果均匀取值,将会有90%的点落在0.1到1之间,这时不合理的;此时应该用对数坐标0.0001=10 -4 ,1=10 0 ,所以应该是在[-4,0]上随机均匀取值作为r,然后10 r 作为学习率α。如下图所示 (4)指数加权平均的超参数β取值范围是[0.9,0.999],其方法是:1-β=[0.1,0