深度學習是機器學習中一種基于對數據進行表征學習的方法。觀測值(例如一幅圖像)可以使用多種方式來表示,如每個像素強度值的向量,或者更抽象地表示成一系列邊、特定形狀的區域等。而使用某些特定的表示方法更容易從實例中學習任務(例如,人臉識別或面部表情識別)。
深度學習的好處是用非監督式或半監督式的特征學習和分層特征提取高效算法來替代手工獲取特征。深度學習是機器學習研究中的一個新的領域,其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。
人工智能、機器學習和深度學習三者的關系
深度學習與神經網絡
現實世界中很多的問題都可以歸為分類或者識別或者選擇的問題,比如下圍棋,下一步的棋子落在什么地方,就是此類問題。而研究此類問題,學術界研究出來一種叫做“神經網絡”的學習策略。
深度學習的概念就源于人工神經網絡的研究,含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發現數據的分布式特征表示。
從X1/X2/X3輸入到輸出的過程,定義了一個層次的概念,譬如上圖就包括四層,包含最左邊的輸入層,和最右邊的輸出層。如果這是一道選擇題的話,那么題目就是輸入層,而ABCD的選擇結果就是輸出層,如上圖的L1和L2分別是輸入層和輸出層。
而選擇題解題的過程是不寫出來的,我們叫做”隱藏層“,這里L2和L3就是隱藏層,題目越難,給出的信息可能是越多的,而解題所需要的過程就越復雜的,也就可能需要更多的”隱藏層“來計算最終的結果。
最終要來解釋什么是深度學習的”深度“了,就是從”輸入層“到”輸出層“所經歷層次的數目,即”隱藏層“的層數,層數越多,板凳的深度也越深。所以越是復雜的選擇問題,越需要深度的層次多。當然,除了層數多外,每層”神經元“,也就是如上圖,橙色小圓圈的數目也要多。例如,AlphaGo的策略網絡是13層,每一層的神經元數量為192個。
總結一句話,深度學習就是用多層次的分析和計算手段,得到結果的一種方法。深度學習是用于建立、模擬人腦進行分析學習的神經網絡,并模仿人腦的機制來解釋數據的一種機器學習技術。
它的基本特點是試圖模仿大腦的神經元之間傳遞、處理信息的模式,最顯著的應用是計算機視覺和自然語言處理(NLP)領域。顯然,“深度學習”是與機器學習中的“神經網絡”是強相關,“神經網絡”也是其主要的算法和手段;或者我們可以將“深度學習”稱之為“改良版的神經網絡”算法。
深度學習發展史
學習任一門知識都應該先從其歷史開始,把握了歷史,也就抓住了現在與未來 —— by BryantLJ
起源階段
1943年,由神經科學家麥卡洛克(W.S.McCilloch) 和數學家皮茲(W.Pitts)在《數學生物物理學公告》上發表論文《神經活動中內在思想的邏輯演算》(A Logical Calculus of the Ideas Immanent in Nervous Activity)。建立了神經網絡和數學模型,稱為MP模型。
MP模型是模仿神經元的結構和工作原理,構成出的一個基于神經網絡的數學模型,本質上是一種“模擬人類大腦”的神經元模型。當時是希望能夠用計算機來模擬人的神經元反應的過程,該模型將神經元簡化為了三個過程:輸入信號線性加權,求和,非線性激活(閾值法)。如下圖所示
MP模型作為人工神經網絡的起源,開創了人工神經網絡的新時代,也奠定了神經網絡模型的基礎。
1949年,加拿大著名心理學家唐納德·赫布在《行為的組織》中提出了與 “條件反射”機理一致的一種分類“網絡模型” —— 海布學習規則 (Hebb Rule),為以后的神經網絡學習算法奠定了基礎,具有重大的歷史意義。
1958年,計算機科學家羅森布拉特( Rosenblatt)提出了兩層神經元組成的神經網絡,稱之為“感知器”(Perceptrons)。感知器本質上是一種線性模型,可以對輸入的訓練集數據進行二分類,且能夠在訓練集中自動更新權值。感知器的提出吸引了大量科學家對人工神經網絡研究的興趣,對神經網絡的發展具有里程碑式的意義。
1962年,該方法被證明為能夠收斂,理論與實踐效果引起第一次神經網絡的浪潮。
1969年,“AI之父”馬文·明斯基和LOGO語言的創始人西蒙·派珀特共同編寫了一本書籍《感知器》,在其著作中證明了感知器本質上是一種線性模型(linear model),只能處理線性分類問題,就連最簡單的XOR(亦或)問題都無法正確分類。人工神經網絡進入了第一個寒冬期,神經網絡的研究開始陷入了將近20年的停滯。
發展階段
1986年,由神經網絡之父 Geoffrey Hinton 在1986年發明了適用于多層感知器(MLP)的BP(Backpropagation)算法,并采用Sigmoid進行非線性映射,有效解決了非線性分類和學習的問題。該方法引起了神經網絡的第二次熱潮。
但是由于八十年代計算機的硬件水平有限,這就導致當神經網絡的規模增大時,再使用BP算法會出現“梯度消失”的問題,誤差梯度傳到前層時幾乎為0,因此無法對前層進行有效的學習,該問題直接阻礙了深度學習的進一步發展。
此外90年代中期,支持向量機算法誕生(SVM算法)為代表的其它淺層機器學習算法被提出。在分類、回歸問題上均取得了很好的效果,其原理又明顯不同于神經網絡模型,所以人工神經網絡的發展再次進入了瓶頸期。
爆發階段
2006年,加拿大多倫多大學教授、機器學習領域泰斗、神經網絡之父 —— Geoffrey Hinton 和他的學生 Ruslan Salakhutdinov 在頂尖學術刊物《科學》上發表了一篇文章,該文章提出了深層網絡訓練中梯度消失問題的解決方案: 通過無監督的學習方法逐層訓練算法,再使用有監督的反向傳播算法進行調優,至此開啟了深度學習在學術界和工業界的浪潮。
2012年,Hinton課題組為了證明深度學習的潛力,首次參加ImageNet圖像識別比賽,其通過構建的CNN網絡AlexNet一舉奪得冠軍,且碾壓第二名(SVM方法)的分類性能。也正是由于該比賽,CNN吸引到了眾多研究者的注意。
2014年,Facebook基于深度學習技術的DeepFace項目,在人臉識別方面的準確率已經能達到97%以上,跟人類識別的準確率幾乎沒有差別。這樣的結果也再一次證明了深度學習算法在圖像識別方面的一騎絕塵。
2016年,隨著谷歌公司基于深度學習開發的AlphaGo以4:1的比分戰勝了國際頂尖圍棋高手李世石,深度學習的熱度一時無兩。2017年,基于強化學習算法的AlphaGo升級版AlphaGo Zero橫空出世。其采用“從零開始”、“無師自通”的學習模式,以100:0的比分輕而易舉打敗了之前的AlphaGo。
此外在這一年,深度學習的相關算法在醫療、金融、藝術、無人駕駛等多個領域均取得了顯著的成果。所以,也有專家把2017年看作是深度學習甚至是人工智能發展最為突飛猛進的一年。
深度學習的典型代表
在深度學習領域有兩個典型的代表:卷積神經網絡、循環神經網絡。
· 卷積神經網絡被廣泛的應用在計算機視覺領域,比如說強大的AlphaGo就有用到卷積神經網絡實現。
· 循環神經網絡則被廣泛的應用在語音識別處理領域,比如說百度翻譯、網絡音樂生產等。
深度學習又分為卷積神經網絡(Convolutional neural networks,簡稱CNN)和深度置信網(Deep Belief Nets,簡稱DBN)。其主要的思想就是模擬人的神經元,每個神經元接受到信息,處理完后傳遞給與之相鄰的所有神經元即可。
卷積神經網絡
1962年Hubel和Wiesel通過對貓視覺皮層細胞的研究,提出了感受野(receptive field)的概念,1984年日本學者Fukushima基于感受野概念提出的神經認知機(neocognitron)可以看作是卷積神經網絡的第一個實現網絡,也是感受野概念在人工神經網絡領域的首次應用。
神經認知機將一個視覺模式分解成許多子模式(特征),然后進入分層遞階式相連的特征平面進行處理,它試圖將視覺系統模型化,使其能夠在即使物體有位移或輕微變形的時候,也能完成識別。
隨著深度學習的繼續發展,受到貓腦視覺皮層研究中局部感受野的啟發,卷積神經網絡(Convolutional Neural Network,CNN),通過稀疏連接、參數共享兩個思想改進了深度神經網絡。左邊是CNN結構,右邊是全連接形式的神經網絡。
卷積神經網絡是人工神經網絡的一種,已成為當前語音分析和圖像識別領域的研究熱點。它的權值共享網絡結構使之更類似于生物神經網絡,降低了網絡模型的復雜度,減少了權值的數量。該優點在網絡的輸入是多維圖像時表現的更為明顯,使圖像可以直接作為網絡的輸入,避免了傳統識別算法中復雜的特征提取和數據重建過程。卷積網絡是為識別二維形狀而特殊設計的一個多層感知器,這種網絡結構對平移、比例縮放、傾斜或者共他形式的變形具有高度不變性。
CNN是第一個真正成功訓練多層網絡結構的學習算法,它利用空間關系減少需要學習的參數數目以提高一般前向BP算法的訓練性能,CNN作為一個深度學習架構提出是為了最小化數據的預處理要求。在CNN中,圖像的一小部分(局部感受區域)作為層級結構的最低層的輸入,信息再依次傳輸到不同的層,每層通過一個數字濾波器去獲得觀測數據的最顯著的特征。這個方法能夠獲取對平移、縮放和旋轉不變的觀測數據的顯著特征,因為圖像的局部感受區域允許神經元或者處理單元可以訪問到最基礎的特征,例如定向邊緣或者角點。
深度學習的優缺點
基于深度神經網絡的端到端學習在最近幾年取得很大的成功,被大量應用與計算機視覺、語音識別、自然語音處理、醫學圖像處理等領域中。
· 優點:深度學習能讓計算機自動學習出模式特征,并將特征學習的特征融入到建模的過程中,從而減少了人為設計特征造成的不完備性。而目前有些深度學習,已經達到了超越現有算法的識別或分類性能。
· 缺點:需要大數據支撐,才能達到高精度。由于深度學習中圖模型比較復雜,導致算法的時間復雜度急劇提升,需要更好的硬件支持。因此,只有一些經濟實力比較強大的科研機構或企業,才能夠用深度學習來做一些前沿而實用的應用。
另外,紐約大學教授、人工智能創業者Gary Marcus在2018年對深度學習的作用、局限性和本質進行了重要的回顧。他指出了深度學習方法的局限性 —— 即需要更多的數據、容量有限、不能處理層次結構、無法進行開放式推理、不能充分透明、不能與先驗知識集成、不能區分因果關系。
他還提到,深度學習假設了一個穩定的世界,以近似方法實現,工程化很困難并且存在著過度炒作的潛在風險。Marcus認為:深度學習需要重新概念化,并在非監督學習、符號操作和混合模型中尋找可能性,從認知科學和心理學中獲得見解,并迎接更大膽的挑戰。
下面是深度學習目前的一些標志性公司以及代表性的技術。
· 語音識別技術:國內公司訊飛、百度、阿里,國外公司亞馬遜,微軟等,行業應用就是智能音箱等產品。
· 圖像識別技術:比如做安防的??低?/u>,圖森科技,依圖科技,曠視科技,代表性的就是面部識別,人臉識別,刷臉解鎖、支付等。
· 金融領域的如:預測股價、醫療領域的疾病監測,教育領域的技術賦能等。
深度學習與計算機視覺
傳統計算機視覺是廣泛算法的集合,主要目標是從圖像中提取特征,包括邊緣檢測、角點檢測、基于顏色的分割等子任務。目前,傳統計算機視覺已有多種用途,例如對不同的對象進行去噪、增強和檢測。
這種方法的主要問題是需要告訴系統在圖像中尋找哪些特性。本質上,假設算法按照設計者的定義運行,所提取的特征是人為設計的。在實現中,算法性能差可以通過微調來解決,但是,這樣的更改需要手工完成,并且針對特定的應用程序進行硬編碼,這對高質量計算機視覺的實現造成了很大的障礙。
不過,深度學習的出現解決了這一問題。當前,深度學習系統在處理一些相關子任務方面取得了重大進展。深度學習最大的不同之處在于,它不再通過精心編程的算法來搜索特定特征,而是訓練深度學習系統內的神經網絡。隨著深度學習系統提供的計算能力的增強,計算機將能夠識別并對它所看到的一切做出反應,這一點已經有了顯著的進展。
近年來,深度學習的發展不僅突破了很多難以解決的視覺難題,提升了對于圖像認知的水平,更是加速了計算機視覺領域相關技術的進步。相信,隨著深度學習模型的改進和計算能力的不斷提升,自主系統能夠繼續穩步發展,真正實現可以解釋和反應它們所感知到的東西。
深度學習對于計算機視覺系統來說無疑是一個有趣的補充。我們現在可以相對容易地“訓練”探測器來探測那些昂貴且不切實際的物體。我們還可以在一定程度上擴展這些檢測器,以使用更多的計算能力。
出人意料的是,深度學習教會了我們一些關于視覺數據(通常是高維數據)的東西,這個觀點十分有趣:在某種程度上,數據比我們過去認為的要“淺”得多。
似乎有更多的方法來統計地分離標有高級人類類別的可視化數據集,然后有更多的方法來分離這些“語義正確”的數據集。換句話說,這組低水平的圖像特征比我們想象的更具“統計意義”。這是深度學習的偉大發現。
深度學習已經成為計算機視覺系統的重要組成部分。但是傳統的計算機視覺并沒有走到那一步,而且,它仍然可以用來建造非常強大的探測器。這些人工制作的檢測器在某些特定的數據集度量上可能無法實現深度學習的高性能,但是可以保證依賴于輸入的“語義相關”特性集。
深度學習提供了統計性能強大的檢測器,而且不需要犧牲特征工程,不過仍然需要有大量的標記數據、大量GPU,以及深度學習專家。然而,這些強大的檢測器也會遭遇意外的失敗,因為它們的適用范圍無法輕易地描述(或者更確切地說,根本無法描述)。
評論
查看更多