歡迎大家來到《知識星球》專欄,這里是網(wǎng)絡(luò)結(jié)構(gòu)1000變小專題,今天介紹最新的分組卷積模型的進(jìn)展。 作者&編輯 | 言有三 1 CondenseNet 有三AI知識星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變 CondenseNet 以前我們給大家講了許多的分組網(wǎng)絡(luò),如果分組本身可以學(xué)習(xí),而不是通過預(yù)先定義的規(guī)則,可能取得更好的效果,其中的一個典型代表就是condensenets,這是一個效率更高的模型,它是對densenet的改進(jìn)。 作者/編輯 言有三 從圖中可以看出,它的基本流程是,首先將輸出進(jìn)行分組,圖中共12個輸入通道,分為3組,每一組兩個輸出通道。然后通過一個condensing過程去除那些權(quán)重小的連接,這是一個剪枝操作。最后在optimization過程中對這些連接的權(quán)重進(jìn)行微調(diào)學(xué)習(xí)。在訓(xùn)練的時候,最后的連接通過學(xué)習(xí)1*1卷積實現(xiàn),而測試的時候則將通道進(jìn)行重排,得到一個標(biāo)準(zhǔn)的分組卷積,這種方法與分組卷積的不同之處就在于通道的分組組合是通過學(xué)習(xí)而來,而不是按照順序進(jìn)行劃分。 作者用他們在DenseNet框架上進(jìn)行實驗,只使用了DenseNet1/10的計算量,就取得了相當(dāng)?shù)男阅?,之所以能夠降低計算量,就是因為?*1卷積進(jìn)行了分組學(xué)習(xí),3*3卷積則使用標(biāo)準(zhǔn)分組卷積替代。 下面是它在ImageNet分類任務(wù)和一些經(jīng)典模型的對比: 可以看出,CondenseNet的確以較低的計算代價取得了很好的效果。 參考文獻(xiàn) [1] Huang G, Liu S, Van der Maaten L, et al. Condensenet: An efficient densenet using learned group convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 2752-2761. 2 FLGC 有三AI知識星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變 Fully Learnable Group Convolution 通常的分組卷積網(wǎng)絡(luò)分組是固定的,CondenseNet曾經(jīng)學(xué)習(xí)了均勻的分組策略,本文則是完全的end-to-end學(xué)習(xí)到了更加自由的分組策略,流程也更加簡單。 作者/編輯 言有三 該論文解決的是如何學(xué)習(xí)每一個分組中的通道及其相關(guān)的連接。假如一個conv層的輸入輸出channels個數(shù)分別是C和N ,被分成g個groups。 首先我們可以用一個大小為C×G的二值矩陣來表示分組情況,1表示歸入某一組,每一個只有一個非零值。 對于卷積核也類似,可以用一個N×G的二值矩陣來表示分組情況。 所以要優(yōu)化的就是這兩個矩陣,為了讓網(wǎng)絡(luò)可以反向傳播,實際優(yōu)化時用softmax操作來替換掉上述的二值操作。 訓(xùn)練完之后,實際使用時,就需要對通道進(jìn)行重新排列,這可以通過一個index-reordering層來完成。 下面是它在ImageNet分類任務(wù)和CASIA人臉識別任務(wù)上的實驗結(jié)果: 可以看出,該方法的策略是有效的。不過該方法策略過于自由,在實際的硬件平臺上并不會如此有效。 參考文獻(xiàn) [1] Wang X, Kan M, Shan S, et al. Fully Learnable Group Convolution for Acceleration of Deep Neural Networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 9049-9058. 3 DGC 有三AI知識星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變 Dynamic Grouping Convolution 通常的分組卷積網(wǎng)絡(luò)分組數(shù)目是固定的,而本文Dynamic Grouping Convolution(DGC)則可以學(xué)習(xí)到分組的數(shù)目。 作者/編輯 言有三 首先我們需要一個二值的矩陣U來表示一個卷積層中輸入輸出通道之間的連接,一些結(jié)構(gòu)示意圖如下: (a)是正常卷積,輸入輸出通道之間完全稠密連接;(d)是分組卷積,輸入輸出通道被分為若干個組,每個組中的通道密集連接;(b)是depth-wise分組卷積,分組數(shù)目等于輸入輸出 通道個數(shù)。(c)(e)是學(xué)習(xí)到的分組卷積,(f)是自由連接。 不過不是每一個二值矩陣都可以表示一個分組卷積,那么矩陣U究竟要滿足什么樣的條件才能使得所表示的連接是一個分組卷積呢? 作者認(rèn)為如果矩陣U可以表示為若干個矩陣的Kronecker乘積,那么就能得到分組卷積的結(jié)構(gòu),這就是需要滿足的約束條件。兩個矩陣的Kronecker乘積案例如下: 大家可以推一下前面幾個連接對應(yīng)的矩陣,每一個都需要3個2×2的矩陣。 因此我們只需要優(yōu)化logC (C是channels個數(shù),2為底數(shù))個2×2的矩陣參數(shù),就可以確定分組結(jié)構(gòu)。 下面是使用ImageNet數(shù)據(jù)集和ResNet的結(jié)果,x軸是從輸入到輸出的通道數(shù),y是分組數(shù),可以發(fā)現(xiàn)越高的層分組越大,越低的層分組越小,這有利于增強(qiáng)特征表達(dá)能力。 參考文獻(xiàn) [1] Zhaoyang Zhang, Jingyu Li, Wenqi Shao, Zhanglin Peng, Ruimao Zhang, Xiaogang Wang, Ping Luo. "Differentiable Learning-to-Group Channels via Groupable Convolutional Neural Networks" ICCV2019 4 關(guān)于有三AI知識星球 有三AI知識星球是我們繼公眾號之后重點打造的原創(chuàng)知識學(xué)習(xí)社區(qū),有需要的同學(xué)可以閱讀下文了解生態(tài)。 |
|