李飞飞高徒Andrej Karpathy提醒你,小心搭建神经网络的六个坑
大数据文摘编辑组出品
继Ian Goodfellow的推特小课堂之后,特斯拉的人工智能研究负责人、李飞飞斯坦福高徒Andrej Karpathy也在twitter上分享了他对神经网络的一些研究技巧。
昨晚,他连发几条twitter,细数了六种神经网络研究中的常见错误。引发了一波研究者们对于自己入过坑的吐槽。
来看一下Andrej Karpathy让你当心的这六个坑吧:
最常见的神经网络错误:
- 没有先试过所有数据一批处理
- 忘了为网络切换训练/评估模式
- 忘了在.backward()之前.zero_grad()(在pytorch中)
- 将softmaxed输出传递给预期原始logits的损失
- 使用BatchNorm时,您没有对线性/ 二维卷积层使用bias = False,或者反过来忘记将其包含在输出层中。 这个倒不会让你失败,但它们是虚假的参数
- 以为view()和permute()是一样的事情(不正确地使用view)
之后,在评论区,也有读者针对“对数据初始化”展开了讨论。
对此,他也进一步详细解释:
是的,有几次我重新打开数据,得到的损失值却一致,而且如果这样做会产生一个漂亮的损失曲线,这表明对数据初始化并不是明智的做法。我有时喜欢调整最后一层偏差,使之接近基础分布。
我喜欢先从最简单的开始,例如,先对所有未处理的数据进行训练,看看基本输出分布的表现如何,然后逐增加输入和扩大网络,确保每次都比以前的表现更好。
相关推荐
littlethunder 2020-04-27
seeyousoonhhh 2020-04-07
yuanlunxi 2019-12-05
scarletouyang 2019-10-19
xiangzcsdn 2019-10-23
songfeidream 2019-10-27
ZLXiong 2019-09-07
bnet0 2019-06-28
DoctorCuiLab 2019-06-17
freefly 2019-04-28
hnyzyty 2019-04-29
anchker 2018-09-11
UESchool 2018-06-28
Xdmword 2018-05-11
Xdmword 2018-10-26
qudaqu 2018-03-09
electech 2017-11-07
gad 2017-08-14
cetrolchen 2019-04-26