深度学习-超参数调整总结

在深度神经网络中,超参数的调整是一项必备技能,经过观察在训练过程当中的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,及时调整超参数以更科学地训练模型可以提升资源利用率。在本研究中使用了如下超参数,下面将分别介绍并总结了不一样超参数的调整规则。

 

(1)学习率算法

学习率(learning rate或做lr)是指在优化算法中更新网络权重的幅度大小。学习率能够是恒定的、逐渐下降的,基于动量的或者是自适应的。不一样的优化算法决定不一样的学习率。当学习率过大则可能致使模型不收敛,损失loss不断上下震荡;学习率太小则致使模型收敛速度偏慢,须要更长的时间训练。一般lr取值为[0.01,0.001,0.0001]网络

(2)批次大小batch_size函数

批次大小是每一次训练神经网络送入模型的样本数,在卷积神经网络中,大批次一般可以使网络更快收敛,但因为内存资源的限制,批次过大可能会致使内存不够用或程序内核崩溃。bath_size一般取值为[16,32,64,128]学习

(3)优化器optimizer测试

目前Adam是快速收敛且常被使用的优化器。随机梯度降低(SGD)虽然收敛偏慢,可是加入动量Momentum可加快收敛,同时带动量的随机梯度降低算法有更好的最优解,即模型收敛后会有更高的准确性。一般若追求速度则用Adam更多。优化

(4)迭代次数内存

迭代次数是指整个训练集输入到神经网络进行训练的次数,当测试错误率和训练错误率相差较小时,可认为当前迭代次数合适;当测试错误率先变小后变大时则说明迭代次数过大了,须要减少迭代次数,不然容易出现过拟合。资源

(5)激活函数深度学习

在神经网络中,激活函数不是真的去激活什么,而是用激活函数给神经网络加入一些非线性因素,使得网络能够更好地解决较为复杂的问题。好比有些问题是线性可分的,而现实场景中更多问题不是线性可分的,若不使用激活函数则难以拟合非线性问题,测试时会有低准确率。因此激活函数主要是非线性的,如sigmoid、tanh、relu。sigmoid函数一般用于二分类,但要防止梯度消失,故适合浅层神经网络且须要配备较小的初始化权重,tanh函数具备中心对称性,适合于有对称性的二分类。在深度学习中,relu是使用最多的激活函数,简单又避免了梯度消失。io

相关文章
相关标签/搜索