MutualNet:通過從網絡寬度和分辨率互學習的自適應ConvNet

MutualNet: Adaptive ConvNet via Mutual Learning from Network Width and Resolution



摘要

我們提出了寬度-分辨率互學習的方法(MutualNet),以訓練可在動態資源約束下執行的網絡,從而在運行時實現自適應的精度-效率的折衷。我們的方法使用不同的輸入分辨率訓練一組具有不同寬度(即一層中的通道數)的子網,以互學習每個子網的多尺度表示。 在不同的計算約束下,它比最先進的自適應網絡US-Net始終能夠獲得更高的ImageNet top-1精度,並且比EfficientNet中最佳複合縮放的MobileNet高出1.5%。 我們方法的優越性還在COCO目標檢測和實例分割以及遷移學習上得到了驗證。令人驚訝的是,MutualNet的訓練策略還可以提高單個網絡的性能,在效率(GPU搜索時間:15000 vs. 0)和準確性(ImageNet:77.6%vs. 78.6%)方面,其性能均大大優於強大的AutoAugmentation。

1. 引言

深度神經網絡已經勝過各種感知任務。 但是,深度網絡通常需要大量的計算資源,這使得它們很難部署在移動設備和嵌入式系統上。 通過設計有效的卷積塊或修剪不重要的網絡連接來激勵減少深度神經網絡冗餘的研究。 但是,這些工作忽略了計算成本由網絡規模和輸入尺度共同決定的事實。 僅專注於減小網絡規模並不能實現最佳的精度-效率的權衡。 EfficientNet已經認識到平衡網絡深度,寬度和分辨率的重要性。 但是它分別考慮網絡規模和輸入尺度。作者對不同的配置進行網格搜索,然後選擇性能最佳的網格,而我們認爲,應聯合學習網絡規模和輸入尺度,以充分利用嵌入在不同配置中的信息。

阻止深度網絡實際部署的另一個問題是,在實際應用中資源預算(例如電池狀況)會有所不同,而傳統網絡只能在特定的約束條件下(例如FLOP)運行。 爲了解決這個問題,提出的SlimNets訓練一個單獨的模型來滿足運行時變化的資源預算。 它們僅減小網絡寬度以滿足較低的資源預算。 結果,隨着計算資源的減少,模型的性能急劇下降。 在這裏,我們提供一個具體的例子來說明在輸入分辨率和網絡寬度之間取得平衡以實現更好的精度-效率折衷的重要性。 具體來說,要在MobileNet v1骨幹網上滿足從13到569個MFLOP的動態資源約束,US-Net在給定一個 224 × 224 224×224 224×224輸入的情況下需要 [ 0.05 , 1.0 ] × [0.05,1.0]× [0.05,1.0]×的網絡寬度範圍,同時在測試期間通過在 { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128}中調整輸入分辨率,可以使網絡寬度爲 [ 0.25 , 1.0 ] × [0.25,1.0]× [0.25,1.0]×,也可以滿足次約束條件,我們將後一種模型稱爲US-Net+。如圖1所示,只需在推理過程中將不同的分辨率與網絡寬度結合起來,就可以比US-Net更好地進行精度-效率的權衡,而無需付出額外的努力。

在這裏插入圖片描述圖1 US-Net+和US-Net的精度-FLOPs曲線。

受到上述現象的啓發,我們提出了一種將網絡寬度和輸入分辨率都納入統一學習框架的互學習方案。 如圖2所示,我們的框架爲不同的子網提供了不同的輸入分辨率。 由於子網彼此共享權重,因此每個子網都可以學習其他子網共享的知識,這使它們可以從網絡級別和輸入級別捕獲多尺度表示。表1提供了我們的框架與之前的工作之間的比較。 總而言之,我們做出以下貢獻:

  • 我們強調輸入分辨率對有效網絡設計的重要性。之前的工作要麼忽略它,要麼獨立於網絡結構對待它。 相比之下,我們將網絡寬度和輸入分辨率統一嵌入互學習框架,以學習可在運行時實現自適應精度-效率折衷的深度神經網絡(MutualNet)。
  • 我們進行了大量的實驗,以證明MutualNet的有效性。 在各種約束條件下,它在各種網絡結構,數據集和任務上均優於獨立訓練的網絡和US-Net。 據我們所知,我們第一個在目標檢測和實例分割上對任意約束自適應網絡進行基準測試。
  • 我們進行了全面的消融研究,以分析提出的互學習計劃。 我們進一步證明,我們的框架有望作爲一種即插即用策略來提高單個網絡的性能,該性能大大優於流行的性能提升方法,例如數據增強,SENet和知識蒸餾。
  • 所提出的框架是通用的訓練方案,並且與模型無關。它可以應用於任何網絡,而無需對結構進行任何調整。 這使其與其他最新技術兼容(例如,神經體系結構搜索(NAS),自動增強)。

在這裏插入圖片描述
圖2:我們建議的MutualNet的訓練過程。 網絡寬度範圍爲 [ 0.25 , 1.0 ] × [0.25,1.0]× [0.251.0]×,輸入分辨率選自 { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128}。 這樣可以在MobileNet v1主幹上實現 [ 13 , 569 ] [13,569] [13,569]個MFLOP的計算範圍。 我們遵循三明治法則對4個網絡進行採樣,即上限全寬網絡( 1.0 × 1.0× 1.0×),下限寬網絡( 0.25 × 0.25× 0.25×)和兩個隨機寬度比 α 1 , α 2 ∈ ( 0.25 , 1 ) \alpha_{1}, \alpha_{2} \in(0.25,1) α1,α2(0.25,1)。 對於全網絡,我們一致選擇 224 × 224 224×224 224×224分辨率。 對於其他三個子網,我們隨機選擇其輸入分辨率。 完整網絡使用真值標籤進行了優化。 通過預測整個網絡來優化子網。 權重在不同的網絡之間共享,以促進互學習。 CE:交叉熵損失。 KL:Kullback-Leerer散度損失。

2. 相關工作

輕量級網絡。 最近,人們對設計輕量級網絡產生了濃厚的興趣。 MobileNet將標準的 3 × 3 3×3 3×3卷積分解爲 3 × 3 3×3 3×3深度卷積和 1 × 1 1×1 1×1點卷積,從而將計算成本降低了數倍。 ShuffleNet將 1 × 1 1×1 1×1卷積分爲組卷積,以進一步提高計算效率。 MobileNet v2爲低複雜度網絡提出了反向殘差和線性塊。 ShiftNet引入了零觸發器移位操作以降低計算成本。 最近的工作也將神經結構搜索方法應用於搜索有效的網絡。 但是,他們都沒有考慮到實際應用中在運行期間變化的資源約束。 爲了滿足不同的資源預算,這些方法需要部署多個模型並在它們之間切換,這是不可擴展的。

自適應神經網絡。 爲了滿足實際應用中的動態約束,MSDNet提出了一種多尺度,從粗到細的密集網框架。 它具有多個分類器,可以進行早期預測以滿足不斷變化的資源需求。 NestedNet使用嵌套的稀疏網絡,該網絡由多個級別組成,以支持嵌套學習。 S-Net引入了4-width框架,將不同的複雜性整合到一個網絡中,並提出了可切換的BN以進行瘦身訓練。 利用知識蒸餾來訓練多出口網絡。 但是,這些方法只能在有限的約束條件下執行。 US-Net可以立即調整運行時網絡的寬度,以進行任意的精度-效率權衡。 但是,隨着預算下限的降低,其性能會大大降低。 提出了逐步縮小以從訓練有素的大型網絡中微調子網的方法,但是訓練過程複雜且昂貴。

多尺度表示學習。 在各種任務中都探索了多尺度表示的有效性。 FPN融合金字塔特徵用於目標檢測和分割。提出了一種多網格卷積,以在整個尺度空間上傳遞消息。 HRNet設計了一種多分支結構,以跨不同的分辨率交換信息。 然而,這些工作訴諸於對並行化不友好的多分支融合結構。我們的方法沒有修改網絡結構,並且學習的多尺度表示不僅來自圖像尺度,而且來自網絡尺度。

3. 方法

3.1 預備知識

三明治法則。 US-Net訓練了一個在任何資源限制下都可執行的網絡。 解決方案是隨機採樣幾個網絡寬度進行訓練,並累積其梯度進行優化。 但是,子網的性能受最小寬度(例如 0.25 0.25 0.25倍)和最大寬度(例如 1.0 1.0 1.0倍)的限制。 因此,引入了三明治法則以對最小寬度和最大寬度以及每次訓練迭代的兩個隨機寬度進行採樣。

內部蒸餾。 知識蒸餾是將知識從教師網絡轉移到學生網絡的一種有效方法。 遵循三明治法則,由於每次迭代都對最大的網絡進行採樣,因此自然而然地使用最大的網絡(由地面真值標籤監督)作爲老師來指導較小的子網進行學習。 與使用地面真值標籤訓練所有子網相比,這提供了更好的性能。

批歸一化(BN)的後統計信息。 US-Net提出,每個子網都需要有自己的BN統計信息(均值和方差),但這不足以存儲所有子網的統計信息。 因此,US-Net在訓練後收集所需子網的BN統計信息。 實驗結果表明,有2,000個樣本足以獲得準確的BN統計數據。

3.2 重新思考高效的網絡設計

傳統卷積的計算成本爲 C 1 × C 2 × K × K × H × W C_1×C_2×K×K×H×W C1×C2×K×K×H×W,其中 C 1 C_1 C1 C 2 C_2 C2爲輸入和輸出通道數, K K K爲卷積核大小, H H H W W W爲輸出特徵圖大小。 以前的大多數工作只着重於降低 C 1 × C 2 C_1×C_2 C1×C2。 最廣泛使用的組卷積將標準卷積分解爲組,以將計算量減少爲 C 1 × ( C 2 / g ) × K × K × H × W C_1×(C_2/g)×K×K×H×W C1×(C2/g)×K×K×H×W,其中 g g g是組數。 g g g越大,計算量越少,但會導致更高的內存訪問成本(MAC),從而使網絡在實際應用中效率低下。 剪枝方法也只考慮減少結構冗餘。

在我們的方法中,由於以上原因,我們將注意力轉移到減小 H × W H×W H×W上,即降低輸入分辨率。 首先,如圖1所示,寬度和分辨率之間的平衡實現了更好的精度-效率折衷。 其次,對輸入分辨率進行下采樣並不一定會損害性能。有時甚至會提高性能。 較低的圖像分辨率可以通過減少對冗餘細節的關注來產生更好的檢測精度。 第三,不同的分辨率包含不同的信息。 較低分辨率的圖像可能包含更多的全局結構,而高分辨率的圖像可能包含更多的細粒度圖案。 在以前的工作中,從不同尺寸的圖像和特徵中學習多尺度表示已被證明是有效的。 但是這些方法訴諸於對並行化不友好的多分支結構。 基於這些現象,我們提出了一個互學習的框架,以同時考慮網絡規模和輸入分辨率,以實現有效的網絡精度-效率的權衡。

3.3 互學習框架

三明治法則和互學習。 如3.2節所述,不同的分辨率包含不同的信息。 我們希望利用此屬性來學習可靠的表示形式和更好的寬度-分辨率權衡。 US-Net中的三明治法則可以看作是一種互學習的方案,其中協作學習一組網絡。 由於子網彼彼此共享權重並共同進行優化,因此它們可以相互傳遞知識。 較大的網絡可以利用較小網絡提取的特徵。 同樣,較小的網絡可以受益於較大網絡的較強表示能力。 鑑於此,我們爲每個子網提供了不同的輸入分辨率。 通過共享知識,每個子網都可以捕獲多尺度表示。

模型訓練。 在圖2中,我們提供一個示例來說明我們的框架。我們訓練一個網絡,其寬度範圍從 0.25 × 0.25× 0.25× 1.0 × 1.0× 1.0×。 首先我們遵循三明治法則,對四個子網即最大( 1.0 × 1.0× 1.0×),最小( 0.25 × 0.25× 0.25×)和兩個隨機寬度比 α 1 , α 2 ∈ ( 0.25 , 1 ) \alpha_{1}, \alpha_{2} \in(0.25,1) α1,α2(0.25,1)進行採樣。然後,與使用 224 × 224 224×224 224×224輸入的傳統ImageNet訓練不同,我們將輸入圖像的大小調整爲四個分辨率 { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128},並將其輸入到不同的子網中。我們將一個子網的權重表示爲 W 0 : w W_{0:w} W0:w,其中 w ∈ ( 0 , 1 ] w\in(0,1] w(0,1]是子網的寬度,而 0 : w 0:w 0:w表示子網採用每層的前 w × 100 % w×100% w×100權重。 I R = r I_{R=r} IR=r代表一個 r × r r×r r×r的輸入圖像。然後, N ( W 0 : w , I R = r ) N(W_{0:w},I_{R=r}) N(W0:w,IR=r表示一個子網的輸出,其寬度爲 w w w,輸入分辨率爲 r × r r×r r×r。 對於最大的子網(即圖2中的完整網絡),我們始終以最高分辨率( 224 × 224 224×224 224×224)和地面真值標籤 y y y對其進行訓練。 整個網絡的損失是
l o s s f u l l =  CrossEntropy  ( N ( W 0 : 1 , I R = 224 ) , y ) (1) loss_{full}=\text { CrossEntropy }\left(N\left(W_{0: 1}, I_{R=224}\right), y\right)\tag{1} lossfull= CrossEntropy (N(W0:1,IR=224),y)(1)
對於其他子網,我們從 { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128}中隨機選擇一個輸入分辨率,並將其與全網絡的輸出一起訓練。 第 i i i個子網的損耗爲
loss ⁡ s u b i = KLD ⁡ i v ( N ( W 0 : w i , I R = r i ) , N ( W 0 : 1 , I R = 224 ) ) (2) \operatorname{loss}_{s u b_{i}}=\operatorname{KLD}iv\left(N\left(W_{0: w_{i}}, I_{R=r_{i}}\right), N\left(W_{0: 1}, I_{R=224}\right)\right)\tag {2} losssubi=KLDiv(N(W0:wi,IR=ri),N(W0:1,IR=224))(2)
其中 KLD ⁡ i v \operatorname{KLD}iv KLDiv是Kullback-Leibler散度。 總損失是全網和子網的總和,即
loss ⁡ = loss ⁡ full + ∑ i = 1 3 loss ⁡ sub i (3) \operatorname{loss}=\operatorname{loss}_{\text {full}}+\sum_{i=1}^{3} \operatorname{loss}_{\text {sub}_{i}}\tag{3} loss=lossfull+i=13losssubi(3)
以最高分辨率訓練整個網絡的原因是,最高分辨率包含更多細節。 而且,全網絡具有最強的學習能力,可以從圖像數據中捕獲判別性信息。

從寬度和分辨率中互學習。 在這一部分中,我們解釋了爲什麼提出的框架可以互學習不同的寬度和分辨率。 爲了便於演示,在此示例中,我們僅考慮兩個網絡寬度 0.4 × 0.4× 0.4× 0.8 × 0.8× 0.8×,以及兩個分辨率128和192。 如圖3所示,子網 0.4 × 0.4× 0.4×選擇輸入分辨率128,子網 0.8 × 0.8× 0.8×選擇輸入分辨率192。然後我們可以定義子網 0.4 × 0.4× 0.4× 0.8 × 0.8× 0.8×的梯度分別爲 ∂ l W 0 : 0.4 , I R = 128 ∂ W 0 : 0.4 \frac{\partial l_{W_{0: 0.4}, I_{R}=128}}{\partial W_{0: 0.4}} W0:0.4lW0:0.4,IR=128 ∂ l W 0 : 0.8 , I R = 192 ∂ W 0 : 0.8 \frac{\partial l_{W_{0: 0.8}, I_{R}=192}}{\partial W_{0: 0.8}} W0:0.8lW0:0.8,IR=192。 由於子網 0.8 × 0.8× 0.8× 0.4 × 0.4× 0.4×共享權重,我們可以將其梯度分解爲
∂ l W 0 : 0.8 , I R = 192 ∂ W 0 : 0.8 = ∂ l W 0 : 0.8 , I R = 192 ∂ W 0 : 0.4 ⊕ ∂ l W 0 : 0.8 , I R = 192 ∂ W 0.4 : 0.8 (4) \frac{\partial l_{W_{0: 0.8}, I_{R}=192}}{\partial W_{0: 0.8}}=\frac{\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0: 0.4}} \oplus \frac{\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0.4: 0.8}}\tag{4} W0:0.8lW0:0.8,IR=192=W0:0.4lW0:0.8,IR=192W0.4:0.8lW0:0.8,IR=192(4)
其中⊕是向量串聯。 由於兩個子網的梯度是在訓練期間累積的,因此總梯度的計算公式爲
∂ L ∂ W = ∂ l W 0 : 0.4 , I R = 128 ∂ W 0 : 0.4 + ∂ l W 0 : 0.8 , I R = 192 ∂ W 0 : 0.8 = ∂ l W 0 : 0.4 , I R = 128 ∂ W 0 : 0.4 + ( ∂ l W 0 : 0.8 , I R = 192 ∂ W 0 : 0.4 ⊕ ∂ l W 0 : 0.8 , I R = 192 ∂ W 0.4 : 0.8 ) = ∂ l W 0 : 0.4 , I R = 128 + ∂ l W 0 : 0.8 , I R = 192 ∂ W 0 : 0.4 ⊕ ∂ l W 0 : 0.8 , I R = 192 ∂ W 0.4 : 0.8 (5) \begin{aligned} \frac{\partial L}{\partial W}&=\frac{\partial l_{W_{0: 0.4}, I_{R=128}}}{\partial W_{0: 0.4}}+\frac{\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0: 0.8}}\\ &=\frac{\partial l_{W_{0: 0.4}, I_{R=128}}}{\partial W_{0: 0.4}}+\left(\frac{\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0: 0.4}} \oplus \frac{\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0.4: 0.8}}\right)\\ &=\frac{\partial l_{W_{0: 0.4}, I_{R=128}}+\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0: 0.4}} \oplus \frac{\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0.4: 0.8}} \end{aligned}\tag{5} WL=W0:0.4lW0:0.4,IR=128+W0:0.8lW0:0.8,IR=192=W0:0.4lW0:0.4,IR=128+(W0:0.4lW0:0.8,IR=192W0.4:0.8lW0:0.8,IR=192)=W0:0.4lW0:0.4,IR=128+lW0:0.8,IR=192W0.4:0.8lW0:0.8,IR=192(5)
在這裏插入圖片描述
圖3:從網絡寬度和輸入分辨率互學習的示意圖。

因此,子網 0.4 × 0.4× 0.4×的梯度爲 ∂ l W 0 : 0.4 , I R = 128 + ∂ l W 0 : 0.8 , I R = 192 ∂ W 0 : 0.4 \frac{\partial l_{W_{0: 0.4}, I_{R=128}}+\partial l_{W_{0: 0.8}, I_{R=192}}}{\partial W_{0: 0.4}} W0:0.4lW0:0.4,IR=128+lW0:0.8,IR=192,它由兩部分組成。 第一部分是從本身 ( 0 : 0.4 × ) (0:0.4×) (0:0.4×)導出的,輸入分辨率爲128。 第二部分來自具有192輸入分辨率的子網 0.8 × 0.8× 0.8×(即 0 : 0.4 × 0:0.4× 0:0.4×部分)。 因此,子網能夠從不同的輸入分辨率和網絡規模捕獲多尺度表示。 由於網絡寬度是隨機抽樣的,因此每個子網都可以在我們的框架中學習多尺度表示。

模型推斷。 訓練後的模型可以在各種寬度分辨率配置下執行。 目標是在特定資源限制下找到最佳配置。 一種簡單的方法是通過查詢表。 例如,在MobileNet v1中,我們以 0.05 × 0.05× 0.05×的步長採樣從 0.25 × 0.25× 0.25× 1.0 × 1.0× 1.0×的網絡寬度,並以 { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128}採樣網絡分辨率。 我們在驗證集上測試所有這些寬度分辨率配置,並在給定約束(FLOPs或等待時間)下選擇最佳配置。 由於沒有重新訓練,所以整個過程是一勞永逸的。

4. 實驗

在本節中,我們首先介紹ImageNet分類的結果,以說明MutualNet的有效性。 接下來,我們進行廣泛的消融研究,以分析相互學習方案。 最後,我們使用MutualNet遷移學習數據集和COCO目標檢測和實例分割,以證明其魯棒性和泛化能力。

4.1 ImageNet分類評估

我們在ImageNet數據集上將MutualNet與US-Net和經過獨立訓練的網絡進行比較。 我們在兩種流行的輕量級結構上評估我們的框架,即MobileNet v1和MobileNet v2。 這兩個網絡也分別代表非殘差和殘差結構。

實施細節。 我們將在相同的動態FLOPs約束條件下與US-Net進行比較(在MobileNet v1上爲 [ 13 , 569 ] [13,569] [13569]MFLOPs,在MobileNet v2上爲 [ 57 , 300 ] [57,300] [57300] MFLOPs)。 US-Net基於 224 × 224 224×224 224×224的輸入分辨率,在MobileNet v1上使用 [ 0.05 , 1.0 ] × [0.05,1.0]× [0.05,1.0]×寬度,在MobileNet v2上使用 [ 0.35 , 1.0 ] × [0.35,1.0]× [0.35,1.0]×寬度。 爲了滿足相同的動態約束,我們的方法使用了 [ 0.25 , 1.0 ] × [0.25,1.0]× [0.25,1.0]×寬度比例的MobileNet v1和 [ 0.7 , 1.0 ] × [0.7,1.0]× [0.7,1.0]×的MobileNet v2,降採樣的輸入分辨率 { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128}。 由於輸入分辨率較低,我們的方法能夠使用比US-Net更高的寬度下限(即 0.25 × 0.25× 0.25× 0.7 × 0.7× 0.7×)。 其他訓練設置與US-Net相同。

與US-Net的比較。 我們首先將我們的框架與MobileNet v1和MobileNet v2主幹上的US-Net進行比較。 精度-FLOPs曲線如圖4所示。我們可以看到,我們的框架在MobileNet v1和MobileNet v2主幹網上始終優於US-Net。 具體而言,我們以較小的計算成本實現了重大改進。 這是因爲我們的框架同時考慮了網絡寬度和輸入分辨率,並且可以在兩者之間找到更好的平衡。 例如,如果資源限制爲150 MFLOPs,則US-Net必須將寬度減小到 0.5 × 0.5× 0.5×(因爲其恆定的輸入分辨率爲224),而我們的MutualNet可以通過一個平衡配置來滿足此預算( 0.7 × − 160 0.7×-160 0.7×160),從而獲得更高的精度(如圖4(a)的表格中列出的65.6%(我們的)和62.9%(US-Net)。 另一方面,我們的框架能夠學習多尺度表示,從而進一步提高每個子網的性能。 我們可以看到,即使對於相同的配置(例如 1.0 × − 224 1.0×-224 1.0×224),我們的方法也明顯優於US-Net,即MobileNet v1的72.4%(我們的)與71.7%(US-Net),而MobileNet v2則爲72.9%(我們的)與71.5%(US-Net)(圖4)。
在這裏插入圖片描述
圖4:我們提出的MutualNet和US-Net的精度-FLOPs曲線。 (a)基於MobileNet v1主幹。 (b)基於MobileNet v2主幹。

與獨立訓練網絡的比較。 分別對不同比例的MobileNets進行了訓練。 作者將寬度和分辨率視爲獨立因素,因此無法利用不同配置中包含的信息。 我們在圖5中比較了MutualNet和經過獨立訓練的MobileNet在不同寬度分辨率配置下的性能。對於MobileNet v1,寬度選自 { 1.0 × , 0.75 × , 0.5 × , 0.25 × } \{1.0×,0.75×,0.5×,0.25×\} {1.0×,0.75×,0.5×,0.25×} ,分辨率從 { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128}中選擇,總共有16種配置。 類似地,MobileNet v2從 { 1.0 × , 0.75 × , 0.5 × , 0.35 × } \{1.0×,0.75×,0.5×,0.35×\} {1.0×,0.75×,0.5×,0.35×} { 224 , 192 , 160 , 128 } \{224,192,160,128\} {224,192,160,128}中選擇配置。 從圖5,我們的框架始終可以勝過MobileNets。 即使對於相同的寬度-分辨率配置(儘管可能不是MutualNet在該特定約束條件下找到的最佳配置),MutualNet仍可以實現更好的性能。 這表明MutualNet不僅可以找到更好的寬度分辨率平衡,而且可以通過互學習方案學習更強大的表示形式。

在這裏插入圖片描述
圖5:我們的MutualNet和獨立訓練的MobileNet的Accuracy-FLOPs曲線。 (a)是MobileNet v1主幹。 (b)是MobileNet v2主幹。 不同的MobileNets配置的結果取自論文。