本文轉載自 對隱藏層的簡單理解
在多級前饋網當中,隱藏層的定義是:除輸入層和輸出層以外的其他各層叫做隱藏層。隱藏層不直接接受外界的信號,也不直接向外界發送信號。
什么是輸入層呢?和單級網絡一樣,該層只起到輸入信號的扇出作用.所以在計算網絡的層數時不被記入。該層負責接收來自網絡外部的信息,被記作第0層。
什么是輸出層?它是網絡的最后一層,具有該網絡的最大層號,負責輸出網絡的計算結果。
從上面的話可以粗略的看出,隱藏層與輸入輸出層一個最大的區別是它不直接接受外界的信號,也不直接向外界發送信號。書上有一段話是這樣說的"顯然,輸入向量,輸出向量的維數是由問題所直接決定的。然而,網絡隱藏層的層數和各個隱藏 層神經元的個數則是與問題相關的。目前的研究結果還難以給出它們與問題類型及其規模之間的函數關系。實驗表明,增加隱藏層的層數和隱藏層神經元的個數不一 定能夠提高網絡的精度和表達能力,在多數情況下,BP網一般都選用二級網絡。"
什么意思?和問題有關,但還不知道是什么關系。可以這樣理解吧!
隱藏層的提出是伴隨着多級網絡的概念一起提出的,它主要解決一個線性不可分問題(線性不可分問題可以描述為,由單級感知器不能表達的問題稱為線性不可分問題。比如異或問題.)。
書本上寫到"事實上,一個單級網絡可以將平面划分成兩部分,用多個單級網組合在一起,並用其中的一個去綜合其他單級網的結果,就可以構造一個兩級網絡,該網絡可以被用來在平面上划分出一個封閉或者開放的凸域來(什么是凸域?我也不懂),如圖所示,如果第一層含有 $n$ 個神經元,則每個神經元可以確定一條 $n$ 維空間中的直線,其中,$AN_{i}$ 確定第 $i$ 條邊。輸出層的 $AN_{o}$ 用來實現對它們的綜合。這樣,就可以用一個兩級單輸出網在$n$ 維空間中划分出一個 $m$ 邊凸域來。在這里,圖中第2層的神經元相當於一個與門。當然,根據實際需要,輸出層的神經元可以有多個。這可以根據網絡要模擬的實際問題來決定。
按照這些分析,很容易構造成第一層含兩個神經元,第二層含一個神經元的兩級網絡來實現"異或"運算。
這就是我對隱藏層和多級網絡的簡單認識,當然,我不求一下子就把它的含義弄得非常清楚,需要以后再來鞏固。
明天繼續努力,弄清楚書上的BP算法,重點理解什么是誤差反向傳播,它具體怎么使用。
