《大數(shù)據(jù)挖掘與統(tǒng)計機器學習(第3版)》 課件9-CNN與網(wǎng)絡(luò)優(yōu)化_第1頁
《大數(shù)據(jù)挖掘與統(tǒng)計機器學習(第3版)》 課件9-CNN與網(wǎng)絡(luò)優(yōu)化_第2頁
《大數(shù)據(jù)挖掘與統(tǒng)計機器學習(第3版)》 課件9-CNN與網(wǎng)絡(luò)優(yōu)化_第3頁
《大數(shù)據(jù)挖掘與統(tǒng)計機器學習(第3版)》 課件9-CNN與網(wǎng)絡(luò)優(yōu)化_第4頁
《大數(shù)據(jù)挖掘與統(tǒng)計機器學習(第3版)》 課件9-CNN與網(wǎng)絡(luò)優(yōu)化_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1第9章卷積神經(jīng)網(wǎng)絡(luò)與網(wǎng)絡(luò)優(yōu)化9.1卷積神經(jīng)網(wǎng)絡(luò)

---9.1.1卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)23(一)、濾波器(filter)/核(kernel)m*n或m*n*k維矩陣卷積層各個神經(jīng)元的取值通過該濾波器在上一級輸入層逐一滑動窗口計算而得。局部感受野、權(quán)重共享(參數(shù)減少)1234567812345678*1100357111315357一、卷積層4(二)、步幅(stride)步幅是濾波器每次滑過的像素數(shù)。如當步幅為2時,每次就會滑過2個像素。根據(jù)不同的需要,可以分別設(shè)置濾波器向右滑動與向下滑動的幅度大小。在輸入像素數(shù)一定的情況下,步幅越大,特征圖的維數(shù)越小。(三)、補零(zero-padding)在數(shù)據(jù)邊緣分別補p個像素的0,用補充后得到的新圖像進行卷積1234561230000001230045600123000000P=15(四)、深度(depth)深度是卷積操作中用到的濾波器的個數(shù),卷積后特征圖的個數(shù)與濾波器的個數(shù)相同。單個濾波器的通道數(shù)量必須等于輸入的通道數(shù)量。因此單個濾波器的輸出是二維的矩陣。將所有濾波器的輸出疊在一起,得到一個三維矩陣,這個三維矩陣的通道數(shù)等于濾波器個數(shù)。輸入濾波器使用卷積層代替全連接層建立模型具有以下優(yōu)點:局部連接:卷積層中的每個神經(jīng)元都只和下一層中某個局部窗口內(nèi)的神經(jīng)元相連構(gòu)成一個局部連接網(wǎng)絡(luò),連接數(shù)量大大減少。權(quán)重共享:作為參數(shù)的濾波器對于所有神經(jīng)元都是相同的,這樣大大減少了參數(shù)的個數(shù)。卷積運算之后,得到卷積層的凈輸入值,再經(jīng)過非線性激活函數(shù)(一般是ReLU函數(shù))得到該層的輸出值。6二、池化層7(一)、池化的原因1、壓縮數(shù)據(jù),加速運算,減少參數(shù)計算量,遏制過擬合2、增強對輸入圖像變形的魯棒性(二)、池化的定義在核大小的區(qū)域內(nèi)進行下采樣,忽略掉部分激活信息,池化后,輸出的矩陣深度不變,可以在寬度和高度方向減少。最大值池化(maxpooling)

平均值池化(Averagepooling)30110079512345678931993467f=2S=1f=2S=18池化操作:1.池化層可以視為有指定步長和核維度的一層,但是不進行卷積計算,而是進行下采樣2.池化層只有步長和核維度兩個超參數(shù),并且這兩個超參數(shù)不需要學習,而是固定的值。在給定步長和核維度之后,可以通過之前卷積層的維度公式得到下一層輸入的維度。Eg:f=2,p=2可以使尺寸壓縮至一半。3.在表示卷積神經(jīng)網(wǎng)絡(luò)深度時,一般不將池化視為獨立的一層,而是將它與其上一層卷積層視為同一層。三、全連接層9

全連接表示上一層的每個神經(jīng)元與下一層的每個神經(jīng)元是相互連接的。卷積層和池化層的輸出代表了輸入圖像的高級特征,全連接層的目的就是基于訓練集用這些特征對圖像進行分類。除分類以外,全連接層也是學習卷積層與池化層提取出來的特征的線性組合的有效辦法。輸出層是對全連接層的分類結(jié)果進行輸出。9.1.2CNN的算法實現(xiàn)10

11

12

反向傳播算法13

14卷積層和池化層,誤差項的計算有所不同。151617BatchSizeIteration&Epoch學習率預熱、衰減自適應學習率:RMSprop其他考慮更新方向動量法:在第t次迭代時,計算負梯度的“加權(quán)移動平均”作為參數(shù)的更新方向。Adam(自適應動量估計)算法可以看做是動量法和RMSprop方法的結(jié)合,不但使用動量作為參數(shù)更新的方向,而且可以自適應調(diào)整學習率。1819梯度爆炸:梯度截斷初始值:正態(tài)或均勻分布數(shù)據(jù)歸一化:逐層進行參數(shù)懲罰項權(quán)重衰減提前結(jié)束2021DropOut2012年,Hinton在其論文《Improvingneuralnetworksbypreventingco-adaptationoffeaturedetectors》中提出Dropout。當一個復雜的前饋神經(jīng)網(wǎng)絡(luò)被訓練在小的數(shù)據(jù)集時,容易造成過擬合。在前向傳播的時候,讓某個神經(jīng)元的激活值以一定的概率p停止工作,這樣可以使模型泛化性更強,因為它不會太依賴某些局部的特征。(某種意義上的正則化)隨機(臨時)刪掉網(wǎng)絡(luò)中一部分的隱藏神經(jīng)元,輸入輸出神經(jīng)元保持不變(2)把輸入通過修改后的網(wǎng)絡(luò)前向傳播,把得到的損失結(jié)果通過修改的網(wǎng)絡(luò)反向傳播。一小批訓練樣本執(zhí)行完這個過程后,在沒有被刪除的神經(jīng)元上按照隨機梯度下降法更新對應的參數(shù)(w,b)(3)恢復被刪掉的神經(jīng)元,備份參數(shù)不斷重復這一過程。9.1.3CNN的經(jīng)典模型

1.LeNet1998年由LeCun提出用于解決手寫數(shù)字識別的視覺任務(wù)221.LeNet23其中,n為輸入的大小,p為補零padding的個數(shù),f為卷積核的邊長,s為步長stride,Q最經(jīng)過此卷積核之后的邊長。Input:32x32Kernel:5x5Stride:1Types:66x28x28Kernel:2x2Stride:26x14x14Kernel:5x5Stride:1Types:1616x10x10Conv1:Pool2:Conv3:Kernel:2x2Stride:2Pool4:16x5x5Kernel:5x5Stride:1Types:120Conv5:120x1x1Full6:Output:十維向量假設(shè)卷積層的輸入神經(jīng)元的個數(shù)為n,卷積大小為m,步長為s,輸入神經(jīng)元兩端各填補p個零,那么該卷積層的神經(jīng)元的數(shù)量為(n-m+2p)/s+1。以LeNet-5為例,輸入圖片為32x32(n=32),未經(jīng)補0處理(p=0)經(jīng)過通道數(shù)為6(types=6),大小為5x5(m=5),步長為1(s=1)的卷積核得到的結(jié)果是6組大小為28x28((n-m+2p)/s+1=28)的特征映射。之后經(jīng)過一個卷積核為2x2,步長為2的MaxPooling層相當于將這個圖片的長和寬都縮小兩倍,此時的結(jié)果為6x14x14。242.AlexNet2012年奪得ImageNet比賽冠軍252.AlexNet改進之處

26隨機剪裁ReLUDropout3.VGG-Net2014年由牛津大學提出274.GoogLeNetGoogLeNet專注于加深網(wǎng)絡(luò)結(jié)構(gòu),與此同時引入了新的基本結(jié)構(gòu)——Inception模塊,從而來增加網(wǎng)絡(luò)的寬度。GoogLeNet一共22層,它沒有全連接層。284.GoogLeNet294.GoogLeNet305.ResNetResNet在2015年的ImageNet競賽獲得了冠軍,由微軟研究院提出利用了殘差學習的思想315.ResNet——殘差學習325.ResNet33bottleneckresidualblock9.2網(wǎng)絡(luò)優(yōu)化

9.2.1網(wǎng)絡(luò)優(yōu)化問題前文介紹的基于梯度下降的反向傳播算法只是神經(jīng)網(wǎng)絡(luò)求解參數(shù)的基本框架,實際應用時會遇到非常多的問題,需要具體改進。傳統(tǒng)上的機器學習通過仔細設(shè)計目標函數(shù)和約束來避免一般優(yōu)化的困難,以確保優(yōu)化問題是凸函數(shù)。神經(jīng)網(wǎng)絡(luò)是高度非線性模型,我們在假設(shè)的函數(shù)中引入了大量的非線性變換,損失函數(shù)往往是非凸的。341.局部最小值凸優(yōu)化的最重要的性質(zhì)之一就是,其局部最小值(LocalMinima)即為全局最小值(GlobalMinima)。而神經(jīng)網(wǎng)絡(luò)的損失函數(shù)是非凸的,基于梯度下降的優(yōu)化方法會陷入局部最優(yōu)點。352.鞍點和平坦區(qū)域在高維空間中,另一類零梯度點鞍點(SaddlePoint)比局部最小值更為常見。如圖所示,鞍點形似馬鞍狀,梯度在一個方向上是極小值,在另一個方向上則是極大值。幫助梯度下降擺脫陷入局部極小值或鞍點的一種方法是使用隨機梯度下降(SGD),鞍點比較不穩(wěn)定,隨機性的引入可以有效逃離鞍點。363.平坦最小值神經(jīng)網(wǎng)絡(luò)中參數(shù)很多,并且有一定的冗余性,這使得單個參數(shù)對最終損失函數(shù)的影響比較小,因此損失函數(shù)的局部最小值通常落入一個比較平坦的區(qū)域,即平坦最小值(FlatMinima),平坦最小值在鄰域內(nèi)損失接近,鄰域內(nèi)的微小擾動不會劇烈影響模型;尖銳最小值則相反。平坦最小值能夠更好地泛化,因此是可取的。4.梯度懸崖多層神經(jīng)網(wǎng)絡(luò)通常具有比較陡峭的區(qū)域,類似于懸崖,通常是由幾個比較大的權(quán)重相乘導致的。在非常陡峭的懸崖結(jié)構(gòu)上,梯度更新步驟可以將參數(shù)移動到非常遠的位置,很容易致使求解不穩(wěn)定的梯度爆炸現(xiàn)象。37389.2.2小批量梯度下降批量梯度下降BGD(BatchGradientDescent)是梯度下降算法常見的形式,在更新參數(shù)時使用所有的樣本來進行更新。隨機梯度下降SGD(StochasticGradientDescent)和BGD原理類似,區(qū)別在于求梯度時沒有用所有的樣本數(shù)據(jù),而是僅僅選取一個樣本來求梯度,和BGD是兩個極端,各自的優(yōu)缺點都非常突出。小批量梯度下降(Mini-batchGradientDescent)是BGD和SGD的折中,既不使用整個數(shù)據(jù)集,也不僅使用單個樣本構(gòu)造損失函數(shù),而是使用固定數(shù)量的樣本,比如,128,256,512。選擇合適的小批量大小,可以確保我們既能有足夠的隨機性以擺脫局部極小值和鞍點,又能充分利用并行處理的算力優(yōu)勢。在小批量梯度下降中,每次迭代(iteration)選取總體數(shù)據(jù)集中的固定數(shù)量(K個)樣本計算損失函數(shù)關(guān)于參數(shù)的偏導數(shù),以此結(jié)果更新參數(shù)。所有訓練集樣本更新一次為一個回合(Epoch)。在小批量梯度下降基礎(chǔ)上,進一步采取優(yōu)化算法,主要是從學習率衰減和梯度方向優(yōu)化兩個方面進行考慮。399.2.3學習率調(diào)整學習率是網(wǎng)絡(luò)優(yōu)化重要的超參數(shù)。一般來講,在小批量梯度下降中,批次大小K比較小的時候,需要設(shè)置較小的學習率;K越大,訓練越穩(wěn)定,超參數(shù)學習率可以設(shè)置大一些。除了考慮K的因素之外,還有很多調(diào)整超參數(shù)學習率的方法。學習率衰減學習率預熱周期性的學習率調(diào)整40AdaGrad算法41RMSprop算法429.2.4Adam算法439.2.5Adam算法44459.2.6優(yōu)化

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論