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