深度學習之ResNeXt

2021-10-08 15:50:57 字數 3541 閱讀 6219

**鏈結

aggregated residual transformations for deep neural networks

傳統的要提高模型的準確率,都是加深或加寬網路,但是隨著超引數數量的增加(比如channels數,filter size等等),網路設計的難度和計算開銷也會增加。因此本文提出的 resnext 結構可以在不增加引數複雜度的前提下提高準確率,同時還減少了超引數的數量(得益於子模組的拓撲結構一樣,後面會講)。

**中首先提到vgg,vgg主要採用堆疊網路來實現,之前的 resnet 也借用了這樣的思想。然後提到 inception 系列網路,簡單講就是 split-transform-merge 的策略,但是 inception 系列網路有個問題:網路的超引數設定的針對性比較強,當應用在別的資料集上時需要修改許多引數,因此可擴充套件性一般。

在這篇**提出網路 resnext,同時採用 vgg 堆疊的思想和 inception 的 split-transform-merge 思想,但是可擴充套件性比較強,可以認為是在增加準確率的同時基本不改變或降低模型的複雜度。這裡提到乙個名詞cardinality,原文的解釋是the size of the set of transformations,如下圖 fig1 右邊是 cardinality=32 的樣子,這裡注意每個被聚合的拓撲結構都是一樣的(這也是和 inception 的差別,減輕設計負擔)

附上原文比較核心的一句話,點明了增加 cardinality 比增加深度和寬度更有效,這句話的實驗結果在後面有展示

還有一些資料證明 resnext 網路的優越性,例如原文中的這句話:in particular, a 101-layer resnext is able to achieve better accuracy than resnet-200 but has only 50% complexity.

table1 列舉了 resnet-50 和 resnext-50 的內部結構,另外最後兩行說明二者之間的引數複雜度差別不大。

接下來要開始講本文提出的新的 block,舉全連線層(inner product)的例子來講,我們知道全連線層的就是以下這個公式:

再配上這個圖就更容易理解其splitting,transforming和aggregating的過程。

然後作者的網路其實就是將其中的 wix

iw_ix_i

wi​xi​

替換成更一般的函式,這裡用了乙個很形象的詞:network in neuron,式子如下:

其中c就是 cardinality,t

it_i

ti​有相同的拓撲結構(本文中就是三個卷積層的堆疊)。

下圖展示了三種相同的 resnext blocks。fig3.a 就是前面所說的aggregated residual transformations。 fig3.b 則採用兩層卷積後 concatenate,再卷積,有點類似 inception-resnet,只不過這裡的 paths 都是相同的拓撲結構。fig 3.c採用的是grouped convolutions,這個 group 引數就是 caffe 的 convolusion 層的 group 引數,用來限制本層卷積核和輸入 channels 的卷積,最早應該是 alexnet 上使用,可以減少計算量。這裡fig 3.c 採用32個 group,每個 group 的輸入輸出 channels 都是4,最後把channels合併這張圖的 fig3.c 和 fig1 的左邊圖很像,差別在於fig3.c的中間 filter 數量(此處為128,而fig 1中為64)更多。作者在文中明確說明這三種結構是嚴格等價的,並且用這三個結構做出來的結果一模一樣,在本文中展示的是 fig3.c 的結果,因為fig3.c 的結構比較簡潔而且速度更快

在實驗中作者說明resnext和resnet-50/101區別僅僅在於其中的block,其他都不變。貼一下作者的實驗結果:相同層數的resnet和resnext的對比:(32*4d表示32個paths,每個path的寬度為4,如fig3)。實驗結果表明resnext和resnet的引數複雜度差不多,但是其訓練誤差和測試誤差都降低了。

另乙個實驗結果的**,主要說明增加cardinality和增加深度或寬度的區別,增加寬度就是簡單地增加filter channels。第乙個是基準模型,增加深度和寬度的分別是第三和第四個,可以看到誤差分別降低了0.3%和0.7%。但是第五個加倍了cardinality,則降低了1.3%,第六個cardinality加到64,則降低了1.6%。顯然增加cardianlity比增加深度或寬度更有效

接下來這個表一方面證明了residual connection的有效性,也證明了aggregated transformations的有效性,控制變數的證明方式,比較好理解。

因此全文看下來,作者的核心創新點就在於提出了aggregrated transformations用一種平行堆疊相同拓撲結構的blocks代替原來 resnet 的三層卷積的block,在不明顯增加引數量級的情況下提公升了模型的準確率,同時由於拓撲結構相同,超引數也減少了,便於模型移植

深度學習之聯邦學習

聯邦學習 federated learning 能夠讓ai演算法借助位於不同站點的資料中獲得經驗。該方法能夠讓多個組織協作開發模型,而且不需要彼此之間直接共享敏感的資料 在多次訓練迭代過程中,共享模型所覆蓋的資料範圍會比任何乙個組織內部擁有的資料都要大得多。難點 不僅僅是資料量的問題,資料集還需要極...

深度學習之遷移學習

遷移學習 transfer learning 是一種機器學習方法,就是把為任務 a 開發的模型作為初始點,重新使用在為任務 b 開發模型的過程中。遷移學習是通過從已學習的相關任務中轉移知識來改進學習的新任務,雖然大多數機器學習演算法都是為了解決單個任務而設計的,但是促進遷移學習的演算法的開發是機器學...

動手學深度學習之深度學習基礎

資料集的形式主要有三種 訓練集測試集 測試資料集不可以用來調參 驗證集 k折交叉驗證 把原始資料分成k組,每次訓練時,使用k 1個子資料集訓練,使用乙個作為驗證,最後通過k次求取訓練誤差和驗證誤差的平均。過擬合 overfitting 模型的訓練誤差遠小於它在測試資料集上的誤差 欠擬合 underf...