深度学习面试1:调参绝杀技

深度学习者若调得一手好参,便可行走江湖,曾经有这样一则新闻,天桥摆摊调参一次50元,想着都很美,毕竟比贴手机膜赚的多的多,那么想要在行业混,首先会调得一手好参,什么是要调的参数,如何调参?如何评估调的参数好呢?。。。。。

什么是要调的参数?

我想你第一反映学习率,毕竟学习率的大小决定你选择的模型是否到达局部最优,如果设置大了,模型可能越过最优值,或者在某个区间反复循环,如果设置小了,模型可能在某个相对平缓且不是局部最小点停止,这里我指的是最初的随机梯度下降法,固定大小的学习率会出现的问题。为了解决这个问题,后面出现了各种优化器克服陷入死循环,取得不是局部最优值的问题,比如下面这些优化器都从不同的角度解决了相应的问题,后面我会逐个分析各个优化器的优缺点。

深度学习面试1:调参绝杀技

除了学习率,还有迭代次数、batch、dropout的参数,网络模型构建的参数:包含卷积核的大小,卷积层的深度,卷积池的大小,RNN细胞的个数、RNN的层数等;如果使用logistic.svm等机器学习方法,正则化的系数,SVM中高斯核函数的宽度sigm,KNN中的n等那么对于这些参数如何设定需要根据不同的算法以及对应解决的问题来设定,下面从大的方向上让你获得绝杀技(参数如何设定)?

调参是深度学习者毕竟之路,有没有向我一样,出入深度学习领域,训练一个网络模型,需要用1天才调整好迭代次数的参数,我的方式是先通过设定一个较小的迭代次数,跑一次模型,看一次效果,不断的加大迭代次数,来训练观察模型的训练效果,如果达到相对平稳的状态,就设定该次为以后固定的迭代次数。啊。。。多老实的训练方法,真的是训练一个模型就一直盯者电脑。。。。真的是累到头疼,后来我就在想我可以一次性设置一个相对很大的迭代次数,然后在模型的精度和损失都相对不再变化时自动提前停止模型训练,这样就一次性捕获到最优迭代次数。。。。

总结一下常用的参数设置方法:

1.猜测和检查:根据经验或者直觉,选择参数,一直迭代

2.网格搜索:让计算机尝试在一定范围内均匀分布的