設萬維讀者為首頁 廣告服務 技術服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:阿飛的劍
萬維讀者網 > 茗香茶語 > 帖子
ZT: 深度學習:像人腦一樣深層次地思考
送交者: mingcheng99 2016年03月12日12:36:36 於 [茗香茶語] 發送悄悄話

深度學習:像人腦一樣深層次地思考

從上一篇我們可以看出,個性化推薦系統確實很會“察言觀色”,針對不同的用戶,主動推送不同的3D打印內容。但如果你認為它真正有了“人工智能”,那你就錯了。其實,這些推薦系統背後的運行原理主要基於概率統計、矩陣或圖模型,計算機對這些數值運算確實很擅長,但由於採用的只是“經驗主義”的實用方法(也即管用就行),而非以“理性主義”的原則真正探求智能產生的原理,所以距離真正的人工智能還很遠。AI(Artificial Intelligence),也就是人工智能,就像長生不老和星際漫遊一樣,是人類最美好的夢想之一。雖然計算機技術已經取得了長足的進步,但是到目前為止,還沒有一台計算機能產生“自我”的意識。

提示:圖靈測試(Turing Testing),是計算機是否真正具有人工智能的試金石。“計算機科學之父”及“人工智能之父”英國數學家阿蘭·圖靈(1912—1954)在1950年的一篇著名論文《機器會思考嗎?》裡,提出圖靈測試的設想。即把一個人和一台計算機分別隔離在兩間屋子,然後讓屋外的一個提問者對兩者進行問答測試。如果提問者無法判斷哪邊是人,哪邊是機器,那就證明計算機已具備人的智能。

直到深度學習(Deep Learning)的出現,讓人們看到了一絲曙光,至少,(表象意義下的)圖靈測試已不再是那麼遙不可及了。20134月,《麻省理工學院技術評論》雜誌將深度學習列為2013年十大突破性技術(Breakthrough Technology)之首。有了深度學習,推薦系統可以更加深度地挖掘你內心的需求,並從海量的3D模型庫中挑選出最合適的供你打印。

讓我們先來看看人類的大腦是如何工作的。1981年的諾貝爾醫學獎,頒發給了David HubelTorsten Wiesel,以及Roger Sperry。前兩位的主要貢獻是,發現了人的視覺系統的信息處理是分級的。如圖4-45所示,從視網膜(Retina)出發,經過低級的V1區提取邊緣特徵,到V2區的基本形狀或目標的局部,再到高層的整個目標(如判定為一張人臉),以及到更高層的PFC(前額葉皮層)進行分類判斷等。也就是說高層的特徵是低層特徵的組合,從低層到高層的特徵表達越來越抽象和概念化,也即越來越能表現語義或者意圖。

圖4-45  人腦的視覺處理系統 (圖片來源:Simon Thorpe)

這個發現激發了人們對於神經系統的進一步思考。大腦的工作過程,或許是一個不斷迭代、不斷抽象概念化的過程,如圖4-46所示。例如,從原始信號攝入開始(瞳孔攝入像素),接着做初步處理(大腦皮層某些細胞發現邊緣和方向),然後抽象(大腦判定眼前物體的形狀,比如是橢圓形的),然後進一步抽象(大腦進一步判定該物體是張人臉),最後識別眼前的這個人──正是大明星劉德華。這個過程其實和我們的常識是相吻合的,因為複雜的圖形,往往就是由一些基本結構組合而成的。同時我們還可以看出:大腦是一個深度架構,認知過程也是深度的。

圖4-46  視覺的分層處理結構 (圖片來源:Stanford)

而深度學習(Deep Learning),恰恰就是通過組合低層特徵形成更加抽象的高層特徵(或屬性類別)。例如,在計算機視覺領域,深度學習算法從原始圖像去學習得到一個低層次表達,例如邊緣檢測器、小波濾波器等,然後在這些低層次表達的基礎上,通過線性或者非線性組合,來獲得一個高層次的表達。此外,不僅圖像存在這個規律,聲音也是類似的。比如,研究人員從某個聲音庫中通過算法自動發現了20種基本的聲音結構,其餘的聲音都可以由這20種基本結構來合成!

在進一步闡述深度學習之前,我們需要了解什麼是機器學習(Machine Learning)。機器學習是人工智能的一個分支,而在很多時候,幾乎成為人工智能的代名詞。簡單來說,機器學習就是通過算法,使得機器能從大量歷史數據中學習規律,從而對新的樣本做智能識別或對未來做預測。

而深度學習又是機器學習研究中的一個新的領域,其動機在於建立可以模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如,圖像、聲音和文本。深度學習之所以被稱為“深度”,是因為之前的機器學習方法都是淺層學習。深度學習可以簡單理解為傳統神經網絡(Neural Network)的發展。大約二三十年前,神經網絡曾經是機器學習領域特別熱門的一個方向,這種基於統計的機器學習方法比起過去基於人工規則專家系統,在很多方面顯示出優越性。如圖4-47所示,深度學習與傳統的神經網絡之間有相同的地方,採用了與神經網絡相似的分層結構:系統是一個包括輸入層、隱層(可單層、可多層)、輸出層的多層網絡,只有相鄰層節點(單元)之間有連接,而同一層以及跨層節點之間相互無連接。這種分層結構,比較接近人類大腦的結構(但不得不說,實際上相差還是很遠的,考慮到人腦是個異常複雜的結構,很多機理我們目前都是未知的)。

圖4-47  傳統的神經網絡與深度神經網絡

提示:人類大腦由千億個神經元組成,同時每個神經元平均連接到其它幾千個神經元,這樣形成一個龐大的神經元網絡。通過這種連接方式,神經元可以收發不同數量的能量,但它們對能量的接受並不是立即作出響應,而是先累加起來,只有當累加的總和達到某個臨界閾值時才把能量發送給其它的神經元。而人工神經網絡(Artificial Neural Networks, ANN)人類神經網絡作了數學上的抽象,如圖4-47所示,將其抽象為輸入層、輸出層以及中間的若干隱層Hidden Layer,用於層次化地對內在特徵進行降維和抽象表達,相當於特徵檢測器),其中每層都有若乾結點及連接這些點的邊,通過在訓練數據集上學習出邊的權重(Weight)來建立模型。邊所表徵的函數(通常為非線性函數)的不同,對應於不同的神經網絡。例如,第6章6.4.1節所介紹的感知機就是一種最簡單的、不含任何隱層的前向(Feedforward)人工神經網絡,其中的函數被稱為傳遞函數(Transfer Function)、而門限截止函數則被用作激活函數(Activation Function)。在上世紀七八十年代,這種在人工智能領域被稱為聯結主義學派(Connectionism)的方法曾盛極一時。

但是後來,因為理論分析的難度,加上訓練方法需要很多經驗和技巧,以及巨大的計算量和優化求解難度,神經網絡慢慢淡出了科研領域的主流方向。值得指出的是,神經網絡(如採用誤差反向傳播算法:Back Propagation,簡稱BP算法,通過梯度下降方法在訓練過程中修正權重使得網絡誤差最小)在層次深的情況下性能變得很不理想(傳播時容易出現所謂的梯度彌散Gradient Diffusion或稱之為梯度消失,根源在於非凸目標代價函數導致求解陷入局部最優,且這種情況隨着網絡層數的增加而更加嚴重,即隨着梯度的逐層不斷消散導致其對網絡權重調整的作用越來越小),所以只能轉而處理淺層結構(小於等於3),從而限制了性能。於是,20世紀90年代,有更多各式各樣的淺層模型相繼被提出,比如只有一層隱層節點的支撐向量機(SVMSupport Vector Machine)和Boosting,以及沒有隱層節點的最大熵方法(例如LRLogistic Regression)等,在很多應用領域取代了傳統的神經網絡。

顯然,這些淺層結構算法有很多局限性:在有限樣本和計算單元情況下對複雜函數的表示能力有限,針對複雜分類問題其泛化能力受到一定的制約。更重要的是,淺層模型有一個特點,就是需要依靠人工來抽取樣本的特徵。然而,手工地選取特徵是一件非常費力的事情,能不能選取好很大程度上靠經驗和運氣。既然手工選取特徵不太好,那麼能不能自動地學習一些特徵呢?

提示:實際生活中,人們為了實現對象的分類,首先必須做的事情是如何來表達一個對象,即必須抽取一些特徵來表示一個對象。例如,區分人和猴子的一個重要特徵是是否有尾巴。特徵選取的好壞對最終結果的影響非常大。
此外,我們希望提取到的特徵能代表輸入數據的最重要部分,就像PCAPrincipal Component Analysis主成分分析,請參見第6章的6.2.2節)那樣,找到可以代表原信息的主要成分。以自動編碼器(AutoEncoder)為例,這是一種儘可能復現輸入信號的神經網絡:即輸出要儘可能與輸入相同,表示為。我們可通過訓練調整這個神經網絡的參數,來得到每一層中的權值係數,這樣就可得到輸入的一個層次化的表示。這個可代表原信息主要成分的表示就是所謂的特徵。
進一步地,我們還可用來表示輸出,其中稱為字典。類似於PCA,可理解為基,可理解為係數。同時,我們不僅希望將信號表示為一組層次化基的線性組合,而且要求只需較少的幾個基就可以將信號表示出來,這就是所謂的稀疏編碼(Sparse Coding)。“稀疏性”定義為:只有很少的幾個非零元素或只有很少的幾個遠大於零的元素。也即,我們希望求得一組最佳的係數,滿足:
               


注意上式右邊對係數採用了
L1範式/正則化/約束以滿足稀疏性,上式實際上是對Lasso(The Least Absolute Shrinkage and Selectionator operator)估計的求解。
之所以希望“稀疏性”是科學依據的,因為絕大多數的感官數據,比如自然圖像,都可以被表示成“少量”基本元素的疊加,比如基本線/面的疊加。稀疏編碼算法是一種無監督學習方法,它用來尋找一組“超完備”
基向量(基向量的個數比輸入向量的維數要大)以更高效地表示樣本數據,以找出隱含在輸入數據內部的結構與模式。

答案是能!深度學習框架將特徵和分類器結合到一個框架中,自動地從海量大數據中去學習特徵,在使用中減少了手工設計特徵的巨大工作量。看它的一個別名:無監督特徵學習(Unsupervised Feature Learning),就可以顧名思義了。無監督(Unsupervised)學習的意思就是不需要通過人工方式進行樣本類別的標註來完成學習。因此,深度學習是一種可以自動地學習特徵的方法。

提示:準確地說,深度學習首先利用無監督學習對每一層進行逐層預訓練(Layerwise Pre-Training)去學習特徵;每次單獨訓練一層,並將訓練結果作為更高一層的輸入;然後到最上層改用監督學習從上到下進行微調(Fine-Tune)去學習模型

深度學習通過學習一種深層非線性網絡結構,只需簡單的網絡結構即可實現複雜函數的逼近,並展現了強大的從大量無標註樣本集中學習數據集本質特徵的能力。深度學習能夠獲得可更好地表示數據的特徵,同時由於模型的層次深(通常有5層、6層,甚至10多層的隱層節點,“深的好處是可以控制隱層節點的數目為輸入節點數目的多項式倍而非多達指數倍)、表達能力強,因此有能力表示大規模數據。對於圖像、語音這種特徵不明顯(需要手工設計且很多沒有直觀的物理含義)的問題,深度模型能夠在大規模訓練數據上取得更好的效果。尤其是在語音識別方面,深度學習使得錯誤率下降了大約30%,取得了顯著的進步。相比於傳統的神經網絡,深度神經網絡作出了重大的改進,在訓練上的難度(如梯度彌散問題)可以通過“逐層預訓練”來有效降低。注意,深度學習不是萬金油,像很多其他方法一樣,它需要結合特定領域的先驗知識,需要和其他模型結合才能得到最好的結果。當然,還少不了需要針對自己的項目去仔細地調參數,這也往往令人詬病。此外,類似於神經網絡,深度學習的另一局限性是可解釋性不強,像個“黑箱子”一樣不知為什麼能取得好的效果,以及不知如何有針對性地去具體改進,而這有可能成為產品升級過程中的阻礙。

深度學習通過很多數學和工程技巧增加(堆棧疊加:Stack)隱層的層數,如果隱層足夠多(也就是深),選擇適當的連接函數和架構,就能獲得很強的表達能力。深度學習的一個主要優勢在於可以利用海量訓練數據(即大數據),但是常用的模型訓練算法反向傳播(Back Propagation)仍然對計算量有很高的要求。而近年來,得益於計算機速度的提升、基於MapReduce的大規模集群技術的興起、GPU的應用以及眾多優化算法的出現,耗時數月的訓練過程可縮短為數天甚至數小時,深度學習才在實踐中有了用武之地。

值得一提的是,深度學習的誕生並非一帆風順。雖然Yahn Lecun1993年提出的卷積神經網絡(Convolutional Neural Network:CNN)是第一個真正成功訓練多層網絡結構的學習算法,但應用效果一直欠佳。直到2006年,Geoffrey Hinton基於深度置信網(Deep Belief Net:DBN)——其由一系列受限波爾茲曼機(Restricted Boltzmann Machine:RBM)組成,提出非監督貪心逐層訓練(Layerwise Pre-Training)算法,應用效果才取得突破性進展,其與之後Ruslan Salakhutdinov提出的深度波爾茲曼機(Deep Boltzmann Machine:DBM)重新點燃了人工智能領域對於神經網絡(Neural Network)波爾茲曼機(Boltzmann Machine)的熱情,才由此掀起了深度學習的浪潮。從目前的最新研究進展來看,只要數據足夠大、隱層足夠深,即便不加“Pre-Training”預處理,深度學習也可以取得很好的結果,反映了大數據和深度學習相輔相成的內在聯繫。此外,雖說非監督(如DBM方法)是深度學習的一個優勢,深度學習當然也可用於帶監督的情況(也即給予了用戶手動標註的機會),實際上帶監督的CNN方法目前就應用得越來越多,乃至正在超越DBM

提示:與前向神經網絡不同,RBM(受限波爾茲曼機)中的可見層和隱含層之間的連接是無方向性且全連接的。對比差異無監督訓練是RBM的一個重要算法,包含了正向過程、反向過程和權值更新三個步驟,主要目標是使生成的數據與原數據儘可能相似,並通過對比兩者的差異來調整權值更新:
                   
其中,是學習速率。這樣的網絡可具備感知對輸入數據表達程度的能力,而且嘗試通過這個感知能力重建數據。如果重建出來的數據與原數據差異很大,那麼進行調整並再次重建。

20126月,《紐約時報》披露了Google Brain項目,吸引了公眾的廣泛關注。這個項目是由著名的斯坦福大學的機器學習教授Andrew Ng和在大規模計算機系統方面的世界頂尖專家Jeff Dean共同主導,用16,000CPU Core的並行計算平台去訓練含有10億個節點的深度神經網絡(DNNDeep Neural Networks),使其能夠自我訓練,對2萬個不同物體的1,400萬張圖片進行辨識。在開始分析數據前,並不需要向系統手工輸入任何諸如“臉、肢體、貓的長相是什麼樣子”這類特徵。Jeff Dean說:“我們在訓練的時候從來不會告訴機器:‘這是一隻貓’(即無標註樣本)。系統其實是自己發明或領悟了‘貓’的概念。”

20143月,同樣也是基於深度學習方法,Facebook DeepFace 項目使得人臉識別技術的識別率已經達到了 97.25%,只比人類識別 97.5% 的正確率略低那麼一點點,準確率幾乎可媲美人類。該項目利用了 9 層的神經網絡來獲得臉部表徵,神經網絡處理的參數高達 1.2億。

最後我們再回到大數據這個時代背景上來。當坐擁海量的大數據,我們無論是做推薦系統還是3D模型檢索(見第6章的6.4節“眾里尋她千百度──海量3D模型的檢索”),以前用簡單的線性數學模型,一般也能獲得還不錯的結果。因此我們沾沾自喜起來,認為還是大數據更重要,而智能算法用簡單直接的就OK了,不需要也沒必要弄得很複雜。而當深度學習出現後,它的一系列輝煌戰績讓我們意識到:也許是時候該“鳥槍換炮”了。簡而言之,在大數據情況下,也許只有比較複雜的模型,或者說表達能力強的模型,才能充分發掘海量數據中蘊藏的有價值信息。更重要的是,深度學習可以自動學習特徵,而不必像以前那樣還要請專家手工構造特徵,極大地推進了智能自動化。

深度學習(即所謂深度)應大數據(即所謂廣度)而生,給大數據提供了一個深度思考的大腦,而3D打印(即所謂力度)給了智能數字化一個強健的軀體,三者共同引發了“大數據+深度模型+3D打印”浪潮的來臨。





本文引用地址:http://blog.sciencenet.cn/blog-4099-785174.html  此文來自科學網吳懷宇博客,轉載請註明出處。
0%(0)
0%(0)
標 題 (必選項):
內 容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制
一周點擊熱帖 更多>>
一周回復熱帖
歷史上的今天:回復熱帖
2015: 抄!樓下那誰說習老兄只念了“初中”
2015: 兮兮,這款車喜歡麼?
2014: 要賺1000萬,可以這樣
2014: 俺這還有一個帥哥,有段時間沒見了,昨
2013: 笑菡姐,匣兄,誠心請教您兩位一個問題
2013: 觀了天象以後,突然反應過來股市接下來
2012: djl:名校畢業生
2012: 大呆鳥:三觀不正 (四)
2011: 11
2011: 今年521前還有沒用完的美元存款怎麼辦