編者的話:
本期文章” Deep learning”發(fā)表在2015年5月的《Nature》期刊上,是由深度學習領域最為知名的學者Yann LeCun、Yoshua Bengio和Geoffrey Hinton首次合作的綜述文章。
2016年初,阿爾法狗(AlphaGo)擊敗李世石,也讓深度學習和神經網(wǎng)絡名聲大噪。然而不為人知的是,在相當長的一段時期內,神經網(wǎng)絡經歷了非常曲折的發(fā)展過程。尤其是從90年代開始,機器學習領域中向量機(SVM),可學習理論(Boosting),概率圖模型(Graphical Model)等研究的興起,導致大量研究人員的轉向,神經網(wǎng)絡的研究一度陷入停滯。而在神經網(wǎng)絡研究最困難的時期,正是本文作者Yann LeCun、Yoshua Bengio和Geoffrey Hinton等少數(shù)學者的堅持,使人們真正認識到深度學習的價值,也讓深度學習和神經網(wǎng)絡領域的研究迎來了更加光明的時代。
因內容較多,關于深度學習淺談,我們也會分上下兩期進行介紹。上期就深度學習的概念進行介紹,下期針對深度學習的種類進行討論。
深度學習淺談(上)
深度學習的概念源于人工神經網(wǎng)絡的研究,它基于神經網(wǎng)絡框架,通過模擬人腦學習的方式的來處理數(shù)據(jù),通過神經網(wǎng)絡的分層處理,將低層特征組合形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
Geoffrey Hinton于2006年在《Science》上發(fā)表的論文首次提出深度學習的主要觀點:
1)多隱層的人工神經網(wǎng)絡具有優(yōu)異的特征學習能力,學習得到的特征對數(shù)據(jù)有更本質的刻畫,從而有利于可視化或分類;
2)深度神經網(wǎng)絡在訓練上的難度,可以通過“逐層初始化”(layer-wise pre-training)來有效克服,逐層初始化可通過無監(jiān)督學習實現(xiàn)。
機器學習的關鍵在于對對象特征的處理。因此幾十年來,人工智能領域一直想要構建一個模式識別系統(tǒng)或者機器學習系統(tǒng),比如分類器,將原始數(shù)據(jù)的外部屬性(如圖像的像素值)轉換成一個合適的內部特征表示或特征向量,來對輸入的樣本進行檢測或分類。但是這樣的處理方式需要相當專業(yè)的知識來手工獲取特征。深度學習的優(yōu)點在于,它用非監(jiān)督式或半監(jiān)督式的特征學習和分層特征提取的高效算法來替代手工獲取特征的方式。因此該文章的作者Yann LeCun、Yoshua Bengio、Geoffrey Hinton(2015)將深度學習定義為“一種特征學習方法,把原始數(shù)據(jù)通過一些簡單的但是非線性的模型轉變成為更高層次的,更加抽象的表達。通過足夠多的轉換的組合,非常復雜的函數(shù)也可以被學習”。
從2012年取得ImageNet競賽的標志性事件之后,深度學習不斷取得一系列的重大進展,解決了人工智能界的盡最大努力很多年仍沒有進展的問題,除了在圖像識別、語音識別等領域打破了紀錄,還在其他的領域擊敗了其他機器學習技術,包括預測潛在的藥物分子的活性、分析粒子加速器數(shù)據(jù)、重建大腦回路、預測非編碼DNA突變對基因表達和疾病的影響。更令人驚訝的是,深度學習在自然語言理解的各項任務中也有非??上驳某晒貏e是主題分類、情感分析、自動問答和語言翻譯。如今深度學習已經成為人工智能中最炙手可熱的研究方向。深度學習的原理為何?又能夠取得如此突破?本文希望結合本次推送的文章,通過對深度學習的大致介紹,讓讀者對深度學習主要的原理和方法有一個基本的認識。
機器學習中,不論是否是深層,最常見的形式是監(jiān)督學習。如果要建立一個分類系統(tǒng),對包含了一座房子、一輛汽車、一個人或一個寵物的圖像進行分類,首先要收集大量的房子,汽車,人與寵物的圖像的數(shù)據(jù)集,并對每個對象標上它的類別。在訓練期間,機器會獲取一副圖片,然后產生一個輸出,這個輸出以向量形式的分數(shù)來表示,每個類別都有一個這樣的向量。
圖 1 特征提取
為了最終完成分類的目標,我們必須去提取被分類對象的特征來區(qū)分這些對象,比如在對摩托車進行分類識別時(如圖1),傳統(tǒng)的識別方法是將特征提取和分類器設計分開處理,然后在應用時合二為一。因此首先需要提取圖中摩托車的特征,然后把提取出來的特征放到學習算法中。良好的特征提取,對最終算法的準確性起了非常關鍵的作用,直接決定了系統(tǒng)的計算和測試的效果。但是,這樣的處理方式導致了兩方面的問題,一方面,在傳統(tǒng)的數(shù)據(jù)挖掘方法中,特征的選擇一般都是通過手工完成的,手工選取的好處是可以借助人的經驗或者專業(yè)知識選擇出正確的特征;缺點是效率低,而且在復雜的問題中,人工選擇可能也會陷入困惑。另一方面,許多機器學習技術使用的是線性分類器來對人工提取的特征進行分類。在圖像和語音識別過程中,線性分類器需要的輸入-輸出函數(shù)要對輸入樣本中不相關因素的變化不要過于的敏感,如位置的變化,目標的方向或光照,或者語音中音調或語調的變化等,而對于一些特定的微小變化需要非常敏感(例如,一只白色的狼和跟狼類似的白色狗——薩莫耶德犬之間的差異)。在像素這一級別上,兩條薩莫耶德犬在不同的姿勢和在不同的環(huán)境下的圖像可以說差異是非常大的,但是一只薩摩耶德犬和一只狼在相同的位置并在相似背景下的兩個圖像可能就非常類似。
如何區(qū)分對象細微和本質的特征上的差別呢?深度學習從人腦視覺神經的處理機制中獲得了靈感。
圖 2 大腦視覺處理機制
1958年,兩位后來的諾貝爾醫(yī)學獎得主DavidHubel 和Torsten Wiesel 發(fā)現(xiàn):大腦的視覺系統(tǒng)在處理視網(wǎng)膜傳遞過來的感官信息時,并未直接地對數(shù)據(jù)進行處理,而是將接收到的刺激信號通過一個復雜的層狀網(wǎng)絡模型,進而得到對視覺信息的認識(如圖2)。 例如,當人在看到氣球的時候,大腦所獲取的信息并不是一張完整的氣球的圖片,而是從原始信號攝入開始(瞳孔攝入像素),接著做初步處理(大腦皮層某些細胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定,眼前的物體的形狀,是圓形的),然后進一步抽象(大腦進一步判定該物體是只氣球),也就表示,神經-中樞-大腦的工作過程,是一個不斷分層抽象的過程。因此大腦視覺系統(tǒng)的功能是對感知信號進行特征提取和計算,而不僅僅是簡單地重現(xiàn)視網(wǎng)膜的圖像。
這一生理學的發(fā)現(xiàn),促成了計算機人工智能在四十年后的突破性進展。深度學習恰恰是借鑒了大腦視覺系統(tǒng)處理信息特征的這一思路,從而實現(xiàn)自動的特征學習,而不需要人工參與特征的選取。2006年前后,CIFAR(加拿大高級研究院)把一些研究者聚集在一起,人們對深度前饋式神經網(wǎng)絡重新燃起了興趣。研究者們提出了一種非監(jiān)督的學習方法,這種方法可以創(chuàng)建一些網(wǎng)絡層來檢測特征而不使用帶標簽的數(shù)據(jù),這些網(wǎng)絡層可以用來重構或者對特征檢測器的活動進行建模。通過預訓練過程,深度網(wǎng)絡的權值可以被初始化為合理的值。然后一個輸出層被添加到該網(wǎng)絡的頂部,并且使用標準的反向傳播算法進行微調。比如,一副圖像的原始格式是一個像素數(shù)組,那么在第一層上的學習特征通常指的是在圖像的特定位置和方向上有沒有邊的存在。第二層通常會根據(jù)那些邊的位置而來檢測圖案,這時候會忽略掉一些邊上的一些小的干擾。第三層或許會把那些圖案進行組合,從而使其對應于熟悉目標的某部分。隨后的一些層會將這些部分再組合,從而構成待檢測目標。在這一過程,深度學習在多個層級中通過組合低層特征形成更抽象的高層特征。LeCun Y,Bengio Y和HintonG(2015)認為,這就是深度學習的關鍵優(yōu)勢。
深度學習的體系結構是簡單模塊的多層堆棧,所有(或大部分)模塊的目標是學習,還有許多計算非線性輸入輸出的映射。堆棧中的每個模塊將其輸入進行轉換,以增加特征的可選擇性和不變性。比如說,具有5到20層的非線性多層系統(tǒng)能夠實現(xiàn)非常復雜的功能,比如輸入數(shù)據(jù)對細節(jié)非常敏感——能夠區(qū)分白狼和薩莫耶德犬,同時又具有強大的抗干擾能力,比如可以忽略掉不同的背景、姿勢、光照和周圍的物體等。
參考文獻:
LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015,521(7553): 436-444.
http://www.leiphone.com/news/201605/zZqsZiVpcBBPqcGG.html
http://www.jeyzhang.com/cnn-learning-notes-1.html
http://dataunion.org/9822.html
http://www.10tiao.com/html/617/201608/2650790861/1.html
http://blog.csdn.net/heyongluoyao8/article/details/48636251
https://zh.wikipedia.org/wiki/LSTM
http://blog.csdn.net/zouxy09/article/details/8781543
深度學習淺談(下)
卷積神經網(wǎng)絡(CNN,Convolutional neural networks)是深度學習中最具代表性的一類框架,從21世紀開始,卷積神經網(wǎng)絡就被成功的大量用于檢測、分割、物體識別以及圖像識別的各個領域,比如交通信號識別,生物信息分割,面部探測,文本、行人探測等,特別是最近幾年,卷積神經網(wǎng)絡在人臉識別領域更是取得了巨大的成功。
在圖像識別中,卷積神經網(wǎng)絡通過組合圖像的低級特征的來合成高級特征,即先將圖像局部邊緣的組合形成基本圖案,這些圖案形成物體的局部,然后再形成物體。在這個過程中,卷積神經網(wǎng)絡使用4個關鍵的想法來進行特征處理:局部連接(local connections)、權值共享(shared weights)、池化(pooling)以及多網(wǎng)絡層(many layers)的使用。
圖 3 局部連接
局部連接可以大大減少訓練參數(shù)的數(shù)量(如圖3)。比如,圖中左邊是全連接,右邊是局部連接。對于一個1000 × 1000的輸入圖像而言,如果下一個隱藏層的神經元數(shù)目為10^6個,采用全連接則有1000 ×1000 × 10^6 = 10^12個權值參數(shù),如此數(shù)目巨大的參數(shù)幾乎難以訓練;而采用局部連接,隱藏層的每個神經元僅與圖像中10 × 10的局部圖像相連接,那么此時的權值參數(shù)數(shù)量為10 × 10 × 10^6 =10^8,將直接減少4個數(shù)量級。
圖 4 權值共享
另外一種減少參數(shù)的方式是權值共享(如圖4)。局部連接中隱藏層的每一個神經元連接的是一個10 × 10的局部圖像,因此有10 × 10個權值參數(shù),將這10 × 10個權值參數(shù)共享給剩下的神經元,也就是說隱藏層中10^6個神經元的權值參數(shù)相同,此時不管隱藏層神經元的數(shù)目是多少,需要訓練的參數(shù)就是這 10× 10個權值參數(shù)(也就是卷積核(也稱濾波器)的大?。?。在計算機視覺和圖像處理中,卷積時的權值矩陣被稱為卷積核(Kernel),在信號處理中也成為濾波(Filter)。不同的卷積核能夠得到圖像的不同映射下的特征,稱之為特征映射(FeatureMap)。
卷積神經網(wǎng)絡主要包括兩種網(wǎng)絡層(如圖5),分別是卷積層(convolutional layer)和池化/采樣層(pooling layers)。卷積層的作用是提取圖像的各種特征,卷積層中的單元被組織在特征映射中,其中每個單元通過濾波器組的權值來連接到前一層的特征映射中的局部塊,然后這個局部加權和被傳給一個非線性函數(shù)(激勵函數(shù)),比如ReLU。特征映射中的所有單元共享相同的濾波器組.。不同的特征映射使用不同的濾波器組。池化層的作用是對原始特征信號進行抽象,從而大幅度減少訓練參數(shù),減輕模型過擬合的程度。池化層把相似的特征進行合并,一般地,池化單元選擇特征映射中的一個局部塊的最大值或是平均值,由于一個映射面上的神經元共享權值,因而減少了網(wǎng)絡自由參數(shù)的個數(shù),降低了網(wǎng)絡參數(shù)選擇的復雜度。卷積神經網(wǎng)絡上進行的反向傳播算法和在一般的深度網(wǎng)絡上是一樣的,可以讓所有的濾波器組的權值得到訓練。在數(shù)學上,由于特征映射執(zhí)行的過濾操作是離散的卷積,卷積神經網(wǎng)絡因此得名。
圖 5 卷積神經網(wǎng)絡
對于卷積神經網(wǎng)絡的應用,LeCun Y,Bengio Y,Hinton G(2015)重點提到了標志性的2012年的ImageNet競賽。在該競賽中,深度卷積神經網(wǎng)絡被用在上百萬張網(wǎng)絡圖片數(shù)據(jù)集,這個數(shù)據(jù)集包含了1000個不同的類。該結果獲得了前所未有的成功,幾乎比當時最好的方法降低了一半的錯誤率。這個成功來自有效地利用了GPU、ReLU、一個新的被稱為dropout的正則技術,以及通過分解現(xiàn)有樣本產生更多訓練樣本的技術。這個成功給計算機視覺帶來一場革命。正是這次競賽讓學界重新認識到深度學習的價值,并且得到Google、Facebook、Microsoft、IBM,yahoo!、Twitter和Adobe等公司的高度重視。
深度學習在自然語言處理的應用中,將語義信息處理成稠密、低維的實值向量。向量的每一維都表示文本的某種潛在的語法或語義特征。這樣的表示形式被稱作分布式特征表示(Distributed representations)。將原有高維、稀疏、離散的詞匯表示方法(又稱One-hot表示)映射為分布式特征表示這一種降維方法,可有效克服機器學習中的維數(shù)災難(Curseof Dimensionality)問題,從而獲得更好的學習效果。在分布式特征表示中,不同維度表示了詞的不同主題,各維度上的數(shù)值表示了一個詞對于不同主題的權重,這相當于將原來線性不可分的一個詞抽取出其各個屬性,從而更有利于分類。這樣的處理方式,可以通過計算向量之間相似度的方法(如余弦相似度),來計算語義的相似度。 比如西紅柿和番茄的詞向量比較相似,即使在訓練中我們并沒有觀察到番茄,但通過兩者的詞向量,我們也可以判斷兩者的相似程度很高,從而緩解了自然語言處理中常見的數(shù)據(jù)稀疏問題。
LeCun Y,BengioY,Hinton G(2015)認為,特征表示基于對邏輯啟發(fā)和神經網(wǎng)絡的認識。在邏輯啟發(fā)的范式中,一個符號實例表示某一事物,因為其唯一的屬性與其他符號實例相同或者不同。該符號實例沒有內部結構,并且結構與使用是相關的,為了理解符號的語義,就必須與變化的推理規(guī)則合理對應。與之相反,神經網(wǎng)絡利用了大量活動載體、權值矩陣和標量非線性化,來實現(xiàn)能夠支撐簡單容易的、具有常識推理的快速“直覺”功能。這樣一來,可以更容易的預測目標輸出,比如將本地文本的內容作為輸入,訓練多層神經網(wǎng)絡來預測句子中下一個單詞。
遞歸神經網(wǎng)絡(RNNs)又稱循環(huán)神經網(wǎng)絡,不同于傳統(tǒng)的前饋神經網(wǎng)絡(feedforwardneural network),遞歸神經網(wǎng)絡中的每層的神經元之間是有向連接的,即神經元間連接構成有向圖。利用這樣的結構,遞歸神經網(wǎng)絡(RNNs)將狀態(tài)在自身網(wǎng)絡中循環(huán)傳遞,因此可以處理更廣泛的時間序列數(shù)據(jù)。RNNs一次處理一個輸入序列元素,同時維護網(wǎng)絡隱藏層中包含過去時間序列數(shù)據(jù)的歷史信息的“狀態(tài)向量”。
圖 6 遞歸神經網(wǎng)絡
RNNs一旦展開(如圖6),可以將之視為一個所有層共享同樣權值的深度前饋神經網(wǎng)絡。但是在實際的訓練中,這樣的結構會產生“梯度的爆發(fā)與消失”(exploding and vanishing gradients)問題,難以做到長期保存信息。為了解決這個問題,一些學者提出了采用了特殊隱式單元的長短期記憶神經網(wǎng)絡(LSTM,long short-termmemory networks),由于獨特的設計結構,LSTM適合于處理和預測時間序列中間隔和延遲非常長的重要事件,該結構可以長期的保存輸入。LSTM單元包含一個嘗試將信息儲存較久的存儲單元。這個記憶單元的入口被一些特殊的門神經元(gate neurons)所保護,被保護的功能包括保存、寫入和讀取操作。
LSTM網(wǎng)絡被證明比傳統(tǒng)的RNNs效果更好。目前LSTM網(wǎng)絡或者相關的門控單元同樣用于編碼和解碼網(wǎng)絡,并且在機器翻譯中表現(xiàn)良好。而在過去幾年中,幾位學者提出了用于增強RNNs的記憶的其他模塊,比如神經圖靈機和記憶網(wǎng)絡等。
最后,LeCun Y,Bengio Y,Hinton G(2015)提出了對于深度學習的未來展望。
無監(jiān)督學習對于重新點燃深度學習的熱潮起到了促進的作用,但是純粹的有監(jiān)督學習的成功蓋過了無監(jiān)督學習。在本篇綜述中雖然這不是重點,LeCun Y,Bengio Y和HintonG(2015)還是期望無監(jiān)督學習在長期內越來越重要。無監(jiān)督學習在人類和動物的學習中占據(jù)主導地位:通過觀察能夠發(fā)現(xiàn)世界的內在結構,而不是單純被告知每一個客觀事物的名稱。
人類視覺是一個智能的、基于特定方式的利用小或大分辨率的視網(wǎng)膜中央窩與周圍環(huán)繞區(qū)域對光線采集成像的活躍的過程。LeCun Y,Bengio Y,HintonG(2015)期望未來在機器視覺方面會有更多的進步,這些進步來自那些端對端的訓練系統(tǒng),并結合ConvNets和RNNs,采用強化學習來決定走向。結合了深度學習和強化學習的系統(tǒng)雖然正處于初級階段,但已經在分類任務中超過了被動視頻系統(tǒng),并在學習操作視頻游戲中產生了令人印象深刻的效果。
在未來幾年,自然語言理解將是深度學習做出巨大影響的另一個領域。LeCun Y,Bengio Y,HintonG(2015)預測那些利用了RNNs的系統(tǒng)將會更好地理解句子或者整個文檔。
最終,在人工智能方面取得的重大進步將來自那些結合了復雜推理表示學習(representation learning )的系統(tǒng)。盡管深度學習和簡單推理已經在語音和手寫字識別應用了很長一段時間,但仍需要通過操作大量向量的新范式來代替基于規(guī)則的字符表達式操作。
參考文獻:
LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015,521(7553): 436-444.
http://www.leiphone.com/news/201605/zZqsZiVpcBBPqcGG.html
http://www.jeyzhang.com/cnn-learning-notes-1.html
http://dataunion.org/9822.html
http://www.10tiao.com/html/617/201608/2650790861/1.html
http://blog.csdn.net/heyongluoyao8/article/details/48636251
https://zh.wikipedia.org/wiki/LSTM
http://blog.csdn.net/zouxy09/article/details/8781543
作者簡介:
聯(lián)系客服