版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、深度學習報告在寫本扌報告前,閱讀了TheHistoryBeganfromAlexNet:AComprehensiveSurveyonDeepLearningApproaches,并在網(wǎng)上查看了一些相關(guān)的內(nèi)容,對其整合和理解。但是其中的很多細節(jié)還沒有足夠的時間去探索,有的概念也不是很確定自己說的對不對,還望指正。這篇扌告的主要目標是介紹深度學習的總體思路及其應用相關(guān)領(lǐng)域,包括有監(jiān)督(如DNN、CNN和RNN)、無監(jiān)督(如AE、GAN)(有時GAN也用于半監(jiān)督學習任務)和深度強化學習(DRL)的思路。在某些情況下,深度強化學習被認為是半監(jiān)督無監(jiān)督的方法。本論文的其余部分的組織方式如下:第一節(jié)主要介
2、紹深度學習分類和特征。第二節(jié)討論DNN,第三節(jié)討論CNN;第四節(jié)介紹了不同的先進技術(shù),以有效地訓練深度學習模型;第五節(jié)討論RNN;第六節(jié)討論AE;第七節(jié)討GAN;第八節(jié)中介紹強化學習(RL);第九節(jié)解釋遷移學習;第十節(jié)介紹了深度學習的高效應用方法和硬件;第十一節(jié)討論了深度學習框架和標準開發(fā)工具包(SDK)。下面是AI,ML,NN,DL的關(guān)系圖:一.深度學習分類和特征深度學習類型深度學習方法可以分為以下幾個類:監(jiān)督學習,半監(jiān)督學習,無監(jiān)督學習,此外,還有另一類學習方法稱為強化學習(RL)或深度強化學習(DRL),它們經(jīng)常在半監(jiān)督或有時在非監(jiān)督學習方法的范圍內(nèi)討論。(1)監(jiān)督學習將大量的數(shù)據(jù)輸入機
3、器,這些數(shù)據(jù)被事先貼上標簽,例如,要訓練一個神經(jīng)網(wǎng)絡(luò)來識別蘋果或者橙子的圖片,就需要給這些圖片貼上標簽,機器通過識別所有被標記為蘋果或橙子的圖片來理解數(shù)據(jù),這些圖片有共同點,因此機器可以利用這些已識別的圖片來更準確的預測新圖片中的內(nèi)容到底是蘋果還是橙子。他們看到的標記數(shù)據(jù)越多,看到的數(shù)據(jù)集越大,預測準確性就越高。所以監(jiān)督學習是一種使用標注數(shù)據(jù)的學習技術(shù)。在其案例中,環(huán)境包含一組對應的輸入輸出。比如,輸入是x_t,智能體預測后的值與標簽對比來獲得損失值。接著智能體不斷迭代調(diào)整網(wǎng)絡(luò)參數(shù),從而更好地近似期望輸出。成功訓練之后,智能體可對環(huán)境問題做出正確回答。監(jiān)督學習主要有以下幾種:深度神經(jīng)網(wǎng)絡(luò)(DN
4、N)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)(2)無監(jiān)督學習一種不使用標注數(shù)據(jù)的學習技術(shù),即不知道輸入數(shù)據(jù)對應的輸出結(jié)果是什么。在這種情況下,無監(jiān)督學習只能默默的讀取數(shù)據(jù),自己尋找數(shù)據(jù)的模型和規(guī)律,而不需要監(jiān)護人的指導。無監(jiān)督學習方法通常有聚類、降維和生成技術(shù)等。有些深度學習技術(shù)擅長聚類和非線性降維,如自編碼器(AE)和GAN等。此外,RNN(比如LSTM)和RL也被用作半監(jiān)督學習243。到目前為止,在任何方面無監(jiān)督學習都達不到監(jiān)督學習的準確性和有效性。(3)半監(jiān)督學習一種使用部分標注數(shù)據(jù)的學習技術(shù)(通常被稱之為強化學習),半監(jiān)督學習訓練中使用的數(shù)據(jù),只有一小部分是標記過的,而大部分是
5、沒有標記的。因此和監(jiān)督學習相比,半監(jiān)督學習的成本較低,但是又能達到較高的準確度。在一些案例中,深度強化學習(DRL)和生成對抗網(wǎng)絡(luò)(GAN)常被用作半監(jiān)督學習技術(shù)。此外,包含LSTM的RNN和GRU也可劃分為半監(jiān)督學習。(4)強化學習(RL)強化學習(RL)不同于監(jiān)督學習和非監(jiān)督學習。在強化學習RL)中沒有原始已知數(shù)據(jù)可以學習。強化學習面對的是一個不斷變化的狀態(tài)空間要解決的是一個決策鏈問題。其目的是找到在當前環(huán)境(狀態(tài)空間)下最佳決策是什么。這里的挑戰(zhàn)是,當下的決策好壞當下無法驗證和評估,要根據(jù)多次決策以后才能知道。就像下棋,當前的決策(棋子落點)要在五步十步棋之后才能判斷是好是壞。所以強化學
6、習中并沒有大量的原始已知輸入數(shù)據(jù),機器需要在變化的環(huán)境中通過多次的試錯學習,再根據(jù)某種規(guī)則找到產(chǎn)生最佳結(jié)果的最佳路徑,從而做出最佳決策。比較常見的應用有下棋(包括下圍棋和象棋)、機器人、自動駕駛等,這些人工智能技術(shù)中都用到了強化學習。特征學習通過機器學習解決問題的思路:傳感器獲得數(shù)據(jù)預處理特征提取特征選擇推理,預測和識別(機器學習的部分),中間三部分也叫特征表達,而特征是機器學習系統(tǒng)的原材料,對最終模型影響很重要,數(shù)據(jù)要能夠被很好的表達成特征,但是這一部分一般是靠人工提取特征,而手工提取需要專業(yè)知識,費時,靠經(jīng)驗和運氣。傳統(tǒng)的機器學習特征提取算法包括:尺度不變特征變換(SIFT)、加速魯棒特征
7、(SURF)、GIST、RANSAC、直方圖方向梯度(HOG)、局部二元模式(LBP)、經(jīng)驗模式分解(EMD)語音分析,支持向量機(SVM)、隨機森林(RF)、主成分分析(PCA)、核主成分分析(KPCA)、線性遞減分析(LDA)、Fisher遞減分析(FDA)等。所以就想到能不能自動的學習一些特征,深度學習就是來干這個事的,不需要人參與特征選擇的過程,而讓機器自動的學習良好的特征。應用深度學習的時機和領(lǐng)域人工智能在以下領(lǐng)域十分有用,深度學習在其中扮演重要角色:缺乏人類專家(火星導航);人們尚無法解釋的專業(yè)知識(演講、認知、視覺和語言理解);3問題的解決方案隨時間不斷變化(追蹤、天氣預報、偏好
8、、股票、價格預測);解決方案需要適應特定情況(生物統(tǒng)計學、個性化);人類的推理能力有限,而問題的規(guī)模卻很大(計算網(wǎng)頁排名、將廣告匹配到Facebook、情感分析)。目前幾乎所有領(lǐng)域都在應用深度學習。因此,這種方法通常被稱為通用學習方法。下圖顯示了一些示例應用程序ObjectdetectiDiLmVidCaptiQumz衛(wèi)皿aiaicpisCarSpsechreccgritiotLSsiurib-3SiDe險倍RrianCanrtWBptticvn深度學習的前沿發(fā)展深度學習在計算機視覺和語音識別領(lǐng)域有一些突出的成就,如下所述:1)ImageNet數(shù)據(jù)集上的圖像分類Imagenet數(shù)據(jù)集是目前深度
9、學習圖像領(lǐng)域應用得非常多的一個領(lǐng)域關(guān)于圖像分類、定位、檢測等研究工作大多基于此數(shù)據(jù)集展開。它有1400多萬幅圖片,涵蓋2萬多個類別。Imagenet數(shù)據(jù)集文檔詳細,有專門的團隊維護,使用非常方便,在計算機視覺領(lǐng)域研究論文中應用非常廣,幾乎成為了目前深度學習圖像領(lǐng)域算法性能檢驗的“標準”數(shù)據(jù)集。下圖顯示了2012年深度學習技術(shù)的發(fā)展歷程。時至今日,我們開發(fā)的模型ResNet-152在這個數(shù)據(jù)集上只有3.57%的誤差,低于人類約5%的誤差。TheetperimentairesultsonImageNet-2012IB16.4161412童ID20122013201420142015AlfiKNel
10、7ClarifiaBVGG-169GoogLeNet-R&sNet-Human19uq13211Model&Year2)自動語音識別深度學習通過TIMIT數(shù)據(jù)集(通用數(shù)據(jù)集通常用于評估)完成的小規(guī)模識別任務是深度學習在語音識別領(lǐng)域的初次成功體現(xiàn)TIMIT連續(xù)聲音語音語料庫包含630位來自美國的八種主要英語口音使用者,每位發(fā)言人讀取10個句子。下圖總結(jié)了包括早期結(jié)果在內(nèi)的錯誤率,并以過去20年的電話錯誤率(PER)來衡量。條形圖清楚地表明,與TIMIT數(shù)據(jù)集上以前的機器學習方法相比,最近開發(fā)的深度學習方法(圖頂部)表現(xiàn)更好。Phoneerrorrate(PERinpercentagef%)深度學
11、習面臨的挑戰(zhàn)使用深度學習進行大數(shù)據(jù)的分析(針對此問題,解決方案正在高性能的計算機系統(tǒng)上進行部署)深度學習方法要有可擴展性(要能在多個服務器上運行,節(jié)約時間)在在數(shù)據(jù)不可用于學習系統(tǒng)的情況下(尤其是對于計算機視覺任務,例如反向圖形),生成數(shù)據(jù)的能力非常重要。(對生成模型進行研究)4特殊用途設(shè)備的低能耗技術(shù),如移動端智能,F(xiàn)PGA等。(正在對網(wǎng)絡(luò)架構(gòu)和硬件方面高效率深度學習方法進行研究)5.多任務和遷移學習(泛化)或多模塊學習。這意味著要從不同的領(lǐng)域或不同的模型一起學習。(谷歌提交的論文OneModelToLearnThemAll29介紹了一種新方法,其可以從不同的應用領(lǐng)域?qū)W習,包括ImageNe
12、t、多種翻譯任務、圖像標題(MS-COCO數(shù)據(jù)集)、語音識別語料庫和英語解析任務)6在學習中處理因果關(guān)系。二深度神經(jīng)網(wǎng)絡(luò)DNN)DNN介紹神經(jīng)網(wǎng)絡(luò)需要通過學習過程來從其環(huán)境中獲取知識,這個過程模擬了生物大腦的工作方式?;镜挠嬎阍?神經(jīng)元)被稱為接受外部源輸入的節(jié)點(或單元),具有一些內(nèi)部參數(shù)(包括在訓練期間學習到的權(quán)重和偏差)并產(chǎn)生輸出。這個單位被稱為感知器。單層感知器(SLP)感知器的最簡單形式是在輸入和輸出之間有一個單層的權(quán)重連接,模型圖如下:機-.比Output其中x1,x2.xm是輸入信號,wk1,wk2.wkm是權(quán)重,這個參數(shù)表示了每個特征xj的重要性,bk是偏差,神經(jīng)元公式可以
13、用數(shù)學表達式如下:瑰=叫可片=緘匹+%)其中(.)是非線性的,叫做激活函數(shù)。激活函數(shù)的作用是將非線性引入神經(jīng)元的輸出為網(wǎng)絡(luò)提供非線性的建模能力。如果沒有激活函數(shù),那么該網(wǎng)絡(luò)僅能夠表達線性射。比時即使有再多的隱藏層,其整個網(wǎng)絡(luò)跟單層神經(jīng)網(wǎng)絡(luò)也是等價的。因此可以認為,只有加入了激活函數(shù),深度神經(jīng)網(wǎng)絡(luò)才具備了分層的非線性映射。激舌函數(shù)都接受一個數(shù)字,并進行特定,固定的計算。在實踐中,可能會碰到幾種激活函數(shù):Sigmoid(S型激活函數(shù)):輸入一個實值,輸出一個0至1間的值o(x)=1/(1+exp(-x)tanh(雙曲正切函數(shù)):輸入一個實值,輸出一個-1,1間的值tanh(x)=2o(2x)-1R
14、eLU:ReLU代表修正線性單元。輸出一個實值,并設(shè)定0的閾值(函數(shù)會將負值變?yōu)榱?f(x)=max(0,x)。ReLu激活函數(shù)是最近幾年比較受歡迎的激活函數(shù),相比于其它兩種,它能在SGD中快速收斂。2)多層感知器人工神經(jīng)網(wǎng)絡(luò)或者一般神經(jīng)網(wǎng)絡(luò)由多層感知器(MLP)由組成,其中包括一個或多個隱藏層,每個隱藏層包括多個隱藏單元(神經(jīng)元),具有MLP的NN模型模型如下:*1bw多層感知器可以用數(shù)學表達式(這是一個符合函數(shù))表示如下:yfx)=爭(說沖(iv制(“&4-+眄+旳DL和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)由相同的地方也有不同的地方。二者的相同在于deeplearning采用了神經(jīng)網(wǎng)絡(luò)相似的分層結(jié)構(gòu),系統(tǒng)由包括輸
15、入層、隱層(多層)、輸出層組成的多層網(wǎng)絡(luò),只有相鄰層節(jié)點之間有連接,同一層以及跨層節(jié)點之間相互無連接,這種分層結(jié)構(gòu),是比較接近人類大腦的結(jié)構(gòu)的。不同之處是為了克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)訓練中的問題,DL采用了與神經(jīng)網(wǎng)絡(luò)很不同的訓練機制。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中一般采用的是backpropagation的方式進行,簡單來講就是采用迭代的算法來訓練整個網(wǎng)絡(luò),隨機設(shè)定初值計算當前網(wǎng)絡(luò)的輸出,然后根據(jù)當前輸出和label之間的差去改變前面各層的參數(shù),直到收斂。而DL是逐層訓練的訓練機制。簡單的說,可以分為兩步,一是每次訓練一層網(wǎng)絡(luò),二是調(diào)優(yōu),使原始表示x向上生成的高級表示r和該高級表示r向下生成的x盡可能一致。梯度下降梯
16、度下降是一種常用的權(quán)重優(yōu)化函數(shù),根據(jù)權(quán)重造成的誤差來調(diào)整函數(shù),得到更好的優(yōu)化代價函數(shù),定義代價函數(shù)如下,其中x是輸入值,a是輸出值。n是訓練數(shù)據(jù)集實例個數(shù),b是偏差,C被稱為二次代價函數(shù)。C(w,b)越小越好,輸出的預測值和真實值差別越小越好。我們訓練神經(jīng)網(wǎng)絡(luò)的目的是能找到能最小化二次代價函數(shù)C(w,b)的權(quán)重和偏置:上面的函數(shù)有另個變量w,b,通常可以用微積分表示,重復計算梯度度C,然后沿著相反的方向移動,沿著山谷“滾落”。每下降到一個地方,就要計算下一步要往哪個方向下去求得極值過程過程可以用下圖表示:橫坐標為wk,縱坐標為Co權(quán)值和偏置的更新規(guī)則:n是學習率,下面將會對其進行講解。隨機梯度
17、下降(SGD)傳統(tǒng)梯度下降法會讓學習變得相當緩慢,因為它每次都會使用全部訓練樣本,如果訓練數(shù)據(jù)集過大,會花費很長的時間。而隨機梯度下降算法每次只隨機選擇一個樣本來更新模型參數(shù),可能最后只用其中幾萬條或者幾千條的樣本,就已經(jīng)將迭代到最優(yōu)解了。因此每次的學習是非常快速的。但是缺點是:準確度下降,并不是全局最優(yōu);小批量梯度下降(Mini-batchGradientDescent)小批量梯度下降是上面兩種方法的折中。MBGD在每次更新參數(shù)時使用b個樣本(b一般為10),算法的訓練過程比較快,而且也能保證最終參數(shù)訓練的準確率舉個例子第一個人看一幅畫(輸入數(shù)據(jù)),描述給第二個人(隱層)依此類推,到最后一個
18、人(輸出)的時候,畫出來的畫肯定不能看了(誤差較大)反向傳播把畫拿給最后一個人看(求取誤差),然后最后一個人就會告訴前面的人下次描述時需要注意哪里(權(quán)值修正)在深度學習中,反向傳播就是根據(jù)最后的損失值C(w,b)用梯度下降法調(diào)整前面每一層的權(quán)重取值。不斷地交替進行正向傳播(求損失值)和反向傳播來訓練神經(jīng)網(wǎng)絡(luò)。動量動量是一種有利于以SGD方法加速訓練過程的方法。如圖所示,紅色為SGD+Momenttum.黑色為SGD學習率學習率是一個重要的超參數(shù),控制著我們基于損失梯度調(diào)整神經(jīng)網(wǎng)絡(luò)權(quán)值的速度,即以多塊的速度收斂到局部最小值。學習率過小,意味著要花更多的時間收斂,學習率過大,收我們使用隨機梯度下降
19、法和一批大小為128、動力為0.9、權(quán)重衰減為0.0005的樣例來訓練我們的網(wǎng)絡(luò)。我們發(fā)現(xiàn),這少量的權(quán)重衰減對于模型學習是重要的。換句話說,這里的權(quán)重衰減不僅僅是一個正則化矩陣:它減少了模型的訓練誤差。對于權(quán)重w的更新規(guī)則為0*9*坯一0.0005-wdL其中i是迭代指數(shù),v是動力變量,&是學習率,這里寫圖片描述是目標關(guān)于w、對這里寫圖片描述求值的導數(shù)在第i批樣例這里寫圖片描述上的平均值。我們用一個均值為0、標準差為0.01的高斯分布初始化了每一層的權(quán)重。我們用常數(shù)1初始化了第二、第四和第五個卷積層以及全連接隱層的神經(jīng)元偏差。該初始化通過提供帶正輸入的ReLU來加速學習的初級階段。我們在其余層
20、用常數(shù)0初始化神經(jīng)元偏差。我們對于所有層都使用了相等的學習率,這是在整個訓練過程中手動調(diào)整的。我們遵循的啟發(fā)式是,當驗證誤差率在當前學習率下不再提高時,就將學習率除以10。學習率初始化為0.01,在終止前降低三次。我們訓練該網(wǎng)絡(luò)時大致將這120萬張圖像的訓練集循環(huán)了90次,在兩個NVIDIAGTX5803GBGPU上花了五到六天。三卷積神經(jīng)網(wǎng)絡(luò)CNN)A.CNN介紹上面所說的全連接網(wǎng)絡(luò)不太適合圖像識別任務,主要有以下幾個方面的問題:參數(shù)數(shù)量太多:考慮一個輸入1000*1000像素的圖片(一百萬像素,現(xiàn)在已經(jīng)不能算大圖了),輸入層有1000*1000=100萬節(jié)點。假設(shè)第一個隱藏層有100個節(jié)點
21、(這個數(shù)量并不多),那么僅這一層就有(1000*1000+1)*100=1億參數(shù),這實在是太多了!我們看到圖像只擴大一點,參數(shù)數(shù)量就會多很多,因此它的擴展性很差。沒有利用像素之間的位置信息對于圖像識別任務來說,每個像素和其周圍像素的聯(lián)系是比較緊密的和離得很遠的像素的聯(lián)系可能就很小了。如果一個神經(jīng)元和上一層所有神經(jīng)元相連,那么就相當于對于一個像素來說,把圖像的所有像素都等同看待,這不符合前面的假設(shè)。當我們完成每個連接權(quán)重的學習之后,最終可能會發(fā)現(xiàn),有大量的權(quán)重,它們的值都是很小的(也就是這些連接其實無關(guān)緊要)。努力學習大量并不重要的權(quán)重,這樣的學習必將是非常低效的。那么,卷積神經(jīng)網(wǎng)絡(luò)又是怎樣解決
22、這個問題的呢?主要有三個思路盡可能保留重要的參數(shù),去掉大量不重要的參數(shù),來達到更好的學習效果:局部連接:這個是最容易想到的,每個神經(jīng)元不再和上一層的所有神經(jīng)元相連,而只和一小部分神經(jīng)元相連。這樣就減少了很多參數(shù)。權(quán)值共享:一組連接可以共享同一個權(quán)重,而不是每個連接有一個不同的權(quán)重,這樣又減少了很多參數(shù)。3下采樣:可以使用Pooling來減少每層的樣本數(shù),進一步減少參數(shù)數(shù)量,同時還可以提升模型的魯棒性。inputimafleJPeaiire3FeaureMaps禍弼ConvolutionLayerPoolingLayerSFeakire5FtaiurtMapsMapsOutputLayerPoo
23、lirigLayerFullyConnectedMeiwcrk下圖為CNN的結(jié)構(gòu)圖:ConycluticnLayer1)卷積層(ConvolutionLayer)卷積層是用來進行特征提取的,每層神經(jīng)元只和上一層部分神經(jīng)元相連(卷積計算規(guī)則),第一個卷積層對這幅圖像進行了卷積操作,得到了三個FeatureMap。這里的3實際上就是這個卷積層包含三個Filter,也就是三套參數(shù),每個Filter都可以把原始輸入圖像卷積得到一個FeatureMap,三個Filter就可以得到三個FeatureMap。這其中體現(xiàn)了局部連接和特征共享。參數(shù)數(shù)量明顯減少。2)池化層(PoolingLayer)Poolin
24、g層主要的作用是下采樣,通過去掉FeatureMap中不重要的樣本,進一步減少參數(shù)數(shù)量。Pooling的方法很多,最常用的是MaxPooling。池化層引用了平移不變性,也就是說網(wǎng)絡(luò)對識別對象在圖片中的位置不敏感,例如對兩張?zhí)O果的圖片,一個是正放,一個是倒放,最后都可以將它識別為蘋果這一類。3)全連接層連接所有的特征,將輸出值送給分類器(如softmax分類器)B.流行的CNN體系結(jié)構(gòu)體系結(jié)構(gòu)通常由多個卷積層和最大池層組成,最后是完全連接的SoftMax層。這些模型的一些例子是LeNet,AlexNet,VGGNet,NiN和所有卷積(AllConv)。其他替代和更高效的高級體系結(jié)構(gòu)已經(jīng)被提出
25、,其中包括GoogLeNet和InceptionNetworks,ResidualNetworks,DenseNet和FractalNet。這些架構(gòu)中的基本構(gòu)建組件(卷積和池化)幾乎相同。下面圖顯示了近18年深度神經(jīng)網(wǎng)絡(luò)的架構(gòu)發(fā)展情況。Inception-v3ReaNet-50KesWet-34Reshet-18GoogleNetBNAlexNetAlexNpt圖中的坐標軸我們可以看出橫坐標是操作的復雜度,縱坐標是精度。模型設(shè)計一開始的時候模型權(quán)重越多模型越大,其精度越高,后來出現(xiàn)了resNet、GoogleNet、Inception等網(wǎng)絡(luò)架構(gòu)之后,在取得相同或者更高精度之下,其權(quán)重參數(shù)不斷下
26、降。值得注意的是,并不是意味著橫坐標越往右,它的運算時間越大。在這里并沒有對時間進行統(tǒng)計,而是對模型參數(shù)和網(wǎng)絡(luò)的精度進行了縱橫對比。1)LeNet雖然LeNet是在20世紀90年代提出的,但計算能力和內(nèi)存容量有限使得該算法難以實現(xiàn),直到2010年。然而,LeCun使用反向傳播算法提出了CNN,并在手寫數(shù)字數(shù)據(jù)集上進行了實驗,以獲得最先進的精確度。他的架構(gòu)被稱為LeNet5。LeNet-5的基本配置是如下圖:2個卷積(conv)層,2個池化層,2個完全連接的層以及一個具有高斯連接的輸出層。高斯連接輸出層)豆麗4口置五LDKClJi2)AlexNet2012年,AlexKrizhevesky和其他
27、人提出了一個與LeNet相比更深更廣的CNN模型,并在2012年贏得了視覺對象識別最困難的ImageNet挑戰(zhàn)-稱為ImageNet大規(guī)模視覺識別挑戰(zhàn)(ILSVRC)7.這個model的意義比后面那些model都大很多,首先它證明了CNN在復雜模型下的有效性,然后GPU實現(xiàn)使得訓練在可接受的時間范圍內(nèi)得到結(jié)果,讓CNN和GPU都大火了一把,順便推動了有監(jiān)督DL的發(fā)展AlexNet針對所有傳統(tǒng)的機器學習和計算機視覺方法,實現(xiàn)了最先進的識別精度。這是視覺識別和分類任務中機器學習和計算機視覺領(lǐng)域的重大突破,也是對深度學習興趣迅速增長的歷史時刻。AlexNet的架構(gòu)如下所示,可以看出它有8個權(quán)重層,包
28、括5層的Con+pool,2層FC,1層softmax。它的網(wǎng)絡(luò)結(jié)構(gòu)詳細如下:poolipjgpokingiwnWax今天的問題:1卷積計算詳細過程。卷積層2filter指代什么,怎么選取3池化池化層(平均,最大怎么選)4全連接5softmax6dropout7給一個cnn例子A卷積層過程假設(shè)有一個5*5的圖像,使用一個3*3的filter進行卷積,步幅取1,會得到一個3*3的FeatureMap,如下圖所示:image5*5計算結(jié)果如下:filter3*3featuremap3*3filter3*3featuremap3*3image5*5一直計算完得到:filter3*3featurema
29、p3*3111000111000I.1:00Qo01Q.QiImageE00S0a3ConvolvedFeature還可以將步幅設(shè)為大于1的數(shù)。例如,當步幅為2時,F(xiàn)eatureMap計算如下:bias=Ofilter3*3featuremap2*2filter3*3featuremap2k21110001110001110011001100filter3*3featuremap2*2image5*5101010101bias=Ofilter3*3featuremap2*2一張彩色圖片在計算機中是以像素存儲的,它由三原色(紅,綠,藍)以不同比例相加產(chǎn)生多種多樣的色光,所以可以看成有三個通道RG
30、B。比如下圖可以看成是一個5*5*3的輸入圖片,3表示圖片的3個通道,經(jīng)過兩個3*3*3filter的卷積(步幅為2),這里卷積的深度也要取為3和前面保持一致,得到一個3*3*2的輸出。在后面的卷積層中,卷積的深度要和前一層輸入的FeaturnMap保持一致。InputXblmne(-pad1)(m)x::#FilterWOMji3)沁:0G100200001100001-000000000Q100Q/01124001a孑0y01X410U0二0勺2r0010X000從全局看:featuremap)iOOxlOOxm-100-10000才-1-1FilterW:沖-1Q0-LQ1100uioe
31、mentOutputalmne3-I-198x98xn動圖鏈接: HYPERLINK https:/cs231n.github.io/assets/conv-demo/index.html https:/cs231n.github.io/assets/conv-demo/index.html可以看到,最后得到的FeatureMap的個數(shù)取決于卷積核的個數(shù)。卷積核的選擇:個數(shù)選擇:2的次方大小選擇:根據(jù)輸入數(shù)據(jù)和圖像特征,比如你的圖像很大,你想插入的距離稍微大點,就可以選擇大點的卷積核。但是一般取小一點比較好,比如3*3。卷積核用于提取特征,卷積核個數(shù)越多,提取的特征越多,理論上精度也會更高,但
32、是,也意味著訓練的參數(shù)的個數(shù)越多。深度選擇:與輸入數(shù)據(jù)一致內(nèi)部信息:隨機初始化,然后再通過反向傳播進行調(diào)整。步長選擇:步長小重疊信息比較多,計算比較冗余。步長大信息可能會丟失。B.池化層過程1使用最多的是最大池化層(maxpooling),計算圖像區(qū)域內(nèi)的最大值,提取紋理效果好Singledepthslicemaxpoolwitfi2x2filtersandstride26H保留背景更好2平均池化層(meanpooling),計算圖像區(qū)域的平均值,SingledepthsliceTneanpoolvvlth2x2filtersordstride23.25525C.全連接層的作用全連接層在整個卷
33、積神經(jīng)網(wǎng)絡(luò)中起到“分類器”的作用。如果說卷積層,池化層等操作是將原始數(shù)據(jù)映射到隱層特征空間的話(即特征提取),全連接層則起到將學到的“分布式特征表示”映射到樣本標記空間的作用(分類),對特征進行重新擬合,減少特征信息的丟失。假設(shè)一個識別圖片內(nèi)容的神經(jīng)網(wǎng)絡(luò)已經(jīng)訓練完了,全連接層已經(jīng)知道當我們得到以上特征,我們就可以判定這個圖片是貓從下圖可以看到紅色的神經(jīng)元表示這個特征被找到了,同一層的其他神經(jīng)元,要么貓的特征不明顯,要么沒找到,當我們把這些找到的特征組合在一起時,發(fā)現(xiàn)最符合要求的是貓。往前走一層,要對子特征進行分類,就是對貓頭,貓尾巴,貓腿等進行分類,下面把貓頭找出來貓頭的子特征如上,在上一層中
34、,找到這些特征,神經(jīng)元就被激活(下圖紅色圓圈)這子特征就是通過前面的卷積層和池化層得來的。Dsoftmax如果是多分類問題,一般會在全連接層后面接一個softmax層。它的輸入是T*1的向量,輸出也是T*1的向量,這個向量的每個值表示這個樣本屬于每個類的概率(在01之間,總和為1),Softmax公式:例如上面的圖,最后是4分類問題,假設(shè)是將圖片分為貓,狗,鳥,鴨。如下圖,最后選擇概率值最大的分類,該圖片是貓。-eOOyl沖13口F面詳細的講解LeNet-5,它是用于手寫字體識別的一個經(jīng)典的CNN:C3:f.FRaps;1610 x10mans.qj-samplingFullconnectio
35、n輸入:32*32的手寫字體圖片,這些手寫字體包含09數(shù)字,也就是相當于10個類別的圖片輸出:分類結(jié)果,09之間的一個數(shù)。因此我們可以知道,這是一個多分類問題,總共有十個類,因此神經(jīng)網(wǎng)絡(luò)的最后輸出層必然是SoftMax問題,然后神經(jīng)元的個數(shù)是10個。LeNet-5結(jié)構(gòu):輸入層:32*32的圖片,也就是相當于1024個神經(jīng)元Cl層:選擇6個filter,然后filter大小選擇5*5,這樣我們可以得到6個FeatureMap,然后每個特征圖的大小為32-5+1=28(步長為1),也就是神經(jīng)元的個數(shù)為6*28*28=784。S2層:這就是下采樣層,也就是使用最大池化進行下采樣,池化的size,選擇
36、(2,2)(步長為2),也就是相當于對C1層28*28的圖片,進行分塊,每個塊的大小為2*2,這樣我們可以得到14*14個塊,然后我們統(tǒng)計每個塊中,最大的值作為下采樣的新像素,因此我們可以得到S1結(jié)果為:14*14大小的圖片,共有6個這樣的圖片。C3層:選擇16個filter,然后filter大小選擇5*5,那么每個特征圖的大小為14-5+1=10(步長為1),這樣我們可以得到16個FeatureMap。S4層:下采樣層,比較簡單,也是知己對C3的16張10*10的圖片進行最大池化,池化塊的大小為2*2。因此最后S4層為16張大小為5*5的圖片。至此我們的神經(jīng)元個數(shù)已經(jīng)減少為:16*5*5=4
37、00。C5層:我們繼續(xù)用5*5的卷積核進行卷積,然后我們希望得到120個特征圖。這樣C5層圖片的大小為5-5+1=1,也就是相當于1個神經(jīng)元,120個特征圖,因此最后只剩下120個神經(jīng)元了。F6層:將上圖中的86個神經(jīng)元改為10個,應為后面的softmax是10分類問題Softmax層:計算每個數(shù)字的概率,概率最大的類判定為圖片中的手寫字類別。E.訓練過程(1)全連接層參數(shù)更新過程假設(shè),你有這樣一個網(wǎng)絡(luò)層:第一層是輸入層,包含兩個神經(jīng)元il,i2,和截距項bl;第二層是隱含層,包含兩個神經(jīng)元h1,h2和截距項b2,第三層是輸出o1,o2,每條線上標的wi是層與層之間連接的權(quán)重,激活函數(shù)我們默認
38、為sigmoid函數(shù)?,F(xiàn)在對他們隨機賦上初值,如下圖:.45W60125w350w30w45515w1.20w2其中,輸入數(shù)據(jù)輸出數(shù)據(jù)初始權(quán)重i1=0.05,i2=0.10;o1=0.01,o2=0.99;w1=0.15,w2=0.20,w3=0.25,w4=0.30;w5=0.40,w6=0.45,w7=0.50,w8=0.55目標:給出輸入數(shù)據(jù)il,i2(0.05和0.10),使輸出盡可能與原始輸出ol,o2(0.01和0.99)接近。Step1前向傳播1.輸入層隱含層:計算神經(jīng)元h1的輸入加權(quán)和:=加*!j-I-*1nethl=0.15%005十0.2木0.1+0.35牛I=0.3775
39、神經(jīng)元h1的輸出o1:(此處用到激活函數(shù)為sigmoid函數(shù)):outhl=卄匕叫1=幻粘=0.593269992同理,可計算出神經(jīng)元h2的輸出o2:outh2=0.59G8843782隱含層輸出層:計算輸出層神經(jīng)元o1和o2的值:net(x+outhi十w6+f皿曲b*1net=0.4爭0.593269992+().45*0.596884378+().6床1=1.105905967。訶01_|_c-1.10T9D59G/-1()51365(1/outo2=0772928465這樣前向傳播的過程就結(jié)束了,我們得到輸出值為0.75136079,0.772928465,與實際值0.01,0.99相
40、差還很遠,現(xiàn)在我們對誤差進行反向傳播,更新權(quán)值,重新計算輸出。Step2反向傳播1.計算總誤差總誤差:(squareerror)Etotai=刀garget-output)2但是有兩個輸出,所以分別計算o1和o2的誤差,總誤差為兩者之和:E01=targetoi-outo)2=|(0.01-0.75136507)2=0.274811083E楓=0,023560026=EO1+Eo2=0,274811083+0.023560026=0.2983711092隱含層輸出層的權(quán)值更新:以權(quán)重參數(shù)w5為例,如果我們想知道w5對整體誤差產(chǎn)生了多少影響,可以用整體誤差對w5求偏導求出:(鏈式法則)8Et如_
41、BEgtcd水%肚俎*加1doutoidnetoidw下面的圖可以更直觀的看清楚誤差是怎樣反向傳播的:b2outputEO1=I4(targeto1-outo1)totalE+Eo2*曲*Em謚dti小output現(xiàn)在我們來分別計算每個式子的值:計算:d如=(targetol-out屏+j(targeto2-out)2爲晉=-(target張晉=2*tar(jetol-呃如尸一】*-1+0Htol)=-(0.01-0.75136507)=0.74136507計算亦訊i=ou.toll-outol)=0.75130507(1-0.75136507)=0J86815602這一步實際上就是對sigm
42、oid函數(shù)求導)計算neto-地水outhi十簾outh2十b半1務斜=1水皿切水於it)()十()=outhA=0.593269992最后三者相乘:dncti074136507左0.1SG815602羋0,593269992=(L082167041這樣我們就計算出整體誤差E(total)對w5的偏導值?;剡^頭來再看看上面的公式,發(fā)現(xiàn):驚f=(targetolouto)*OUt0y(10Utoi)*OUth為了表達方便,用來表示輸出層的誤差靈敏度:x丈円fi1dE如0outoidnetodneto50-(targetoidoA)*outol1out亦)因此,整體誤差E(total)對w5的偏導
43、公式可以寫成:最后我們來更新w5的值:(其中,是學習速率,這里我們?nèi)?.5)同理,可更新w6,w7,w8:乩訃=0.408666186wt=0.511301270wt=0.5613701213隱含層輸入層的權(quán)值更新:方法其實與上面說的差不多,但是有個地方需要變一下,在上文計算總誤差對w5的偏導時,是從out(ol)net(ol)w5,但是在隱含層之間的權(quán)值更新時,是out(hl)net(hl)w1,而out(hl)會接受E(ol)和E(o2)兩個地方傳來的誤差,所以這個地方兩個都要計算。netol=W5水0泌hl十6*O祖h2十2*1dout.hiw5=0.40込i=douth-爲茁水牆忙=0
44、.138498562曲0.40=0.055399425同理,計算出:蔬一0.019049119兩者相加得到總值:&=7&十脇7=05399425十-0X)19049119=0.036350306再計算dnethlouthi14-e_nethloi叫15nethiouthl(l一outhl)-0.59326999(1一59326999)-0.241300709dwi再計算=Wy*右+W2*勺2十b*1最后,三者相乘:BE如Qi_8%如羋%如*刃肚如dwjdoutf,dnetfii乃的S3S*!IM(I”H(3)池化操作反向傳播0doQ14ab5D0O00O0/Lo00h0Li151osQSJz工
45、!r芬力北防軸遞率百旳祿聲擁.它的網(wǎng)絡(luò)特點有:(1)RELU的使用AlexNet使用RELU作為激活函數(shù),相比于反正切,該方法訓練速度大約有6倍提升。下圖是一個基于CIFARTO的四層卷積網(wǎng)絡(luò)在tanh和ReLU達到25%的trainingerror的迭代次數(shù):實線、間斷線分別代表的是ReLU、tanh的trainingerror,可見ReLU比tanh冃能夠更快的收斂。(2)LRN(LocalResponseNormalization局部響應標準化)LRN加在RELU的激活后面,能夠增加網(wǎng)絡(luò)的泛化能力,并在ILSVRC-2012上降低1%的錯誤率(不是很了解)(3)OverlappingPo
46、oliing(重疊池化)重疊池化的意思是,池化步伐小于kernelsize,這樣池化后的featuremap的感受野其實是有部分重疊的。(作用是什么?)(4)DataAgumentation(數(shù)據(jù)增強)數(shù)據(jù)增強是為了增強模型性能,通過擴充樣本的數(shù)量防止模型過擬合。例如通過PCA擴展數(shù)據(jù)集。另外,其實還有更多的方法視你的業(yè)務場景去使用,比如做基本的圖像轉(zhuǎn)換如增加減少亮度,一些濾光算法等等之類的,這是一種特別有效地手段,尤其是當數(shù)據(jù)量不夠大的時候。(5)DropOut訓練階段:卷積神經(jīng)網(wǎng)絡(luò)的計算量其實主要集中在全連接層,這些層參數(shù)太多了,也最容易發(fā)生過擬合。所謂的Dropout指的是在用前向傳播算
47、法和反向傳播算法訓練DNN模型時,一批數(shù)據(jù)迭代時,隨機的從全連接DNN網(wǎng)絡(luò)中去掉一部分隱藏層的神經(jīng)元。現(xiàn)在它已經(jīng)是主流的做法了。比如我們本來的DNN模型對應的結(jié)構(gòu)是這樣的:在對訓練集中的一批數(shù)據(jù)進行訓練時,我們隨機去掉一部分隱藏層的神經(jīng)元,以概率P舍棄部分神經(jīng)元,其他神經(jīng)元以概率q=p-1被保留,每個神經(jīng)元被“舍棄”的概率是一樣的。并用去掉隱藏層的神經(jīng)元的網(wǎng)絡(luò)來擬合我們的一批訓練數(shù)據(jù)。如下圖,去掉了一半的隱藏層神經(jīng)元:然后用這個去掉隱藏層的神經(jīng)元的網(wǎng)絡(luò)來反向傳播,更新相應的W,b。在下一批數(shù)據(jù)迭代前,我們會把DNN模型恢復成最初的全連接模型,然后再用隨機的方法去掉部分隱藏層的神經(jīng)元,接著去迭代
48、更新W,b。測試階段:在網(wǎng)絡(luò)前向傳播到輸出層前時隱含層節(jié)點的輸出值都要縮減到(1-v)倍;例如正常的隱層輸出為a,此時需要縮減為a(1-v)o這里網(wǎng)上看到的一個解釋是:假設(shè)比例v=0.5,即在訓練階段,以0.5的比例忽略隱層節(jié)點;那么假設(shè)隱層有80個節(jié)點,每個節(jié)點輸出值為1,那么此時只有40個節(jié)點正常工作;也就是說總的輸出為40個1和40個0;輸出總和為40;而在測試階段,由于我們的權(quán)值已經(jīng)訓練完成,此時就不在按照0.5的比例忽略隱層輸出,假設(shè)此時每個隱層的輸出還是1,那么此時總的輸出為80個1,明顯比dropout訓練時輸出大一倍(由于dropout比例為0.5);所以為了得到和訓練時一樣的
49、輸出結(jié)果,就縮減隱層輸出為a(1-v);即此時輸出80個0.5,總和也為40.這樣就使得測試階段和訓練階段的輸出“一致”了。一般p取0.5,能使泛華能力最好。3)NiN(網(wǎng)絡(luò)中的網(wǎng)絡(luò))這個模型與之前引入一些新概念的模型略有不同。第一個概念是使用多層感知卷積,其中使用1X1濾波器執(zhí)行卷積,這有助于在模型中增加更多的非線性。這有助于增加網(wǎng)絡(luò)的深度,然后可以通過丟失來調(diào)整網(wǎng)絡(luò)的深度。這個概念經(jīng)常用在深度學習模型的瓶頸層面。第二個概念是使用全局平均池(GAP)作為完全連接層的替代方案。這有助于顯著減少網(wǎng)絡(luò)參數(shù)的數(shù)量。GAP顯著改變網(wǎng)絡(luò)結(jié)構(gòu)。通過在大特征映射上應用GAP,我們可以生成最終的低維特征向量而
50、不減少特征映射的維度。4)VGG5)GoogLeNet6)ResNet(剩余網(wǎng)絡(luò))ILSVRC2015的獲勝者是剩余網(wǎng)絡(luò)架構(gòu),ResNet。Resnet是由KaimingHe開發(fā)的,目的是設(shè)計超深網(wǎng)絡(luò),這種網(wǎng)絡(luò)不會遇到前輩們所遇到的漸變梯度問題。ResNet開發(fā)了許多不同數(shù)量的層;34,50,101,152和甚至1202。流行的ResNet50在網(wǎng)絡(luò)末端包含49個卷積層和1個完全連接層。7)DenseNet(密度鏈接網(wǎng))8)FractalNet其他模型還有很多其他網(wǎng)絡(luò)架構(gòu)計算機視覺社區(qū)中:XceptionRCNN(遞歸卷積神經(jīng)網(wǎng)絡(luò))IRCNN(初始卷積遞歸神經(jīng)網(wǎng)絡(luò))。分割任務:FCN(完全卷積
51、網(wǎng)絡(luò))。其他最近提出的CNN模型包括具有隨機深度的深度網(wǎng)絡(luò),深度監(jiān)督網(wǎng)絡(luò)和梯形網(wǎng)絡(luò)79,80,81CNN的應用1)用于解決圖形問題的CNN學習圖形數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)挖掘和機器學習任務中各種不同應用的常見問題。DL技術(shù)已經(jīng)成為機器學習和數(shù)據(jù)挖掘團隊之間的橋梁。2016年提出了一種用于任意圖形處理的高效CNN。2)圖像處理和計算機視覺最新研究上面討論的大多數(shù)模型都應用于不同的應用領(lǐng)域,包括圖像分類,檢測,分割,定位,字幕,視頻分類等等。有關(guān)圖像處理和計算機視覺相關(guān)任務的深度學習方法有很好的調(diào)查。使用CNN方法的單幅圖像超分辨率。使用塊匹配CNN進行圖像去噪。使用A-Lamp的照片美學評估。DCNN用于
52、使用馬爾可夫隨機場(MRF)進行分割的高光譜成像。使用CNN進行圖像注冊。用于快速藝術(shù)風格轉(zhuǎn)移的分層深度CNN。使用DCNN進行背景分割。使用DCNN方法的手寫字符識別。使用深度學習方法的光學圖像分類。使用蜂窩同時循環(huán)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)進行目標識別。3)語音處理CNN方法也用于語音處理:使用多模式深度CNN的語音增強和使用卷積門控循環(huán)網(wǎng)絡(luò)(CGRN)的音頻標記。4)用于醫(yī)學成像的CNN一項關(guān)于DL用于分類,檢測和分割任務的醫(yī)學成像的良好調(diào)查。本次調(diào)查后發(fā)表了一些論文。MDNet是為圖像診斷和相應的文字描述而開發(fā)的。使用短軸MRI進行心臟分割104。使用CNN對視盤和視網(wǎng)膜血管進行分割。使用具有
53、完全卷積神經(jīng)網(wǎng)絡(luò)(FCNN)學習功能的隨機森林進行腦腫瘤分割106。最近,U-Net300的改進版本使用了回歸殘余卷積神經(jīng)網(wǎng)絡(luò)(RRCNN),名為R2U-Net301。四高效培訓技術(shù)上一節(jié)缺少的是高級培訓技術(shù)或組件,需要認真考慮高效培訓DL方法。,應用,接下來討論高效培訓DL方法,應用不同的高級技術(shù)來更好的訓練深度學習模型。這些技術(shù)包括輸入預處理,更好的初始化方法,批量歸一化,替代卷積方法,高級激活函數(shù),替代池化技術(shù),網(wǎng)絡(luò)正規(guī)則化等等A準備數(shù)據(jù)集在將數(shù)據(jù)饋送到網(wǎng)絡(luò)之前,目前已經(jīng)應用了不同的方法。準備數(shù)據(jù)集的不同操作如下:樣本重新縮放,平均減法,隨機裁剪,相應于水平或垂直軸的翻轉(zhuǎn)數(shù)據(jù),顏色抖動,
54、PCA/ZCA白化等等。網(wǎng)絡(luò)初始化深度網(wǎng)絡(luò)的初始化對整體識別精度有很大影響。以前,大多數(shù)網(wǎng)絡(luò)已經(jīng)用隨機權(quán)重初始化。對于具有高維數(shù)據(jù)訓練的復雜任務,DNN變得困難,因為由于反向傳播過程,權(quán)重不應該是對稱的。因此,有效的初始化技術(shù)對于培訓這種類型的DNN非常重要。但是,在過去的幾年中,有許多有效的技術(shù)已經(jīng)提出。1998年,LeCun和Y.Bengio在2010年提出了一種簡單而有效的方法。在這種方法中,權(quán)重通過該層的輸入神經(jīng)元數(shù)量的平方根的倒數(shù)來縮放,其可以表示為其中N2是仕層的輸入神經(jīng)元的數(shù)量。針對線性假設(shè),基于對稱激活函數(shù)提出了Xavier的深度網(wǎng)絡(luò)初始化方法。這種方法被稱為“Xavier”初
55、始化方法。最近在2016年,DmytroM.等人提出層順序單元不變性(LSUV),這是一種數(shù)據(jù)驅(qū)動的初始化方法,并且在幾個基準數(shù)據(jù)集(包括ImageNet)上提供了良好的識別準確性。其中一種流行的初始化方法由KimingHe在2015年提出。第l層權(quán)重的分布為均值為零,方差為2的正態(tài)分布,BatchNormalization(批量標準化)BN的提出還是為了克服深度神經(jīng)網(wǎng)絡(luò)難以訓練的弊病,BN的原理是為了防止“梯度消0.9300.4失”,梯度消失的一個例子就是0.4,在BN中,是通過將activation規(guī)范為均值和方差一致的手段使得原本會減小的activation的scale變大。另一種卷積方
56、式已提出替代性和計算效率高的卷積技術(shù),可將乘法成本降低2.5倍激活函數(shù)過去幾十年來,傳統(tǒng)的Sigmoid和Tanh激活函數(shù)已被用于實施神經(jīng)網(wǎng)絡(luò)方法。2010年提出的稱為整流線性單元(ReLU)的流行激活函數(shù)解決了用于訓練深度學習方法的消失梯度問題。ReLU激活在AlexNet中首次使用,這是Hinton在2012年提出的一項突破性CNN技術(shù)。由于激活函數(shù)在深入體系結(jié)構(gòu)的權(quán)重學習中起著至關(guān)重要的作用。許多研究人員把重點放在這里,因為這方面有很多工作要做。同時,已經(jīng)提出了幾種改進的ReLU版本,與ReLU激活功能相比,它提供了更好的準確性。ReLU激活函數(shù)的有效改進版本稱為KaimingHe等人提
57、出的參數(shù)ReLU(PReLU)。圖26顯示了LeakyReLU和ELU激活功能的圖示。這項技術(shù)可以自動學習參數(shù),并以可忽略的額外計算成本提高精度。最近提出的指數(shù)線性單位激活函數(shù),可以使DCNN結(jié)構(gòu)更快更準確的版本。此外,調(diào)整激活函數(shù)的負向部分會產(chǎn)生最近提出的具有多指數(shù)線性單元(MELU)的泄漏ReLU。S形整流線性激活單元在2015年提出?,F(xiàn)代激活功能調(diào)查于2015年進行。池層目前,兩種不同的技術(shù)已經(jīng)被用于在池層實現(xiàn)深度網(wǎng)絡(luò):平均池和最大池。LeNet首次使用平均池層的概念,AlexNet在2012年使用了最大池層7。最大池化和平均池化操作的概念圖如圖所示。多尺度金字塔池匯于2015年提出11
58、8。正則化方法上面說的DropOut就是一種正則化方法,除此之外還有別的方法,但是此方法現(xiàn)在比較流行。DL的其他優(yōu)化方法有不同的優(yōu)化方法,如SGD,Adagrad,AdaDelta,RMSprop和Adam等等五.循環(huán)神經(jīng)網(wǎng)絡(luò)RNN)RNN介紹傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),輸入與輸出都是互相獨立的。比如說在用卷積神經(jīng)網(wǎng)絡(luò)做圖像識別的時候,一個圖片中的貓和狗是被分割開的,是互相獨立的。然而在有些場景下,后續(xù)的輸出和之前的內(nèi)容是相關(guān)的。比如“我是中國人,我的母語是_”,空格中要填寫的需要依賴于前文中的“中國人”。其實就像英語考試中的完形填空一樣,要知道這個空中填什么,必須要看上下文。因此,RDD中引入了“記憶”
59、的概念?!拜敵觥币蕾囉凇拜斎搿焙蜕弦粋€時間點的”記憶“。記憶使得前文中的東西仍然對后文產(chǎn)生了影響。RNN網(wǎng)絡(luò)結(jié)構(gòu)在普通的全連接網(wǎng)絡(luò)或者CNN中,每層神經(jīng)元的信號只能向上一層傳播,樣本的處理在各個時刻獨立。而在RNN中,神經(jīng)元的輸出可以在下一個時間戳直接作用到自身,即第i層神經(jīng)元在在m時刻的輸入,除了(i-1)層神經(jīng)元在該時刻的輸出外,還包括自身在(m-1)時刻的輸出,表示成圖如下:OutputLayerHlddenLayerInputLayer從上圖可以看到隱含層節(jié)點之間增加了互連。將RNN在時間上展開,得到下圖所示結(jié)構(gòu):OvVWJJUO-Unfold9O-上圖的右邊部分。從左到右是時間發(fā)展的
60、過程,第一個是t-i的時刻,中間是t時刻,第三個是t+1時刻。St是t時刻的記憶,x是指輸入,O是指輸出,W是指從上一個時刻t-1到這個時刻t的權(quán)重,U是指輸入到隱層的權(quán)重。很直觀的看到,在t時刻,St被兩個箭頭所指向,分別是來自于t-1時刻的st-1*W的影響,和t時刻的輸入Xt*U的影響。也就是說,和傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,RNN多了一份對過去的記憶。公式如下:RNN結(jié)構(gòu)細節(jié):1可以把隱狀態(tài)St視作“記憶體”,它捕捉了之前時間點上的信息。2.輸出Ot由當前時間及之前所有的“記憶”共同得到。雖然指向St的只有上一個時刻的記憶StT,但是StT是由St-2的記憶得到的,逐層往前推,其實St是受到了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國非物質(zhì)文化遺產(chǎn)保護行業(yè)發(fā)展模式及投資規(guī)劃分析報告
- 2024-2030年中國銅冶煉行業(yè)產(chǎn)量預測及投資規(guī)劃分析報告
- 2024-2030年中國鐵路工程行業(yè)改革創(chuàng)新策略及投資規(guī)劃分析報告
- 2024年度機械設(shè)備OEM定制與合作協(xié)議
- 2024年建筑物資采購協(xié)議
- 2024年手機購銷合作協(xié)議
- 朋友間購房協(xié)議書的條款設(shè)計
- 2024至2030年中國鐵籠行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國渦流型鼓風機行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年預制構(gòu)件項目投資價值分析報告
- 工廠改造施工方案
- 初中英語新課程標準詞匯表
- 《春節(jié)的文化與習俗》課件
- 手機棋牌平臺網(wǎng)絡(luò)游戲商業(yè)計劃書
- 學校體育與社區(qū)體育融合發(fā)展的研究
- 醫(yī)療機構(gòu)高警示藥品風險管理規(guī)范(2023版)
- 一年級體質(zhì)健康數(shù)據(jù)
- 八年級物理(上)期中考試分析與教學反思
- 國家開放大學《財政與金融(農(nóng))》形考任務1-4參考答案
- 2023銀行網(wǎng)點年度工作總結(jié)
- 工廠反騷擾虐待強迫歧視政策
評論
0/150
提交評論