學界 !李飛飛高徒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也進一步詳細解釋:

是的,有幾次我重新打開數據,得到的損失值卻一致,而且如果這樣做會產生一個漂亮的損失曲線,這表明對數據初始化並不是明智的做法。我有時喜歡調整最後一層偏差,使之接近基礎分佈。

我喜歡先從最簡單的開始,例如,先對所有未處理的數據進行訓練,看看基本輸出分佈的表現如何,然後逐增加輸入和擴大網絡,確保每次都比以前的表現更好。請添加鏈接描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章