1. 程式人生 > >神經網路學習——入門(不定時更新)

神經網路學習——入門(不定時更新)

主要功能:分類識別(影象、語音、文字)。其中影象和語音:密集型矩陣,文字:稀疏型矩陣

網路結構:每層的節點不一定太多,但層數在一直增長。

更深的神經網路比寬的神經網路,學習花費更低。比如10層網路能解決的問題,如果用單層解決,可能需要幾千個節點。

每一層可以理解為一層理解力

如果每一個節點都是線性的,那麼它的組合就是線性的,那它的組合也只能是線性的。(節點是不是線性的,取決於它的啟用函式是不是線性的)

非線性的設計主要體現在神經元的設計上。

神經元的工作:

1.把輸入做線性組合

2.做非線性的處理。(通過啟用函式)

 

學習率:不能過高也不能過低。因為訓練神經網路系統的過程,就是通過不斷的迭代,找到讓系統輸出誤差最小的引數的過程。每一次迭代都經過反向傳播進行梯度下降,然而誤差空間不是一個滑梯,一降到底,常規情況下就像坑窪的山地。學習率太小,那就很容易陷入區域性最優,就是你認為的最低點並不是整個空間的最低點。如果學習率太高,那系統可能難以收斂,會在一個地方上串下跳,無法對準目標(目標是指誤差空間的最低點),可以看圖:

xy軸是權值w平面,z軸是輸出總誤差。整個誤差曲面可以看到兩個明顯的低點,顯然右邊最低,屬於全域性最優。而左邊的是次低,從區域性範圍看,屬於區域性最優。而圖中,在給定初始點的情況下,標出的兩條抵達低點的路線,已經是很理想情況的梯度下降路徑。