成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

神經網絡debug太難了,這里有六個實用技巧

開發 開發工具 深度學習
在面對各種各樣的問題后,有人總結了一些幫助調試神經網絡的實用 tips,希望能夠減少大家調試神經網絡的成本。

基于神經網絡的項目瓶頸通常并非對網絡的實現。有時候,在編寫了所有代碼并嘗試了一大堆超參數配置之后,網絡就是無法正常工作。尤其是面對著數百萬的參數, 任何一個小變動都有可能前功盡棄。

在面對各種各樣的問題后,有人總結了一些幫助調試神經網絡的實用 tips,希望能夠減少大家調試神經網絡的成本。

[[405264]]

檢查梯度問題

有時梯度是引發問題的原因。下面是幾種與梯度相關的調試方法:

  • 數值計算每個權重的梯度。這通常被稱為「梯度檢查」,有助于確保正確計算梯度,其中一種方法是使用有限差分。
  • 比較每個權重的大小和梯度的大小。要確保大小的比率是合理的。如果梯度大小遠小于權重大小,網絡將花費很長時間進行訓練。如果梯度大小與權重大小大致相同或更大,網絡將非常不穩定,可能根本不會訓練。
  • 檢查梯度爆炸或消失。如果梯度變為 0 或 nan/infinity,則可以確定網絡沒有被正確訓練。需要首先弄清楚為什么會發生爆炸 / 消失梯度,是否步數太大。一旦弄清楚梯度爆炸 / 消失的原因,就有各種解決方案來解決這個問題,例如添加殘差連接以更好地傳播梯度或簡單地使用較小的網絡。
  • 激活函數也會導致梯度爆炸 / 消失。如果 sigmoid 激活函數的輸入太大,梯度將非常接近 0。隨著時間的推移檢查激活函數的輸入,然后確保這些輸入不會導致梯度始終為 0 或很大。

檢查訓練過程

經常檢查網絡的訓練進度可以節省時間。以訓練貪吃蛇游戲為例,不是訓練網絡好幾天,然后再檢查網絡是否學到了什么,而是每十分鐘用當前學到的權重運行游戲。幾個小時后,如果我們注意到每次都在做同樣的事情并且獲得零獎勵,就知道可能有問題了,而這節省了幾天的訓練時間。

不要依賴定量輸出

如果只查看定量輸出,我們可能會錯過有用的調試信息。例如,在訓練語音翻譯網絡時,比起只檢查評估函數是否在減少,更重要的是閱讀翻譯后的語音以確保它有意義;當訓練一個用于圖像識別的網絡時,一定要確保手動檢查網絡提供的標簽。

不應該依賴定量輸出的原因有兩個:首先,評估函數中可能存在錯誤。如果只查看錯誤評估函數輸出的數字,可能需要數周時間才能意識到出現問題。其次,在神經網絡輸出中可能存在無法定量顯示的錯誤模式。我們可能會意識到某個特定單詞總是被錯誤翻譯,或者在左上象限的圖像識別網絡總是錯誤的。這些觀察結果反過來可以幫助找到數據處理部分的代碼 bug,否則這些 bug 將被忽視。

嘗試小數據集

確定代碼是否存在 bug 或數據是否難以訓練的另一種方法是首先擬合較小的數據集,比如將數據集中 100000 個訓練示例修剪成只有 100 個甚至 1 個訓練示例。如果在一個訓練示例的情況下,網絡仍然有很高的測試錯誤,不能夠非常好地擬合數據,那么幾乎可以肯定網絡代碼有問題。

嘗試更簡單的網絡

如果全尺寸網絡在訓練時遇到問題,可以嘗試使用層數較少的較小網絡,這樣可以更快地訓練。如果較小的網絡在全尺寸網絡失敗的情況下成功了,則表明全尺寸模型的網絡架構過于復雜。如果簡單網絡和全尺寸網絡都失敗,則代碼中可能存在 bug。

試著使用框架

如果沒有使用機器學習框架編寫神經網絡的代碼,那么可以通過在機器學習框架中編寫相同的網絡架構來檢查問題何在。然后將打印語句放入非框架版本和框架版本中逐層比較輸出,直到找到打印語句出現差異的位置,即錯誤所在。如果在反向傳播期間發生錯誤,則可以從最后一層開始逐層打印權重的漸變,直到找到差異。但是此方法僅適用于網絡的第一次迭代,因為由于第一次迭代輸出的差異,第二次及以后的迭代將具有不同的起點。

參考內容:https://towardsdatascience.com/debugging-tips-for-neural-networks-f7dc699d6845

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】 

戳這里,看該作者更多好文

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2024-01-08 18:05:19

PyCharm技巧功能

2021-01-21 08:00:00

開發工具VS Code

2023-10-10 18:00:49

Python編程語言

2022-04-04 21:33:48

進度條Python

2024-11-26 14:18:44

Python代碼技巧

2021-08-24 00:13:23

Windows 10Windows微軟

2023-05-16 16:03:10

2018-12-25 08:58:46

2019-04-01 07:36:47

深度學習神經網絡機器學習

2021-10-06 13:49:45

網絡安全風險管理信息安全

2009-09-04 10:27:28

Linux實用技巧linux操作系統linux

2022-03-23 09:18:10

Git技巧Linux

2018-03-25 09:11:31

大數據機器學習分析軟件

2009-12-21 15:50:39

2020-05-22 13:32:24

可視化詞云圖數據

2021-10-13 17:58:57

模型人工智能函數

2022-04-29 17:03:37

WordPress開發者網站安全

2024-05-22 09:29:43

2022-12-19 14:38:59

2009-01-03 09:34:30

ASP.NET.NET性能優化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜精品久久久久久久久久久久 | 欧美日韩不卡 | 欧美日韩成人影院 | 亚洲高清在线 | 精品国产一区二区三区久久久四川 | 国产精品99久久久久久www | 日韩一区二区三区视频在线观看 | 国产激情在线 | 国产精品国产三级国产aⅴ原创 | 九九九久久国产免费 | 久久美国 | 欧美成人a | 台湾佬久久 | 午夜极品| 日韩欧美国产综合 | 成年人在线观看 | 久久久久亚洲精品国产 | 美国一级毛片a | 一区二区三区影院 | 日韩不卡一区二区三区 | 免费在线视频一区二区 | 欧美精品中文 | 欧美一级免费黄色片 | 欧美精品欧美精品系列 | 国产一区久久精品 | 91中文字幕在线 | 久久精品网 | 免费成人在线网 | 日韩资源 | 欧洲一区二区视频 | 成人免费黄色 | 最新中文字幕久久 | 国产免费福利在线 | 狠狠操狠狠搞 | 精品久久久久久亚洲精品 | 一区二区在线 | 亚洲一区在线日韩在线深爱 | 天天操天天怕 | 2019天天操 | 国产香蕉视频在线播放 | 日韩欧美在线视频观看 |