機器學習與神經網路的墨菲定律
本著「任何可能出錯的事情都會出錯」的精神,這些定律抓住了現實世界中使用機器學習和神經網路的怪癖和挑戰。它們源自於我們的模型投入生產時所面臨的實際問題。
法律
- 關鍵應用定律:應用越關鍵,神經網路就越有可能無法泛化。
- 過度複雜性法則:神經網路的複雜性總是會超過可用數據。
- 過早部署定律:需要數週時間訓練的神經網路模型將在部署後幾分鐘內發現錯誤。
- 可解釋性逆定律:最準確的模型將是最不可解釋的。
- 超參數不一致定律:在上一個項目中效果最好的超參數對於當前項目來說將是最糟糕的。
- 分層混亂法則:增加的層越多,理解的就越少。
- 驗證監督法則:驗證集的準確率達到 99% 通常意味著您忘記包含一類關鍵資料。
- 盲目架構法則:如果你不了解架構,增加更多層也無濟於事。
- 模型過時定律:當您部署最先進的模型時,就會出現一篇新論文,使其過時。
- 置信度錯位定律:神經網路對其預測的置信度與其在最關鍵時刻的準確性成反比。
- GPU 的最後喘息定律:GPU 將在為期一周的訓練結束前幾分鐘崩潰。
- 隨機調整法則:神經網路調整越多,它就越接近隨機數產生器。
- 訓練持續時間的欺騙法則:花費數天訓練的模型將被花費幾分鐘訓練的簡單模型所超越。
- 文件滯後法則:最新神經網路框架的文檔總是落後一個版本。
- 模型複雜性定律諷刺:最複雜的模型將獲得與相同資料的線性迴歸相似的表現。
- 超參數後見之明定律:停止搜尋後總是會找到最好的超參數。
- 複製焦慮定律:當你無法複製你的結果的時候,就是你的老闆要求你複製結果的時候。
- 意外輸入法則:每個神經網路都有一組特殊的輸入,這些輸入會使其表現出意外,並且您只會在生產中發現它們。
- 簡單錯誤定律:無論模型多麼先進,它的錯誤對人類來說總是顯得簡單得愚蠢。
- 深度定律:網路越深,在部署之前梯度消失問題就越難以捉摸。
- 遞歸定律:您的 RNN 會記住所有內容,除了至關重要的一個序列模式。
- 門控記憶法則:當你決定 LSTM 已經解決了你的序列問題時,你的數據就會進化來證明你錯了。
- 雙向定律:當 BiLSTM 開始有意義時,您的序列將在其他地方引起注意。
- 卷積定律:最關鍵的特徵總是位於 CNN 的感受野之外。
- 本地接收定律:在煞費苦心地優化 CNN 的核心大小之後,輸入解析度的變化將使其變得無關緊要。
- 注意力法則:您的模型將按順序關注除最相關部分之外的所有內容。
- 自註意法則:當 Transformer 發生故障時,它會出現在你最意想不到的輸入上。
- 遷移學習法則:您的任務越具體,預訓練模式的可遷移性就越差。
- 強化法則:你的代理人將掌握每一種策略,除了在現實世界中最大化獎勵的策略。
- 環境動力學定律:一旦你的 RL 模型看起來很完美,環境就會突然變得不穩定。
- 大模型定律:模型越大,最簡單的錯誤就越尷尬。
- 過度參數化法則:最過度擬合的模型在測試期間可以完美地概括,但在現實世界中卻會慘敗。
- 梯度流定律:最需要梯度的層就是梯度消失的地方。
- 模態適應定律:當您針對非影像資料微調 CNN 時,您會發現一個資料集,其中簡單的 ANN 效能優於它。
- 動態架構定律:網路越動態,就越難解釋其突然發生的故障。
- 對抗魯棒定律:你沒有準備好的對抗攻擊將是你遇到的第一個攻擊。
- 多模態法則:每當組合資料類型時,網路都會在一種資料類型中表現出色,而在另一種資料類型中則表現不佳。
- 稀疏法則:您最修剪的網路將錯過一個關鍵的連接。
- 神經可塑性定律:在你重新利用神經網路的第二天,它就會渴望完成原來的任務。
- 監督錯覺定律:在監督式學習中,模型與訓練資料的擬合越精確,它就越相信自己理解了世界-直到它滿足現實世界的資料。
?貢獻
如果您在經驗中遇到了其他「法律」或有任何建議或改進,請隨時提交 PR。讓我們一起擴大這個列表,為我們日常的機器學習鬥爭帶來一點幽默。
?執照
該儲存庫已根據 MIT 許可證獲得許可。
致謝
- 受到墨菲定律和世界各地機器學習從業者的集體智慧(和痛苦)的啟發。
- 特別感謝 ML 社群分享的經驗和見解。
- 靈感來自安吉洛州立大學部落格上的墨菲定律集。