新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 初學者必看!深度學習入門指南

初學者必看!深度學習入門指南

作者: 時間:2018-07-24 來源:網(wǎng)絡 收藏

前言

本文引用地址:http://butianyuan.cn/article/201807/383562.htm

機器學習技術(shù)為現(xiàn)代社會的許多領(lǐng)域提供了強大的技術(shù)支持:從網(wǎng)絡搜索到社交網(wǎng)絡的內(nèi)容過濾,再到電子商務網(wǎng)站的產(chǎn)品推薦。機器學習技術(shù)正越來越多的出現(xiàn)在消費級產(chǎn)品上,比如照相機和智能手機。 機器學習系統(tǒng)可用于識別圖像中的對象,將語音轉(zhuǎn)換成文本,選擇搜索結(jié)果的相關(guān)項,以及匹配新聞、帖子或用戶感興趣的其他東西。 類似的應用越來越多,它們都使用了一種叫做深度學習的技術(shù)。

深度學習(也稱為深層結(jié)構(gòu)學習、層次學習或深度機器學習)是基于對數(shù)據(jù)中的高級抽象進行建模的算法,它屬于機器學習的分支。最簡單的例子,你可以有兩組神經(jīng)元:接收輸入信號的神經(jīng)元和發(fā)送輸出信號的神經(jīng)元。當輸入層接收到輸入時,它將輸入的修改版本傳遞給下一層。在深層網(wǎng)絡中,輸入和輸出層之間有很多層(層并不是由神經(jīng)元構(gòu)成,這里只是為了幫助你思考),這些層允許算法使用多個處理層,這些層包含了多個線性和非線性變換。

近來,深度學習技術(shù)使得機器學習發(fā)生了革命性的變化,并出現(xiàn)了很多偉大的成果。 它們大大改進了語音識別、視覺對象識別、對象檢測以及許多其他領(lǐng)域(如藥物發(fā)現(xiàn)和基因組學)的技術(shù)。 “深度學習”這個術(shù)語最早由Dechter(1986)引入機器學習,由Aizenberg等人(2000)引入人工神經(jīng)網(wǎng)絡(NN)。 深度學習的進一步普及得益于由Alex Krizhevsky發(fā)明的被稱為“AlexNet”的卷積網(wǎng)絡架構(gòu)的出現(xiàn)。“AlexNet”在2012年的ImageNet比賽中擊敗了其他所有的圖像處理算法,開創(chuàng)了在圖像處理中使用深度學習架構(gòu)的先河。

深度學習架構(gòu)

1. 生成式深度架構(gòu),旨在描述用于模式分析或合成目的的觀測數(shù)據(jù)或可見數(shù)據(jù)的高階相關(guān)特性,以及描述可見數(shù)據(jù)及其關(guān)聯(lián)類的聯(lián)合統(tǒng)計分布的特征。在后一種情況下,使用貝葉斯規(guī)則可以將這種類型的架構(gòu)變成辨別式深度架構(gòu)。

2. 辨別式深度架構(gòu),旨在直接提供模式分類的辨別力,通常通過描述基于可見數(shù)據(jù)種類的后驗分布來描述。

3. 混合式深度架構(gòu),其目的是辨別,但通常輔以通過更好的優(yōu)化或規(guī)則化的生成架構(gòu)的結(jié)果,或者是其辨別標準被用來學習類別1中的任何一個深度生成模型的參數(shù)

盡管深度學習架構(gòu)的分類很復雜,但在實踐中經(jīng)常用到的有深度前饋網(wǎng)絡、卷積網(wǎng)絡和循環(huán)網(wǎng)絡。

深度前饋網(wǎng)絡

前饋網(wǎng)絡,通常被稱為前饋神經(jīng)網(wǎng)絡或多層感知器(MLP),它是典型的深度學習模式。

前饋網(wǎng)絡的目標是逼近某個函數(shù)f。例如,對于一個分類器,y=f(x)表示的是將輸入x映射到類別y。前饋網(wǎng)絡定義了一個映射 y=f(x;θ),并學習能產(chǎn)生最佳逼近函數(shù)的參數(shù)θ的值。

簡單來說,網(wǎng)絡可以定義為輸入、隱藏和輸出節(jié)點的組合。數(shù)據(jù)從輸入節(jié)點流入,在隱藏節(jié)點中進行處理,然后通過輸出節(jié)點產(chǎn)生輸出。信息流經(jīng)從x評估的函數(shù),通過用于定義f的中間計算,最后到輸出y。該網(wǎng)絡中沒有反饋連接,其中模型的輸出反饋到自身,因此模型被稱為前饋網(wǎng)絡。該模型如圖[1]所示。

圖[1]:前饋神經(jīng)網(wǎng)絡

卷積神經(jīng)網(wǎng)絡

在機器學習中,卷積神經(jīng)網(wǎng)絡(CNN或ConvNet)是一種前饋人工神經(jīng)網(wǎng)絡,其神經(jīng)元之間的連接模式是受動物視覺皮層組織的啟發(fā)而發(fā)明出來的。

個別皮質(zhì)神經(jīng)元對受限區(qū)域的刺激響應稱為感受野。不同神經(jīng)元的感受野部分重疊,這使得這些感受野像瓦片一樣平鋪。

單個神經(jīng)元對其感受野內(nèi)的刺激的反應可以用卷積運算近似地數(shù)學化。卷積網(wǎng)絡的靈感來自于生物學,是多層感知器的變體。它在圖像和視頻識別、推薦系統(tǒng)和自然語言處理中具有廣泛的應用。

LeNet是第一個卷積神經(jīng)網(wǎng)絡,它推動了深度學習領(lǐng)域的發(fā)展。自1988年以來,Yann LeCun的這項開創(chuàng)性工作多次成功迭代后成為了LeNet5。當時的LeNet架構(gòu)主要用于字符識別,如閱讀郵政編碼、數(shù)字等等。

圖[2]:一個簡單的卷積神經(jīng)網(wǎng)絡模型

ConvNet有四個主要組件,如圖2所示:

1.卷積層

2.激活函數(shù)

3.池化層

4.完全連接層

卷積層

卷積層基于術(shù)語“卷積”,它是對兩個變量執(zhí)行數(shù)學運算(f*g),以產(chǎn)生第三個變量。 它與互相關(guān)類似。 卷積層的輸入是一幅 m x m x r 的圖像,其中m是圖像的高度和寬度,r是通道數(shù),例如,對于RGB圖像,r = 3 。 卷積層有大小為n x n x q的k個過濾器(或內(nèi)核),其中n小于圖像的維度,并且q小于等于通道數(shù)r,并且每個內(nèi)核都可以不同。

激活函數(shù)

要實現(xiàn)復雜的映射函數(shù),需要有非線性的激活函數(shù),這樣引入非常重要的非線性屬性,使之能夠近似于任何函數(shù)。激活函數(shù)對于壓縮來自神經(jīng)元的無界線性加權(quán)和也是非常重要的。這對于避免在處理層次上積累高值非常重要。有很多經(jīng)常被用到的激活函數(shù),比如Sigmoid、tanh和ReLU。

池化層

池化是一個基于樣本的離散化過程。它的目標是對輸入表示(圖像、隱藏層輸出矩陣等等)進行降采樣,減少其維度,并允許對包含在子區(qū)域中的特征進行假設。

這樣做的部分原因是為了提供一種抽象的表示形式來避免過度擬合。同樣,它通過減少要學習的參數(shù)個數(shù)來降低計算成本,并為內(nèi)部表示提供基本的轉(zhuǎn)化恒定性。

比較突出的池化技術(shù)有:最大池化,最小池化和平均池化。

圖[3]:2*2過濾器的最大池化示例

完全連接層

術(shù)語“完全連接”意味著上一層中的每個神經(jīng)元都連接到下一層的每個神經(jīng)元。完全連接層是傳統(tǒng)的多層感知器,它使用softmax激活函數(shù)或輸出層中的任何其他類似函數(shù)。

循環(huán)神經(jīng)網(wǎng)絡

在傳統(tǒng)的神經(jīng)網(wǎng)絡中,我們假設所有的輸入(和輸出)是相互獨立的。但是對于許多的任務來說,這是一個很糟糕的假設。如果你想預測一個句子中的下一個單詞,你最好知道哪些前面的單詞是什么。 RNN之所以稱為循環(huán),因為它們對序列的每個元素執(zhí)行相同的任務,而輸出依賴于先前的計算。還有一種理解RNN的方法,我們可以認為它有“記憶”的,它會捕獲到截至目前計算出來的所有信息。

RNN中有循環(huán),這使得在讀入輸入時能夠跨神經(jīng)元傳遞信息。在圖[4]中,x_t是某種輸入,A是RNN的一部分,h_t是輸出。RNN有一些特殊的類型,比如LSTM、雙向RNN,GRU等等。

圖[4]:RNN模型

RNN可用于NLP、機器翻譯、語言建模、計算機視覺、視頻分析、圖像生成、圖像字幕等,這是因為在RNN中可以放置任意數(shù)量的輸入和輸出,并讓它們一一對應、多對多對應。它架構(gòu)存在多種形式,如圖[5]所示。

圖[5]:RNN描述了對矢量序列的操作

應用

在深度學習領(lǐng)域已經(jīng)有了很多的研究,并且有很多特別的問題都使用深度學習模型得到了解決。這里有一些深度學習方面的優(yōu)秀應用:

黑白圖像彩色化

深度學習可用于參照照片中的對象及其上下文來對圖像進行著色,就像人類進行著色一樣。這個應用需使用非常大的卷積神經(jīng)網(wǎng)絡和監(jiān)督層,通過添加顏色來重現(xiàn)圖像。

機器翻譯

文本翻譯可以在沒有對序列進行任何預處理的情況下進行,它允許算法學習單詞之間的依賴關(guān)系及其與另一種語言之間的映射。大型LSTM循環(huán)神經(jīng)網(wǎng)絡的堆疊網(wǎng)絡可用于機器翻譯。

照片中物體的分類及檢測

該任務是將照片中的對象歸類到已知的對象組中去。在樣例評測中,通過使用非常大的卷積神經(jīng)網(wǎng)絡能夠獲得非常好的結(jié)果。 Alex Krizhevsky等人在ImageNet分類中取得的突破性成果,被稱為AlexNet。

自動手寫生成

給定一個手寫示例語料庫,然后為給定的單詞或短語生成新的筆跡。在筆跡樣本被創(chuàng)建時,筆跡將作為一系列的坐標提供給筆。通過這個語料庫,算法會學習筆的運動與字母之間的關(guān)系,然后生成新的示例。

自動打游戲

在這個應用中,模型將學習如何僅基于屏幕上的像素點來玩電腦游戲。這在深度增強模型領(lǐng)域中是一個非常難的任務,因為這個,DeepMind(現(xiàn)在是Google的一部分)贏得了很高的聲譽。

生成模型聊天機器人

使用基于序列的模型來創(chuàng)建聊天機器人,該機器人在很多真實的對話數(shù)據(jù)集上進行訓練,并學會生成自己的答案。要了解更多的詳細信息,請訪問這個鏈接。

總結(jié)

從本文可以得到這樣的結(jié)論:深度學習模型可以用于各種任務,因為它能夠模擬人腦。截止目前,專家們已經(jīng)在這方面做了大量的研究,而且在不久將還有許多研究工作要做。盡管目前還存在信任問題,但在不久的將來,這個問題將會變得更加明朗。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉