《深度學習:基于PyTorch 》 課件 第6章:經典CNN模型介紹_第1頁
《深度學習:基于PyTorch 》 課件 第6章:經典CNN模型介紹_第2頁
《深度學習:基于PyTorch 》 課件 第6章:經典CNN模型介紹_第3頁
《深度學習:基于PyTorch 》 課件 第6章:經典CNN模型介紹_第4頁
《深度學習:基于PyTorch 》 課件 第6章:經典CNN模型介紹_第5頁
已閱讀5頁,還剩45頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第六章:經典CNN模型介紹1.

AlexNet模型原理與實現2.VGG模型原理與實現3.InceptionV1模型原理與實現4.ResNet模型原理與實現5.批量歸一化(BN)原理與實現6.數據增強(DA)原理與實現7.遷移學習原理與實現學習目標AlexNetAlexNet介紹:ImageNet競賽冠軍獲得者Hinton和他的學生KrizhevskyAlex于2012年設計。ImageNet競賽中第一個使用卷積神經網絡的參賽者。AlexNet網絡結構:8層卷積層池化層卷積層池化層卷積層卷積層卷積層池化層輸出層:三個全連接層AlexNet網絡結構AlexNet網絡結構AlexNet創新點:成功使用ReLU作為CNN的激活函數;使用Dropout隨機忽略一部分神經元,避免模型過擬合;在CNN中使用重疊的最大值池化(步長小于卷積核);提出局部響應歸一化層(LocalResponseNormalization,LRN),后逐漸被BN(BatchNormalization)代替;使用CUDA加速神經網絡的訓練,利用了GPU強大的計算能力;采用了數據增強(DataAugmentation)技術,達到增加樣本量的目的。AlexNet創新點局部響應歸一化是對同層神經元、鄰近特征映射進行局部歸一化應用在激活函數之后歸一化(Normalization)方法泛指把數據特征轉換為相同尺度的方法,比如把數據特征映射到[0,1]或[?1,1]區間內,或者映射為服從均值為0、方差為1的標準正態分布.案例:CIFAR10數據集介紹

Cifar10數據的獲取AlexNet用于Cifar10的Pytorch代碼VGGVGG(VisualGeometryGroup,DepartmentofEngineeringScience,UniversityofOxford)牛津大學計算機視覺組和DeepMind公司共同研發的一種深度卷積神經網絡VGG網絡結構:6種從左到右深度越來越深加粗體表示新增的層所有網絡結構都包含5組卷積操作,每組卷積包含一定數量的卷積層——可以看作一個五階段的卷積特征提取。獲得2014年ILSVRC分類項目第2名VGG網絡結構輸入層:224×224×3的彩色圖像。第1組卷積層(2次卷積):Conv2D(3×3,64),Stride(1),same,ReLU,Output:224×224×64。第1個池化層:MaxPooling2D(2×2),Stride(2),Output:112×112×64。第2組卷積層(2次卷積):Conv2D(3×3,128),Stride(1),same,ReLU,Output:112×112×128。第2個池化層:MaxPooling2D(2×2),Stride(2),Output:。第3組卷積層(3次卷積):Conv2D(3×3,256),Stride(1),same,ReLU,Output:56×56×256。第3個池化層:MaxPooling2D(2×2),Stride(2),Output:。第4組卷積層(3次卷積):Conv2D(3×3,512),Stride(1),same,ReLU,Output:28×28×512。第4個池化層:MaxPooling2D(2×2),Stride(2),Output:。第5組卷積層(3次卷積):Conv2D(3×3,512),Stride(1),same,ReLU,Output:。第5個池化層:MaxPooling2D(),Stride(2),Output:。輸出層:Flatten,Dense(4096),Dense(4096),Dense(1000)。VGG網絡結構VGG16網絡結構:5組卷積組和3個全連接層VGG網絡結構VGG模型的Pytorch實現VGG模型的Pytorch實現BatchNormalization技巧批量歸一化(BatchNormalization,

BN)方法是一種有效的逐層歸一化方法,可以對神經網絡中任意的中間層進行歸一化操作(Ioffeetal.,2015).為了提高優化效率,就要使得凈輸入??(??)的分布一致,比如都歸一化到標準正態分布一般使用標準化將凈輸入??(??)的每一維都歸一到標準正態分布??(??)的期望和方差通常用當前小批量樣本集的均值和方差近似估計給定一個包含??個樣本的小批量樣本集合,第??層神經元的凈輸入??(1,??)?,??(??,??)的均值和方差為BatchNormalization的核心思想對凈輸入??(??)的標準歸一化會使得其取值集中到0附近,如果使用Sigmoid型激活函數時,這個取值區間剛好是接近線性變換的區間,減弱了神經網絡的非線性性質.因此,為了使得歸一化不對網絡的表示能力造成負面影響,可以通過一個附加的縮放和平移變換改變取值區間BatchNormalization的核心思想:BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShiftBatchNormalization的核心思想

BatchNormalization的核心思想案例:貓狗數據集訓練核心任務:對貓和狗進行分類其中訓練集和驗證集進行了規范化的格式存儲樣本量:15000張訓練,10000張驗證,貓狗各50%讀入貓狗數據

帶有BN的寬模型這個模型中,卷積核的個數減少,但是模型的層數增加。每一層使用20個卷積核,進行一個長度為7的循環,每一步要重復一個卷積和池化的基本操作,其中卷積層進行規格大小為2×2的same卷積,池化層進行規格大小為2×2的最大值池化。BN總結:BatchNormalization在很多情況下確實是幫助巨大的,但并不是對所有情況都有幫助。在什么情況下BatchNormalization能夠讓結果變好,在什么情況下沒有幫助是不清楚的,是值得我們思考和研究的。帶有BN的深度模型DataAugmentation技巧DataAugmentation被翻譯成“數據增強”,或者“數據增廣”。它通過對數據施加各種變換來達到增加樣本量的目的。數據增強是深度學習中除了BatchNormalization外另一個非常常用的技巧。DataAugmentation技巧人和計算機處理圖像不同。原來的圖像被拉伸、變換或旋轉,對計算機而言都是一個全新的矩陣。計算機對圖像數據用矩陣形式表達不充分。把一張圖像變成矩陣的過程中,是有信息損失的,而這些損失的信息很寶貴,有可能幫助我們把模型做得更好。DataAugmentation核心思想(1)RandomHorizontalFlip:允許水平方向的翻轉。(2)RandomCrop:隨機裁剪,參數size代表剪切后的圖片尺寸,參數padding代表裁剪前首先在圖片外補0。(3)RandomAffine:對坐標進行仿射變換,由五種基本變換構成,分別為旋轉、平移、縮放、錯切和翻轉。Degrees:最大旋轉角度;Translate:最大平移區間,如(a,b),a代表寬,b代表高;Scale:縮放比例區間,如(a,b),則圖片在a,b間縮放;Shear:最大錯切角度,分為水平錯切和垂直錯切;若shear=a,則僅在x軸錯切,若shear=(a,b),則a設置x軸角度,b設置y軸角度。Pytorch實現數據增強數據增強究竟增加了多少樣本?(1)每一條規則前都帶有Random,說明這種變換是隨機的(2)同一張圖片,在第1個Epoch和第2個Epoch經過數據變換后的輸出是有區別的第1個epoch第2個epochInceptionInception介紹:由Google團隊提出,因此也被稱為GoogleNet;該模型一共有4個版本,從V1到V4;通過增加網絡的寬度(通道數)來提升訓練效果。InceptionV1網絡結構InceptionV1模塊由多個Inception基礎模塊串聯而成。獲得了ILSVRC2014挑戰賽分類項目的冠軍InceptionV1基礎模塊Inception網絡結構InceptionV1模塊創新點:1.InceptionV1使用多個不同尺寸的卷積核(直觀理解:疊加不同尺寸的卷積核,可以從細節上提取更豐富的特征)。Inception網絡結構

Inception網絡結構舉例說明:1*1的卷積核是如何起到減少參數的作用的?Inception網絡結構InceptionV1完整的網絡結構輸入層卷積層卷積層Inception3a層Inception3b層……Inception網絡結構Pytorch構建Inception基礎模塊Pytorch構建Inception模型ResNet

ResNet網絡結構殘差學習模塊的優勢:簡化學習難度——傳統的卷積神經網絡或者全連接網絡,在信息傳遞時,或多或少會存在信息丟失、損耗等問題,同時還會導致梯度消失或梯度爆炸,使得很深的網絡無法訓練。ResNet中常用的殘差學習模塊:常見的ResNet有50層、101層和152層。常見ResNet學習模塊ResNet網絡結構34層ResNet網絡結構:conv1層conv2_x層conv3_x層conv4_x層conv5_x層全連接層ResNet網絡結構FullyconnectedvsGlobalAveragePooling遷移學習深度學習的現實困難:經典的網絡模型太多計算太昂貴,這里既包括硬件,也包括數據集深度學習的現實困難遷移學習(TransferLearning)是指將某個領域或任務上學習到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論