国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

深度神經網絡的結構基礎:自動編碼器與限制玻爾茲曼機

2017-09-07 21:57康文斌彭菁唐乾元
中興通訊技術 2017年4期
關鍵詞:神經網絡深度學習

康文斌+彭菁+唐乾元

摘要:自動編碼器(AE)和限制玻爾茲曼機(RBM)是在深度神經網絡領域廣泛使用的兩種常見的基礎性結構。它們都可以作為無監(jiān)督學習的框架,通過最小化重構誤差,提取系統(tǒng)的重要特征;更重要的是,通過多層的堆疊和逐層的預訓練,層疊式自動編碼器和深度信念網絡都可以在后續(xù)監(jiān)督學習的過程中,幫助整個神經網絡更好更快地收斂到最小值點。

關鍵詞: 深度學習;神經網絡;AE;RBM

近年來,深度學習在圖像和語音識別、自然語言處理、推薦系統(tǒng)等諸多領域中取得了許多重要的突破,深度學習的許多重大進展為解決許多長期以來難以解決的困難問題提供了嶄新的思路[1-2]。深度學習以人工神經網絡為結構基礎,在一個神經網絡中,如圖1a)所示,每個神經元都是一個感知機,輸入端的數(shù)據(jù)在線性組合后,經過激活函數(shù)引入了非線性因素。在一個神經網絡的輸入層和輸出層之間常常會有一個或者多個隱藏層,如圖1b)和c)中所示。通過許多個包含不同連接權重的感知機的組合和疊加,一個神經網絡因而具有了極強的表示能力?!吧疃葘W習”這一名詞中的深度指的是神經網絡中隱藏層的數(shù)量。多個隱藏層讓深度神經網絡能夠表示數(shù)據(jù)中更為復雜的特征,例如:在用深度卷積神經網絡(CNN)進行人臉識別時,較為底層的隱藏層首先提取的是圖片中一些邊緣和界面的特征,隨著層級的提高,圖片中一些紋理的特征可能會顯現(xiàn),而隨著層級繼續(xù)提高,一些具體的對象將會顯現(xiàn),例如:眼睛、鼻子、耳朵等,再到更高層時,整個人臉的特征也就被提取了出來。在一個深度神經網絡上,較高層的特征是低層特征的組合,而隨著神經網絡從低層到高層,其提取的特征也越來越抽象、越來越涉及“整體”的性質[3]。

神經網絡的訓練在本質上是一個非線性優(yōu)化問題,要求在已知的約束條件下,尋找一組參數(shù)組合,使該組合確定的目標函數(shù)達到最小。反向傳播(BP)算法是人工神經網絡訓練中的常見方法,在訓練的過程中,BP算法要計算對網絡中所有連接的權重計算損失函數(shù)的梯度,根據(jù)這一梯度值來更新連接的權值,進而最小化損失函數(shù)[1]。BP算法最早在20世紀70年代被提出,這一算法在淺層的神經網絡訓練中取得了重要的成功,然而在面對深度神經網絡時,這一算法會遇到“梯度消失問題”,即前面的隱藏層中的神經元的學習速度要慢于后面的隱藏層,這一問題如果無法解決,那么神經網絡將在事實上無法有效利用多個隱藏層。這一困難直到2006年才被加拿大多倫多大學教授Geoffrey Hinton解決,這成為了深度學習領域的標志性事件,它使得神經網絡和深度學習重新被學術界所重視 [4]。在短短10余年的時間里,深度學習成為了學術界和工業(yè)界最為熱門的研究主題,在許多不同的領域得到了廣泛的應用。深度神經網絡也發(fā)展出了諸多不同種類的變形。要想真正理解這些不同形式的深度神經網絡的工作原理,我們首先必須對這些網絡的結構基礎進行深入的研究。在文章中,我們將以自動編碼器(AE)和限制玻爾茲曼機(RBM)為例,介紹其工作原理和訓練方法,在此基礎上,我們將討論這些基本結構在深度學習中的應用。

1 自動編碼器

在許多復雜的深度學習問題中,我們都能見到AE的身影。一個AE包括兩個基本的組成單元:編碼器f 和解碼器g,兩者本身可以是多層的神經網絡,它能將輸入端的信號在輸出端復現(xiàn)出來。AE為了實現(xiàn)這種復現(xiàn),就必須提取那些輸入數(shù)據(jù)中最為核心的特征,從而實現(xiàn)有效的復現(xiàn),對原始輸入數(shù)據(jù)的復現(xiàn)稱為一次“重構”。一個AE的結構如圖2所示,編碼器將輸入數(shù)據(jù) x 編碼到隱藏層h,這一編碼過程可以用映射表示為h = f(x),隨后解碼器將隱藏層的表示解碼為輸出端的重構結果r,這一解碼過程用映射表示即為r = g(h)。從概率的角度來看,我們也可以將編碼器映射 f 推廣為一個編碼分布pf(h|x),解碼器分布可以推廣為pg(r|h)。一個好的重構需要盡可能與輸入數(shù)據(jù)相近。因此,學習過程可以簡單描述為最小化損失函數(shù)L(x, g(f(x)))。

長期以來,AE被認為是無監(jiān)督學習的一種可能的方案,其“編碼—解碼”過程不是對原始數(shù)據(jù)的簡單重復,在一個編碼—解碼過程中,我們真正關心的是隱藏層h的特性,例如:當隱藏層h的數(shù)據(jù)有著比原始輸入數(shù)據(jù)更低的維度,則說明編碼器 f 將復雜的輸入數(shù)據(jù)在隱藏層h用較少的特征重現(xiàn)了出來,這一過程不需要外加的其他標簽,因而被稱為無監(jiān)督學習[5]。這與傳統(tǒng)的主成分分析(PCA)方法有類似之處,換而言之,在線性的情況下,如果我們按照均方誤差來定義懲罰函數(shù)L,此時的AE就是經典的PCA。AE提供了一種更為通用的框架,它可以有更好的非線性特性。AE可以用于進行數(shù)據(jù)降維、數(shù)據(jù)壓縮、對文字或圖像提取主題并用于信息檢索等。

根據(jù)所解決的問題不同,AE可以有許多種不同形式的變形,例如:去噪自編碼器(DAE)、變分自編碼器(VAE)、收縮自編碼器(CAE)和稀疏自編碼器等[5]。下面我們主要以 DAE 為例介紹AE的訓練過程[6]。當輸入的信息中包含噪聲時,輸入數(shù)據(jù)x中包含了真實信息x與噪聲的疊加,此時,如果考慮最小化損失函數(shù) L(x, g(f(x)),那么我們就得到了一個DAE,其輸入為包含噪聲的信號x,輸出為消除了噪聲的信號x??紤]一個信息的損壞過程C(x|x),該條件分布代表了給定真實樣本x產生包含噪聲的輸入數(shù)據(jù)x的概率。通過最小化損失函數(shù) L =-log pg(x|h=f(x)),這一最小化過程可以通過經典的BP算法來進行梯度下降,一個訓練好的DAE可以從輸入數(shù)據(jù)x中很好地重構原始數(shù)據(jù)x。DAE學習了輸入信號的更魯棒的表示方式,其泛化能力比一般的AE更強[1,6]。

多個AE可以逐層堆疊,組合出堆疊式自動編碼器(SAE)[7]。SAE的訓練通常采用逐層訓練的方法來進行:如圖3 a)中所示,對于單層的AE,可以通過最小化輸入端和經編碼—解碼得到的輸出信號之間的重構誤差來對其進行訓練;而對于如圖3 b)所示的多個AE的堆疊,在訓練的過程中,可以采用類似于3 a)中的訓練方法逐層對各層編碼器進行訓練,如果單層的AE已經被訓練好,那么可以認為其編碼已經能夠較好地重構輸入數(shù)據(jù)。在訓練第n層編碼器時,我們考慮對第n-1層的編碼結果進行再次編碼,最小化輸入端(即n-1層的編碼結果)與經編碼—解碼得到的輸出信號之間的重構誤差。在逐層訓練的過程中,解碼器本身對于訓練編碼器是重要的,而當整個編碼器被逐層訓練好之后,解碼器本身也就不再需要了。

在具體的應用中,除了直接用AE無監(jiān)督地提取特征以外,更常見的應用是在一個SAE后再接一個分類器,即用提取出來的特征來對系統(tǒng)的狀態(tài)進行分類——這就變成了一個監(jiān)督學習的問題。要解決這樣的問題,通常分為2個階段:在第1階段進行無監(jiān)督的預訓練,通過逐層訓練的方式得到一個容易進行下一步訓練的神經網絡;隨后再進行有監(jiān)督學習進行微調,最終得到一個能較好地處理分類問題的神經網絡。這種逐層訓練的方法是深度學習的基礎[4],如果直接訓練一個深層的自動編碼器,那么常常會由于遇到梯度擴散等問題而導致訓練效果不佳,而逐層訓練的方法可以有效地避免這些問題。

2 從限制玻爾茲曼機到深度信念網絡

RBM是實現(xiàn)深度學習的另一種神經網絡結構。RBM的基本功能與AE類似,RBM同樣也可以對數(shù)據(jù)進行編碼,多層RBM也可以用于對神經網絡進行初始化的預訓練。RBM的基本結構如圖4所示,一個基本的RBM構成了一個二分圖,其連接僅在隱藏層和可見層二者之間存在,在隱藏層或可見層的內部并不存在連接,這種特殊連接結構使得RBM的可見層(或隱含層)內各單元間保持了相互獨立,這可以簡化后續(xù)的條件概率計算及采樣[1, 8]。

RBM是一種基于能量的神經網絡模型,它具有深刻的統(tǒng)計物理背景。在統(tǒng)計物理學中,由于系統(tǒng)傾向于處在能量較低的狀態(tài),因此如果某一種狀態(tài)的能量越低,系統(tǒng)就會有越大的概率處在這一狀態(tài)。在平衡態(tài)的情況下,在服從玻爾茲曼分布時,系統(tǒng)出現(xiàn)某一狀態(tài)s的概率P與這一狀態(tài)的能量E的負指數(shù)成正比,即P ~ e-E。統(tǒng)計物理中能量與概率分布之間的關系啟發(fā)我們將概率分布轉變成基于能量的模型。此時,系統(tǒng)中復雜而抽象的各種狀態(tài)出現(xiàn)的概率也就被用一個簡單的能量函數(shù)給表示出來了。對于一個有n個隱含層節(jié)點和m個輸入層節(jié)點的RBM,其能量函數(shù)E(v, h) 是這樣定義的:

式(1)中的各wij構成了RBM的連接矩陣,而bj和ci則分別表示了可見層和隱藏層的偏置,它們構成了模型的參數(shù),而vj和hi則是對系統(tǒng)狀態(tài)的刻畫。這個函數(shù)與物理學中經典的Ising模型的能量函數(shù)是類似的[9]。有了能量函數(shù),系統(tǒng)處在各狀態(tài)的概率分布及各種邊緣分布則可得到。

RBM訓練的目標即為讓RBM網絡表示的概率分布與輸入樣本的分布盡可能地接近,這一訓練同樣是無監(jiān)督式的。在實踐中,常常用對比散度(CD)的方法來對網絡進行訓練,CD算法較好地解決了RBM學習效率的問題[10]。在用CD算法開始進行訓練時,所有可見神經元的初始狀態(tài)被設置成某一個訓練樣本,將這些初始參數(shù)代入到激活函數(shù)中,可以算出所有隱藏層神經元的狀態(tài),進而用激活函數(shù)產生可見層的一個重構[10]。通過比照重構結果和初始狀態(tài),RBM的各參數(shù)可以得以更新,從這一點來看,用CD算法對RBM進行訓練與AE的訓練是非常相似的。近年來,CD算法有許多改進,例如:持續(xù)性對比散度(PCD)和快速持續(xù)性對比散度(FPCD)等;而在訓練RBM時,也可以利用非CD式的算法,例如比率匹配等[1]。

在RBM的基礎上,深度信念網絡(DBN)由Hinton等人提出,DBN的工作開啟了深度學習的序章[1, 2, 8]。在傳統(tǒng)的BP神經網絡中,一旦網絡的深度增加,訓練的過程將會變慢,同時不適當?shù)膮?shù)選擇將導致網絡收斂于局部最優(yōu)。此外,在訓練時還常常需要為訓練提供一個有標簽的數(shù)據(jù)集,而DBN則很好地解決了這一問題。與我們提到的SAE類似,也可以通過疊加RBM來建立DBN。第1個RBM是整個網絡的輸入層,第l層RBM的隱藏層作為第l+1個RBM的可見層。在訓練DBN時,首先用CD算法來訓練第1個RBM,然后將其隱藏層作為第2個RBM的可見層,用這些數(shù)據(jù)來對第2個RBM用CD算法進行訓練,以此類推。最終,當整個網絡的所有層都被訓練完之后,整個DBN也就被預訓練好了。這樣一個訓練過程是無監(jiān)督的學習過程,各層RBM都在盡可能反映其上一層數(shù)據(jù)的特征,這一過程與SAE的訓練過程類似,是對網絡各參數(shù)的初始化。在DBN的最后一層也可以再接一個分類器,進行有監(jiān)督學習,用BP算法微調整個DBN,這種方法使得DBN克服了直接對深度神經網絡進行訓練時易出現(xiàn)的局部最優(yōu)等問題,使得深層神經網絡真正有了應用價值[8,11]。

3 自動編碼器與限制玻爾茲曼機的區(qū)別

AE與RBM兩種算法之間也有著重要的區(qū)別,這種區(qū)別的核心在于:AE以及 SAE希望通過非線性變換找到輸入數(shù)據(jù)的特征表示,它是某種確定論性的模型;而RBM以及 DBN的訓練則是圍繞概率分布進行的,它通過輸入數(shù)據(jù)的概率分布(能量函數(shù))來提取高層表示,它是某種概率論性的模型。從結構的角度看,AE的編碼器和解碼器都可以是多層的神經網絡,而通常我們所說的RBM只是一種兩層的神經網絡。在訓練AE的過程中,當輸出的結果可以完全重構輸入數(shù)據(jù)時,損失函數(shù) L 被最小化,而損失函數(shù)常常被定義為輸出與輸出之間的某種偏差(例如均方差等),它的偏導數(shù)便于直接計算,因此可以用傳統(tǒng)的BP算法進行優(yōu)化。RBM最顯著的特點在于其用物理學中的能量概念重新描述了概率分布,它的學習算法基于最大似然,網絡能量函數(shù)的偏導不能直接計算,而需要用統(tǒng)計的方法進行估計,因此需要用CD算法等來對 RBM 進行訓練。

4 結束語

深度學習是機器學習領域中的重要算法,它通過構建多個隱含層的神經網絡和海量的訓練數(shù)據(jù),來提取更有用的特征,并最終提升分類或預測的準確性。AE和 RBM是深度學習的結構基礎,它們本身都可以作為一種無監(jiān)督學習的框架,通過最小化重構誤差,提取系統(tǒng)的重要特征;更重要的是,通過多層的堆疊和逐層的預訓練,SAE和DBN都可以為后續(xù)的監(jiān)督學習提供一個良好的初值,從而讓神經網絡可以更好更快地達到收斂[11]。正是這種重要的性質使得深度學習在過去10余年的發(fā)展中取得了重要的成功。深度學習能解決的問題變得越來復雜,同時其精度不斷提高。

深度學習是一個人工智能領域迅速發(fā)展的方向,隨著計算能力的提高以及規(guī)模更大的數(shù)據(jù)集合的出現(xiàn),深度學習的規(guī)模也在不斷增長,深層神經網絡的優(yōu)勢也在不斷體現(xiàn)——許多曾經被認為較為抽象、難以分類的復雜特征在深度學習的框架下也變成了可以解決的問題,這使得深度學習算法在許多不同的領域都發(fā)揮了重要的應用,并且還有著廣闊的應用前景[1,2,12]。更重要的是,深度學習還為解決大量的無監(jiān)督學習問題提供了可能性。從無標簽的數(shù)據(jù)中進行無監(jiān)督學習一直以來都是研究人員所面臨的一個主要挑戰(zhàn),在這方面,深度學習仍遠遠無法與人類智能相比,不過近年來,在無監(jiān)督學習領域也已經出現(xiàn)了許多重要的突破。相信在不久的未來,我們將看到越來越多深度學習和人工智能領域的重大突破,也將看到相關算法在許多新領域的應用和機遇。

參考文獻

[1] GOODFELLOW I, BENGIO Y, COURVILLE A. Deep Learning[M]. USA:MIT Press, 2016.

[2] LECUN Y, BENGIO Y, HINTON G. Deep Learning[J]. Nature, 2015, 521(7553): 436-444. DOI:10.1038/nature 14539

[3] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet Classification with Deep Convolutional Neural Networks[C]//Advances in Neural Information Processing Systems. USA: Neural Information Processing Systems Foundation, 2012: 1097-1105

[4] HINTON G E, SALAKHUTDINOV R R. Reducing the Dimensionality of Data with Neural Networks[J]. Science, 2006, 313(5786): 504-507

[5] BALDI P. Autoencoders, Unsupervised Learning, and Deep architectures[J]. ICML Unsupervised and Transfer Learning, 2012, 27(37-50): 1

[6] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and Composing Robust Features with Denoising Autoencoders [C]// Proceedings of the 25th International Conference on Machine Learning. USA: ACM, 2008: 1096-1103

[7] VINCENT P, LAROCHELLE H, LAJOIE I, et al. Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion[J]. Journal of Machine Learning Research, 2010(11): 3371-3408

[8] HINTON G E, OSINDERO S, TEHY W. A Fast Learning Algorithm for Deep Belief Nets[J]. Neural Computation, 2006, 18(7): 1527-1554

[9] MEHTA P, SCHWAB D J. An Exact Mapping Between the Variational Renormalization Group and Deep Learning[J]. DOI:1410.3831, 2014

[10] HINTON G E. Training Products of Experts by Minimizing Contrastive Divergence[J]. Neural Computation, 2002, 14(8): 1771-1800

[11] ERHAN D, BENGIO Y, COURVILLE A, et al. Why Does Unsupervised Pre-Training Help Deep Learning?[J]. Journal of Machine Learning Research, 2010(11): 625-660

[12] SCHMIDHUBER J. Deep Learning in Neural Networks: An Overview[J]. Neural networks, 2015(61): 85-117

猜你喜歡
神經網絡深度學習
基于人工智能LSTM循環(huán)神經網絡的學習成績預測
基于圖像處理與卷積神經網絡的零件識別
基于改進VGG-16神經網絡的圖像分類方法
基于自適應神經網絡的電網穩(wěn)定性預測
三次樣條和二次刪除相輔助的WASD神經網絡與日本人口預測
基于BP神經網絡PID控制的無刷直流電動機調速系統(tǒng)設計
有體驗的學習才是有意義的學習
電子商務中基于深度學習的虛假交易識別研究
MOOC與翻轉課堂融合的深度學習場域建構
大數(shù)據(jù)技術在反恐怖主義中的應用展望
普陀区| 共和县| 吉林省| 桐庐县| 元江| 含山县| 肃南| 南皮县| 德江县| 土默特右旗| 乡城县| 股票| 玉屏| 南开区| 格尔木市| 巴彦县| 泰来县| 定南县| 邳州市| 临泽县| 盐山县| 盐池县| 怀化市| 望江县| 琼中| 马山县| 延寿县| 沙雅县| 进贤县| 吴堡县| 莆田市| 石泉县| 萍乡市| 陆川县| 正宁县| 满城县| 和林格尔县| 巩义市| 双桥区| 万年县| 祁门县|