天天看點

神經網絡與機器學習 筆記—多層感覺器(MLP)

多層感覺器(MLP)

    Rosenblatt感覺器和LMS算法,都是單層的并且是單個神經元構造的神經網絡,他們的局限性是隻能解決線性可分問題,例如Rosenblatt感覺器一直沒辦法處理簡單異或問題。然而日常生活中大多數問題不是線性可分的,都是多元度且無法直接進行線性分類。為了增加神經網絡對這一類問題的泛化能力,出現了多層感覺器(多層神經網絡)的概念。

多層感覺器基本特征:

    網絡中每個神經元模型包含一個可微的非線性激活函數。

    網絡中包括一個或多個隐藏在輸入和輸出神經節點之間的層。

    網絡展示出高度的連接配接性,其強度是由網絡的突觸權值決定的。

訓練多層感覺器的一個流行方法是反向傳播算法,訓練分為如下兩個階段:

  1. 前向階段,網絡的突觸權值是固定的,輸入信号在網絡中一層一層傳播,直到到達輸出端。是以,在這一階段,輸入信号的影響限制在網絡中激活隐藏神經元和輸出神經元上。
  2. 反向階段,通過比較網絡的輸出和期望輸出産生一個誤差信号。得到的誤差信号再次通過網絡一層一層傳播,但是這一次傳播是在反方向上進行的。在第二階段,對于網絡的突觸權值進行不斷的修正。對于輸出層權值的修正計算是直接的,但是對于隐藏層來說則更有挑戰性。

具有兩個隐藏層的多層感覺器結構圖

神經網絡與機器學習 筆記—多層感覺器(MLP)
  1. 函數信号。函數信号是從網絡輸入端而來的一個輸入信号(刺激),通過網絡(一個神經元接一個神經元)向前傳播,到達網絡輸出端即成為一個輸出信号。
  2. 誤差信号。一個誤差信号産生于網絡的一個輸出神經元,并通過網絡(一層接一層)反向傳播。我們稱之為“誤差信号”是因為網絡的每一個神經元對他的計算都以這種或那種形式涉及誤差依賴函數。

    輸出神經元構成網絡的輸出層。餘下的神經元構成網絡的隐藏層。是以隐藏層單元并不是網絡輸出或輸入的一部分-是以他們被稱為“隐藏”的。第一隐藏層的信号是從由傳感單元(源節點)構成的輸入饋給的;而第一隐藏層的輸出結果又應用于下一個隐藏層;網絡的其餘部分依此類推。

多層感覺器每一個隐藏層或輸出層神經元的作用是進行兩種計算:

  1. 計算一個神經元的輸出處出現的函數信号,它表現為關于輸入信号以及與該神經元相關的突觸權值的一個連續非線性函數。
  2. 計算梯度向量(即誤差曲面對連結于一個神經元輸入的權值的梯度)的一個估計,他需要反向通過網絡。

隐藏神經元的功能

    隐藏神經元扮演着特征檢測算子(feature detector)的角色;他們在多層感覺器的運轉中起着決定性作用。随着學習過程通過多層感覺器不斷進行,隐藏神經元開始逐漸“發現”刻畫訓練資料的突出特征。它們是通過将輸入資料非線性變換到新的稱為特征空間的空間而實作的。例如,在模式分類問題中,感興趣的類在這個新的空間中可能比原始輸入資料空間中更容易分隔開。甚至,正事通過監督學習形成的這一特種空間将多層感覺器和Rosenblatt感覺器區分開來。

多層感覺器監督學習的兩種不同方式 批量學習和線上學習

批量學習(離線學習)

    在監督學習的批量方法中,多數感覺器的突觸權值的調整在訓練樣本集合的所有樣例都出現後進行,這構成了訓練的一個回合(epoch)。換句話說,批量學習的代價函數是由平均誤差能量定義的。多層改制器的突觸權值的調整是以回合-回合為基礎的。批量學習的有點是 對梯度向量的精确估計;學習過程的并行性。然而從實際觀點看,批量學習有着存儲需求。從統計的角度看,批量學習可以看成是某種形式的統計推斷。是以它很适合于解非線性回歸問題。

線上學習

    在監督學習的線上方法下,對于多層感覺器突觸權值的調整是以樣例-樣例為基礎的。用來最小化的代價函數是全體瞬時誤差能量。但是這樣的過程也違反了線上學習的并行性。線上學習方法被稱為随機方法。這一随機性具有所希望的學習過程不容易陷入局部極小值點的效果,這是線上學習好于批量學習的明确意義所在。線上學習的另一個有點在于它比批量學習需要的存儲量要少得多。同時它能夠追蹤訓練資料的小的改變,尤其是産生資料的環境是不穩定的情況下。目前線上學習依然是主流方法。