学界 | 李飞飞高徒Andrej Karpathy提醒你,小心搭建神经网络的六个坑

简介: 继Ian Goodfellow的推特小课堂之后,特斯拉的人工智能研究负责人、李飞飞斯坦福高徒Andrej Karpathy也在twitter上分享了他对神经网络的一些研究技巧。

继Ian Goodfellow的推特小课堂之后,特斯拉的人工智能研究负责人、李飞飞斯坦福高徒Andrej Karpathy也在twitter上分享了他对神经网络的一些研究技巧。

昨晚,他连发几条twitter,细数了六种神经网络研究中的常见错误。引发了一波研究者们对于自己入过坑的吐槽。

image

来看一下Ian Goodfellow让你当心的这六个坑吧:

最常见的神经网络错误:
没有先试过所有数据一批处理
忘了为网络切换训练/评估模式
忘了在.backward()之前.zero_grad()(在pytorch中)
将softmaxed输出传递给预期原始logits的损失
使用BatchNorm时,您没有对线性/ 二维卷积层使用bias = False,或者反过来忘记将其包含在输出层中。 这个倒不会让你失败,但它们是虚假的参数
以为view()和permute()是一样的事情(不正确地使用view)

之后,在评论区,也有读者针对“对数据初始化”展开了讨论。

对此,Ian也进一步详细解释:

是的,有几次我重新打开数据,得到的损失值却一致,而且如果这样做会产生一个漂亮的损失曲线,这表明对数据初始化并不是明智的做法。我有时喜欢调整最后一层偏差,使之接近基础分布。

我喜欢先从最简单的开始,例如,先对所有未处理的数据进行训练,看看基本输出分布的表现如何,然后逐增加输入和扩大网络,确保每次都比以前的表现更好。

原文发布时间为:2018-07-03
本文作者:文摘菌
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”。

相关文章
|
机器学习/深度学习 算法 大数据
学界 | Ian Goodfellow最新论文:是猫还是狗?不光神经网络识别不了,你也能被忽悠
根据胡子、鼻子较短判断,左边的似乎是猫。但是再看看右边,这明显是只狼狗吧(诡异的戴着蝴蝶结的狼狗orz)。但是这明明是一张图啊?怎么回事? 都是深度学习搞的鬼。 这是Ian Goodfellow大神2月22号最新论文里的成果。
2341 0
|
机器学习/深度学习 自然语言处理 程序员
Andrej Karpathy:神经网络是“软件2.0”,而非机器学习的一种工具
深度学习和计算机视觉专家、特斯拉人工智能部门主管Andrej Karpathy最近提出将神经网络视为Software 2.0,而非“机器学习中的一种工具”,讨论了Software 2.0在机器视觉、语音识别、机器翻译等领域逐渐取代“Software 1.0”的应用,以及它的优势和局限。
2137 0
|
7天前
|
网络协议 算法 Linux
【Linux】深入探索:Linux网络调试、追踪与优化
【Linux】深入探索:Linux网络调试、追踪与优化
|
1天前
|
Linux Shell 网络安全
网络安全中Dos和linux常用命令总结
本篇是对网安学习中,常用的命令做一个图文与命令示例,并对一些比较重要的dos和shell命令进行总结,方便自己后续学习进行查询,并希望能够给更多人有一个总结命令和了解命令的地方.
22 5
|
4天前
|
Ubuntu 网络协议 Linux
|
4天前
|
JSON 网络协议 Linux
Linux ip命令:网络的瑞士军刀
【4月更文挑战第25天】
9 1
|
6天前
|
缓存 网络协议 Linux
Linux 网络命令大全,详细归纳!
【4月更文挑战第24天】
30 3
Linux 网络命令大全,详细归纳!