從起源到具體算法,這是一份適合全部人讀的深度學習綜述論文

文章選自arXiv,做者:Md Zahangir Alom 等,機器之心編譯。
自 2012 年多倫多大學 Alex Krizhevsky 等人提出 AlexNet 以來,「深度學習」做爲一種機器學習的強大方法逐漸引起了今天的 AI 熱潮。隨着這種技術被應用到各類不一樣領域,人們已經開發出了大量新模型與架構,以致於咱們沒法理清網絡類型之間的關係。近日,來自 University of Dayton 的研究者們對深度學習近年來的發展歷程進行了全面的梳理與總結,並指出了目前人們面臨的主要技術挑戰。機器之心以爲這是一份很是詳細的綜述論文,既適合從零開始瞭解深度學習的人,又適合有基礎的學習者。
論文地址: arxiv.org/abs/1803.01…


近年來,深度學習做爲機器學習的新分支,其應用在多個領域取得巨大成功,並一直在快速發展,不斷開創新的應用模式,創造新機會。深度學習方法根據訓練數據是否擁有標記信息被劃分爲監督學習、半監督學習和無監督學習。實驗結果顯示了上述方法在圖像處理、計算機視覺、語音識別、機器翻譯、藝術、醫學成像、醫療信息處理、機器人控制和生物、天然語言處理(NLP)、網絡安全等領域的最新成果。本報告簡要概述了深度學習方法的發展,包括深度神經網絡(DNN)、卷積神經網絡(CNN)、循環神經網絡(RNN)(包括長短時間記憶(LSTM)和門控循環單元(GRU))、自 編碼器(AE)、深度信念網絡(DBN),生成對抗網絡(GAN)和深度強化學習(DRL)。此外,本文也涵蓋了深度學習方法前沿發展和高級變體深度學習技術。此外,深度學習方法在各個應用領域進行的探索和評估也包含在本次調查中。咱們還會談到最新開發的框架、SDK 和用於評估深度學習方法的基準數據集。然而,這些論文並無討論某些大型深度學習模型和最新開發的生成模型方法 [1]。

介紹

自 20 世紀 50 年代以來,做爲人工智能子領域的機器學習已經開始革新若干個領域,而誕生自機器學習的深度學習實現了迄今爲止最大的原創性突破,幾乎在每一個應用領域取得了顯著成功。圖 1 給出了 AI 的譜系。深度學習(學習或分層學習方法的深層架構)是從 2006 年興起的一類機器學習技術。在深度學習中,學習便是評估模型參數,使學習模型(算法)可執行特定任務。例如,在人工神經網絡(ANN)中,參數是權重矩陣
。另外一方面,深度學習在輸入層和輸出層之間包含若干個隱層,使得不一樣階段的非線性處理單元具備層級結構,以用於特徵學習和模式分類 [1, 2]。基於數據表徵的學習方法也被稱爲表徵學習 [3]。根據最新文獻,基於深度學習的表徵學習涉及特徵或概念的層次結構,其中高級概念能夠從低級概念定義,低級概念能夠從高級概念定義。在一些文章中,深度學習也被描述爲一種通用學習方法,能夠解決不一樣應用領域的幾乎全部問題(不侷限於特定任務)[4]。

A. 深度學習方法的類型

像機器學習同樣,深度學習方法能夠分爲如下幾類:監督、半監督、部分監督以及無監督。此外,還有另外一類學習方法稱爲強化學習(Reinforcement Learning)或深度強化學習(Deep Reinforcement Learning),它們常常在半監督或非監督學習方法的範圍內討論。
圖 1:人工智能譜系:AI、機器學習、神經網絡、深度學習和脈衝神經網絡(SNN)

1) 監督學習
一種使用標註數據的學習技術。在其案例中,環境包含一組對應的輸入輸出 。好比,輸入是 x_t,智能體預測 ,則會得到損失值 。接着智能體不斷迭代調整網絡參數,從而更好地近似指望輸出。成功訓練以後,智能體可對環境問題作出正確回答。監督學習主要有如下幾種:深度神經網絡 (DNN)、卷積神經網絡 (CNN)、循環神經網絡(包含 LSTM)以及門控循環單元(GRU)。上述網絡將分別在 二、三、四、5 章節中詳述。

2) 半監督學習
一種使用部分標註數據的學習技術(一般被稱之爲強化學習)。本文第 8 節調查了其方法。在一些案例中,深度強化學習(DRL)和生成對抗網絡(GAN)常被用做半監督學習技術。此外,包含 LSTM 的 RNN 和 GRU 也可劃分爲半監督學習。GAN 將在第 7 節討論。

3) 無監督學習
一種不使用標註數據的學習技術。在這種狀況下,智能體學習內部表示或重要特徵以發現輸入數據中的未知關係或結構。無監督學習方法一般有聚類、降維和生成技術等。有些深度學習技術擅長聚類和非線性降維,如自編碼器(AE)、受限玻爾茲曼機(RBM)和 GAN。此外,RNN(好比 LSTM)和 RL 也被用做半監督學習 [243]。本文第 六、7 節將分別詳述 RNN 和 LSTM。

4) 深度強化學習(DRL)
一種適用於未知環境的學習技術。DRL 始於 2013 年穀歌 Deep Mind[5,6]。今後,人們基於 RL 提出了幾種先進的方法,例如:若是環境樣本輸入:agent〜ρ,agentpredict: ,agentreceivecost: ,其中 P 是未知機率分佈,環境向智能體提出問題,並給其一個有噪音的分值做爲答案。有時這種方法也被稱爲半監督學習。許多半監督和無監督學習方法已經基於這個概念實施(第 8 節)。在 RL 中,咱們沒有一個簡單的前向損失函數,所以與傳統的監督方法相比,這使得機器學習變得更困難。RL 和監督學習之間的根本區別在於:首先,咱們沒法獲取你正在優化的函數,而必須經過交互來查詢它;其次,咱們正在與基於狀態的環境交互:輸入 x_t 取決於先前的動做。
圖 2:深度學習方法的分類

B. 特徵學習

傳統機器學習和深度學習之間的關鍵區別在於如何提取特徵。傳統機器學習方法經過應用幾種特徵提取算法,包括尺度不變特徵變換(SIFT)、加速魯棒特徵(SURF)、GIST、RANSAC、直方圖方向梯度(HOG)、局部二元模式(LBP)、經驗模式分解(EMD)語音分析等等。最後,包括支持向量機(SVM)、隨機森林(RF)、主成分分析(PCA)、核主成分分析(KPCA)、線性遞減分析(LDA)、Fisher 遞減分析(FDA)等不少學習算法都被人們應用於分類和提取特徵的任務。此外,其餘加強方法一般多個應用於單個任務或數據集特徵的學習算法,並根據不一樣算法的多個結果進行決策。
表 1:不一樣的特徵學習方法

另外一方面,在深度學習中,這些特徵會被自動學習並在多個層上分層表示。這是深度學習超越傳統機器學習方法的緣由。上表展現了不一樣特徵學習方法與不一樣學習步驟之間的關係。算法


C. 應用深度學習的時機和領域

人工智能在如下領域十分有用,深度學習在其中扮演重要角色:
1. 缺少人類專家(火星導航);
2. 人們尚沒法解釋的專業知識(演講、認知、視覺和語言理解);
3. 問題的解決方案隨時間不斷變化(追蹤、天氣預報、偏好、股票、價格預測);
4. 解決方案須要適應特定狀況(生物統計學、個性化);
5. 人類的推理能力有限,而問題的規模卻很大(計算網頁排名、將廣告匹配到 Facebook、情感分析)。
目前,深度學習幾乎在各個領域都有應用。所以,這種方法有時也被稱爲通用學習方法。圖 4 顯示了一些示例應用程序。
圖 4:成功應用深度學習並取得頂級結果的示例圖

D. 深度學習的前沿發展

深度學習在計算機視覺和語音識別領域有一些突出的成就,以下所述:


1)ImageNet 數據集上的圖像分類
深度學習在圖像分類領域的應用基準被稱爲大規模視覺識別挑戰(LSVRC)。基於深度學習和卷積神經網絡技術,深度學習在 ImageNet 測量精確度中有很好的表現 [11]。近日,Russakovsky 等人發表了一篇關於 ImageNet 數據集的文章及近年來研究者們實現的最高精確度 [285]。下圖顯示了 2012 年深度學習技術的發展歷程。時至今日,咱們開發的方法在 ResNet-152 上只有 3.57%的偏差,低於人類約 5% 的偏差。
圖 5:使用不一樣深度學習模型在 ImageNet 測試的準確性

2)自動語音識別安全

深度學習經過 TIMIT 數據集(通用數據集一般用於評估)完成的小規模識別任務是深度學習在語音識別領域的初次成功體現。TIMIT 連續聲音 - 語音語料庫包含 630 位來自美國的八種主要英語口音使用者,每位發言人讀取 10 個句子。下圖總結了包括早期結果在內的錯誤率,並以過去 20 年的電話錯誤率(PER)來衡量。條形圖清楚地代表,與 TIMIT 數據集上之前的機器學習方法相比,最近開發的深度學習方法(圖頂部)表現更好。
圖 6:TIMIT 數據集的電話錯誤率(PER)

E. 爲何要使用深度學習


1)通用學習方法
深度學習有時被稱爲通用學習,由於它幾乎能夠應用於任何領域。

2)魯棒性
深度學習方法不須要提早設計功能。其自動學習的功能對於當前的任務來講是最佳的。結果是,任務自動得到對抗數據天然變化的魯棒性。

3)泛化
相同的深度學習方法能夠用於不一樣的應用程序或不一樣的數據類型,這種方法一般被稱爲遷移學習。另外,這種方法在可用數據不足時頗有用。根據這個概念研究學者已經發表了多篇論文(在第 4 節中會有更詳細地討論)。

4)可擴展性
深度學習方法具備高度可擴展性。在 2015 年的一篇論文中,微軟描述了一個名爲 ResNet 的網絡 [11]。該網絡包含 1202 個層,而且一般由超級計算規模部署。美國的勞倫斯利弗莫爾國家實驗室(LLNL)正在爲這樣的網絡開發框架,該框架能夠實現數千個節點 [24]。

F. 深度學習面臨的挑戰:

  • 使用深度學習進行大數據分析
  • 深度學習方法要有可擴展性
  • 在數據不可用於學習系統的狀況下(尤爲是對於計算機視覺任務,例如反向圖形),生成數據的能力很是重要。
  • 特殊用途設備的低能耗技術,如移動端智能,FPGA 等。
  • 多任務和遷移學習(泛化)或多模塊學習。這意味着要從不一樣的領域或不一樣的模型一塊兒學習。
  • 在學習中處理因果關係。
圖 7:深度學習的性能與數據數量之間的關係

其次,大部分針對大規模問題的案例,其解決方案正在高性能計算機(HPC)系統(超級計算機、集羣,有時被視爲雲計算)上部署,這爲數據密集型商業計算提供了巨大的潛力。但隨着數據在速度,多樣性,準確性和數量上的爆炸式增加,咱們愈來愈難以使用企業級服務器進行存儲和提高計算性能。大多數論文考慮到這些需求,並提出了使用異構計算系統的高效 HPC。例如:勞倫斯利弗莫爾國家實驗室(LLNL)開發了一個框架:Livermore Big Artificial Neural Networks(LBANN),用於大規模部署深度學習(超級計算規模),這一項目明確地回答了深度學習是否可擴展的問題 [24]。服務器

第三,生成模型是深度學習的另外一個挑戰,其中一個例子是 GAN,它是一種優秀的數據生成方法,能夠生成具備相同分佈數據 [28]。第四,咱們在第七節討論過的多任務和遷移學習。第四,咱們對網絡架構和硬件方面的高效率深度學習方法進行了大量的研究。第 10 節討論了這個問題。
咱們能夠製做出適用於多領域、多任務的通用模型嗎?出於對多模式系統的關注,最近,谷歌提交的論文《One Model To Learn Them All》[29] 介紹了一種新方法,其能夠從不一樣的應用領域學習,包括 ImageNet、多種翻譯任務、圖像標題(MS-COCO 數據集)、語音識別語料庫和英語解析任務。咱們將經過此次調查討論主要挑戰和相應的解決方案。在過去幾年中,人們還提出了其餘多任務技術。
最後,圖形模型是一個具備因果關係的學習系統,用於定義如何根據數據推斷因果模型。最近,已經出現瞭解決此類問題的深度學習方法 [33]。可是,在過去幾年中,還有其餘許多具備挑戰性的問題仍未獲得有效地解決。例如:圖像或視頻字幕 [34],使用 GAN [35] 從文本到圖像合成 [36] 以及其餘從一個域到另外一個域的風格遷移。
最近,一些研究者完成了不少關於深度學習的調查,其中有一篇很是高質量的總結,但它沒有涉及最近開發的 GAN 的生成模型 [28]。此外,它說起了強化學習的話題,但沒有涉及深度強化學習方法的近期趨勢 [1,39]。大多數狀況下,調查是依據深度學習的不一樣方法來分類的。本報告的主要目標是介紹深度學習的整體思路及其相關領域,包括深度監督(如 DNN、CNN 和 RNN)、無監督(如 AE、RBM、GAN)(有時 GAN 也用於半監督學習任務)和深度強化學習的思路。在某些狀況下,深度強化學習被認爲是半監督/無監督的方法。咱們考慮了該領域的最新發展趨勢以及基於該技術開發的應用。此外,咱們還囊括了評估深度學習技術經常使用的框架和基準數據集,會議和期刊的名稱也包括在內。
本論文的其他部分的組織方式以下:第二節討論 DNN 的詳細調查,第三節討論 CNN;第四節介紹了不一樣的先進技術,以有效地訓練深度學習模型; 第五節討論 RNN; AE 和 RBM 在第六節中討論; GAN 及其應用在第七節討論;強化學習在第八節中介紹;第九節解釋遷移學習; 第十節介紹了深度學習的高效應用方法和硬件; 第十一節討論了深度學習框架和標準開發工具包(SDK); 第十二節給出了不一樣應用領域的基準測試結果;第十三節爲結論。
相關文章
相關標籤/搜索