30、深度神经网络的超参数调优与训练难题解决

深度神经网络超参数调优与训练难题

深度神经网络的超参数调优与训练难题解决

1. 神经网络隐藏层与神经元数量设置

在构建神经网络时,隐藏层和神经元数量的设置十分关键。对于MNIST数据集的典型神经网络,可能会设置3个隐藏层,分别包含300、200和100个神经元。不过,现在这种做法大多已被摒弃,因为在多数情况下,所有隐藏层使用相同数量的神经元效果相当,甚至更好,而且只需调整一个超参数,而非每层都要调整。但根据数据集的不同,有时将第一个隐藏层设置得比其他层大可能会有帮助。

就像调整层数一样,你可以逐步增加神经元数量,直到网络开始过拟合。然而在实践中,更简单有效的方法是选择一个层数和神经元数都比实际需求多的模型,然后使用早停法和其他正则化技术来防止过拟合。谷歌科学家Vincent Vanhoucke将这种方法称为“伸缩裤”方法,即不用浪费时间寻找完全合身的裤子,而是选择大的伸缩裤,它会收缩到合适的尺寸。采用这种方法可以避免可能破坏模型的瓶颈层。反之,如果某一层的神经元太少,它就没有足够的表示能力来保留输入中的所有有用信息。

一般来说,增加层数比增加每层的神经元数量更划算。

2. 重要超参数及设置技巧

2.1 学习率

学习率可以说是最重要的超参数。通常,最佳学习率约为最大学习率的一半(最大学习率是指超过该值训练算法就会发散的学习率)。找到合适学习率的一种方法是,从非常低的学习率(如10⁻⁵)开始,逐步增加到非常大的值(如10),对模型进行几百次迭代训练。每次迭代时将学习率乘以一个常数因子(例如,通过exp(log(10⁶)/500)在500次迭代内从10⁻⁵增加到10)。如果将损失绘制成学习率的函数(学习率使用对数刻度),你会发现损失一开始会下降,但过一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值