加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

出神入化:特斯拉AI主管、李飞飞高徒Karpathy的33个神经网络「炼丹」技巧

发布时间:2019-04-30 13:14:36 所属栏目:经验 来源:机器之心编译
导读:Andrej Karpathy 是深度学习计算机视觉领域、生成式模型与强化学习领域的研究员。博士期间师从李飞飞。在读博期间,两次在谷歌实习,研究在 Youtube 视频上的大规模特征学习,2015 年在 DeepMind 实习,研究深度强化学习。毕业后,Karpathy 成为 OpenAI 的

最后,为了更加确保网络是个合理的分类器,我喜欢可视化网络第一层的权重,确保自己获得了有意义的边缘。如果第一层的滤波器看起来像噪声,那需要去掉些东西。类似地,网络内的激活函数有时候也会揭示出一些问题。

5. 精调

现在你应该位于数据集一环,探索取得较低验证损失的架构模型空间。这一步的一些技巧包括:

  • 随机网格搜索:在同时精调多个超参数时,使用网格搜索听起来更诱惑,能够确保覆盖到所有环境。但记住,使用随机搜索反而是最佳方式。直观上,因为神经网络对一些参数更为敏感。在极限情况下,如果参数 a 很重要,改变 b 却没有影响,然后相比于多次在固定点采样,你宁可彻底采样 a。
  • 超参数优化:如今社区内有大量好的贝叶斯超参数优化工具箱,我的一些朋友用过后觉得很成功。但我的个人经验是,探索好的、宽的模型空间和超参数的最佳方法是找个实习生。开玩笑而已,哈哈哈。

6. 最后的压榨

一旦你找到最好的架构类型和超参数,依然可以使用更多的技巧让系统变得更好:

  • 集成:模型集成是能将准确率稳定提升 2% 的一种好方式。如果你承担不起测试阶段的计算成本,试着使用《Distilling the Knowledge in a Neural Network》中的方法把你的模型蒸馏到一个网络。
  • 一直训练:我经常看到一些人在验证损失趋平时会中断模型训练,以我的经验来看,网络会长时间保持非直观的训练。寒假时有一次我忘了关掉模型训练,一月回来后发现它取得了 SOTA 结果。

结论

一旦你做到了这些,你就具备了成功的所有要素:对神经网络、数据集和问题有了足够深的了解,配置好了完整的训练/评估体系,取得高置信度的准确率,逐渐探索更复杂的模型,提升每一步的表现。现在万事俱备,就可以去读大量论文,尝试大量实验并取得 SOTA 结果了。

原文链接:https://karpathy.github.io/2019/04/25/recipe/

【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】

戳这里,看该作者更多好文

【编辑推荐】

  1. Istio究竟是干嘛的?
  2. 马蜂窝火车票系统服务化改造初探
  3. 阿里大牛:如何画出一图胜千言的技术架构图?
  4. 可能是最易懂的Hbase架构原理解析
  5. 这里有8个流行的Python可视化工具包,你喜欢哪个?
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读