日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

经典网络VGGNet介绍

發布時間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 经典网络VGGNet介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經典網絡VGGNet(其中VGG為Visual Geometry Group)由Karen Simonyan等于2014年提出,論文名為《Very Deep Convolutional Networks for Large-Scale Image Recognition》,論文見:https://arxiv.org/pdf/1409.1556.pdf,網絡結構如下圖所示,其中D和E即為VGG-16和VGG-19:

下圖是來自https://neurohive.io/en/popular-networks/vgg16/ 中VGG-16架構的截圖:

VGG-16(13個卷積層+3個全連接層)與VGG-19(16個卷積層+3個全連接層)的區別:每個卷積層后跟ReLU

(1).VGG-16:2個卷積層+Max Pooling+2個卷積層+Max Pooling+3個卷積層+Max Pooling+3個卷積層+Max Pooling+3個卷積層+Max Pooling+3個全連接層。

(2).VGG-19:2個卷積層+Max Pooling+2個卷積層+Max Pooling+4個卷積層+Max Pooling+4個卷積層+Max Pooling+4個卷積層+Max Pooling+3個全連接層。

假如輸入圖像大小為n*n,過濾器(filter)為f*f,padding為p,步長(stride)為s,則輸出大小為:如果商不是整數,向下取整,即floor函數。參考:https://blog.csdn.net/fengbingchun/article/details/80262495

VGGNet網絡證明了增加網絡深度有利于分類精度,使錯誤率下降。VGGNet模型應用到其它圖像數據集上泛化性也很好。

VGGNet網絡:

(1).結構簡潔:卷積層+ReLU、最大池化層、全連接層、Softmax輸出層。

(2).使用連續幾個較小卷積核(3*3)替換AlexNet中的較大卷積核且采用same padding(即p=(f-1)/2),既減少參數,又進行了更多的非線性映射,可以增加網絡的擬合能力。分為5段卷積,每段包括2至4卷積層。

(3).最大池化,小池化核(2*2),stride為2。

(4).通道數即feature maps數逐漸翻倍增加,使得更多的信息可以被提取出來。

(5).訓練時將同一張圖像縮放到不同的大小,在隨機裁剪到224*224大小以及隨機水平翻轉,增加訓練數據量。

(6).在測試階段,將3個全連接層替換為3個卷積層,這樣輸入層可以接收任意寬或高的圖像。

VGG-16架構:13個卷積層+3個全連接層,predict時對各層進行說明,參照:https://github.com/fengbingchun/Caffe_Test/blob/master/test_data/Net/VGG-16/vgg-16_deploy.prototxt

(1).輸入層(Input):圖像大小為224*224*3。

(2).卷積層1+ReLU:使用64個3*3的filter,stride為1,padding為1,輸出為224*224*64,64個feature maps,訓練參數(3*3*3*64)+64=1792。

(3).卷積層2+ReLU:使用64個3*3的filter,stride為1,padding為1,輸出為224*224*64,64個feature maps,訓練參數(3*3*64*64)+64=36928。

(4).最大池化層:filter為2*2,stride為2,padding為0,輸出為112*112*64,64個feature maps。

(5).卷積層3+ReLU:使用128個3*3的filter,stride為1,padding為1,輸出為112*112*128,128個feature maps,訓練參數(3*3*64*128)+128=73856。

(6).卷積層4+ReLU:使用128個3*3的filter,stride為1,padding為1,輸出為112*112*128,128個feature maps,訓練參數(3*3*128*128)+128=147584。

(7). 最大池化層:filter為2*2,stride為2,padding為0,輸出為56*56*128,128個feature maps。

(8).卷積層5+ReLU:使用256個3*3的filter,stride為1,padding為1,輸出為56*56*256,256個feature maps,訓練參數(3*3*128*256)+256=295168。

(9).卷積層6+ReLU:使用256個3*3的filter,stride為1,padding為1,輸出為56*56*256,256個feature maps,訓練參數(3*3*256*256)+256=590080。

(10).卷積層7+ReLU:使用256個3*3的filter,stride為1,padding為1,輸出為56*56*256,256個feature maps,訓練參數(3*3*256*256)+256=590080。

(11). 最大池化層:filter為2*2,stride為2,padding為0,輸出為28*28*256,256個feature maps。

(12).卷積層8+ReLU:使用512個3*3的filter,stride為1,padding為1,輸出為28*28*512,512個feature maps,訓練參數(3*3*256*512)+512=1180160。

(13).卷積層9+ReLU:使用512個3*3的filter,stride為1,padding為1,輸出為28*28*512,512個feature maps,訓練參數(3*3*512*512)+512=2359808。

(14).卷積層10+ReLU:使用512個3*3的filter,stride為1,padding為1,輸出為28*28*512,512個feature maps,訓練參數(3*3*512*512)+512=2359808。

(15). 最大池化層:filter為2*2,stride為2,padding為0,輸出為14*14*512,512個feature maps。

(16).卷積層11+ReLU:使用512個3*3的filter,stride為1,padding為1,輸出為14*14*512,512個feature maps,訓練參數(3*3*512*512)+512=2359808。

(17).卷積層12+ReLU:使用512個3*3的filter,stride為1,padding為1,輸出為14*14*512,512個feature maps,訓練參數(3*3*512*512)+512=2359808。

(18).卷積層13+ReLU:使用512個3*3的filter,stride為1,padding為1,輸出為14*14*512,512個feature maps,訓練參數(3*3*512*512)+512=2359808。

(19). 最大池化層:filter為2*2,stride為2,padding為0,輸出為7*7*512,512個feature maps。

(20).全連接層1+ReLU+Dropout:有4096個神經元或4096個feature maps,訓練參數(7*7*512)*4096=102760488。

(21). 全連接層2+ReLU+Dropout:有4096個神經元或4096個feature maps,訓練參數4096*4096=16777216。

(22). 全連接層3:有1000個神經元或1000個feature maps,訓練參數4096*1000=4096000。

(23).輸出層(Softmax):輸出識別結果,看它究竟是1000個可能類別中的哪一個。

train和predict的可視化結果如下圖所示:

GitHub:https://github.com/fengbingchun/NN_Test

總結

以上是生活随笔為你收集整理的经典网络VGGNet介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。