語音識別學習日誌 2018-7-20 感知機PLA、多層感知機MLP

2018-7-20

感知機,PLA

多層感知機是由感知機推廣而來,感知機的神經網絡表示如下: 

                                                                    

表達式:

從上述內容更可以看出,PLA是一個線性的二分類器,但不能對非線性的數據並不能進行有效的分類。因此便有了對網絡層次的加深,理論上,多層網絡可以模擬任何複雜的函數。

多層感知機,MLP

多層感知機(Multi-Layer perception)的一個重要特點就是多層,我們將第一層稱之爲輸入層,最後一層稱之有輸出層,中間的層稱之爲隱層。MLP並沒有規定隱層的數量,因此可以根據各自的需求選擇合適的隱層層數。且對於輸出層神經元的個數也沒有限制。 除了輸入層外,其餘的每層激活函數均採用 sigmod ,MLP 容易受到局部極小值與梯度彌散的困擾。
MLP神經網絡結構模型如下,本文中只涉及了一個隱層,輸入只有三個變量\small [x_1,x_2,x_3]和一個偏置量\small b,輸出層有三個神經元。相比於感知機算法中的神經元模型對其進行了集成。 網絡結構如下圖:

                                                          

MLP的前向傳播

前向傳播指的是信息從第一層逐漸地向高層進行傳遞的過程。以下圖爲例來進行前向傳播的過程的分析。 
假設第一層爲輸入層,輸入的信息爲\small [x_1,x_2,x_3]。對於層\small L_l,用\small L_l表示該層的所有神經元,其輸出爲\small {\bf y}_l,其中第j個節點的輸出爲\small y_l^{(j)},該節點的輸入爲\small u_l^{(j)},連接第\small l層與第\small (l-1)\small (l-1)\small (l-1)層的權重矩陣爲\small W_l,上一層(第\small l-1層)的第i個節點到第\small l層第\small j個節點的權重爲\small w_l^{(ji)}

結合之前定義的字母標記,對於第二層的三個神經元的輸出則有:

將上述的式子轉換爲矩陣表達式:

                                 \small {\mathbf y_2}= \left[ \begin{array}{c}y_2^{(1)}\\y_2^{(2)}\\y_2^{(3)}\\ \end{array} \right]=f \left( \left[ \begin{array}{ccc} w_2^{11}&w_2^{12}&w_2^{13}\\ w_2^{21}&w_2^{22}&w_2^{23}\\ w_2^{31}&w_2^{32}&w_2^{33}\\ \end{array} \right] \left[ \begin{array}{c}x_1\\x_2\\x_3\\ \end{array} \right]+ \left[ \begin{array}{c}b_2^{(1)}\\b_2^{(2)}\\b_2^{(3)}\\ \end{array} \right] \right) =f({\mathbf {W_2X+b_2}})

將第二層的前向傳播計算過程推廣到網絡中的任意一層,則: 

                              \small \left\{ \begin {aligned} &y_l^{(j)} = f\left(u_l^{(j)}\right)\\ &u_l^{(j)}=\sum_{i \in L_{l-1}} w_l^{(ji)} y_{l-1}^{(i)} + b_l^{(j)}\\ &\mathbf y_l = f(\mathbf u_l ) = f(\mathbf W_l\mathbf y_{l-1}+\mathbf b_l) \end {aligned} \right.

其中\small f(\cdot)爲激活函數,\small b_l^{(j)}爲第\small l層第\small j個節點的偏置。

反向傳播

使用反向傳播來調整MLP模型中的參數。由於存在多層的網絡結構,因此無法直接對中間的隱層利用損失來進行參數更新,但可以利用損失從頂層到底層的反向傳播來進行參數的估計。反向傳播的具體推倒明天再開一篇博客介紹。

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章