前饋神經網路與本專欄符號系統

前饋神經網路與本專欄符號系統

來自專欄 機器學習

本文介紹神經網路架構、符號系統,其中符號系統會在後面的推理中用到


1. 神經網路

感知器在20世紀五六十年代由Frank Rosenblatt發明,是最早的神經元模型,一個感知器接受幾個二進位輸入,併產生一個二進位輸出

輸出為

感知器存在問題:單個感知器上一個weight或者bias的微小變動會引起那個感知器的輸出完全翻轉,難以控制,使得逐步修改weight和bias來讓網路接近期望行為變得困難,因此有了S型神經元,希望修改 omega和b 只引起輸出的微小變化

在加權+偏置 zequiv omega cdot x+b 之後得到的值進行激活函數作用,例如 sigma(z)equivfrac{1}{1+e^{-z}} ,則可得到神經元激活輸出值為: a=sigma(z)=frac{1}{1+exp(-sum_{j}^{}{w_{j}x_{j}}-b)}

神經網路的架構分為三層:input layer, hidden layer, output layer,上一層的激活值是下一層的輸入值

廣義上神經網路可以分為兩種:

  1. 前饋神經網路。沒有迴路的網路,信息往前傳播,不反向回饋,使用非常廣泛
  2. 遞歸神經網路。具有反饋環路的網路,其具有休眠前會在一段有限時間內保持激活的神經元,可以刺激其他神經元,使其隨後被激活並同樣保持一段有限時間,這樣的到一個集聯的神經元激活系統

2. 神經網路符號系統

假設神經網路總共L層,其中第一層為輸入層,第L層為輸出層,我們有以下符號系統

omega_{jk}^{l} 是從 (l-1)^{th} 層的第 k^{th} 個神經元到 l^{th} 層的第 j^{th} 個神經元的連接上的權重

神經元連接權重示意圖

b_{j}^{l} 表示 l^{th} 層第 j^{th} 個神經元的偏置

偏置和激活輸出符號示意圖

a_{j}^{l} 表示 l^{th} 層第 j^{th} 個神經元的激活值,也就是輸出值,例如採用sigmoid激活函數 a_{j}^{l}=sigma(sum_{k}^{}{w_{jk}^{l}a_{k}^{l-1}+b_{j}^{l}})

為了便於運算,我們定義

z_{j}^{l}=sum_{k}^{}{w_{jk}^{l}a_{k}^{l-1}+b_{j}^{l}} ,對於向量表示為 z^{l}equiv w^{l}a^{l-1}+b^{l}

通常我們需要定義損失函數,採用輸出層輸出與理想輸出的差距來進行衡量,例如採用二次代價函數

C=frac{1}{2}||y-a^{L}||^{2}=frac{1}{2}sum_{j}^{}{(y_{j}-a_{j}^{L})}^{2}

通常將損失函數定義為權重和偏置的函數

C(w,b)equiv frac{1}{2n}sum_{x}^{}{||y(x)-a||}^{2}


推薦閱讀:

人工神經網路
知識布局-神經網路-數學原理
項目筆記(一):實驗——用神經網路實現midi音樂旋律音軌的確定
CS231n之線性分類器
[可視化]動力系統觀點下的神經網路最優化

TAG:機器學習 | 神經網路 | TensorFlow |