目前,包括計算機視覺、語音識別和機器人在內的諸多人工智能應用已廣泛使用了深度神經網絡(Deep Neural Networks,DNN)。DNN 在很多人工智能任務之中表現出當前最佳的準確度,但同時也存在著計算復雜度高的問題。
因此,那些能幫助DNN高效處理并提升效率和吞吐量,同時又無損于表現準確度或不會增加硬件成本的技術是在人工智能系統之中廣泛部署DNN的關鍵。所以在為深度神經網絡排除故障方面,我們要先考慮要尋找什么,再花時間追蹤故障,解決問題。
下面討論如何可視化深度學習模型和性能指標:
1、TensorBoard
在每一步追蹤每個動作、檢查結果是非常重要。在預置包如 TensorBoard 的幫助下,可視化模型和性能指標變得簡單。能夠有效地展示Tensorflow在運行過程中的計算圖、各種指標隨著時間的變化趨勢以及訓練中使用到的數據信息。
2、數據可視化
驗證模型數據的輸入和輸出,在向模型饋送數據之前,先保存一些訓練和驗證樣本用于視覺驗證。然后取消數據預處理,將像素值重新調整回 [0, 255],檢查多個批次,以確定沒有重復相同批次的數據。定期保存對應模型的輸出,可用于驗證和誤差分析。
3、損失&準確率
除了定期記錄損失和準確率之外,還可以記錄和繪制它們,以分析其長期趨勢。繪制損失圖能夠幫助我們調整學習率,損失的任意長期上升表明學習率太高了。如果學習率較低,則學習的速度變慢。
深度學習訓練可以在更高級別的數學精度上非常精確地進行,然后在運行時可以用較低精度的數學來實現,從而獲得改良的吞吐量、效率甚至延遲。所以保持高準確率對于最佳用戶體驗至關重要。
4、總結
權重&偏置
緊密監(jiān)控訓練出來的特征參數,出現大型權重是不正常的,正態(tài)分布的權重表明訓練過程很順利。權重更新較小,進而導致收斂速度變慢,這使會使得損失函數的優(yōu)化變得緩慢。在最壞的情況下,可能會完全停止神經網絡的進一步訓練。
激活
為了梯度下降以實現訓練的最佳性能,激活函數之前的節(jié)點輸出應該呈正態(tài)分布。如果不是,那么我們可能向卷積層應用歸一化,或者向RNN應用層歸一化,并將激活函數應用于其獲取該層的輸出并將其作為輸入饋送到下一個層。最后還需監(jiān)控激活函數之后無效節(jié)點的數量。
梯度
我們監(jiān)控每一層的梯度,以確定一個最嚴肅的深度學習問題:梯度消失或爆炸。如果梯度從最右層向最左層快速下降,導致于要用非常大的訓練輪數去訓練,那么就出現了梯度消失問題。如果在梯度下降的過程中每一次迭代的步長非常大,這對我們找到最優(yōu)解也就是最小值有非常大的阻礙,增加了我們的訓練難度,這就是梯度爆炸。
-
神經網絡
+關注
關注
42文章
4814瀏覽量
103609 -
人工智能
+關注
關注
1806文章
49019瀏覽量
249473 -
深度學習
+關注
關注
73文章
5561瀏覽量
122794
原文標題:可視化深度神經網絡模型和指標
文章出處:【微信號:NeXt8060,微信公眾號:HALCON圖像處理與機器視覺】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
TP3094如何對數字輸出的PCM進行一個性能指標測試?
參數變化和電路結構的改變對穩(wěn)壓電源性能指標有什么影響?
基于二次型性能指標學習算法的溫度控制
比較器的性能指標/分類/應用
檢測系統的性能指標
負反饋組態(tài)對放大電路性能指標的影響

評論