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