深度学习模型性能及网络调参
Posted HALCON图像处理与机器视觉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习模型性能及网络调参相关的知识,希望对你有一定的参考价值。
深度学习有很多的参数需要优化,调整训练数据或是问题的抽象定义方法可能会带来巨大的效果改善,甚至是显著的改善。
1、提升模型容量
要想提升模型容量,可以向深度网络逐渐添加层和节点,更深的层会输出更复杂的模型数据。调参过程更重实践而非理论,所以逐渐添加层和节点,可以与模型过拟合,而后面可以用正则化方式再将其调低。
2、模型与数据集设计变化
我们应该在激活函数之前密切监控激活直方图,如果它们的规模差别很大,不以零为中心或非正态分布时,那么梯度下降将会无效,使用归一化。如果深度网络有大量无效节点,那么我们应该进一步追踪该问题。它可能是由bug、权重初始化或梯度消失导致的。如果都不是,则试验一些高级ReLU函数。
3、数据集收集与清洗
如果要构建自己的数据集,最好就是仔细研究如何收集样本,找最优质的资源,过滤掉与问题无关的所有数据,分析误差。可以添加卷积层和小型滤波器来改变模型,亦可以精细化项目范围,缩小样本范围。
4、数据增强
对于图片来说,我们可以使用数据增强方法如旋转、随机剪裁、移位等方式来对已有数据进行修改,生成更多的数据,以便后续收集有标签的数据做为训练样本。
5、半监督学习
可以使用无标注数据补充训练数据,使用模型分类数据,把具备高置信预测的样本添加到具备对应标签预测的训练数据集中。
6、调整参数
1、学习率调整
2、超参数调整
3、稀疏度
4、激活函数
5、高级调参
7、网格搜索
一些超参数是高度相关的。我们应该使用对数尺度上的可能性网格一起调整它们。网格搜索的计算量很大,对于较小的项目,它们会被零星使用。开始用较少的迭代来调整粗粒度参数,在后期的细调阶段,我们会使用更长的迭代,并将数值调至3(或更低)。
8、模型集合
在机器学习中,我们可以从决策树中投票进行预测。在深度学习中,可以从随机猜测开始训练,优化模型也不是唯一的。使用验证数据集测试多次选出表现最佳的模型,也可以让多个模型进行内部投票,最终输出预测结果。
9、模型提升
在微调模型以外,也可以尝试使用模型的不同变体来提升模块性能,性能重大提升的背后往往是模型设计的改变。不过有些时候对模型进行微调也可以提升机器学习的性能,最终的判断可能会取决于你对相应任务的基准测试结果。
10、实验框架
深度学习开发需要依赖大量经验,调节超参数是一件非常乏味的工作。创建实验框架可以加速这一过程。例如:将模型定义外化为字符串以便调节,但是通常不能为小团队带来收益。这样做的话代码的简洁性和可追溯性损失会远比受益要大,这意味着难以对代码进行简单的修改。
很多AI云产品已经开始提供自动调节超参数的特性,虽然目前这种技术仍处于初始阶段,但无需人类自己编写框架的流程应该是大势所趋。
免责声明:
本站部分公开资料来源于网络,如果您发现有侵犯您的知识产权作品,请与我们取得联系,我们会及时修改或删除。
以上是关于深度学习模型性能及网络调参的主要内容,如果未能解决你的问题,请参考以下文章