ResNext(2017)解读
論文鏈接
看網(wǎng)絡(luò)的名字,可以推想出,它是ResNet(2016)的升級版。在網(wǎng)絡(luò)結(jié)構(gòu)上,它和ResNet相似,采用短路連接(shortcut connection).那么它有什么不同點呢?ResNet的F(x)和x是相加的,F(x)+x,而ResNext是合并的[x,F(x)]。先看下這兩個網(wǎng)絡(luò)的一個block的結(jié)構(gòu),如下圖。直觀的感覺,ResNext變寬了,而且卷積層的輸入輸出通道數(shù)不一樣。
圖 1
網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的規(guī)則主要是:
網(wǎng)絡(luò)由一些殘差塊(residual block)堆疊而成,這些殘差塊有相同的拓?fù)浣Y(jié)構(gòu),而且受VGG/ResNet啟發(fā):
1)如果經(jīng)過殘差塊得到的特征圖尺寸相同,那么這些殘差塊有相同的超參數(shù)(卷積核的數(shù)量和尺寸相同)。
2)每經(jīng)過一次下采樣,殘差塊的寬度*2(這使得不同殘差塊間的計算復(fù)雜度-FLOPs相同。).
圖2
這三個步驟與單個神經(jīng)元的計算過程相似。
-
Splitting:xxx——>xix_{i}xi?
-
Transforming:對xix_{i}xi?做線性變換wixiw_{i}x_{i}wi?xi?
-
Aggregating:對所有變形后的結(jié)果求和Σi=1D\Sigma_{i=1}^{D}Σi=1D?
將這個想法應(yīng)用到ResNext中就變成了:
F(x)=Σi=1cTi(x)F(x) = \Sigma_{i=1}^{c}T_{i}(x)F(x)=Σi=1c?Ti?(x) -
Splitting: 圖一右側(cè)的一個個分支
-
Transforming:Ti(x)T_{i}(x)Ti?(x).文中所有的Ti(x)T_{i}(x)Ti?(x)有相同的拓?fù)浣Y(jié)構(gòu)
-
Aggregating:聚集所有變形后的結(jié)果Σi=1C\Sigma_{i=1}^{C}Σi=1C?
最終,一個殘差塊的作用可看成:
F(x)=x+Σi=1cTi(x)F(x) = x +\Sigma_{i=1}^{c}T_{i}(x)F(x)=x+Σi=1c?Ti?(x)
C是基數(shù)(cardinality),即分支數(shù)
模型的每個分支都相同,figure3(a)可以等價成figure3(b)和figure3(c).
-
模型參數(shù)量的計算。以圖1右側(cè)的結(jié)構(gòu)為例
-
C是基數(shù)-32,d是寬度-4
ResNet-50與ResNext-50對比
ResNext中的一些技巧:
相對于ResNet中求和x=F(x)+xx = F(x) + xx=F(x)+x,ResNext中變成了[x,F(x)],連接的方式.后者可以增加特征圖的數(shù)量
Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification ??
總結(jié)
以上是生活随笔為你收集整理的ResNext(2017)解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算卷积神经网络中参数量
- 下一篇: pandas(一)-- Series创建