Py学习  »  机器学习算法

深度学习调参最全指南!(附对应pdf)

kaggle竞赛宝典 • 10 月前 • 135 次点击  
↑↑↑关注后"星标"kaggle竞赛宝典
  kaggle竞赛宝典  
作者:文章摘自算法进阶

深度学习调参(炼丹)的权威指南!

简介
「大量的实践经验已被提炼成这份强大的深度学习模型调参指南。」——Geoffrey Hinton。
在深度学习训练中,常因为神经网络模型的超参数繁多,训练调个参数需要大量算力及耗费大量时间。找到的不同的超参数,有时带来的差异也是巨大的。在这种客观情况下,超参数调整成为一门公认的玄学(炼丹学)。


在平时的模型开发中,每个人都会根据自己的实际经验进行模型调参,最终可能得出的调参经验(迷信)如:
  • Random seed = 42 是个万能调参技巧(注:42这个特殊数字, 源于科幻小说银河系漫游指南在书的最后,超级计算机Deep Thought揭示了“生命、宇宙和一切”这个重大问题的答案是 “42”)-------- 有一说一,我也非常擅长调随机种子!
  • Batch大小应该是 2 的幂次方
  • 神经网络各层神经元数目要按照1/2衰减
  • ...

我们也常常需要借助一些自动化调参工具较为快速地训练模型,如:
  • 网格/随机搜索(Grid / Random Search):是对超参数组合的子集简单地做固定次数的随机搜索,找到表现最佳的超参数子集。对于规模较大的参数空间,采用随机搜索往往效率更高。
  • 贝叶斯优化(Bayesian Optimization):与网格/随机搜索最大的不同,在于考虑了历史调参的信息,使得调参更有效率。(但在高维参数空间下,贝叶斯优化复杂度较高,效果会近似随机搜索。)
自动化调参工具对于常见的集成学习树模型、逻辑回归、KNN什么的是游刃有余的,但是,由于神经网络模型的复杂性,这些工具在暴力搜索过程,也是要耗费大量的算力时间的,如果不讲究点优化策略,也是没啥卵用。。

为了破解炼丹奥秘,近期来自谷歌大脑、哈佛大学的研究人员发布了《Deep Learning Tuning Playbook》,为深度学习提供了份系统及科学地调参理论!
项目地址:https://github.com/google-research/tuning_playbook
项目 GitHub 上线仅一天就已收获了上千 Star 量,并获得 Geoffrey Hinton老爷子的好评!如下翻译版的正文(可关注公众号-算法进阶,回复【tiao】获取本文的PDF版本):

如下项目地址阅读英文版原文!
https://github.com/google-research/tuning_playbook
如果想获取pdf可以公众号后台回复:“调参指南”
 


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156060
 
135 次点击