人工智慧、機器學習與深度學習關係如圖 1所示。在深度學習中,這些分層表示幾乎總是通過叫作神經網路( neural network)的模型來學習得到的。以下主要討論神經網路的分類
圖 1. 人工智慧、機器學習與深度學習
人工神經網路(Artificial Neural Network,ANN)簡稱神經網路(NN),是基於生物學中神經網路的基本原理,在理解和抽象了人腦結構和外界刺激響應機制後,以網路拓撲知識為理論基礎,模擬人腦的神經系統對複雜資訊的處理機制的一種數學模型。該模型以並行分佈的處理能力、高容錯性、智慧化和自學習等能力為特徵,將資訊的加工和儲存結合在一起,以其獨特的知識表示方式和智慧化的自適應學習能力,引起各學科領域的關注。它實際上是一個有大量簡單元件相互連線而成的複雜網路,具有高度的非線性,能夠進行復雜的邏輯操作和非線性關係實現的系統。
可以從不同的角度對人工神經網路進行分類
BP(Back Propagation,BP)演演算法不僅用於多層前饋神經網路,還可以用於訓練遞迴神經網路。解決了多層神經網路隱含層連線權學習問題,並在數學上給出了完整推導。人們把採用這種演演算法進行誤差校正的多層前饋網路稱為BP神經網路。BP 神經網路模型(反向傳播演演算法)的網路體系結構是多層的,本質上是一種梯度下降區域性優化技術,與網路權重的向後誤差校正相關。具有模型清晰、結構簡單、計算量小等優點。
BP神經網路網路主要四個方面的應用:
優點:
侷限性:
折積神經網路(Convolutional Neural Networks, CNN)是一類包含折積計算且具有深度結構的前饋神經網路(Feedforward Neural Networks),是深度學習(deep learning)的代表演演算法之一。CNN是一種帶有折積結構的深度神經網路,統稱至少有兩個非線性可訓練的折積層、兩個非線性的固定折積層(又稱為Pooling Layer)和一個全連線層,一共至少5個隱含層。傳統 CNN 結構包括四種層結構:折積層、池化層、全連線層、輸出層。
應用:
優點:
侷限性:
全連線神經網路(fully connected neural network),顧名思義,就是相鄰兩層之間任意兩個節點之間都有連線。全連線神經網路是最為普通的一種模型(比如和CNN相比),由於是全連線,所以會有更多的權重值和連線,因此也意味著佔用更多的記憶體和計算。如圖 2 FCN的概略圖。
主要應用:語意分割
優點:FCN 同樣具備傳統折積網路(CNN)的特點,可以接受任意大小的輸入資料,更加高效。
侷限性: FCN 經過上取樣獲得的結果中無法獲取影象的詳細資訊,畫素之間的相關性無法得到利用,並且 FCN 缺乏先驗知識約束。
圖 2. FCN的概略圖
迴圈神經網路(Recurrent Neural Network)是一類以序列(sequence)資料為輸入,在序列的演進方向進行遞迴(recursion)且所有節點(迴圈單元)按鏈式連線的遞迴神經網路(Recursive Neural Network, RNN)。RNN 是一種基於序列建模的人工神經網路,可以在神經元之間橫向傳輸資料資訊,並且部分表達資料之間的相關性,如圖 3。 RNN也實現了類似於人腦的這一機制,對所處理過的資訊留存有一定的記憶,而不像其他型別的神經網路並不能對處理過的資訊留存記憶。
應用:自然語言處理,例如語音識別、語言建模、機器翻譯等領域有應用,也被用於各類時間序列預報。引入了折積神經網路(CNN)構築的迴圈神經網路可以處理包含序列輸入的計算機視覺問題。
優點:提取時序特徵能力強、泛化能力相對好
侷限性:輸入輸出序列不同、處理長期依賴精度下降
圖 3. 迴圈網路:帶有環的網路
幾種常見的神經網路模型對比見表格 1。
表格 1. 神經網路模型對比
名稱 | 機制 | 特點 | 缺陷 | 適用場景 |
BP | 梯度下降區域性優化 | 非線性對映、自適應能力 | 非線性對映、自適應能力 | 非線性對映、自適應能力 |
CNN | 折積核特徵提取,降取樣保留資訊 | 稀疏連線、權值共用 | 算量大,輸入圖片尺寸固 定 | 適合用於空間資料,應用於影象處理、機器翻 譯、語意分割 |
FCN | 將CNN全連線操作全部用折積操作來替代 | 可以處理任意大小的影象,處理速度快 | 無法獲取影象的詳細資訊,畫素之間相關性無法驗證 | 語意分割、視訊處理等 |
RNN | 隱藏層節點輸出取決於當前節點輸入和上個節點值 | 提取時序特徵能力強、泛化能力相對好 | 輸入輸出序列不同、處理長期依賴精度下降 | 用於處理時序資料,應用於語音識別、自然語言理解等 |