提升深度学习模型性能及网络调参

https://www.toutiao.com/a6637086018950398472/

图像处理与机器视觉 2018-12-25 10:42:00

深度学习有很多的参数需要优化,调整训练数据或是问题的抽象定义方法可能会带来巨大的效果改善,甚至是显著的改善。

1、提升模型容量

要想提升模型容量,可以向深度网络逐渐添加层和节点,更深的层会输出更复杂的模型数据。调参过程更重实践而非理论,所以逐渐添加层和节点,可以与模型过拟合,而后面可以用正则化方式再将其调低。

2、模型与数据集设计变化

我们应该在激活函数之前密切监控激活直方图,如果它们的规模差别很大,不以零为中心或非正态分布时,那么梯度下降将会无效,使用归一化。如果深度网络有大量无效节点,那么我们应该进一步追踪该问题。它可能是由bug、权重初始化或梯度消失导致的。如果都不是,则试验一些高级ReLU函数。

3、数据集收集与清洗

如果要构建自己的数据集,最好就是仔细研究如何收集样本,找最优质的资源,过滤掉与问题无关的所有数据,分析误差。可以添加卷积层和小型滤波器来改变模型,亦可以精细化项目范围,缩小样本范围。

4、数据增强

对于图片来说,我们可以使用数据增强方法如旋转、随机剪裁、移位等方式来对已有数据进行修改,生成更多的数据,以便后续收集有标签的数据做为训练样本。

5、半监督学习

可以使用无标注数据补充训练数据,使用模型分类数据,把具备高置信预测的样本添加到具备对应标签预测的训练数据集中。

6、调整参数

1、学习率调整

2、超参数调整

3、稀疏度

4、激活函数

5、高级调参

7、网格搜索

一些超参数是高度相关的。我们应该使用对数尺度上的可能性网格一起调整它们。网格搜索的计算量很大,对于较小的项目,它们会被零星使用。开始用较少的迭代来调整粗粒度参数,在后期的细调阶段,我们会使用更长的迭代,并将数值调至3(或更低)。

8、模型集合

在机器学习中,我们可以从决策树中投票进行预测。在深度学习中,可以从随机猜测开始训练,优化模型也不是唯一的。使用验证数据集测试多次选出表现最佳的模型,也可以让多个模型进行内部投票,最终输出预测结果。

9、模型提升

在微调模型以外,也可以尝试使用模型的不同变体来提升模块性能,性能重大提升的背后往往是模型设计的改变。不过有些时候对模型进行微调也可以提升机器学习的性能,最终的判断可能会取决于你对相应任务的基准测试结果。

10、实验框架

深度学习开发需要依赖大量经验,调节超参数是一件非常乏味的工作。创建实验框架可以加速这一过程。例如:将模型定义外化为字符串以便调节,但是通常不能为小团队带来收益。这样做的话代码的简洁性和可追溯性损失会远比受益要大,这意味着难以对代码进行简单的修改。

很多AI云产品已经开始提供自动调节超参数的特性,虽然目前这种技术仍处于初始阶段,但无需人类自己编写框架的流程应该是大势所趋。

提升深度学习模型性能及网络调参相关推荐

  1. 深度学习100问之提高深度学习模型训练效果(调参经验)

    声明 1)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除. 2)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢 ...

  2. 【AI不惑境】网络深度对深度学习模型性能有什么影响?

    大家好,这是专栏<AI不惑境>的第二篇文章,讲述模型深度与模型性能的关系. 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考.如果说学习是一个从模仿,到追随,到创造的过程 ...

  3. 理解学习率以及如何提升深度学习的性能

    https://www.toutiao.com/a6698879109432345100/ 作者:Hafidz Zulkifli编译:ronghuaiyang 导读 把学习率用好,也能提升深度学习模型 ...

  4. 4个提高深度学习模型性能的技巧

    点击上方"AI遇见机器学习",选择"星标"公众号 原创干货,第一时间送达 深度学习是一个广阔的领域,但我们大多数人在构建模型时都面临一些共同的难题 在这里,我们 ...

  5. 「AI不惑境」网络深度对深度学习模型性能有什么影响?

    https://www.toutiao.com/a6703349467061420557/ 大家好,这是专栏<AI不惑境>的第二篇文章,讲述模型深度与模型性能的关系. 进入到不惑境界,就是 ...

  6. 提升深度学习模型的表现,你需要这20个技巧

    选自machielearningmastery 机器之心编译 作者:Jason Brownlee 参与:杜夏德.陈晨.吴攀.Terrence.李亚洲 本文原文的作者 Jason Brownlee 是一 ...

  7. 提升深度学习模型泛化性的方法

    一个好的深度学习模型的目标是将训练数据很好地推广到问题领域的任何数据.这使我们可以对模型从未见过的数据进行将来的预测. 首先,当模型泛化性差的时候,我们需要找到其原因,当训练集能够很好地拟合,但是测试 ...

  8. 猫狗图像数据集上的深度学习模型性能对比

    LeNet模型简介 1. LeNet LeNet-5由七层组成(不包括输入层),每一层都包含可训练权重.通过卷积.池化等操作进行特征提取,最后利用全连接实现分类识别,下面是他的网络结构示意图: C:卷 ...

  9. Arimo利用Alluxio的内存能力提升深度学习模型的结果效率(Time-to-Result)

    深度学习算法通常被一些具体应用所采用,其中比较显著的应用领域包括计算机视觉.机器翻译.文本挖掘.欺诈检测等.深度学习的方法在大模型加大数据的场景下效果显著.与此同时,被设计用来处理大数据的分布式计算平 ...

最新文章

  1. 汇编语言子程序的汇编及与C程序的连接
  2. 进程线程区别,和线程初识
  3. restful解决什么问题_当您陷入RESTful,WordPress和一个困难的地方时,如何解决CMS问题...
  4. Django templates 和 urls 拆分
  5. 稳定性保障6步走:高可用系统大促作战指南!
  6. pandas无法打开.xlsx文件,xlrd.biffh.XLRDError: Excel xlsx file; not supported
  7. TOPSIS与模糊Borda 的组合应用(以第二届大湾区杯和国赛为案例)
  8. metasploit 中文系统安装失败问题
  9. 最近总结了串口(COM)读写操作的三种方式
  10. Azure CLI 简单入门
  11. html设置字体 圆体,css font-family字体大合集
  12. iOS越狱之Mac登录iPhone
  13. 乱世王者服务器维护,乱世王者微信534区仰不愧天开服时间表_乱世王者新区开服预告_第一手游网手游开服表...
  14. Google发布免费的SketchUp
  15. 百度搜索开放平台,百度搜索api
  16. 【SEED Labs 2.0】ARP Cache Poisoning Attack Lab
  17. 屏蔽 app 开屏广告,舒畅了
  18. legacy引导gpt分区_legacy支持gpt吗
  19. 网络直播平台搭建一个直播间的礼物系统
  20. HTB OnlyForYou WriteUp

热门文章

  1. 下载好了mysql 如何在命令行测试_MAC上安装MySQL,测试是否安装好了,在命令窗中作建表、查询等基本操作。-Go语言中文社区...
  2. 《预训练周刊》第36期: 谷歌提出梯度最大化增长方法GradMax
  3. 《预训练周刊》第5期:智源等研究力证:GPT语言理解能力不输BERT、盘点NLP预训练「兵器谱」...
  4. 庖丁解牛剖析国际学术论文写作的快速入门
  5. 2012年的这些经典书目你读了没?
  6. VS2010 + Qt5.3.2配置教程
  7. 网络国际治理系列 | WTO电子商务谈判合并文本数据跨境流动部分
  8. 张亚勤:深度学习更近一步,如何突破香农、冯诺依曼和摩尔瓶颈?
  9. 独家 | 一文读懂最大似然估计(附R代码)
  10. 30行代码,带你分分钟创建神经网络!(附工具教程)