## 科普向:全連接神經網絡
“We can only see a short distance ahead, but we can see plenty there that needs to be done.”
—————Turing
在CNN、RNN(LSTM/GRU)、Transformer等各種神經網絡實現弱人工智能的時代,神經網絡似乎成為了一種神奇的黑盒,神秘而強大。
而上述神經網絡都是基於全連接神經網絡出發的,最基礎的原理都是由反向傳播而來。作為深度神經網絡(DNN, Deep Neural Networks)的開始,從感知機(Perceptron)到全連接神經網絡(Fully Connected Neural Network)再至上如經典神經網絡模型,神經網絡的前世今生美妙精彩,下面讓我們了解全連接神經網絡吧。
如上圖全連接神經網絡可簡化為左邊輸入,中間計算,右邊輸出。(其中Dense便是經典的全連接層)
Dense1 = Input * W1 + b1 Dense2 = Dense * W2 + b2 Output = F(Dense2 * W3 + b3)
F一般為激活函數,如上圖便是多分類所使用的softmax
(激活函數可視為能將數值按大小縮放至0-1的概率表示器)
如我們想要做一個數字分類器 (此處的數字是抽象意義的數字,一般實際情況為圖片、文本、語音等真實數據)0-9為1 , 10-99為2,100-999為3
舉例:Input = [5,20,521] , 與之對應我們希望Output = [1, 2, 3]。
但我們只有 已知數據集 I = [1,10,100] 和 O = [1, 2, 3],我們能否通過全連接神經網絡訓練得到期望的模型可以解決Input的正確Ouput,答案是肯定的。
網絡中的參數W1、b1、W2、b2便是我們所需要“訓練”的,而訓練原理便是根據反向傳播(BP,Error Back Propagation)得到。
具體為可先隨機初始化參數,將我們的已知數據集I 得到 輸出 O_I , 再根據BP梯度下降等方法多次迭代修改參數W1、b1、W2、b2,最終完成我們的全連接神經網絡。在一定數據量下可以通過這種簡單粗暴的方式訓練出很棒的全連接神經網絡。
總結:
**優點**:不要求輸入尺寸為固定尺寸、綜合所有信息
對於大多數神經網絡層要求輸入尺寸固定,但對於Dense全連接層或整個全連接神經網絡不要求輸入尺寸,只要全部相連即可,這樣保證了全部信息的整合。
**缺點**:參數量大、空間結構的表達性差(平鋪降維信息)
單一Dense全連接層的參數量會遞乘至下一層導致參數量過大,因為全連接的處理方式相當於特征線性組合、截斷,對於諸如三維信息經過全連接層只會表示成二維信息。