怎么优化深层神经网络(超参、正则以及优化)

深度学习优化:超参数、正则化与网络调整
本文探讨了优化深层神经网络的方法,包括训练集和测试集的划分、偏差与方差的权衡、正则化策略如L2和dropout,以及超参数调试,如学习速率、Momentum、mini-batch大小和隐藏单元数量。强调了正则化和调整超参数在避免过拟合和提高模型性能中的重要性。

在训练神经网络时,我们需要做出很多决策,比如:神经网络分多少层;每层含有多少个隐藏单元;学习速率是多少;各层采用哪些激活函数等等。

我们不可能从一开始就准确的预测出这些超参数,因为应用机器学习是一个高度迭代的过程,通常在项目启动时,我们会先有一个初步的想法,比如构建一个含有特定层数,隐藏单元数量或数据集个数等等的神经网络,然后编码,并尝试运行这些代码,通过运行和测试得到该神经网络或这些配置信息的运行结果,你可能会根据输出结果重新完善自己的想法,改变策略,或者为了找到更好的神经网络不断迭代更新自己的方案。对于很多应用系统,即使是经验丰富的深度学习工作者也不太可能一开始就预设出最匹配的超级参数。

(一)训练集和测试机的划分

针对小数据,常见的做法有三七分,或者622,或者K折交叉验证;但是如果拥有百万数据,我们只需要1000条数据,便足以评估单个分类器。假设我们有100万条数据,其中1万条作为验证集,1万条作为测试集,对于数据量过百万的应用,训练集可以占到99.5%,验证和测试集各占0.25%。

注意:最好确保验证集和测试集的数据来自同一分布。

(二)偏差和方差的权衡

高偏差对应欠拟合,高方差对应过拟合。

初始模型训练完后,首先我们需要知道算法的偏差高不高,如果偏差很高的话,甚至无法拟合训练集,那么你要做的就是选择一个新的网络,比如含有更多隐藏层或者隐藏单元的网络,或者花费更多时间来训练网络,或者尝试更先进的优化算法,这些可能有用,也可能没用。

高偏差和高方差是两种不同的情况,通常我们会用验证集来诊断算法是否存在偏差或方差问题,然后根据结果去尝试部分方法,比如如果算法存在高偏差问题,其实准备更多训练数据其实也没有太大的用处,至少这不是更有效的方法。

在当前的深度学习和大数据时代,只要持续训练一个更大的网络,准备更多的数据,正则适中,通常构建一个更大的网络便可以在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值