1 什么是深度學習
深度學習是指經過組合低層特征形成更加稠密的高層語義抽象,進而自動發現數據的分布式特征表示,它解決了傳統機器學習中需要人工設計特征的問題,目前,深度學習在多領域取得突破進展,如圖像識別、機器翻譯、語音識別和在線廣告等領域。
2 深度學習與機器學習、人工智能的關系
機器學習是一種實現人工智能的方法,深度學習是一種實現機器學習的技術。我們就用最簡單的方法——同心圓,可視化地展現出它們三者的關系。

3 深度學習技術
(1)自編碼器
1986年威廉等人提出了自編碼器(Autoencoder,AE)的概念,并將其用于高維復雜數據處理。自編碼器通過一個編碼和一個解碼過程來重構輸入數據,學習數據的隱層表示?;镜淖跃幋a器可視為一個三層神經網絡結構:一個輸入層x、一個隱層h和一個輸出層y,其中輸出層和輸入層具有相同的規模,結構如圖1所示

自編碼器的目的是使得輸入x與輸出y盡可能接近,這種接近程度通過重構誤差表示,根據數據的不同形式,通常重構誤差有均方誤差和交叉熵兩種定義方式。如果僅僅通過最小化輸入輸出之間的誤差來實現對模型的訓練,自編碼器很容易學習到一個恒等函數。為了解決這個問題,研究者提出了一系列自編碼器的變種,其中比較經典的包括稀疏自編碼器和降噪自編碼器。通過在損失函數中加入L1正則項,便可以訓練得到稀疏自編碼器,其目的是對過大的權重進行懲罰,使隱層表示中的大量節點為0,從而確保隱層表示盡量稀疏。降噪自編碼器則是通過在自動編碼器的輸入數據中加入噪聲得到,這樣降噪自編碼器在重構輸入數據時,就被迫去除這種噪聲來學習到更加魯棒的輸入數據的表達,降噪自編碼器通過這種方式提升了泛化能力。2007年,Bengio等人通過堆疊多個降噪自編碼器,提出了棧式降噪自動編碼器(Stacked Denoising Autoencode,SDAE)的概念,其是一種深度神經網絡結構,通過逐層非監督學習的預訓練可以學習多層次的數據抽象表示。
(2)受限玻爾茲曼機
玻爾茲曼機(Boltzmann Machine,BM)是一種生成式隨機神經網絡,由Hinton和Sejnowski在1986年提出,BM由一些可見單元(對應可見變量,亦即數據樣本)和一些隱層單元(對應隱層變量)構成,可見變量和隱層變量都是二元變量,其狀態取0-1,狀態0表示該神經元處于抑制狀態,狀態1代表該神經元處于激活狀態。
BM能夠學習數據中復雜的規則,具有強大的無監督學習能力。但是,玻爾茲曼機的訓練過程非常耗時。為此,Hinton和Sejnowski進一步提出了一種受限玻爾茲曼機(Restricted Boltzmann Machine,RBM),其在玻爾茲曼機的基礎上,通過去除同層變量之間的所有連接極大地提高了學習效率。受限玻爾茲曼機的結構如圖2所示,包括可見層v以及隱層h,兩層之間的節點是全連接的,同層節點間是互不連接的。

從RBM的結構可以發現,在給定隱層單元的狀態時,可見層單元之間是條件獨立的;反之,在給定可見層單元的狀態時,各隱層單元之間也條件獨立。因此,盡管無法有效計算RBM所表示的分布,但是通過Gibbs采樣能夠得到RBM所表示的分布的隨機樣本。
Gibbs采樣的問題是需要使用較大的采樣步數,使得RBM的訓練效率仍不高??紤]到這種情況,Hinton提出了一種對比散度(ContrastiveDivergence,CD)快速學習算法,CD算法同樣利用Gibbs采樣過程(即每次迭代包括從可見層更新隱層,以及從隱層更新可見層)來獲得隨機樣本,但是只需迭代k(通常k=1)次就可獲得對模型的估計,而不需要像Gibbs采樣一樣直到可見層和隱層達到平穩分布。
RBM是推薦系統中最早被應用的神經網絡模型,當前的應用主要是通過對用戶的評分數據進行重構學習到用戶的隱表示,從而實現對未知評分的預測。應用場景主要是用戶評分預測。
(3)深度信念網絡
Hinton等人在2006年提出了一種深度信念網絡(Deep Belief Networks,DBN),其是一種由多層非線性變量連接組成的生成式模型。在深度信念網絡中,靠近可見層的部分是多個貝葉斯信念網絡,最遠離可見層的部分則是一個RBM。DBN的結構可以看作由多個受限玻爾茲曼機層疊構成,網絡中前一個RBM的隱層視為下一個RBM的可見層。這樣,在DBN的訓練過程中,每一個RBM都可以使用上一個RBM的輸出單獨訓練,因此與傳統的神經網絡相比,DBN的訓練更加簡單。同時,通過這種訓練方法,DBN也能夠從無標記數據獲取深層次的特征表示.

(4)卷積神經網絡
卷積神經網絡(Convolutional Neuron
Networks,CNN)已成為當前圖像理解領域的研究熱點。卷積神經網絡是一種多層感知機,主要被用來處理二維圖像數據。相比傳統的多層感知機,CNN使用池化操作減少了模型中的神經元數量,同時對輸入空間的平移不變性具有更高的魯棒性。另外,CNN的權值共享網絡結構能夠減少模型中參數數量,降低了網絡模型的復雜度,提升了模型的泛化能力。尤其是當網絡的輸入是多維圖像時,通過將圖像直接作為網絡的輸入,從而避免了傳統圖像處理算法中復雜的特征提取和數據重建過程。卷積神經網絡的基本結構由輸入層、卷積層、下采樣層(池化層)、全連接層和輸出層構成。

(5)循環神經網絡
1986年Williams等提出循環神經網絡(Recurrent Neural Network,RNN)的概念。普通的全連接網絡或卷積神經網絡,是從輸入層到隱層再到輸出層的結構,層與層之間是全連接的,每層之間的節點是無連接的。這種神經網絡結構在面對序列數據建模時往往顯得無能為力。例如,當需要預測句子中下一個單詞是什么的時候,一般需要依據前面的單詞。RNN因為能夠建模序列數據中不同時刻數據之間的依賴關系,在機器翻譯、語音識別、圖標標注生成等領域取得了廣泛應用。

RNN的最大特點在于神經網絡各隱層之間的節點是具有連接的,它能夠通過獲取輸入層的輸出和前一時刻的隱層狀態來計算當前時刻隱層的輸出,也就是說RNN能夠對過去的信息進行記憶。理論上來說,RNN能夠對任意長度的序列數據進行建模,但在實際應用中往往假設當前狀態僅與前幾個時刻的歷史狀態相關,從而幫助降低模型的復雜.
參考資料:黃立威,江碧濤,呂守業,等. 基于深度學習的推薦系統研究綜述[J]. 計算機學報,