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

        歡迎訪問 生活随笔!

        生活随笔

        當前位置: 首頁 > 人工智能 > pytorch >内容正文

        pytorch

        深度学习——VGG16模型详解

        發布時間:2023/12/31 pytorch 37 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 深度学习——VGG16模型详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

        1、網絡結構

        VGG16模型很好的適用于分類和定位任務,其名稱來自牛津大學幾何組(Visual Geometry Group)的縮寫。

        根據卷積核的大小核卷積層數,VGG共有6種配置,分別為A、A-LRN、B、C、D、E,其中D和E兩種是最為常用的VGG16和VGG19。

        介紹結構圖:

        • conv3-64 :是指第三層卷積后維度變成64,同樣地,conv3-128指的是第三層卷積后維度變成128;
        • input(224x224 RGB image) :指的是輸入圖片大小為224244的彩色圖像,通道為3,即224224*3;
        • maxpool :是指最大池化,在vgg16中,pooling采用的是2*2的最大池化方法(如果不懂最大池化,下面有解釋);
        • FC-4096 :指的是全連接層中有4096個節點,同樣地,FC-1000為該層全連接層有1000個節點;
        • padding:指的是對矩陣在外邊填充n圈,padding=1即填充1圈,5X5大小的矩陣,填充一圈后變成7X7大小;
        • 最后補充,vgg16每層卷積的滑動步長stride=1,padding=1,卷積核大小為333;
          ?

        如上圖VGG16的網絡結構為,VGG由5層卷積層、3層全連接層、softmax輸出層構成,層與層之間使用max-pooling(最大化池)分開,所有隱層的激活單元都采用ReLU函數。具體信息如下:

        • 卷積-卷積-池化-卷積-卷積-池化-卷積-卷積-卷積-池化-卷積-卷積-卷積-池化-卷積-卷積-卷積-池化-全連接-全連接-全連接
        • ?通道數分別為64,128,512,512,512,4096,4096,1000。卷積層通道數翻倍,直到512時不再增加。通道數的增加,使更多的信息被提取出來。全連接的4096是經驗值,當然也可以是別的數,但是不要小于最后的類別。1000表示要分類的類別數。
        • 用池化層作為分界,VGG16共有6個塊結構,每個塊結構中的通道數相同。因為卷積層和全連接層都有權重系數,也被稱為權重層,其中卷積層13層,全連接3層,池化層不涉及權重。所以共有13+3=16層。
        • 對于VGG16卷積神經網絡而言,其13層卷積層和5層池化層負責進行特征的提取,最后的3層全連接層負責完成分類任務。

        2、VGG16的卷積核

        • VGG使用多個較小卷積核(3x3)的卷積層代替一個卷積核較大的卷積層,一方面可以減少參數,另一方面相當于進行了更多的非線性映射,可以增加網絡的擬合/表達能力。
        • 卷積層全部都是3*3的卷積核,用上圖中conv3-xxx表示,xxx表示通道數。其步長為1,用padding=same填充。
        • 池化層的池化核為2*2

        3、卷積計算

        具體的過程:

      1. 輸入圖像尺寸為224x224x3,經64個通道為3的3x3的卷積核,步長為1,padding=same填充,卷積兩次,再經ReLU激活,輸出的尺寸大小為224x224x64
      2. 經max pooling(最大化池化),濾波器為2x2,步長為2,圖像尺寸減半,池化后的尺寸變為112x112x64
      3. 經128個3x3的卷積核,兩次卷積,ReLU激活,尺寸變為112x112x128
      4. max pooling池化,尺寸變為56x56x128
      5. 經256個3x3的卷積核,三次卷積,ReLU激活,尺寸變為56x56x256
      6. max pooling池化,尺寸變為28x28x256
      7. 經512個3x3的卷積核,三次卷積,ReLU激活,尺寸變為28x28x512
      8. max pooling池化,尺寸變為14x14x512
      9. 經512個3x3的卷積核,三次卷積,ReLU,尺寸變為14x14x512
      10. max pooling池化,尺寸變為7x7x512
      11. 然后Flatten(),將數據拉平成向量,變成一維51277=25088。
      12. 再經過兩層1x1x4096,一層1x1x1000的全連接層(共三層),經ReLU激活
      13. 最后通過softmax輸出1000個預測結果
      14. 從上面的過程可以看出VGG網絡結構還是挺簡潔的,都是由小卷積核、小池化核、ReLU組合而成。其簡化圖如下(以VGG16為例):

        ?4、權重參數(不考慮偏置)

        1)輸入層有0個參數,所需存儲容量為224x224x3=150k
        2)對于第一層卷積,由于輸入圖的通道數是3,網絡必須要有通道數為3的的卷積核,這樣的卷積核有64個,因此總共有(3x3x3)x64 = 1728個參數。
        所需存儲容量為224x224x64=3.2M
        計算量為:輸入圖像224×224×3,輸出224×224×64,卷積核大小3×3。

        所以Times=224×224×3x3×3×64=8.7×107

        3)池化層有0個參數,所需存儲容量為 圖像尺寸x圖像尺寸x通道數=xxx k
        4)全連接層的權重參數數目的計算方法為:前一層節點數×本層的節點數。因此,全連接層的參數分別為:
        7x7x512x4096 = 1027,645,444
        4096x4096 = 16,781,321
        4096x1000 = 4096000
        按上述步驟計算的VGG16整個網絡總共所占的存儲容量為24M*4bytes=96MB/image 。

        所有參數為138M
        VGG16具有如此之大的參數數目,可以預期它具有很高的擬合能力;

        但同時缺點也很明顯:
        即訓練時間過長,調參難度大。
        需要的存儲容量大,不利于部署。
        5、VGG模型所需要的內存容量

        借鑒一下大佬的圖:

        ?6、總結

        • 通過增加深度能有效地提升性能;
        • VGG16是最佳的模型,從頭到尾只有3x3卷積與2x2池化,簡潔優美;
        • 卷積可代替全連接,可適應各種尺寸的圖片。

        總結

        以上是生活随笔為你收集整理的深度学习——VGG16模型详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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