CliqueNet:Convolutional Neural Networks with Alternately Updated Clique詳解
Convolutional Neural Networks with Alternately Updated Clique 是2018年北大團隊在CVPR上發表的,這是繼DenseNet之後又一密集網路。在影象識別資料集上作者達到了the state-ofthe-art performance with fewer parameters。以下文章講解是本人粗淺的看法,如有不同的意見大家可以指出並進行探討。
一、摘要
在很深的網路中改善資訊的流動可以減少訓練的困難以及更有效的利用引數。作者提出了CliqueNet網路與之前別人的工作相比,CliqueNet在同一block中任意兩個層之間存在前向和後向的連線。這些層構造成一個環並交替更新。CliqueNet有如下特點:在同一block中每一層同時是其他任意層的輸入與輸出,所以資訊流在層之間最大化使用;在傳播期間,連線新更新的層以重新更新先前更新的層,並且多次重複使用引數。這種迴圈反饋結構能夠將更高級別的視覺資訊帶回以改進低階濾波器並實現spatial attention。
二、介紹
1:跳躍連線機制:ResNet、Highway、DenseNet採用了跳躍連線,這是種有效的方法使得後面的卷積層能接觸效的解決了梯度梯度爆炸的問題。當不同層之間權重共享時,跳躍連線應用在RNN和LSTM中。雖然這種迴圈結構有利於特徵重用和迭代學習,但殘差資訊在相鄰層之間受到限制,並且不能跨多個層考慮,因為重複僅在每個單層發生一次。
2:注意力機制:當我們看一張照片時,當我們再次回看和思考時,場景中的資訊和目標會更好的被獲取。在認知理論中,視覺皮層中神經元的活動受到通過反饋連線傳遞的其他皮質區域響應的影響。以自上而下的方式
作者在受注意力機制的啟發,提出了CliqueNet,其具有如下創新點。1、引數少。與DenseNet相比,一個block中n層,需要組引數,而CliqueNet只需要組引數。同時,DenseNet的引數隨著濾波器個數隨著深度增加成線性增長,導致大量的引數,而CliqueNet中只有在每個block的第二階段中傳給下一個block,這是一個更有效的引數方法。而且CliqueNet中block中的層之間的引數在傳播中可以重複使用。這些層可以交替更新多次使用固定數量的引數獲得更深的表示空間。2、CliqueNet 具有強大的表徵學習(representation learning)能力。由於迴圈結構和反饋機制的結合,CliqueNet 具有強大的表徵學習(representation learning)能力。在每個Clique Block中,前向和反向均為DenseNe連線,使得資訊流最大化以及特徵圖被重複關注。網路結構表明這樣可以有效的抑制背景和噪聲,更有效的突出目標。論文主要貢獻如下:
1:CliqueNet結合了迴圈結構和注意力機制。CliqueNet在同一block中任意兩個層之間存在前向和後向的連線,這些層構造成一個環並交替更新,實現了資訊流的最大化以及特徵的重複使用。
2:採用了多尺度特徵策略,避免了引數的線性增長。
三、CliqueNet框架介紹
CliqueNet主要包括兩個部分:1 block與交替更新的clique 來增加特徵的重複使用;2 多尺度策略有效的利用引數。
3.1 Clique Block
與Dense block 不同的是Clique block每一層即是 其他任意層的輸入也是輸出。如下圖所示:
其中每個clique block包含兩個stage。在第一階段,輸入層X0通過直接連線的方式利用同一bloick中其他所有層。每一個已經更新的層concatenated為了更新下一層。在第二階段,同一block中的這些層進行任意的更新。所有層除了最top層要更新之外都被concatenated as bottom層,他們的引數同樣需要concatenated。其示意圖如下:
3.2 Feature at Different Stages
每個block包含兩個stages,第二階段的特徵包含著注意力機制並且有著更高的視覺資訊,所有將第二階段的特徵作為下個block的輸入。與此同時,為了保持多尺度策略,block中的輸入層與第二階段的特徵一起concatenated作為此block特徵,然後進行全域性的池化,結果作為最終預測的多尺度中的一部分。其示意圖如下: