多層感知器(英語:Multilayer Perceptron,縮寫:MLP)是一種前向結構的人工神經網絡,映射一組輸入向量到一組輸出向量。MLP可以被看作是一個有向圖,由多個的節點層所組成,每一層都全連接到下一層。除了輸入節點,每個節點都是一個帶有非線性激活函數的神經元(或稱處理單元)。一種被稱為反向傳播算法的監督學習方法常被用來訓練MLP。[1][2] 多層感知器遵循人類神經系統原理,學習並進行數據預測。它首先學習,然後使用權重存儲數據,並使用算法來調整權重並減少訓練過程中的偏差,即實際值和預測值之間的誤差。主要優勢在於其快速解決複雜問題的能力。多層感知的基本結構由三層組成:第一輸入層,中間隱藏層和最後輸出層,輸入元素和權重的乘積被饋給具有神經元偏差的求和結點,主要優勢在於其快速解決複雜問題的能力。 [3] MLP是感知器的推廣,克服了感知器不能對線性不可分數據進行識別的弱點。[4]
若每個神經元的激活函數都是線性函數,那麼,任意層數的MLP都可被約簡成一個等價的單層感知器。[5]
實際上,MLP本身可以使用任何形式的激活函數,譬如階梯函數邏輯Sigmoid函數,但為了使用反向傳播算法進行有效學習,激活函數必須限制為可微函數。由於具有良好可微性,很多S函數,尤其是雙曲正切函數(Hyperbolic tangent)及邏輯函數,被採用為激活函數。
在深度學習的最新發展中,線性整流(ReLU)更頻繁地被用來克服與S函數相關的數值問題。
兩個歷史上常見的激活函數都是 S函數,形式是
和
。
第一個是個雙曲正切函數,值域為 -1 到 1;第二個是個邏輯函數,形狀很相似但是值域為 0 到 1。令 yi 為第 i 個節點(神經元)的輸出,而 vi 是輸入連接的加權和。也有其他的激活函數,例如線性整流函數,徑向基函數(用於徑向基函數網絡,另一種監督神經網絡模型)。
MLP由三層或更多層非線性激活節點組成(一個輸入層和一個具有一個或多個隱藏層的輸出層)。由於多層互連是完全連接的,所以一層中的每個節點都以一定的權重 wij 連接到下一層的每個節點。
MLP 在感知器中進行學習,通過每次處理數據後改變連接權重,降低輸出與預測結果的誤差量。這是有監督學習的一個例子,通過反向傳播來實現,反向傳播是線性感知器中最小均方算法的推廣。
我們可以將輸出節點 j 的第 n 個數據點的誤差表示為
,其中 d 是目標值,y 是由感知器預測的值。調整節點權重的方式是,嘗試通過修正節點權重最小化輸出的整體誤差
.
使用梯度下降,每個權重的修正量為
![{\displaystyle \Delta w_{ji}(n)=-\eta {\frac {\partial {\mathcal {E}}(n)}{\partial v_{j}(n)}}y_{i}(n)}](//wikimedia.org/api/rest_v1/media/math/render/svg/e775e1fd516ec50eaf45344d5429657686c6985c)
其中 yi 是前一個神經元的輸出,η是學習率。η需要精心挑選,保證權重可以快速收斂而不發生震盪。
式中的導數取決於局部場 vj。場是變化的。很容易證明輸出節點的導數可以簡化為
![{\displaystyle -{\frac {\partial {\mathcal {E}}(n)}{\partial v_{j}(n)}}=e_{j}(n)\phi ^{\prime }(v_{j}(n))}](//wikimedia.org/api/rest_v1/media/math/render/svg/056be9bc7c738ade1a15914654576d0de972594b)
其中
是激活函數的導數。
是不變的。對於隱藏節點的權重變化,分析更加困難,但是可以看出相關的導數是
.
代表輸出層的第k個節點的權重變化會影響這個導數。因此,為了改變隱藏層權重,輸出層權重根據激活函數的導數而改變,因此該算法代表激活函數的反向傳播[6]。
術語「多層感知器」不是指具有多層的單感知器,每一層由多個感知器組成。另一種說法是「多層感知器網絡」。此外,MLP的「感知器」不是最嚴格意義上的感知器。真正的感知器在形式上是人工神經元的一個特例,它使用一個閾值激活函數,如階躍函數。MLP感知器可以使用任意激活函數。一個真正的感知器執行二進制分類(或者這個或者那個),一個MLP神經元可以自由地執行分類或者回歸,這取決於它的激活函數。
後來應用術語「多層感知器」時,沒有考慮節點/層的性質,節點/層可以由任意定義的人工神經元組成,而不是具體的感知器。這種解釋避免了將「感知器」的定義放寬到一般意義上的人工神經元。
常被MLP用來進行學習的反向傳播算法,在模式識別的領域中算是標準監督學習算法,並在計算神經學及並行分布式處理領域中,持續成為被研究的課題。MLP已被證明是一種通用的函數近似方法,可以被用來擬合複雜的函數,或解決分類問題。
MLP在80年代的時候曾是相當流行的機器學習方法,擁有廣泛的應用場景,譬如語音識別、圖像識別、機器翻譯等等,但自90年代以來,MLP遇到來自更為簡單的支持向量機的強勁競爭。近來,由於深度學習的成功,MLP又重新得到了關注。
Rosenblatt, Frank. x. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC, 1961
Rumelhart, David E., Geoffrey E. Hinton, and R. J. Williams.「Learning Internal Representations by Error Propagation」. David E. Rumelhart, James L. McClelland, and the PDP research group.(editors), Parallel distributed processing: Explorations in the microstructure of cognition, Volume 1: Foundations. MIT Press, 1986.
Sustainable Construction Safety Knowledge Sharing: A Partial Least Square-Structural Equation Modeling and A Feedforward Neural Network Approach, Sustainability 2019, 11(20), 5831; https://doi.org/10.3390/su11205831
Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function Mathematics of Control, Signals, and Systems, 2(4), 303–314.
Haykin, Simon. Neural Networks: A Comprehensive Foundation 2. Prentice Hall. 1998. ISBN 0-13-273350-1.