【知識星球】卷積核和感受野可動態分配的分組卷積

  • 2019 年 11 月 1 日
  • 筆記

歡迎大家來到《知識星球》專欄,這裡是網路結構1000變小專題,我們要慢慢開始更新AutoML與網路設計相關的內容。

作者&編輯 | 言有三

1 MixNet

有三AI知識星球-網路結構1000變

MixNet

基於Depthwise的分組卷積是一個非常有效的模型設計,不過它們通常是用同樣大小的卷積核,MixNet則使用了可學習的多尺度卷積核提升其性能。

作者/編輯 言有三

我們在前面已經給大家講述過許多的分組卷積模型,比如MobileNet V1/V2中全部都是使用3*3,如果使用其他大小的卷積核,性能如何呢?

上面是實驗對比,可以發現隨著卷積核增加,性能有增加的趨勢,雖然到了9*9之後性能會下降。

既然不同的卷積核大小有性能的差異,說明各自還是學習到了不同的特徵表達,再參考到Inception等多尺度結構,自然就可以想到用不同大小的卷積核進行實驗。

網路結構如上,關於使用多少種不同尺度的卷積核,有兩種思路。第一種,就是人工設定,比如使用3×3, 5×5, 7×7, 9×9等四種卷積核,各自的通道數量可以均分。

當然更好的方式就是基於學習了,讓其對卷積核的種類和通道數量劃分進行搜索,看看實驗對比如下:

上圖展示的是在不同計算量下的兩套模型的性能對比,上表展示的是具體的指標,結果當然是MixNet性能更優秀了。

[1] Tan M, Le Q V. MixNet: Mixed Depthwise Convolutional Kernels[J]. arXiv preprint arXiv:1907.09595, 2019.

2 ScaleNet

有三AI知識星球-網路結構1000變

ScaleNet

分組網路的不同分支可以擁有同樣的感受野,也可以擁有不同的感受野,不過以往都是通過手動進行分配。然而不同的感受野對於不同的任務來說,應該有不同的重要性,ScaleNet就可以學習到不同的權重。

作者/編輯 言有三

網路結構如上,可以看到不同尺度在不同網路層的比例不同,整體結構與一般分組卷積無異。

ScaleNet具體的流程是:

(1) 初始化,每個尺度的通道數量進行均勻分配。

(2) 訓練該網路直到收斂。

(3) 根據BN層的縮放因子,在滿足計算量的約束下,選擇其中最重要的一些分支。

(4) 得到新的網路,重新訓練該網路。

作者們將這個結構替換掉ResNet中的基本單元,如下:

使用ResNet系列在ImageNet上面的訓練結果如下:

可以發現以更低的flops取得了更高的精度,下圖展示了各個網路層的統計。

可以看出,不同層所需的尺度比例,即對感受野的需求是不同的。

參考文獻

[1] Li Y, Kuang Z, Chen Y, et al. Data-Driven Neuron Allocation for Scale Aggregation Networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 11526-11534.