計算機潛意識- 單層神經網路(感知器)

古來聖賢皆寂寞發表於2019-01-12

1.引子  

  1958年,計算科學家Rosenblatt提出了由兩層神經元組成的神經網路。他給它起了一個名字--“感知器”(Perceptron)(有的文獻翻譯成“感知機”,下文統一用“感知器”來指代)。

  感知器是當時首個可以學習的人工神經網路。Rosenblatt現場演示了其學習識別簡單影象的過程,在當時的社會引起了轟動。

  人們認為已經發現了智慧的奧祕,許多學者和科研機構紛紛投入到神經網路的研究中。美國軍方大力資助了神經網路的研究,並認為神經網路比“原子彈工程”更重要。這段時間直到1969年才結束,這個時期可以看作神經網路的第一次高潮。

  2.結構

  下面來說明感知器模型。

  在原來MP模型的“輸入”位置新增神經元節點,標誌其為“輸入單元”。其餘不變,於是我們就有了下圖:從本圖開始,我們將權值w1, w2, w3寫到“連線線”的中間。

  在“感知器”中,有兩個層次。分別是輸入層和輸出層。輸入層裡的“輸入單元”只負責傳輸資料,不做計算。輸出層裡的“輸出單元”則需要對前面一層的輸入進行計算。

  我們把需要計算的層次稱之為“計算層”,並把擁有一個計算層的網路稱之為“單層神經網路”。有一些文獻會按照網路擁有的層數來命名,例如把“感知器”稱為兩層神經網路。但在本文裡,我們根據計算層的數量來命名。

  假如我們要預測的目標不再是一個值,而是一個向量,例如[2,3。那麼可以在輸出層再增加一個“輸出單元”。

  下圖顯示了帶有兩個輸出單元的單層神經網路,其中輸出單元z1的計算公式如下圖。

圖13 單層神經網路(Z1)

 

  可以看到,z1的計算跟原先的z並沒有區別。

  我們已知一個神經元的輸出可以向多個神經元傳遞,因此z2的計算公式如下圖。

圖14 單層神經網路(Z2)

 

  可以看到,z2的計算中除了三個新的權值:w4,w5,w6以外,其他與z1是一樣的。

  整個網路的輸出如下圖。

圖15 單層神經網路(Z1和Z2)

 

  目前的表達公式有一點不讓人滿意的就是:w4,w5,w6是後來加的,很難表現出跟原先的w1,w2,w3的關係。

  因此我們改用二維的下標,用wx,y來表達一個權值。下標中的x代表後一層神經元的序號,而y代表前一層神經元的序號(序號的順序從上到下)。

  例如,w1,2代表後一層的第1個神經元與前一層的第2個神經元的連線的權值(這種標記方式參照了Andrew Ng的課件)。根據以上方法標記,我們有了下圖。

圖16 單層神經網路(擴充套件)

 

  如果我們仔細看輸出的計算公式,會發現這兩個公式就是線性代數方程組。因此可以用矩陣乘法來表達這兩個公式。

  例如,輸入的變數是[a1,a2,a3]T(代表由a1,a2,a3組成的列向量),用向量a來表示。方程的左邊是[z1,z2]T,用向量z來表示。

  係數則是矩陣W(2行3列的矩陣,排列形式與公式中的一樣)。

  於是,輸出公式可以改寫成:

g(W * a) = z;

 

  這個公式就是神經網路中從前一層計算後一層的矩陣運算。

  3.效果

  與神經元模型不同,感知器中的權值是通過訓練得到的。因此,根據以前的知識我們知道,感知器類似一個邏輯迴歸模型,可以做線性分類任務。

  我們可以用決策分界來形象的表達分類的效果。決策分界就是在二維的資料平面中劃出一條直線,當資料的維度是3維的時候,就是劃出一個平面,當資料的維度是n維時,就是劃出一個n-1維的超平面。

  下圖顯示了在二維平面中劃出決策分界的效果,也就是感知器的分類效果。

圖17 單層神經網路(決策分界)

  

  4.影響 

  感知器只能做簡單的線性分類任務。但是當時的人們熱情太過於高漲,並沒有人清醒的認識到這點。於是,當人工智慧領域的巨擘Minsky指出這點時,事態就發生了變化。

  Minsky在1969年出版了一本叫《Perceptron》的書,裡面用詳細的數學證明了感知器的弱點,尤其是感知器對XOR(異或)這樣的簡單分類任務都無法解決。

  Minsky認為,如果將計算層增加到兩層,計算量則過大,而且沒有有效的學習演算法。所以,他認為研究更深層的網路是沒有價值的。(本文成文後一個月,即2016年1月,Minsky在美國去世。謹在本文中紀念這位著名的計算機研究專家與大拿。)

   

 

  

  由於Minsky的巨大影響力以及書中呈現的悲觀態度,讓很多學者和實驗室紛紛放棄了神經網路的研究。神經網路的研究陷入了冰河期。這個時期又被稱為“AI winter”。

  接近10年以後,對於兩層神經網路的研究才帶來神經網路的復甦。

相關文章