資源
訓練神經網路是不容易的。有時他們沒有學全(欠擬合)。有時他們學習的準確,你給他們什麼,他們的知識不能歸納出新的,無形的資料(過擬合)。這裡有很多方法可以來處裡這些問題。- 2.8-2.11. 正規化,參數初始化等。 ★★
- 7.5. 退出 ★★
- 6 (上半部) 設定資料與遺漏 ★★
- 3. 改善神經網路學習的方式 ★
- 5. 為何深度神經網路很難訓練? ★
- 7. 正則深度學習 ★★★
- 8. 優化深度訓練模式 ★★★
- 11. 實用方法 ★★★
- ConvNetJS 訓練機演示 MNIST -可視化的不同的優化算法的性能 ★
- 梯度下降優化算法的概述 ★★★
- 神經網絡,歧管,和拓撲 ★★★
工具
這裡有很多架構提供標準的演算法,並對硬體做了最佳化。很多架構有Python介面,像Torch例外,就需要Lua。一但你知道基礎的學習演算法如何實作。是時候選擇一種架構來建製它。- Theano 提供最低階建立所有類型的神經網路。它由 Montreal大學的機器學習團隊維護。可參考: 為你的Theano與GPU神經網路提速 - 可在Jupyter notebook 上實做 ★
- TensorFlow 是另一個低階的架構。它的架構與 Theano相似。Google大腦團隊維護。
- Torch 是一個熱門的架構,使用的語言是 Lua 。 主要的缺點是 Lua社群沒有Python來的大。Torch主要由Facebook 與 Twitter負責維護。
這裡也有許多高階的架構,運行其上:
- Lasagne是一個高階的架構,建立在Theano之上。提供簡單的函式來建立一個巨大的網路,只需要幾行程式碼。
- Keras 是一個更高階的架構,運行在Theano或 TensorFlow之上。
- 假如你不能確定哪個架構適合你,可以參考這個指導手冊,閱讀 史丹佛課程 CS231n第12講。 ★★
沒有留言:
張貼留言