深度學習概述

2021-09-25 02:02:10 字數 3719 閱讀 9115

part 5 深度學習的應用

part 6 總結與展望

文章:常虹,山世光. 深度學習概述[j].資訊科技快報.

深度學習是相對於svm、knn、gradient boost等淺層學習演算法而言的。深度是指乙個流向圖(flow graph)從輸入到輸出所走的最長的路徑。例如svm深度為2,第一層是核輸出或是特徵空間,第二層是線性混合的分類輸出。傳統的前饋神經網路深度等於其層次的數目。

本西奧對深度學習的研究表明每個函式都有固定的最小深度,即在運算次序上盡可能並行之後的執行次數。函式深度與運算方法有很大關係。哈斯塔德等人證明如果乙個k層網路模型緊緻地表示乙個函式,那麼用k-1層網路模型表示該函式則需要指數倍的計算單元。深層結構可以用少於函式變數和訓練資料的計算單元緊緻地表示高度變化的函式,這是大多數現有的淺層機器學習方法不可比擬的。所以本西奧等人認為,增加網路結構的深度從統計學的效率來看十分重要。

除了更強大的函式表達能力和泛化能力,深度學習的結果比較自然地體現了底層特徵到高層特徵的演變。例如,深度模型可以表示「影象塊或畫素點—>邊緣—>部件—>物體」的學習過程,而這個過程與生物的視覺感知系統十分契合。

目前深度學模型中可堆疊的學習結構主要是多層神經網路。

時間發展

特徵二十世紀六十年代

神經網路第一次興起

二十世紀八十年代

第二代神經網路利用反向傳播(back propagation,bp)方法學習網路引數

需要標註資料,可擴充套件性差,統一陷入區域性極小

2006-2023年

無監督預訓練對權值進行初始化+有監督訓練微調

2023年,relu啟用函式被提出,

relu啟用函式能夠有效的抑制梯度消失問題

2012-2023年

cnn發展

relu函式在alexnet中的使用

1、首次採用relu啟用函式,極大增大收斂速度並從根本上解決了梯度消失的問題

2、由於relu很好地一直梯度消失問題,alexnet放棄了「預訓練+微調」的方法,完全採用有監督訓練,從此深度學習的主流學習方法變為純粹的有監督學習。

3、擴充套件了lenet5結構,新增dropout層減小過擬合,lrn層增強泛化能力/減小過擬合。

4、第一次使用gpu加速運算。

2017-現在

深度學習目前仍在不斷發展中

1、卷積神經網路

卷積神經網路(convolutional neural networks,cnns)是一種有監督學習的深度模型。基本思想是在前層網路的不同位置共享特徵對映的權重,利用空間相對關係減少引數數目以提高訓練效能。

下圖為卷積神經網路抽取影象特徵的過程

2、受限玻爾茲曼機和深度置信網路

受限玻爾茲曼機(restricted boltzmann machine, rbm)是玻爾茲曼機的一種變形,即去掉原始的玻爾茲曼機中可見節點之間及隱藏節點之間的連線,它是一種基於能量的模型。其中二進位制神經元的概率值可以用個激勵的向上和向下傳播獲得,使用對比離散度(contrastive divergence)方法很大程度上提高了模型的訓練程度。

受限玻爾茲曼機提供了無監督學習單層網路的方法,如果把隱藏層的層數增加,即得到了深度玻爾茲曼機,如果在靠近可見層的部分採用貝葉斯網路(即有向圖模型),而在最原理可見層的部分使用受限玻爾茲曼機,即得到深度置信網路(deep belief networks,dbns)

下圖左側為受限玻爾茲曼機,右側為深度置信網路。

3、自動編碼器

自動編碼器(autoencoder,ae)為單層網路結構。與深度執行網路的概率圖模型不同,自動編碼器通常以重構誤差作為優化的目標函式,試圖直接學習從輸入到輸出引數化的對映函式(或特徵提取函式)。去噪自動編碼器(denoising autoencoder,dae)是自動編碼器的一種隨機擴充套件,它的目標是從有雜訊的輸入資料中重構原始輸入,從而實現更魯棒的特徵學習。

多個自動編碼器啊可以組成疊加自動編碼器(stacked autoencoder),並利用深度學習的思想進行訓練。

下圖左側為自動編碼器,右側是去噪自動編碼器。

前文提到,深度模型的訓練過程包括:1)通過無監督學習對每一層網路進行初始化,並將其訓練結果作為高一層網路的輸入;2)通過監督學習微調整個網路的引數。其中,第一步的初始化是深度學習能取得出色效果的重要因素。深度學習中的優化主要是基於隨機梯度下降(stochastic gradient decent,sgd)方法,其引數更新僅在單個訓練樣本或者一小部分訓練樣本上進行。雖然隨機梯度與傳統方法更適用於大規模訓練資料,但是這種順序優化的思想增加了並行化的困難,成為該方法在時間效率上面臨的最大瓶頸。

深度學習多數建立在「大資料+複雜模型」的基礎上,為了取得更高效能和效率,發掘更複雜的高層次特徵,必須提高深度學習方法的可擴充套件性。目前訓練大規模深度模型主要依賴大量的cpu核以及類似雲計算的方法,以jeff dean和吳恩達為首的研究人員為了訓練具有1b引數的大規模深度模型,採用了稀疏、區域性感受區域、匯聚(pooling)和區域性對比正則化(local contrast normalization)方法,以及模型並行化和非同步隨機梯度下降(asynchronous sgd)方法,最近,coates等人提出基於現成商品高效能計算(commodity off-the-shelf high performance computing,cots hpc)技術的深度學習系統,該系統由無限寬頻互聯的伺服器群組成,訓練1b引數僅需3臺機器,而且能夠擴充套件到更大的網路規模。

在計算機視覺領域深度學習主要應用在資料降維、手寫數字識別、模式識別等領域,例如影象識別、影象去噪和修復、運動建模、動作識別、物體跟蹤、視覺建模、場景分析等,展現出非常高的有效性。

網際網路行為分析、文字分析、市場監測、自動控制等。

深度學習模擬人腦神經系統構建深層神經網路模型,通過無監督的方式從大量資料中學

習層級特徵,在計算機視覺、語音識別等領域取得了巨大的成功。可以說,深度學習讓我們

向真正的智慧型機時代邁進了一步。

基於已有的工作和思考,我們對於深度學習尚未解決的問題和未來的研究方向的看法概

括如下:

深度學習尚缺少統計學習理論的有力支援,模型的可表示性、可學習性以及可並行

計算性等基礎理論問題有待於深入研究。

即使是龐大複雜的深度神經網路,距離模擬真實人腦還差得非常遠。我們無法完全

掌握人類大腦的工作原理,但是深度學習的成功使得研究者們更加關注腦神經科學

的研究,相關的研究專案如雨後春筍般湧現,「大神經科學時代」(era of big

neuroscience)已經到來。

深度模型對動態資料建模的成效非常有限,其描述時間序列資料動態特性的能力有

待研究。

深度學習在模型訓練、觀測和解釋方面需要進一步的工作,例如中間結果的控制、

多層同時訓練的方法、深度生成式模型更好的取樣方法、模型的解釋方法等。

傳統淺層學習方法的深度擴充套件是個值得關注的問題。在大資料時代,深度學習可能

並非唯一的選擇。一些傳統的機器學習方法如何借鑑深度學習的思想解決大資料智

能分析問題,也值得研究。

深度模型在特徵共享的層面實現了多工學習的機制,即多個任務之間共享或部分

共享較低層的特徵表示,而不同的任務對應的高層特徵表示各不相同。我們期望未

來有更高效的多工深度學習方法和成功的應用出現。

深度學習概述

深度學習概述 1.深度學習定義 深度學習 deep learning 起源於人工神經網路,它的定義 通過組合低層特徵形成更加抽象的高層特徵或類別,從而從大量的輸入資料中學習有效特徵表示,並把這些特徵用於分類 回歸和資訊檢索的一種技術。何謂為深度 網路學習得到的函式中,非線性運算組合水平的數量。2深度...

深度學習概述

rnn,recurrent neural network,迴圈神經網路。在rnn中,神經元的輸出可以在下乙個時間戳直接作用到自身,即第i層神經元在m時刻的輸入,除了 i 1 層神經元在該時刻的輸出外,還包括其自身在 m 1 時刻的輸出。適用場景 自然語言處理 語音識別 手寫體識別等。因為樣本出現的時...

深度學習概述

問題 模型引數w 訓練 不斷訓練引數w的取值 模型 得到模型 分類 判別 結果deep learning是一種實現機器學習的技術,是機器學習重要的分支。其源於人工神經網路的研究。深度學習模型結構是一種含多隱層的神經網路。通過組合底層特稱形成更加抽象的高層特徵。資料集的定義 資料集在數學上通常表示為的...