tensorflow调参方法及深度学习调参经验

一、tensorflow调参方法

(1)Grid Search:网格搜索,在所有候选的参数选择中,通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果。

(2)Random Search:

(3)Bayesin Optimization:贝叶斯优化;

二、深度学习调参经验

2.1 激活函数的选择:常用的激活函数有relu、leaky-relu、sigmoid、tanh等。对于输出层,多分类任务用softmax输出,二分类任务选用sigmoid输出。而对于中间隐层,则优先选择relu激活函数。另外,构建RNN时,要优先选用tanh激活函数。

2.2 学习率设定:一般学习率从0.1或0.01开始尝试。学习率设置太大会导致训练十分不稳定,设置太小会导致损失下降太慢。学习率一般要随着训练进行衰减。衰减系数设0.1,0.3,0.5均可,衰减时机,可以是验证集准确率不再上升时,或固定训练多少个周期以后自动衰减。

2.3 防止过拟合:一般常用的防止过拟合方法有L1、L2、dropout、提前终止、数据集扩充等。如果模型在训练集上表现良好但在测试集上表现欠佳,可以选择增大L1或L2正则的惩罚力度,或者增大dropout的随机失活概率(经验首先0.5);或者当随着训练的持续,在测试集上不增反降时,使用提前终止训练的方法。

2.4 优化器选择:如果数据是稀疏的,就用自适应方法,即Adagrad, Adadelta, RMSprop, Adam。整体来讲,Adam是最好的选择。SGD虽然能达到极小值,但是比其它算法用的时间长,而且可能被困在鞍点。如果需要更快的收敛,或者是训练更深更复杂的网络,需要用一种自适应的算法。

2.5 BN层:BN层具有加速训练速度,有效防止梯度消失与梯度爆炸,具有防止过拟合的效果。

2.6 自动调参方法:(见上)

2.7 参数随机初始化与数据预处理:参数初始化很重要,它决定了模型的训练速度,与是否可以躲开局部极小。数据预处理方法一般也就是采用数据归一化即可。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值