初學(xué)者必看!深度學(xué)習(xí)入門(mén)指南
前言
本文引用地址:http://www.ex-cimer.com/article/201807/383562.htm機(jī)器學(xué)習(xí)技術(shù)為現(xiàn)代社會(huì)的許多領(lǐng)域提供了強(qiáng)大的技術(shù)支持:從網(wǎng)絡(luò)搜索到社交網(wǎng)絡(luò)的內(nèi)容過(guò)濾,再到電子商務(wù)網(wǎng)站的產(chǎn)品推薦。機(jī)器學(xué)習(xí)技術(shù)正越來(lái)越多的出現(xiàn)在消費(fèi)級(jí)產(chǎn)品上,比如照相機(jī)和智能手機(jī)。 機(jī)器學(xué)習(xí)系統(tǒng)可用于識(shí)別圖像中的對(duì)象,將語(yǔ)音轉(zhuǎn)換成文本,選擇搜索結(jié)果的相關(guān)項(xiàng),以及匹配新聞、帖子或用戶感興趣的其他東西。 類似的應(yīng)用越來(lái)越多,它們都使用了一種叫做深度學(xué)習(xí)的技術(shù)。
深度學(xué)習(xí)(也稱為深層結(jié)構(gòu)學(xué)習(xí)、層次學(xué)習(xí)或深度機(jī)器學(xué)習(xí))是基于對(duì)數(shù)據(jù)中的高級(jí)抽象進(jìn)行建模的算法,它屬于機(jī)器學(xué)習(xí)的分支。最簡(jiǎn)單的例子,你可以有兩組神經(jīng)元:接收輸入信號(hào)的神經(jīng)元和發(fā)送輸出信號(hào)的神經(jīng)元。當(dāng)輸入層接收到輸入時(shí),它將輸入的修改版本傳遞給下一層。在深層網(wǎng)絡(luò)中,輸入和輸出層之間有很多層(層并不是由神經(jīng)元構(gòu)成,這里只是為了幫助你思考),這些層允許算法使用多個(gè)處理層,這些層包含了多個(gè)線性和非線性變換。
近來(lái),深度學(xué)習(xí)技術(shù)使得機(jī)器學(xué)習(xí)發(fā)生了革命性的變化,并出現(xiàn)了很多偉大的成果。 它們大大改進(jìn)了語(yǔ)音識(shí)別、視覺(jué)對(duì)象識(shí)別、對(duì)象檢測(cè)以及許多其他領(lǐng)域(如藥物發(fā)現(xiàn)和基因組學(xué))的技術(shù)。 “深度學(xué)習(xí)”這個(gè)術(shù)語(yǔ)最早由Dechter(1986)引入機(jī)器學(xué)習(xí),由Aizenberg等人(2000)引入人工神經(jīng)網(wǎng)絡(luò)(NN)。 深度學(xué)習(xí)的進(jìn)一步普及得益于由Alex Krizhevsky發(fā)明的被稱為“AlexNet”的卷積網(wǎng)絡(luò)架構(gòu)的出現(xiàn)。“AlexNet”在2012年的ImageNet比賽中擊敗了其他所有的圖像處理算法,開(kāi)創(chuàng)了在圖像處理中使用深度學(xué)習(xí)架構(gòu)的先河。
深度學(xué)習(xí)架構(gòu)
1. 生成式深度架構(gòu),旨在描述用于模式分析或合成目的的觀測(cè)數(shù)據(jù)或可見(jiàn)數(shù)據(jù)的高階相關(guān)特性,以及描述可見(jiàn)數(shù)據(jù)及其關(guān)聯(lián)類的聯(lián)合統(tǒng)計(jì)分布的特征。在后一種情況下,使用貝葉斯規(guī)則可以將這種類型的架構(gòu)變成辨別式深度架構(gòu)。
2. 辨別式深度架構(gòu),旨在直接提供模式分類的辨別力,通常通過(guò)描述基于可見(jiàn)數(shù)據(jù)種類的后驗(yàn)分布來(lái)描述。
3. 混合式深度架構(gòu),其目的是辨別,但通常輔以通過(guò)更好的優(yōu)化或規(guī)則化的生成架構(gòu)的結(jié)果,或者是其辨別標(biāo)準(zhǔn)被用來(lái)學(xué)習(xí)類別1中的任何一個(gè)深度生成模型的參數(shù)
盡管深度學(xué)習(xí)架構(gòu)的分類很復(fù)雜,但在實(shí)踐中經(jīng)常用到的有深度前饋網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)。
深度前饋網(wǎng)絡(luò)
前饋網(wǎng)絡(luò),通常被稱為前饋神經(jīng)網(wǎng)絡(luò)或多層感知器(MLP),它是典型的深度學(xué)習(xí)模式。
前饋網(wǎng)絡(luò)的目標(biāo)是逼近某個(gè)函數(shù)f。例如,對(duì)于一個(gè)分類器,y=f(x)表示的是將輸入x映射到類別y。前饋網(wǎng)絡(luò)定義了一個(gè)映射 y=f(x;θ),并學(xué)習(xí)能產(chǎn)生最佳逼近函數(shù)的參數(shù)θ的值。
簡(jiǎn)單來(lái)說(shuō),網(wǎng)絡(luò)可以定義為輸入、隱藏和輸出節(jié)點(diǎn)的組合。數(shù)據(jù)從輸入節(jié)點(diǎn)流入,在隱藏節(jié)點(diǎn)中進(jìn)行處理,然后通過(guò)輸出節(jié)點(diǎn)產(chǎn)生輸出。信息流經(jīng)從x評(píng)估的函數(shù),通過(guò)用于定義f的中間計(jì)算,最后到輸出y。該網(wǎng)絡(luò)中沒(méi)有反饋連接,其中模型的輸出反饋到自身,因此模型被稱為前饋網(wǎng)絡(luò)。該模型如圖[1]所示。
圖[1]:前饋神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)
在機(jī)器學(xué)習(xí)中,卷積神經(jīng)網(wǎng)絡(luò)(CNN或ConvNet)是一種前饋人工神經(jīng)網(wǎng)絡(luò),其神經(jīng)元之間的連接模式是受動(dòng)物視覺(jué)皮層組織的啟發(fā)而發(fā)明出來(lái)的。
個(gè)別皮質(zhì)神經(jīng)元對(duì)受限區(qū)域的刺激響應(yīng)稱為感受野。不同神經(jīng)元的感受野部分重疊,這使得這些感受野像瓦片一樣平鋪。
單個(gè)神經(jīng)元對(duì)其感受野內(nèi)的刺激的反應(yīng)可以用卷積運(yùn)算近似地?cái)?shù)學(xué)化。卷積網(wǎng)絡(luò)的靈感來(lái)自于生物學(xué),是多層感知器的變體。它在圖像和視頻識(shí)別、推薦系統(tǒng)和自然語(yǔ)言處理中具有廣泛的應(yīng)用。
LeNet是第一個(gè)卷積神經(jīng)網(wǎng)絡(luò),它推動(dòng)了深度學(xué)習(xí)領(lǐng)域的發(fā)展。自1988年以來(lái),Yann LeCun的這項(xiàng)開(kāi)創(chuàng)性工作多次成功迭代后成為了LeNet5。當(dāng)時(shí)的LeNet架構(gòu)主要用于字符識(shí)別,如閱讀郵政編碼、數(shù)字等等。
圖[2]:一個(gè)簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)模型
ConvNet有四個(gè)主要組件,如圖2所示:
1.卷積層
2.激活函數(shù)
3.池化層
4.完全連接層
卷積層
卷積層基于術(shù)語(yǔ)“卷積”,它是對(duì)兩個(gè)變量執(zhí)行數(shù)學(xué)運(yùn)算(f*g),以產(chǎn)生第三個(gè)變量。 它與互相關(guān)類似。 卷積層的輸入是一幅 m x m x r 的圖像,其中m是圖像的高度和寬度,r是通道數(shù),例如,對(duì)于RGB圖像,r = 3 。 卷積層有大小為n x n x q的k個(gè)過(guò)濾器(或內(nèi)核),其中n小于圖像的維度,并且q小于等于通道數(shù)r,并且每個(gè)內(nèi)核都可以不同。
激活函數(shù)
要實(shí)現(xiàn)復(fù)雜的映射函數(shù),需要有非線性的激活函數(shù),這樣引入非常重要的非線性屬性,使之能夠近似于任何函數(shù)。激活函數(shù)對(duì)于壓縮來(lái)自神經(jīng)元的無(wú)界線性加權(quán)和也是非常重要的。這對(duì)于避免在處理層次上積累高值非常重要。有很多經(jīng)常被用到的激活函數(shù),比如Sigmoid、tanh和ReLU。
池化層
池化是一個(gè)基于樣本的離散化過(guò)程。它的目標(biāo)是對(duì)輸入表示(圖像、隱藏層輸出矩陣等等)進(jìn)行降采樣,減少其維度,并允許對(duì)包含在子區(qū)域中的特征進(jìn)行假設(shè)。
這樣做的部分原因是為了提供一種抽象的表示形式來(lái)避免過(guò)度擬合。同樣,它通過(guò)減少要學(xué)習(xí)的參數(shù)個(gè)數(shù)來(lái)降低計(jì)算成本,并為內(nèi)部表示提供基本的轉(zhuǎn)化恒定性。
比較突出的池化技術(shù)有:最大池化,最小池化和平均池化。
圖[3]:2*2過(guò)濾器的最大池化示例
完全連接層
術(shù)語(yǔ)“完全連接”意味著上一層中的每個(gè)神經(jīng)元都連接到下一層的每個(gè)神經(jīng)元。完全連接層是傳統(tǒng)的多層感知器,它使用softmax激活函數(shù)或輸出層中的任何其他類似函數(shù)。
循環(huán)神經(jīng)網(wǎng)絡(luò)
在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,我們假設(shè)所有的輸入(和輸出)是相互獨(dú)立的。但是對(duì)于許多的任務(wù)來(lái)說(shuō),這是一個(gè)很糟糕的假設(shè)。如果你想預(yù)測(cè)一個(gè)句子中的下一個(gè)單詞,你最好知道哪些前面的單詞是什么。 RNN之所以稱為循環(huán),因?yàn)樗鼈儗?duì)序列的每個(gè)元素執(zhí)行相同的任務(wù),而輸出依賴于先前的計(jì)算。還有一種理解RNN的方法,我們可以認(rèn)為它有“記憶”的,它會(huì)捕獲到截至目前計(jì)算出來(lái)的所有信息。
RNN中有循環(huán),這使得在讀入輸入時(shí)能夠跨神經(jīng)元傳遞信息。在圖[4]中,x_t是某種輸入,A是RNN的一部分,h_t是輸出。RNN有一些特殊的類型,比如LSTM、雙向RNN,GRU等等。
圖[4]:RNN模型
RNN可用于NLP、機(jī)器翻譯、語(yǔ)言建模、計(jì)算機(jī)視覺(jué)、視頻分析、圖像生成、圖像字幕等,這是因?yàn)樵赗NN中可以放置任意數(shù)量的輸入和輸出,并讓它們一一對(duì)應(yīng)、多對(duì)多對(duì)應(yīng)。它架構(gòu)存在多種形式,如圖[5]所示。
圖[5]:RNN描述了對(duì)矢量序列的操作
應(yīng)用
在深度學(xué)習(xí)領(lǐng)域已經(jīng)有了很多的研究,并且有很多特別的問(wèn)題都使用深度學(xué)習(xí)模型得到了解決。這里有一些深度學(xué)習(xí)方面的優(yōu)秀應(yīng)用:
黑白圖像彩色化
深度學(xué)習(xí)可用于參照照片中的對(duì)象及其上下文來(lái)對(duì)圖像進(jìn)行著色,就像人類進(jìn)行著色一樣。這個(gè)應(yīng)用需使用非常大的卷積神經(jīng)網(wǎng)絡(luò)和監(jiān)督層,通過(guò)添加顏色來(lái)重現(xiàn)圖像。
機(jī)器翻譯
文本翻譯可以在沒(méi)有對(duì)序列進(jìn)行任何預(yù)處理的情況下進(jìn)行,它允許算法學(xué)習(xí)單詞之間的依賴關(guān)系及其與另一種語(yǔ)言之間的映射。大型LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的堆疊網(wǎng)絡(luò)可用于機(jī)器翻譯。
照片中物體的分類及檢測(cè)
該任務(wù)是將照片中的對(duì)象歸類到已知的對(duì)象組中去。在樣例評(píng)測(cè)中,通過(guò)使用非常大的卷積神經(jīng)網(wǎng)絡(luò)能夠獲得非常好的結(jié)果。 Alex Krizhevsky等人在ImageNet分類中取得的突破性成果,被稱為AlexNet。
自動(dòng)手寫(xiě)生成
給定一個(gè)手寫(xiě)示例語(yǔ)料庫(kù),然后為給定的單詞或短語(yǔ)生成新的筆跡。在筆跡樣本被創(chuàng)建時(shí),筆跡將作為一系列的坐標(biāo)提供給筆。通過(guò)這個(gè)語(yǔ)料庫(kù),算法會(huì)學(xué)習(xí)筆的運(yùn)動(dòng)與字母之間的關(guān)系,然后生成新的示例。
自動(dòng)打游戲
在這個(gè)應(yīng)用中,模型將學(xué)習(xí)如何僅基于屏幕上的像素點(diǎn)來(lái)玩電腦游戲。這在深度增強(qiáng)模型領(lǐng)域中是一個(gè)非常難的任務(wù),因?yàn)檫@個(gè),DeepMind(現(xiàn)在是Google的一部分)贏得了很高的聲譽(yù)。
生成模型聊天機(jī)器人
使用基于序列的模型來(lái)創(chuàng)建聊天機(jī)器人,該機(jī)器人在很多真實(shí)的對(duì)話數(shù)據(jù)集上進(jìn)行訓(xùn)練,并學(xué)會(huì)生成自己的答案。要了解更多的詳細(xì)信息,請(qǐng)?jiān)L問(wèn)這個(gè)鏈接。
總結(jié)
從本文可以得到這樣的結(jié)論:深度學(xué)習(xí)模型可以用于各種任務(wù),因?yàn)樗軌蚰M人腦。截止目前,專家們已經(jīng)在這方面做了大量的研究,而且在不久將還有許多研究工作要做。盡管目前還存在信任問(wèn)題,但在不久的將來(lái),這個(gè)問(wèn)題將會(huì)變得更加明朗。
評(píng)論