1. 程式人生 > >論文閱讀之獻給新手的深度學習綜述——Recent Advances in Deep Learning: An Overview

論文閱讀之獻給新手的深度學習綜述——Recent Advances in Deep Learning: An Overview

這篇綜述論文列舉出了近年來深度學習的重要研究成果,從方法、架構,以及正則化、優化技術方面進行概述。本人認為,這篇綜述對於剛入門的深度學習新手是一份不錯的參考資料,在形成基本學術界圖景、指導文獻查詢等方面都能提供幫助。

論文地址:https://arxiv.org/pdf/1807.08169v1.pdf

摘要:深度學習是機器學習和人工智慧研究的最新趨勢之一。它也是當今最流行的科學研究趨勢之一。深度學習方法為計算機視覺和機器學習帶來了革命性的進步。新的深度學習技術正在不斷誕生,超越最先進的機器學習甚至是現有的深度學習技術。近年來,全世界在這一領域取得了許多重大突破。由於深度學習正快度發展,導致了它的進展很難被跟進,特別是對於新的研究者。在本文中,我們將簡要討論近年來關於深度學習的最新進展。

1. 引言

「深度學習」(DL)一詞最初在 1986 被引入機器學習(ML),後來在 2000 年時被用於人工神經網路(ANN)。深度學習方法由多個層組成,以學習具有多個抽象層次的資料特徵。DL 方法允許計算機通過相對簡單的概念來學習複雜的概念。對於人工神經網路(ANN),深度學習(DL)(也稱為分層學習(Hierarchical Learning))是指在多個計算階段中精確地分配信用,以轉換網路中的聚合啟用。為了學習複雜的功能,深度架構被用於多個抽象層次,即非線性操作;例如 ANNs,具有許多隱藏層。用準確的話總結就是,深度學習是機器學習的一個子領域,它使用了多層次的非線性資訊處理和抽象,用於有監督或無監督的特徵學習、表示、分類和模式識別。

深度學習即表徵學習是機器學習的一個分支或子領域,大多數人認為近代深度學習方法是從 2006 開始發展起來的。本文是關於最新的深度學習技術的綜述,主要推薦給即將涉足該領域的研究者。本文包括 DL 的基本思想、主要方法、最新進展以及應用。

綜述論文是非常有益的,特別是對某一特定領域的新研究人員。一個研究領域如果在不久的將來及相關應用領域中有很大的價值,那通常很難被實時跟蹤到最新進展。現在,科學研究是一個很有吸引力的職業,因為知識和教育比以往任何時候都更容易分享和獲得。對於一種技術研究的趨勢來說,唯一正常的假設是它會在各個方面有很多的改進。幾年前對某個領域的概述,現在可能已經過時了。

考慮到近年來深度學習的普及和推廣,我們簡要概述了深度學習和神經網路(NN),以及它的主要進展和幾年來的重大突破。我們希望這篇文章將幫助許多新手研究者在這一領域全面瞭解最近的深度學習的研究和技術,並引導他們以正確的方式開始。同時,我們希望通過這項工作,向這個時代的頂級 DL 和 ANN 研究者們致敬:Geoffrey Hinton(Hinton)、Juergen Schmidhuber(Schmidhuber)、Yann LeCun(LeCun)、Yoshua Bengio(Bengio)和許多其他研究學者,他們的研究構建了現代人工智慧(AI)。跟進他們的工作,以追蹤當前最佳的 DL 和 ML 研究進展對我們來說也至關重要。

在本論文中,我們首先簡述過去的研究論文,對深度學習的模型和方法進行研究。然後,我們將開始描述這一領域的最新進展。我們將討論深度學習(DL)方法、深度架構(即深度神經網路(DNN))和深度生成模型(DGM),其次是重要的正則化和優化方法。此外,用兩個簡短的部分對於開源的 DL 框架和重要的 DL 應用進行總結。我們將在最後兩個章節(即討論和結論)中討論深入學習的現狀和未來。

2. 相關研究

在過去的幾年中,有許多關於深度學習的綜述論文。他們以很好的方式描述了 DL 方法、方法論以及它們的應用和未來研究方向。這裡,我們簡要介紹一些關於深度學習的優秀綜述論文。

Young 等人(2017)討論了 DL 模型和架構,主要用於自然語言處理(NLP)。他們在不同的 NLP 領域中展示了 DL 應用,比較了 DL 模型,並討論了可能的未來趨勢。

Zhang 等人(2017)討論了用於前端和後端語音識別系統的當前最佳深度學習技術。

Zhu 等人(2017)綜述了 DL 遙感技術的最新進展。他們還討論了開源的 DL 框架和其他深度學習的技術細節。

Wang 等人(2017)以時間順序的方式描述了深度學習模型的演變。該短文簡要介紹了模型,以及在 DL 研究中的突破。該文以進化的方式來了解深度學習的起源,並對神經網路的優化和未來的研究做了解讀。

Goodfellow 等人(2016)詳細討論了深度網路和生成模型,從機器學習(ML)基礎知識、深度架構的優缺點出發,對近年來的 DL 研究和應用進行了總結。

LeCun 等人(2015)從卷積神經網路(CNN)和遞迴神經網路(RNN)概述了深度學習(DL)模型。他們從表徵學習的角度描述了 DL,展示了 DL 技術如何工作、如何在各種應用中成功使用、以及如何對預測未來進行基於無監督學習(UL)的學習。同時他們還指出了 DL 在文獻目錄中的主要進展。

Schmidhuber(2015)從 CNN、RNN 和深度強化學習 (RL) 對深度學習做了一個概述。他強調了序列處理的 RNN,同時指出基本 DL 和 NN 的侷限性,以及改進它們的技巧。

Nielsen (2015) 用程式碼和例子描述了神經網路的細節。他還在一定程度上討論了深度神經網路和深度學習。

Schmidhuber (2014) 討論了基於時間序列的神經網路、採用機器學習方法進行分類,以及在神經網路中使用深度學習的歷史和進展。

Deng 和 Yu (2014) 描述了深度學習類別和技術,以及 DL 在幾個領域的應用。

Bengio (2013) 從表徵學習的角度簡要概述了 DL 演算法,即監督和無監督網路、優化和訓練模型。他聚焦於深度學習的許多挑戰,例如:為更大的模型和資料擴充套件演算法,減少優化困難,設計有效的縮放方法等。

Bengio 等人 (2013) 討論了表徵和特徵學習即深度學習。他們從應用、技術和挑戰的角度探討了各種方法和模型。

Deng (2011) 從資訊處理及相關領域的角度對深度結構化學習及其架構進行了概述。

Arel 等人 (2010) 簡要概述了近年來的 DL 技術。

Bengio (2009) 討論了深度架構,即人工智慧的神經網路和生成模型。

最近所有關於深度學習(DL)的論文都從多個角度討論了深度學習重點。這對 DL 的研究人員來說是非常有必要的。然而,DL 目前是一個蓬勃發展的領域。在最近的 DL 概述論文發表之後,仍有許多新的技術和架構被提出。此外,以往的論文從不同的角度進行研究。我們的論文主要是針對剛進入這一領域的學習者和新手。為此,我們將努力為新研究人員和任何對這一領域感興趣的人提供一個深度學習的基礎和清晰的概念。

3. 最新進展

在本節中,我們將討論最近從機器學習和人工神經網路 (ANN) 中衍生出來的主要深度學習 (DL) 方法,人工神經網路是深度學習最常用的形式。

3.1 深度架構的演變

人工神經網路 (ANN) 已經取得了長足的進步,同時也帶來了其他的深度模型。第一代人工神經網路由簡單的感知器神經層組成,只能進行有限的簡單計算。第二代使用反向傳播,根據錯誤率更新神經元的權重。然後支援向量機 (SVM) 浮出水面,在一段時間內超越 ANN。為了克服反向傳播的侷限性,人們提出了受限玻爾茲曼機(RBM),使學習更容易。此時其他技術和神經網路也出現了,如前饋神經網路 (FNN)、卷積神經網路 (CNN)、迴圈神經網路 (RNN) 等,以及深層信念網路、自編碼器等。從那時起,為實現各種用途,ANN 在不同方面得到了改進和設計。

Schmidhuber (2014)、Bengio (2009)、Deng 和 Yu (2014)、Goodfellow 等人 (2016)、Wang 等人 (2017) 對深度神經網路 (DNN) 的進化和歷史以及深度學習 (DL) 進行了詳細的概述。在大多數情況下,深層架構是簡單架構的多層非線性重複,這樣可從輸入中獲得高度複雜的函式。

4. 深度學習方法

深度神經網路在監督學習中取得了巨大的成功。此外,深度學習模型在無監督、混合和強化學習方面也非常成功。

4.1 深度監督學習

監督學習應用在當資料標記、分類器分類或數值預測的情況。LeCun 等人 (2015) 對監督學習方法以及深層結構的形成給出了一個精簡的解釋。Deng 和 Yu(2014) 提到了許多用於監督和混合學習的深度網路,並做出解釋,例如深度堆疊網路 (DSN) 及其變體。Schmidthuber(2014) 的研究涵蓋了所有神經網路,從早期神經網路到最近成功的卷積神經網路 (CNN)、迴圈神經網路 (RNN)、長短期記憶 (LSTM) 及其改進。

4.2 深度無監督學習

當輸入資料沒有標記時,可應用無監督學習方法從資料中提取特徵並對其進行分類或標記。LeCun 等人 (2015) 預測了無監督學習在深度學習中的未來。Schmidthuber(2014) 也描述了無監督學習的神經網路。Deng 和 Yu(2014) 簡要介紹了無監督學習的深度架構,並詳細解釋了深度自編碼器。

4.3 深度強化學習

強化學習使用獎懲系統預測學習模型的下一步。這主要用於遊戲和機器人,解決平常的決策問題。Schmidthuber(2014) 描述了強化學習 (RL) 中深度學習的進展,以及深度前饋神經網路 (FNN) 和迴圈神經網路 (RNN) 在 RL 中的應用。Li(2017) 討論了深度強化學習 (Deep Reinforcement Learning, DRL)、它的架構 (例如 Deep Q-Network, DQN) 以及在各個領域的應用。

Mnih 等人 (2016) 提出了一種利用非同步梯度下降進行 DNN 優化的 DRL 框架。

van Hasselt 等人 (2015) 提出了一種使用深度神經網路 (deep neural network, DNN) 的 DRL 架構。

5. 深度神經網路

在本節中,我們將簡要地討論深度神經網路 (DNN),以及它們最近的改進和突破。神經網路的功能與人腦相似。它們主要由神經元和連線組成。當我們說深度神經網路時,我們可以假設有相當多的隱藏層,可以用來從輸入中提取特徵和計算複雜的函式。Bengio(2009) 解釋了深度結構的神經網路,如卷積神經網路 (CNN)、自編碼器 (AE) 等及其變體。Deng 和 Yu(2014) 詳細介紹了一些神經網路架構,如 AE 及其變體。Goodfellow 等 (2016) 對深度前饋網路、卷積網路、遞迴網路及其改進進行了介紹和技巧性講解。Schmidhuber(2014) 提到了神經網路從早期神經網路到最近成功技術的完整歷史。

5.1 深度自編碼器

自編碼器 (AE) 是神經網路 (NN),其中輸出即輸入。AE 採用原始輸入,編碼為壓縮表示,然後解碼以重建輸入。在深度 AE 中,低隱藏層用於編碼,高隱藏層用於解碼,誤差反向傳播用於訓練.。

5.1.1 變分自編碼器

變分自動編碼器 (VAE) 可以算作解碼器。VAE 建立在標準神經網路上,可以通過隨機梯度下降訓練 (Doersch,2016)。

5.1.2 多層降噪自編碼器

在早期的自編碼器 (AE) 中,編碼層的維度比輸入層小(窄)。在多層降噪自編碼器 (SDAE) 中,編碼層比輸入層寬 (Deng and Yu, 2014)。

5.1.3 變換自編碼器

深度自動編碼器 (DAE) 可以是轉換可變的,也就是從多層非線性處理中提取的特徵可以根據學習者的需要而改變。變換自編碼器 (TAE) 既可以使用輸入向量,也可以使用目標輸出向量來應用轉換不變性屬性,將程式碼引導到期望的方向 (Deng and Yu,2014)。

5.2 深度卷積神經網路

四種基本思想構成了卷積神經網路 (CNN),即:區域性連線、共享權重、池化和多層使用。CNN 的第一部分由卷積層和池化層組成,後一部分主要是全連線層。卷積層檢測特徵的區域性連線,池層將相似的特徵合併為一個。CNN 在卷積層中使用卷積而不是矩陣乘法。

Krizhevsky 等人 (2012) 提出了一種深度卷積神經網路 (CNN) 架構,也稱為 AlexNet,這是深度學習 (Deep Learning, DL) 的一個重大突破。網路由 5 個卷積層和 3 個全連線層組成。該架構採用圖形處理單元 (GPU) 進行卷積運算,採用線性整流函式 (ReLU) 作為啟用函式,用 Dropout 來減少過擬合。

Iandola 等人 (2016) 提出了一個小型的 CNN 架構,叫做「SqueezeNet」。

Szegedy 等人 (2014) 提出了一種深度 CNN 架構,名為 Inception。Dai 等人 (2017) 提出了對 Inception-ResNet 的改進。

Redmon 等人 (2015) 提出了一個名為 YOLO (You Only Look Once) 的 CNN 架構,用於均勻和實時的目標檢測。

Zeiler 和 Fergus (2013) 提出了一種將 CNN 內部啟用視覺化的方法。

Gehring 等人 (2017) 提出了一種用於序列到序列學習的 CNN 架構。

Bansal 等人 (2017) 提出了 PixelNet,使用畫素來表示。

Goodfellow 等人 (2016) 解釋了 CNN 的基本架構和思想。Gu 等人 (2015) 對 CNN 的最新進展、CNN 的多種變體、CNN 的架構、正則化方法和功能以及在各個領域的應用進行了很好的概述。

5.2.1 深度最大池化卷積神經網路

最大池化卷積神經網路 (MPCNN) 主要對卷積和最大池化進行操作,特別是在數字影象處理中。MPCNN 通常由輸入層以外的三種層組成。卷積層獲取輸入影象並生成特徵圖,然後應用非線性啟用函式。最大池層向下取樣影象,並保持子區域的最大值。全連線層進行線性乘法。在深度 MPCNN 中,在輸入層之後週期性地使用卷積和混合池化,然後是全連線層。

5.2.2 極深的卷積神經網路

Simonyan 和 Zisserman(2014) 提出了非常深層的卷積神經網路 (VDCNN) 架構,也稱為 VGG Net。VGG Net 使用非常小的卷積濾波器,深度達到 16-19 層。Conneau 等人 (2016) 提出了另一種文字分類的 VDCNN 架構,使用小卷積和池化。他們聲稱這個 VDCNN 架構是第一個在文字處理中使用的,它在字元級別上起作用。該架構由 29 個卷積層組成。

5.3 網路中的網路

Lin 等人 (2013) 提出了網路中的網路 (Network In Network,NIN)。NIN 以具有複雜結構的微神經網路代替傳統卷積神經網路 (CNN) 的卷積層。它使用多層感知器 (MLPConv) 處理微神經網路和全域性平均池化層,而不是全連線層。深度 NIN 架構可以由 NIN 結構的多重疊加組成。

5.4 基於區域的卷積神經網路

Girshick 等人 (2014) 提出了基於區域的卷積神經網路 (R-CNN),使用區域進行識別。R-CNN 使用區域來定位和分割目標。該架構由三個模組組成:定義了候選區域的集合的類別獨立區域建議,從區域中提取特徵的大型卷積神經網路 (CNN),以及一組類特定的線性支援向量機 (SVM)。

5.4.1 Fast R-CNN

Girshick(2015) 提出了快速的基於區域的卷積網路 (Fast R-CNN)。這種方法利用 R-CNN 架構能快速地生成結果。Fast R-CNN 由卷積層和池化層、區域建議層和一系列全連線層組成。

5.4.2 Faster R-CNN

Ren 等人 (2015) 提出了更快的基於區域的卷積神經網路 (Faster R-CNN),它使用區域建議網路 (Region Proposal Network, RPN) 進行實時目標檢測。RPN 是一個全卷積網路,能夠準確、高效地生成區域建議 (Ren et al.,2015)。

5.4.3 Mask R-CNN

何愷明等人 (2017) 提出了基於區域的掩模卷積網路 (Mask R-CNN) 例項目標分割。Mask R-CNN 擴充套件了 R-CNN 的架構,並使用一個額外的分支用於預測目標掩模。

5.4.4 Multi-Expert R-CNN

Lee 等人 (2017) 提出了基於區域的多專家卷積神經網路 (ME R-CNN),利用了 Fast R-CNN 架構。ME R-CNN 從選擇性和詳盡的搜尋中生成興趣區域 (RoI)。它也使用 per-RoI 多專家網路而不是單一的 per-RoI 網路。每個專家都是來自 Fast R-CNN 的全連線層的相同架構。

5.5 深度殘差網路

He 等人 (2015) 提出的殘差網路 (ResNet) 由 152 層組成。ResNet 具有較低的誤差,並且容易通過殘差學習進行訓練。更深層次的 ResNet 可以獲得更好的效能。在深度學習領域,人們認為 ResNet 是一個重要的進步。

5.5.1 Resnet in Resnet

Targ 等人 (2016) 在 Resnet in Resnet (RiR) 中提出將 ResNets 和標準卷積神經網路 (CNN) 結合到深層雙流架構中。

5.5.2 ResNeXt

Xie 等人 (2016) 提出了 ResNeXt 架構。ResNext 利用 ResNets 來重複使用分割-轉換-合併策略。

5.6 膠囊網路

Sabour 等人 (2017) 提出了膠囊網路 (CapsNet),即一個包含兩個卷積層和一個全連線層的架構。CapsNet 通常包含多個卷積層,膠囊層位於末端。CapsNet 被認為是深度學習的最新突破之一,因為據說這是基於卷積神經網路的侷限性而提出的。它使用的是一層又一層的膠囊,而不是神經元。啟用的較低階膠囊做出預測,在同意多個預測後,更高階的膠囊變得活躍。在這些膠囊層中使用了一種協議路由機制。Hinton 之後提出 EM 路由,利用期望最大化 (EM) 演算法對 CapsNet 進行了改進。

5.7 迴圈神經網路

迴圈神經網路 (RNN) 更適合於序列輸入,如語音、文字和生成序列。一個重複的隱藏單元在時間展開時可以被認為是具有相同權重的非常深的前饋網路。由於梯度消失和維度爆炸問題,RNN 曾經很難訓練。為了解決這個問題,後來許多人提出了改進意見。

Goodfellow 等人 (2016) 詳細分析了迴圈和遞迴神經網路和架構的細節,以及相關的門控和記憶網路。

Karpathy 等人 (2015) 使用字元級語言模型來分析和視覺化預測、表徵訓練動態、RNN 及其變體 (如 LSTM) 的錯誤型別等。

J´ozefowicz 等人 (2016) 探討了 RNN 模型和語言模型的侷限性。

5.7.1 RNN-EM

Peng 和 Yao(2015) 提出了利用外部記憶 (RNN-EM) 來改善 RNN 的記憶能力。他們聲稱在語言理解方面達到了最先進的水平,比其他 RNN 更好。

5.7.2 GF-RNN

Chung 等 (2015) 提出了門控反饋遞迴神經網路 (GF-RNN),它通過將多個遞迴層與全域性門控單元疊加來擴充套件標準的 RNN。

5.7.3 CRF-RNN

Zheng 等人 (2015) 提出條件隨機場作為迴圈神經網路 (CRF-RNN),其將卷積神經網路 (CNN) 和條件隨機場 (CRF) 結合起來進行概率圖形建模。

5.7.4 Quasi-RNN

Bradbury 等人 (2016) 提出了用於神經序列建模和沿時間步的並行應用的準迴圈神經網路 (QRNN)。

5.8 記憶網路

Weston 等人 (2014) 提出了問答記憶網路 (QA)。記憶網路由記憶、輸入特徵對映、泛化、輸出特徵對映和響應組成。

5.8.1 動態記憶網路

Kumar 等人 (2015) 提出了用於 QA 任務的動態記憶網路 (DMN)。DMN 有四個模組:輸入、問題、情景記憶、輸出。

5.9 增強神經網路

Olah 和 Carter(2016) 很好地展示了注意力和增強迴圈神經網路,即神經圖靈機 (NTM)、注意力介面、神經編碼器和自適應計算時間。增強神經網路通常是使用額外的屬性,如邏輯函式以及標準的神經網路架構。

5.9.1 神經圖靈機

Graves 等人 (2014) 提出了神經圖靈機 (NTM) 架構,由神經網路控制器和記憶庫組成。NTM 通常將 RNN 與外部記憶庫結合。

5.9.2 神經 GPU

Kaiser 和 Sutskever(2015) 提出了神經 GPU,解決了 NTM 的並行問題。

5.9.3 神經隨機存取機

Kurach 等人 (2015) 提出了神經隨機存取機,它使用外部的可變大小的隨機存取儲存器。

5.9.4 神經程式設計器

Neelakantan 等人 (2015) 提出了神經程式設計器,一種具有算術和邏輯功能的增強神經網路。

5.9.5 神經程式設計器-直譯器

Reed 和 de Freitas(2015) 提出了可以學習的神經程式設計器-直譯器 (NPI)。NPI 包括週期性核心、程式記憶體和特定於領域的編碼器。

5.10 長短期記憶網路

Hochreiter 和 Schmidhuber(1997) 提出了長短期記憶 (Long short - Short-Term Memory, LSTM),克服了迴圈神經網路 (RNN) 的誤差迴流問題。LSTM 是基於迴圈網路和基於梯度的學習演算法,LSTM 引入自迴圈產生路徑,使得梯度能夠流動。

Greff 等人 (2017) 對標準 LSTM 和 8 個 LSTM 變體進行了大規模分析,分別用於語音識別、手寫識別和復調音樂建模。他們聲稱 LSTM 的 8 個變種沒有顯著改善,而只有標準 LSTM 表現良好。

Shi 等人 (2016b) 提出了深度長短期記憶網路 (DLSTM),它是一個 LSTM 單元的堆疊,用於特徵對映學習表示。

5.10.1 批-歸一化 LSTM

Cooijmans 等人 (2016) 提出了批-歸一化 LSTM (BN-LSTM),它對遞迴神經網路的隱藏狀態使用批-歸一化。

5.10.2 Pixel RNN

van den Oord 等人 (2016b) 提出畫素遞迴神經網路 (Pixel-RNN),由 12 個二維 LSTM 層組成。

5.10.3 雙向 LSTM

W¨ollmer 等人 (2010) 提出了雙向 LSTM(BLSTM) 的迴圈網路與動態貝葉斯網路 (DBN) 一起用於上下文敏感關鍵字檢測。

5.10.4 Variational Bi-LSTM

Shabanian 等人 (2017) 提出了變分雙向 LSTM(Variational Bi-LSTM),它是雙向 LSTM 體系結構的變體。Variational Bi-LSTM 使用變分自編碼器 (VAE) 在 LSTM 之間建立一個資訊交換通道,以學習更好的表徵。

5.11 谷歌神經機器翻譯

Wu 等人 (2016) 提出了名為谷歌神經機器翻譯 (GNMT) 的自動翻譯系統,該系統結合了編碼器網路、解碼器網路和注意力網路,遵循共同的序列對序列 (sequence-to-sequence) 的學習框架。

5.12 Fader Network

Lample 等人 (2017) 提出了 Fader 網路,這是一種新型的編碼器-解碼器架構,通過改變屬性值來生成真實的輸入影象變化。

5.13 超網路

Ha 等人 (2016) 提出的超網路(Hyper Networks)為其他神經網路生成權值,如靜態超網路卷積網路、用於迴圈網路的動態超網路。

Deutsch(2018) 使用超網路生成神經網路。

5.14 Highway Networks

Srivastava 等人 (2015) 提出了高速路網路(Highway Networks),通過使用門控單元來學習管理資訊。跨多個層次的資訊流稱為資訊高速路。

5.14.1 Recurrent Highway Networks

Zilly 等人 (2017) 提出了迴圈高速路網路 (Recurrent Highway Networks,RHN),它擴充套件了長短期記憶 (LSTM) 架構。RHN 在週期性過渡中使用了 Highway 層。

5.15 Highway LSTM RNN

Zhang 等人 (2016) 提出了高速路長短期記憶 (high - Long short Memory, HLSTM) RNN,它在相鄰層的記憶體單元之間擴充套件了具有封閉方向連線 (即 Highway) 的深度 LSTM 網路。

5.16 長期迴圈 CNN

Donahue 等人 (2014) 提出了長期迴圈卷積網路 (LRCN),它使用 CNN 進行輸入,然後使用 LSTM 進行遞迴序列建模並生成預測。

5.17 深度神經 SVM

Zhang 等人 (2015) 提出了深度神經 SVM(DNSVM),它以支援向量機 (Support Vector Machine, SVM) 作為深度神經網路 (Deep Neural Network, DNN) 分類的頂層。

5.18 卷積殘差記憶網路

Moniz 和 Pal(2016) 提出了卷積殘差記憶網路,將記憶機制併入卷積神經網路 (CNN)。它用一個長短期記憶機制來增強卷積殘差網路。

5.19 分形網路

Larsson 等人 (2016) 提出分形網路即 FractalNet 作為殘差網路的替代方案。他們聲稱可以訓練超深度的神經網路而不需要殘差學習。分形是簡單擴充套件規則生成的重複架構。

5.20 WaveNet

van den Oord 等人 (2016) 提出了用於產生原始音訊的深度神經網路 WaveNet。WaveNet 由一堆卷積層和 softmax 分佈層組成,用於輸出。

Rethage 等人 (2017) 提出了一個 WaveNet 模型用於語音去噪。

5.21 指標網路

Vinyals 等人 (2017) 提出了指標網路 (Ptr-Nets),通過使用一種稱為「指標」的 softmax 概率分佈來解決表徵變數字典的問題。

6. 深度生成模型

在本節中,我們將簡要討論其他深度架構,它們使用與深度神經網路類似的多個抽象層和表示層,也稱為深度生成模型 (deep generate Models, DGM)。Bengio(2009) 解釋了深層架構,例如 Boltzmann machine (BM) 和 Restricted Boltzmann Machines (RBM) 等及其變體。

Goodfellow 等人 (2016) 詳細解釋了深度生成模型,如受限和非受限的玻爾茲曼機及其變種、深度玻爾茲曼機、深度信念網路 (DBN)、定向生成網路和生成隨機網路等。

Maaløe 等人(2016)提出了輔助的深層生成模型(Auxiliary Deep Generative Models),在這些模型中,他們擴充套件了具有輔助變數的深層生成模型。輔助變數利用隨機層和跳過連線生成變分分佈。

Rezende 等人 (2016) 開發了一種深度生成模型的單次泛化。

6.1 玻爾茲曼機

玻爾茲曼機是學習任意概率分佈的連線主義方法,使用最大似然原則進行學習。

6.2 受限玻爾茲曼機

受限玻爾茲曼機 (Restricted Boltzmann Machines, RBM) 是馬爾可夫隨機場的一種特殊型別,包含一層隨機隱藏單元,即潛變數和一層可觀測變數。

Hinton 和 Salakhutdinov(2011) 提出了一種利用受限玻爾茲曼機 (RBM) 進行文件處理的深度生成模型。

6.3 深度信念網路

深度信念網路 (Deep Belief Networks, DBN) 是具有多個潛在二元或真實變數層的生成模型。

Ranzato 等人 (2011) 利用深度信念網路 (deep Belief Network, DBN) 建立了深度生成模型進行影象識別。

6.4 深度朗伯網路

Tang 等人 (2012) 提出了深度朗伯網路 (Deep Lambertian Networks,DLN),它是一個多層次的生成模型,其中潛在的變數是反照率、表面法線和光源。DLNis 是朗伯反射率與高斯受限玻爾茲曼機和深度信念網路的結合。

6.5 生成對抗網路

Goodfellow 等人 (2014) 提出了生成對抗網路 (generate Adversarial Nets, GAN),用於通過對抗過程來評估生成模型。GAN 架構是由一個針對對手(即一個學習模型或資料分佈的判別模型)的生成模型組成。Mao 等人 (2016)、Kim 等人 (2017) 對 GAN 提出了更多的改進。

Salimans 等人 (2016) 提出了幾種訓練 GANs 的方法。

6.5.1 拉普拉斯生成對抗網路

Denton 等人 (2015) 提出了一種深度生成模型 (DGM),叫做拉普拉斯生成對抗網路 (LAPGAN),使用生成對抗網路 (GAN) 方法。該模型還在拉普拉斯金字塔框架中使用卷積網路。

6.6 迴圈支援向量機

Shi 等人 (2016a) 提出了迴圈支援向量機 (RSVM),利用迴圈神經網路 (RNN) 從輸入序列中提取特徵,用標準支援向量機 (SVM) 進行序列級目標識別。

7. 訓練和優化技術

在本節中,我們將簡要概述一些主要的技術,用於正則化和優化深度神經網路 (DNN)。

7.1 Dropout

Srivastava 等人 (2014) 提出 Dropout,以防止神經網路過擬合。Dropout 是一種神經網路模型平均正則化方法,通過增加噪聲到其隱藏單元。在訓練過程中,它會從神經網路中隨機抽取出單元和連線。Dropout 可以用於像 RBM (Srivastava et al.,2014) 這樣的圖形模型中,也可以用於任何型別的神經網路。最近提出的一個關於 Dropout 的改進是 Fraternal Dropout,用於迴圈神經網路 (RNN)。

7.2 Maxout

Goodfellow 等人 (2013) 提出 Maxout,一種新的啟用函式,用於 Dropout。Maxout 的輸出是一組輸入的最大值,有利於 Dropout 的模型平均。

7.3 Zoneout

Krueger 等人 (2016) 提出了迴圈神經網路 (RNN) 的正則化方法 Zoneout。Zoneout 在訓練中隨機使用噪音,類似於 Dropout,但保留了隱藏的單元而不是丟棄。

7.4 深度殘差學習

He 等人 (2015) 提出了深度殘差學習框架,該框架被稱為低訓練誤差的 ResNet。

7.5 批歸一化

Ioffe 和 Szegedy(2015) 提出了批歸一化,通過減少內部協變數移位來加速深度神經網路訓練的方法。Ioffe(2017) 提出批重歸一化,擴充套件了以前的方法。

7.6 Distillation

Hinton 等人 (2015) 提出了將知識從高度正則化模型的集合 (即神經網路) 轉化為壓縮小模型的方法。

7.7 層歸一化

Ba 等人 (2016) 提出了層歸一化,特別是針對 RNN 的深度神經網路加速訓練,解決了批歸一化的侷限性。

8. 深度學習框架

有大量的開源庫和框架可供深度學習使用。它們大多數是為 Python 程式語言構建的。如 Theano、Tensorflow、PyTorch、PyBrain、Caffe、Blocks and Fuel 、CuDNN、Honk、ChainerCV、PyLearn2、Chainer,、torch 等。

9. 深度學習的應用

在本節中,我們將簡要地討論一些最近在深度學習方面的傑出應用。自深度學習 (DL) 開始以來,DL 方法以監督、非監督、半監督或強化學習的形式被廣泛應用於各個領域。從分類和檢測任務開始,DL 應用正在迅速擴充套件到每一個領域。

例如:

  • 影象分類與識別

  • 視訊分類

  • 序列生成 

  • 缺陷分類

  • 文字、語音、影象和視訊處理

  • 文字分類

  • 語音處理

  • 語音識別和口語理解

  • 文字到語音生成

  • 查詢分類

  • 句子分類

  • 句子建模

  • 詞彙處理

  • 預選擇

  • 文件和句子處理

  • 生成影象文字說明

  • 照片風格遷移

  • 自然影象流形

  • 影象著色

  • 影象問答

  • 生成紋理和風格化影象

  • 視覺和文字問答

  • 視覺識別和描述

  • 目標識別

  • 文件處理

  • 人物動作合成和編輯

  • 歌曲合成

  • 身份識別

  • 人臉識別和驗證

  • 視訊動作識別

  • 人類動作識別

  • 動作識別

  • 分類和視覺化動作捕捉序列

  • 手寫生成和預測

  • 自動化和機器翻譯

  • 命名實體識別

  • 移動視覺

  • 對話智慧體

  • 呼叫遺傳變異

  • 癌症檢測

  • X 射線 CT 重建

  • 癲癇發作預測

  • 硬體加速

  • 機器人

等。

Deng 和 Yu(2014) 提供了 DL 在語音處理、資訊檢索、目標識別、計算機視覺、多模態、多工學習等領域應用的詳細列表。

使用深度強化學習 (Deep Reinforcement Learning, DRL) 來掌握遊戲已經成為當今的一個熱門話題。每到現在,人工智慧機器人都是用 DNN 和 DRL 建立的,它們在戰略和其他遊戲中擊敗了人類世界冠軍和象棋大師,從幾個小時的訓練開始。例如圍棋的 AlphaGo 和 AlphaGo Zero。

10. 討論

儘管深度學習在許多領域取得了巨大的成功,但它還有很長的路要走。還有很多地方有待改進。至於侷限性,例子也是相當多的。例如:Nguyen 等人表明深度神經網路(DNN)在識別影象時容易被欺騙。還有其他問題,如 Yosinski 等人提出的學習的特徵可遷移性。Huang 等人提出了一種神經網路攻擊防禦的體系結構,認為未來的工作需要防禦這些攻擊。Zhang 等人則提出了一個理解深度學習模型的實驗框架,他們認為理解深度學習需要重新思考和概括。

Marcus 在 2018 年對深度學習 (Deep Learning, DL) 的作用、侷限性和本質進行了重要的回顧。他強烈指出了 DL 方法的侷限性,即需要更多的資料,容量有限,不能處理層次結構,無法進行開放式推理,不能充分透明,不能與先驗知識整合,不能區分因果關係。他還提到,DL 假設了一個穩定的世界,以近似方法實現,工程化很困難,並且存在著過度炒作的潛在風險。Marcus 認為 DL 需要重新概念化,並在非監督學習、符號操作和混合模型中尋找可能性,從認知科學和心理學中獲得見解,並迎接更大膽的挑戰。

11. 結論

儘管深度學習(DL)比以往任何時候都更快地推進了世界的發展,但仍有許多方面值得我們去研究。我們仍然無法完全地理解深度學習,我們如何讓機器變得更聰明,更接近或比人類更聰明,或者像人類一樣學習。DL 一直在解決許多問題,同時將技術應用到方方面面。但是人類仍然面臨著許多難題,例如仍有人死於飢餓和糧食危機, 癌症和其他致命的疾病等。我們希望深度學習和人工智慧將更加致力於改善人類的生活質量,通過開展最困難的科學研究。最後但也是最重要的,願我們的世界變得更加美好。