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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

inception v4 官方实现_经典神经网络 | 从Inception v1到Inception v4全解析

發布時間:2024/9/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 inception v4 官方实现_经典神经网络 | 从Inception v1到Inception v4全解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹了 Inception 家族的主要成員,包括 Inception v1、Inception v2 、Inception v3、Inception v4 和 Inception-ResNet。它們的計算效率與參數效率在所有卷積架構中都是頂尖的。

Inception 網絡是CNN分類器發展史上一個重要的里程碑。在 Inception 出現之前,大部分流行 CNN 僅僅是把卷積層堆疊得越來越多,使網絡越來越深,以此希望能夠得到更好的性能。

例如AlexNet,GoogleNet、 VGG-Net、ResNet等都是通過加深網絡的層次和深度來提高準確率。

GoogLeNet 最大的特點就是使用了 Inception 模塊,它的目的是設計一種具有優良局部拓撲結構的網絡,即對輸入圖像并行地執行多個卷積運算或池化操作,并將所有輸出結果拼接為一個非常深的特征圖。因為 1*1、3*3 或 5*5 等不同的卷積運算與池化操作可以獲得輸入圖像的不同信息,并行處理這些運算并結合所有結果將獲得更好的圖像表征。

Inception常見的版本有:

Inception v1

Inception v2 和 Inception v3

Inception v4 和 Inception-ResNet

每個版本都是前一個版本的迭代進化。了解 Inception 網絡的升級可以幫助我們構建自定義分類器,優化速度和準確率。

Inception v1

Inception v1首先是出現在《Going deeper with convolutions》這篇論文中,作者提出一種深度卷積神經網絡 Inception,它在 ILSVRC14 中達到了當時最好的分類和檢測性能。

Inception v1的主要特點:一是挖掘了1 1卷積核的作用*,減少了參數,提升了效果;二是讓模型自己來決定用多大的的卷積核。

1* 1卷積

1* 1卷積

1* 1卷積不僅可以減少神經網絡的參數量,還可以壓縮通道數,大大提高了計算效率。

把不同大小的卷積核組合在一起

把不同的卷積核組合在一起,不僅可以增大感受野,而且還可以提高神經網絡的魯棒性。在一層里把不同大小的卷積核疊在一起后,意味著一層里可以產生不同大小的卷積核處理之后的效果,也意味著不用人為的來選擇這一層要怎么卷,這個網絡自己便會學習用什么樣的卷積(或池化)操作最好。

下面是卷積神經網絡Inception模塊的基本組成部分:

Inception v2

Inception v2 和 Inception v3 來自同一篇論文《Rethinking the Inception Architecture for Computer Vision》,作者提出了一系列能增加準確度和減少計算復雜度的修正方法。

將5* 5卷積分解為兩個3* 3卷積

將 5×5 的卷積分解為兩個 3×3 的卷積運算以提升計算速度。如此可以有效地只使用約(3x3 + 3x3)/(5x5)=72%的計算開銷。下圖可看出此替換的有效性。

所以升級后的Inception模塊如下圖所示:

最左側前一版 Inception 模塊中的 5×5 卷積變成了兩個 3×3 卷積的堆疊。

將 n*n 的卷積核尺寸分解為 1×n 和 n×1 兩個卷積。

例如,一個 3×3 的卷積等價于首先執行一個 1×3 的卷積再執行一個 3×1 的卷積。這樣同樣可以只使用約(1x3 + 3x1) / (3x3) = 67%的計算開銷。下圖是此替換的有效性。作者更進一步發揮想象,認為任一個nxn conv都可通過替換為兩個分別為1xn與nx1的convs層來節省計算與內存。

更新后的Inception模塊如下圖所示:

此處如果 n=3,則與上一張圖像一致。最左側的 5x5 卷積可被表示為兩個 3x3 卷積,它們又可以被表示為 1x3 和 3x1 卷積。

模塊中的濾波器組被擴展(即變得更寬而不是更深),以解決表征性瓶頸。如果該模塊沒有被拓展寬度,而是變得更深,那么維度會過多減少,造成信息損失。如下圖所示:

Inception v3

Inception v3 整合了前面 Inception v2 中提到的所有升級,還使用了:

RMSProp 優化器;

Factorized 7x7 卷積;

輔助分類器使用了 BatchNorm;

標簽平滑(添加到損失公式的一種正則化項,旨在阻止網絡對某一類別過分自信,即阻止過擬合)。

Inception v2和Inception v3最終模型

Inception v4

Inception v4 和 Inception -ResNet 在同一篇論文《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》中提出來。

Inception v4網絡結構

Inception v4

首先stem分支,可以直接看論文的結構圖:

然后接下來它們有三個主要的Inception 模塊和Reduction模塊,稱為 A、B 和 C(和 Inception v2 不同,這些模塊確實被命名為 A、B 和 C)。它們看起來和 Inception v2(或 v3)變體非常相似。

Inception v4 引入了專用的「縮減塊」(reduction block),它被用于改變網格的寬度和高度。早期的版本并沒有明確使用縮減塊,但也實現了其功能。

縮減塊 A(從 35x35 到 17x17 的尺寸縮減)和縮減塊 B(從 17x17 到 8x8 的尺寸縮減)。這里參考了論文中的相同超參數設置(V,I,k)。

直接看其網絡結構:

Inception-ResNet

在該論文中,作者將Inception 架構和殘差連接(Residual)結合起來。并通過實驗明確地證實了,結合殘差連接可以顯著加速 Inception 的訓練。也有一些證據表明殘差 Inception 網絡在相近的成本下略微超過沒有殘差連接的 Inception 網絡。作者還通過三個殘差和一個 Inception v4 的模型集成,在 ImageNet 分類挑戰賽的測試集上取得了 3.08% 的 top-5 誤差率。

(左起)Inception ResNet 中的 Inception 模塊 A、B、C。注意池化層被殘差連接所替代,并在殘差加運算之前有額外的 1x1 卷積。

主要 inception 模塊的池化運算由殘差連接替代。然而,你仍然可以在縮減塊中找到這些運算。縮減塊 A 和 Inception v4 中的縮減塊相同。

具體Inception-resnet A、B、C各個模塊網絡結構詳見原論文

針對深網絡結構設計的衰減因子

如果卷積核的數量超過 1000,則網絡架構更深層的殘差單元將導致網絡崩潰。因此,為了增加穩定性,作者通過 0.1 到 0.3 的比例縮放殘差激活值。

激活值通過一個常數進行比例縮放,以防止網絡崩潰。

Inception-ResNet v1結構

結果精度對比

總結

以上是生活随笔為你收集整理的inception v4 官方实现_经典神经网络 | 从Inception v1到Inception v4全解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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