多路徑多領域通吃!谷歌AI發布多領域學習通用模型MDL
面向視覺任務(如圖像分類)的深度學習模型,通常用來自單一視覺域(如自然圖像或計算機生成的圖像)的數據進行端到端的訓練。
一般情況下,一個為多個領域完成視覺任務的應用程序需要為每個單獨的領域建立多個模型,分別獨立訓練,不同領域之間不共享數據,在推理時,每個模型將處理特定領域的輸入數據。
即使是面向不同領域,這些模型之間的早期層的有些特征都是相似的,所以,對這些模型進行聯合訓練的效率更高。這能減少延遲和功耗,降低存儲每個模型參數的內存成本,這種方法被稱為多領域學習(MDL)。
此外,MDL模型也可以優于單領域模型,在一個域上的額外訓練,可以提高模型在另一個域上的性能,這稱為「正向知識遷移」,但也可能產生負向知識轉移,這取決于訓練方法和具體的領域組合。 雖然以前關于MDL的工作已經證明了跨領域聯合學習任務的有效性,但它涉及到一個手工制作的模型架構,應用于其他工作的效率很低。
論文鏈接:https://arxiv.org/pdf/2010.04904.pdf
為了解決這個問題,在「Multi-path Neural Networks for On-device Multi-domain Visual Classification」一文中,谷歌研究人員提出了一個通用MDL模型。
文章表示,該模型既可以有效地實現高精確度,減少負向知識遷移的同時,學習增強正向的知識遷移,在處理各種特定領域的困難時,可以有效地優化聯合模型。
為此,研究人員提出了一種多路徑神經架構搜索(MPNAS)方法,為多領域建立一個具有異質網絡架構的統一模型。
該方法將高效的神經結構搜索(NAS)方法從單路徑搜索擴展到多路徑搜索,為每個領域聯合尋找一條最優路徑。同時引入一個新的損失函數,稱為自適應平衡域優先化(ABDP),它適應特定領域的困難,以幫助有效地訓練模型。由此產生的MPNAS方法是高效和可擴展的。
新模型在保持性能不下降的同時,與單領域方法相比,模型大小和FLOPS分別減少了78%和32%。
多路徑神經結構搜索
為了促進正向知識遷移,避免負向遷移,傳統的解決方案是,建立一個MDL模型,使各域共享大部分的層,學習各域的共享特征(稱為特征提取),然后在上面建一些特定域的層。 然而,這種特征提取方法無法處理具有明顯不同特征的域(如自然圖像中的物體和藝術繪畫)。另一方面,為每個MDL模型建立統一的異質結構是很耗時的,而且需要特定領域的知識。
多路徑神經搜索架構框架 NAS是一個自動設計深度學習架構的強大范式。它定義了一個搜索空間,由可能成為最終模型一部分的各種潛在構建塊組成。
搜索算法從搜索空間中找到最佳的候選架構,以優化模型目標,例如分類精度。最近的NAS方法(如TuNAS)通過使用端到端的路徑采樣,提高了搜索效率。
受TuNAS的啟發,MPNAS在兩個階段建立了MDL模型架構:搜索和訓練。
在搜索階段,為了給每個領域共同找到一條最佳路徑,MPNAS為每個領域創建了一個單獨的強化學習(RL)控制器,它從超級網絡(即由搜索空間定義的候選節點之間所有可能的子網絡的超集)中采樣端到端的路徑(從輸入層到輸出層)。
在多次迭代中,所有RL控制器更新路徑,以優化所有領域的RL獎勵。在搜索階段結束時,我們為每個領域獲得一個子網絡。 最后,所有的子網絡被結合起來,為MDL模型建立一個異質結構,如下圖所示。
由于每個域的子網絡是獨立搜索的,所以每一層的構件可以被多個域共享(即深灰色節點),被單個域使用(即淺灰色節點),或者不被任何子網絡使用(即點狀節點)。
每個域的路徑在搜索過程中也可以跳過任何一層。鑒于子網絡可以以優化性能的方式自由選擇沿路使用的區塊,輸出網絡既是異質的又是高效的。
下圖展示了Visual Domain Decathlon的其中兩個領域的搜索架構。
Visual Domain Decathlon是CVPR 2017中的PASCAL in Detail Workshop Challenge的一部分,測試了視覺識別算法處理(或利用)許多不同視覺領域的能力。 可以看出,這兩個高度相關的域(一個紅色,另一個綠色)的子網,從它們的重疊路徑中共享了大部分構建塊,但它們之間仍然存在差異。
圖中紅色和綠色路徑分別代表 ImageNet 和Describable Textures的子網絡,深粉色節點代表多個域共享的塊,淺粉色節點代表每條路徑使用的塊。圖中的“dwb”塊代表 dwbottleneck 塊。圖中的Zero塊表示子網跳過該塊 下圖展示了上文提到的兩個領域的路徑相似性。 相似度通過每個域的子網之間的Jaccard相似度得分來衡量,其中越高意味著路徑越相似。
圖為十個域的路徑之間的Jaccard相似度得分的混淆矩陣。分值范圍為0到1,分值越大表示兩條路徑共享的節點越多。
訓練異構多域模型
在第二階段,MPNAS 產生的模型將針對所有領域從頭開始訓練。 為此,有必要為所有領域定義一個統一的目標函數。 為了成功處理各種各樣的領域,研究人員設計了一種算法,該算法在整個學習過程中進行調整,以便在各個領域之間平衡損失,稱為自適應平衡領域優先級 (ABDP)。 下面展示了在不同設置下訓練的模型的準確率、模型大小和FLOPS。我們將MPNAS與其他三種方法進行比較:
獨立于域的 NAS:分別為每個域搜索和訓練模型。
單路徑多頭:使用預訓練模型作為所有域的共享主干,每個域都有單獨的分類頭。
多頭 NAS:為所有域搜索統一的骨干架構,每個域都有單獨的分類頭。
從結果中,我們可以觀察到NAS需要為每個域構建一組模型,從而導致模型很大。 盡管單路徑多頭和多頭NAS可以顯著降低模型大小和FLOPS,但強制域共享相同的主干會引入負面的知識轉移,從而降低整體準確性。
相比之下,MPNAS可以構建小而高效的模型,同時仍保持較高的整體精度。 MPNAS的平均準確率甚至比領域獨立的NAS方法高1.9%,因為該模型能夠實現積極的知識轉移。 下圖比較了這些方法的每個域top-1準確度。
評估表明,通過使用 ABDP 作為搜索和訓練階段的一部分,top-1 的準確率從 69.96% 提高到 71.78%(增量:+1.81%)。
?未來方向
MPNAS是構建異構網絡以解決MDL中可能的參數共享策略的數據不平衡、域多樣性、負遷移、域可擴展性和大搜索空間的有效解決方案。 通過使用類似MobileNet的搜索空間,生成的模型也對移動設備友好。 對于與現有搜索算法不兼容的任務,研究人員正繼續擴展MPNAS用于多任務學習,并希望用MPNAS來構建統一的多域模型。