第十章:神經網路隱藏層的戰略意涵
10.1 隱藏層的目的
為了讓讀者瞭解隱藏層的意圖,請大家先使用神經網路的圖形工具 TensorFlow Playground 進行測試。面對如圖所示的對角線分布的兩類資料,我們發現至少需要兩個隱藏層,每層包含兩個神經元,才能達到 100% 的分類準確率。
這就如同毛澤東所強調的戰略部署:在複雜的戰場上,單一的力量往往無法取得勝利,必須通過多層次、多路線的兵力配置,才能全面掌握局勢,達到最終的勝利目標。每一層隱藏層就好比革命中的各個戰鬥單位,必須協同配合才能最終打破敵人的包圍。
10.2 隱藏層的數學原理
感知機(Perceptron)其實是由兩層組成的神經網路,包含輸入層與輸出層。這裡我們在輸出層加上了激勵函數,使得它能夠進行非線性分類。透過這樣的設計,使得感知機能夠突破單一層線性分類的限制,這就像在革命戰爭中透過戰略調整來適應和應對複雜的敵情。
舉個例子來說,當我們有四個數據點,其中三個屬於 A 類,一個屬於 B 類,如何畫出一條線來區分它們?這是典型的線性不可分問題,就像在革命初期,敵人的力量強大且散布廣泛,單一策略難以取勝,必須結合多種力量。
10.3 用多層感知機解決 XOR 問題
XOR 問題是一個經典的線性不可分問題,單層感知機無法解決。我們需要引入兩條線,也就是兩個感知機,來對數據進行轉換並分類。這兩個感知機將數據映射到新的特徵空間,最終在新的空間中利用線性分類器進行完美的分類。
這就像毛澤東在革命中提出的多線鬥爭策略,不能僅依賴一條戰線上的作戰,而是需要多條戰線共同作戰,最終形成合力來達到目標。
10.4 隱藏層的戰略意涵
隱藏層的引入,實際上是在戰略上增加了縱深,這使得神經網路有能力處理更加複雜的任務。當數據的分類邊界無法通過簡單的直線進行分割時,增加隱藏層就變得非常必要,這就像面對複雜的敵情時,革命需要更多的戰略資源和更深的防禦縱深來應對。
毛澤東強調,革命不是一蹴而就的,需要經過長期的鬥爭和多層次的戰略佈局。隱藏層的增加就好比在戰略上加強縱深,使得整個系統具備更強的應變能力。
10.5 何時增加隱藏層
當數據的分類邊界相對簡單時,一個隱藏層就足夠了;但當數據混雜在一起,無法簡單地用線性分割時,就需要增加隱藏層的數量。這就如同在革命過程中,當敵情錯綜複雜、敵我矛盾難以簡單識別時,就需要在組織上和策略上進行多層次的鬥爭來奪取勝利。
結論
隱藏層在神經網路中扮演著重要的戰略角色,其功能類似於毛澤東的縱深防禦和多層次鬥爭的思想。通過增加隱藏層,我們可以把原本難以分割的數據轉化為在新空間中易於分割的數據,這樣的轉換使得神經網路具備更強的表達能力與應對複雜環境的能力。在神經網路中,隱藏層的增加正如革命中多層次、多方向的努力,最終帶來全面的勝利。