嗨!一種訓練神經網絡的新方法:基於舊的 AI 想法的重新排列,混合了視頻遊戲中的 "存檔重玩"。 這是一種強迫 "踢" 的方法,可以在某些模型類型(特別是小型或異國情調的拓撲)卡住時將其救回。 盲目。進化。壓力。
我稱之為「挫折」:這就像重新啟動一個已保存的視頻遊戲並重試首領戰。 怎麼做? 取一個最後已知良好(LKG)時期,然後你殺死一個神經元。然後重新訓練。 與 Dropout 不同,損害不是批次中的瞬時噪音。 我們在模型改善之後再打破它。
在挫折(持續的[隨機]消融)中,損害是一個必須在下一個時期同時避免和填補的坑洞。 兩種策略:對一個神經元殺死所有權重(就像在隱藏層中),或者僅僅是進來的權重(就像對輸出logit)。
我們測試了簡單的 MLP 網絡拓撲,範圍從數百萬個參數到數百個,根據寬度(神經元數量)與深度(層數)對它們的「可訓練性」進行了分類。 PSA 拯救了一些 Dropout 和 Weight Decay 無法處理的模型:一個混沌狀態(藍色)。
這在破損的設計中也能運作,因為消失梯度問題使得反向傳播變得無用。 (當你沒有跳過連接時,這並不是那麼多層!) 此外,你可以將損壞分片,並在不同的 GPU 上同時訓練多個損壞的 LKGs。
這篇論文反映了第一個概念驗證,沒錯,整個想法有很多限制。 特別是這個齒輪在計算上是多麼浪費,或者它是在 MNIST 數據集(玩具)上,而不是 ImageNet。 但好消息!早期的 ResMLP 測試顯示出有希望的結果!
我們確實嘗試過徹底。我們測試了98種拓撲,其中許多具有參數匹配配置(不同的維度,相同的結果參數數量)。 我們測量了3種不同的PSA技術與3個對照組,每組進行了10次試驗。 總共進行了5,880次試驗。 可重複。
即使在消失梯度問題應該使訓練變得不可能的情況下(例如在一個 18x18 的簡單 MLP 中),PSA 仍然能夠通過攻擊 MNIST 的輸出 logits 來進行訓練。 不相信我?試試看吧!
這裡有很多有趣的小 "啊哈" 時刻。請記住,這些基本概念並不新穎。我們只是以新的方式排列它們,試圖做一些只有在 GPU 如此強大時才真正可行的事情。
未來工作: • 在 ResMLP、CNN 和 Transformers 上重現原始測試(ResMLP 修正了 VGP,但對於病態拓撲來說,PSA 似乎仍然有幫助) • 在 ImageNet 上嘗試 <- 成本高,但這是我們需要的真正證明。
觀察: • 一直殺死相同的輸出邏輯會持續產生「反專家」模型,當你查看它們的混淆矩陣時,可以看到閱讀障礙的表現(殺死 2 會導致分類溢出到 5、7 和 8) • 我們不必堅持隨機攻擊
為什麼這有價值? • 如果它能在更大的數據集和現代模型架構上運作,那麼我希望它能成為構建小型語言模型(SLMs)的有價值工具。
這裡有 GitHub 的論文和代碼:
1.53K