用於多任務CNN的隨機濾波分組,性能超現有基準方法

2020-12-17 AI科技大本營

作者 | Felix J.S. Bragman, Ryutaro Tanno等

譯者 | 李傑

多任務學習(MTL)的性能表現,很大程度上取決於任務共享的方式,而任務共享方式通常是依靠網絡架構的設計。共享方式是由網絡深度和任務數量綜合決定的,因此如果完全依靠人工設計的組合方式,可能得到的結果是耗時的,而且並不能保證是最優方案。

本文提出了一種用於多任務學習的CNNs中任務特定(task-specific)和共享表示(shared representations)的概率學習方法。具體來說,本文提出了一個隨機濾波分組(stochastic filter groups,SFG)的方法,SFG是一種將每一層中的卷積核分配給專有(specialist)或通用(generalist)組的機制,這些組分別針對不同的任務或在不同的任務之間共享。SFG確定了層與網絡中特定於任務和共享表示的結構之間的連接性,使用變分推斷(variational inference)來學習可能的卷積分組和網絡參數分組的後驗分布。實驗證明,本文所提出的方法適用於多個任務,並且比基準方法有更好的性能。

引言

多任務學習(MTL

多任務學習旨在通過同時解決多個相關任務,提升學習效率和網絡泛化性能。將卷積神經網絡(CNNs)嵌入到MTL中已經在廣泛的計算機視覺應用中顯示出良好的前景,諸如目標識別、檢測、分割等等。設計一個成功的MTL模型的關鍵是學習共享特徵和特定任務特徵表示的能力。理解任務之間的共性和差異的機制允許模型在任務之間傳遞信息,同時裁剪預測模型來描述單個任務的不同特徵。這些特徵表示的質量主要取決於MTL網絡架構的設計,如網絡中的哪些層是在所有任務之間共享的,哪些層是分開,專門針對於某個子任務的。

但是,這種組合方式是多樣的,如果我們只依靠自己手工設計,效率是非常低下的,而且不能保證得到的組合是最優的。如下圖所示,左邊的圖展示了一個典型的多任務體系結構,它由一個共享的「主幹」特徵提取器和特定於任務的「分支」網絡組成,但實際上,所需的共享和特定於任務的表示,以及它們在體系結構中的交互取決於單個任務的難度和它們之間的關係,在大多數情況下,這兩者都不是先驗已知的。這說明了手工設計適當的體系結構十分困難。而右邊的圖展示了一個可以用我們的方法學習的示例體系結構。基於此,本文提出隨機濾波分組(SFG),一種學習卷積核分配到特定任務和共享組的原則方法。

隨機濾波分組(SFG)

本文提出了隨機濾波分組機制(Stochastic Filter Groups SFG),它是一種概率機制,用於學習在MTL結構的每一層中所需的特定於任務和共享表示的數量。如下圖所示,SFG學習將每一層中的卷積核分配給專有(specialist)或通用(generalist)組,這些組分別針對不同的任務或在不同的任務之間共享。SFG為網絡配備了一種機制來學習層間連接,從而學習特定任務和共享表示的結構。

背景知識

變分推斷(variational inference)

我們的任務是根據已有的數據去推斷需要的分布P,但是在很多情況下,P不是規則的,不容易表達和直接求解,在這種情況下,我們可以轉換思路,尋找一個容易表達和求解的分布Q,我們的目標是不斷優化Q,使得Q和原始分布P的差距不斷縮小。這種情況下,可以把Q看做P的近似分布,將Q的輸出近似作為P的輸出。

MTL中網絡架構設計

多任務中主要通過設計相應的網絡結構,確定哪些特徵表示是共享的,哪些特徵表示是特定於某個子任務的,主要有兩大類方法:

(1)第一類是優化權重分配結構以使任務性能最大化的方法。這些方法旨在學習一組向量,這些向量控制哪些特性在一個層中共享,以及這些特性如何分布,代表性網絡有十字繡網絡,如下圖所示,通過一個參數矩陣,決定特徵在每個任務之間的共享程度。

(2)第二類側重於根據任務相似度進行權重聚類。常見的做法是使用迭代算法來構建一個類似於樹的深度結構,將類似的任務按層次進行分組,或者根據任務之間的統計相關性來確定權重共享的程度。

本文提出的方法屬於第一大類即通過對特定任務和共享特性進行「硬」劃分來區分。本文的方法通過對卷積核進行分組來學習層之間連接性的分布。使得模型能夠學習有意義的特定於任務的分組和共享特性。

方法

本文引入了一個新的方法來確定在多任務CNN架構中從哪裡學習特定任務和共享表示。這就是隨機濾波分組(stochastic filter groups SFG),它是一種概率機制,將每個卷積層中的卷積核劃分為「專有」組和「共享」組,它們分別針對不同的任務或在不同的任務之間共享。本文使用變分推斷來學習可能的內核分組和網絡參數的分布,這些參數決定了層與層之間的連接性以及共享的和特定於任務的特徵。

隨機濾波分組(stochastic filter groups)

SFG將一個稀疏連接結構引入到CNN的多任務學習架構中,從而將特徵分離為特定於任務的和共享的組件。濾波器組的結構如下圖所示,將每個卷積層中的卷積核劃分為組,每個組僅作用於特徵上的一個子集。這種稀疏性在不影響精度的情況下降低了計算成本和參數數量。

在SFG中,借鑑了濾波器分組的概念,將其引入到MTL中,在此基礎上提出一種擴展,使用一種額外的機制來學習最優的卷積核分組,而不是預先指定它們。

為方便表示,我們以兩個子任務的多任務學習為例,在一個CNN結構的第 L層,有 K個卷積核,可以用下列集合表示:

SFG可以通過兩個步驟完成:

(1)卷積核分配(FilterAssignment):

如下圖所示,給定卷積層中的每個卷積核 {wk}都根據相關的分類分布樣本概率(p1,p2,ps)分配給濾波組G1、G2、Gs中的一個。

如下圖所示,卷積核分配完成後,進行各自分組的卷積,得到不同組的特徵表示{F1,Fs,F2}。(i)表示所有的卷積核被均勻分組的情況;(ii)和(iii)表示卷積核在更深的層次上變得更加針對特定的任務的情況;(iv)表示一個任務間具有更多異構拆分的情況。

(2)特徵路由(FeatureRouting):

如下圖所示,第 L層上經卷積核分組卷積得到的特徵{F1,Fs,F2}被路由到第L+1層的卷積核分組{G1,Gs,G2}中,然後得到新一層的特徵。

具體路由公式為:

其中,h是一個激活函數,進行線性變化。*代表卷積操作。|表示特徵圖的維度拼接操作。

基於分析這個路由公式可知,當 L等於0時,也就是剛開始輸入的時候,輸入圖片 x會和第一層的分組卷積核進行卷積運算,第一層特徵輸出的通用表示為:

下圖是兩個任務的損失L1和L2進行梯度回傳的路線,可以看到,特定於任務的卷積核分組G1、G2僅根據自身任務的損失進行更新,而共享組Gs則根據兩個任務的損失進行更新。

網絡結構

下圖是整體架構的示意圖,其中每個SFG模塊在每個卷積層中隨機生成濾波器分組,所得到的特徵按上述方式稀疏路由。黑色圓點代表融合模塊,通常是對來自特徵任務和來自共享任務的特徵圖進行維度拼接(concat)或者對應元素相加(element-wise add),然後將新的特徵圖傳遞到下一層的卷積核分組中。白色圓點表示一些附加的操作,通常是在激活函數前加入額外的卷積或者全連接層。

這種稀疏連接是確保任務性能和結構化表示的必要條件。我們可能會感到疑惑的一點是,第L層的共享分特徵路由到第L+1層的特定任務的卷積核分組中,會讓子任務的loss不能很好的分離。作者在這裡的考量是,這種稀疏路由連接方式對於特定任務學到更豐富的特徵是有幫助的。舉例來說,如下圖所示,如果在第一層有很大比例的卷積核被分配到了共享卷積分組中,並且沒有路由,那麼這會大大減少後續層中應用到特定任務的卷積核數量,在極端情況下,一層中所有的卷積核都被分配到共享卷積分組中去,後續層中的特定於任務的卷積核分組實際上未被使用。

另外一個需要關注的點是在這個過程中,特徵圖的維度變化。具體來說,在不同分組中卷積核的數量是會隨著訓練的輪數進行變化的,在這種情況下,每一個卷積核分組的輸出特徵{F1,F2,Fs}的維度也是在變化。本文不是直接處理不同大小的特性圖,而是在SFG模塊中,對輸入特徵,首先和全部卷積核進行卷積,然後根據任務分組,將原始來源於不同卷積核分組的通道置零。在特徵融合方面,如果沒有額外的轉化,進行元素加操作;如果有諸如殘差塊等複雜轉化,進行維度拼接操作,然後對融合特徵進行1x1卷積進行升降維,確保融合後的特徵與共享特徵維度相同。

優化卷積網絡參數和分組概率的方法

給定一個有L個SFG模塊的網絡,每一個模塊中包含K個卷積核。SFG模塊中卷積核的後驗概率可以表示為:

由於SFG模塊中的卷積核的後驗分布難以直接進行準確的求解,本文採取變分推斷的思想,用一個簡單的近似分布qφ(W)代替,其中W是所有層的所有卷積核的集合。假定將qφ(W)分布按照卷積層和每一層的卷積核分組進行分解,那麼該分布的變分推斷可以表示為:

紅框部分表示第L層中第k個卷積被路由到不同卷積核分組後的結果,它的詳細表示為:

其中,函數z的作用是將第k個卷積核屬於哪一個卷積核分組(task1/task2/share)的概率轉化為一個one-hot向量,函數M為卷積核的參數。

此時別忘了,我們真正的後驗概率是上文中的P,我們提出一個簡單的近似分布q來擬合它,怎樣優化q讓它們的分布更相似呢,我們想到了KL散度,KL散度可以表示兩個概率分布之間的相似程度。另一方面,似然函數能夠根據輸出,推斷最有可能產生這種輸出的參數,因此,我們定義一個優化函數L,它是由聯合似然估計和KL散度綜合而來,如下式:

其中,M是batch_size,W表示從近似分布q抽樣的一組模型參數。而作者借鑑《Uncertaintyin Deep Learning》一文中的思想,將KL散度進一步表示為:

其中,H函數為分組概率的交叉熵。將(4)式帶入(3)式,可以得到最終的損失L為:

λ1和λ2是正則化係數

實驗

本文在兩個多任務學習任務上對SFG模塊進行實驗:(1)基於UTKFace數據集上的人臉圖像年齡預測和性別分類;(2)基於醫學影像數據集的語義圖像合成與分割。

數據集

UTKFace dataset

UTKFace datasets由23703張帶年齡和性別標籤的人臉圖像組成。在訓練中分別按照70%,15%,15%的比例劃分為訓練集,驗證集和測試集。同時構建一個次級數據集,其中只包含初始集10%的圖像,以便模擬一個數據匱乏的場景。

Medical imaging dataset

在這個實驗中,創建15個3D醫療圖像掃描,並使用語義3D標籤對器官進行掃描。創建了一個包含10名患者的訓練集,其餘5名用於測試。將網絡訓練在從軸向切片中隨機採樣的尺寸為128x128的二維圖像上,並在測試時重建尺寸為288x288x62的三維體塊。

基準

baseline共有四種,分別是:1)單任務網絡,2)硬參數共享的多任務網絡,先進行統一的共享特徵,然後進行特徵分離,3)MT-constantmask,每個任務中分配相同數量的卷積核,4)MT-constantp ,每個卷積核別分配到任務1,任務2或者任務共享分組中的概率相等,都是1/3。

實驗結果

年齡預測和性別分類

如下圖所示,MAE是預測年齡與真實年齡的平均預測誤差,Accuracy是分類正確率。在充足數據集情況下,本文提出的MT-SFG方法在年齡預測和性別分類上都超出了baseline性能表現,這說明了學習分配卷積核的好處。

即使在數據量匱乏的數據集上,MT-SFG依然獲得了最佳性能。

醫學圖像回歸和語義分割

結構分析

通過分析嵌入SFG模塊的網絡的分組概率,可以將網絡連接可視化,從而了解所學習的MTL體系結構,為了分析每一層卷積核的分組方式,計算了每一層卷積核類別概率的和。結果如下圖所示,藍,綠,粉分別代表卷積核分配到task1,task-share和task2中的概率,可以看到,從總體來說,隨著網絡深度的增加,網絡越來越傾向於把卷積核分配到特定任務的分組中去(隨著網絡層數加深,藍色和粉色的比例不斷增加)。

在第一層,幾乎所有的卷積核都被分配到共享卷積核分組中,這是因為,初始的卷積得到的特徵是低階特徵,對於所有任務都會適用,但是隨著網絡層數的加深,特徵越來越高階和抽象,這時候卷積核更容易被分配到特定任務的卷積核分組中去,因為抽象的特徵只有加上特定的任務屬性才會有意義。

結論

本文提出了隨機濾波器分組(SFGs)來區分特定任務和共享任務特徵。SFGs在概率上定義了卷積核的分組,從而定義了CNNs中特性的連接性。在訓練過程中,我們使用變分推斷來近似給定訓練數據和可能架構上的樣本的連通性分布。本文的方法可以看作是多任務體系結構學習的一種概率形式,通過後驗概率,推斷出最優的MTL結構。

論文連結:

ICCV2019 Open Access Repositoryopenaccess.thecvf.com

(*本文為AI科技大本營編譯文章,轉載請微信聯繫1092722531)

開幕倒計時15天|2019 中國大數據技術大會(BDTC)即將震撼來襲!豪華主席陣容及百位技術專家齊聚,15 場精選專題技術和行業論壇,超強幹貨+技術剖析+行業實踐立體解讀。6.6 折票限時特惠(立減1400元),學生票僅 599 元!

相關焦點

  • 發布 XTREME — 評估跨語言泛化的大規模多語言多任務基準
    在 NLP 中,大多都採用在訓練中利用多種不同語言的共享結構的方法來解決數據稀疏性問題。根據以往的經驗來看,這些方法大多專注於使用多種語言執行特定任務。而過去幾年間,在深度學習技術進步的推動下,嘗試通過學習 通用多語言表示法 (例如,mBERT、XLM、XLM-R)的訓練方法有所增加,這些方法旨在捕獲可在多種語言之間共享的且可用於多種任務的知識。
  • 谷歌提出XTREME:評估跨語言的大規模多語言多任務基準
    在自然語言處理中,為了克服數據稀疏性問題,有許多方法利用多語言的共享結構進行訓練。從歷史上看,這些方法大多集中於用多種語言執行特定任務。過去幾年,在深度學習進步的推動下,試圖學習通用多語言表示(如 mBERT、XLM、XLM-R)方法的數量有所增加,這些方法旨在獲取跨語言共享知識,這些知識對許多任務都是有用的。
  • 覆蓋40種語言:谷歌發布多語言、多任務NLP新基準XTREME
    不過現有的大多數 NLP 基準僅限於英文任務,無法評價 NLP 模型在其他語言上的能力。近日,來自 CMU、谷歌研究院和 DeepMind 的科學家們提出了覆蓋四十種語言的大規模多語言多任務基準 XTREME,希望一舉解決這個問題。
  • 用簡單、有效的方法和電路測量極低1/f電壓基準噪聲(< 1µVP-P,0...
    電壓基準的數據資料一般以兩種獨立形式給出噪聲指標:1) 低頻(0.1Hz至10Hz),µVP-P;2) 寬帶噪聲,給定帶寬(例如,10Hz至1kHz)內的µVRMS;或者電壓噪聲譜密度達到其平坦度指標時對應頻率下的電壓噪聲譜密度,表示為nV/√Hz。  通過使用低通濾波可將後者大大降低寬帶噪聲。
  • 代替Mask R-CNN,BlendMask欲做實例預測任務的新基準?
    本文的主要貢獻是提出了一個Blender模塊,該模塊從自上而下和自下而上的實例分割方法中汲取了靈感。由於該方法簡單且有效,作者希望本文的BlendMask可以作為各種實例預測任務的基準。它們由全卷積網絡,區域提升網絡(RPN)組成,用於對最可能的感興趣區域(RoI)進行密集的預測。Mask生成的質量和速度與Mask的頭結構緊密相關。另外,獨立的頭部網絡很難與諸如語義分割的相關任務共享特徵,這給網絡架構優化帶來麻煩。One-stage目標檢測的最新進展證明,諸如FCOS之類的方法可以在精度上勝過two-stage方法。
  • 【深度學習】SchNet:模擬量子相互作用的連續濾波卷積神經網絡
    Schütt等人建議使用連續濾波卷積層來建模局部關聯,從而避開將數據置於網格上;並且隨後這些層被應用於一種新型的深度學習架構SchNet以模擬分子中的量子相互作用。SchNet是一個總能量和原子間力的聯合模型,它遵循基本的量子化學原理,且在平衡分子和分子動力學軌跡的基準上達到了最先進的性能。最後,此項工作引入了更具挑戰性的化學和結構變化的基準,為進一步的工作提供了線索。
  • 【源頭活水】Sparse R-CNN:簡化版fast rcnn
    faster rcnn雖好,但是其複雜度太高了,超參非常多。1.3 relationrelation論文全名是Relation Networks for Object Detection,是微軟將nlp裡面的transformer思想引入到目標檢測中從而加強物體和物體之間的關係,理論和實驗表明確實有性能提升。
  • 常見的隨機分組方法你都會了嗎?
    取得隨機數字取得與需分配的病人數相等的隨機數字,可以從有關書籍中得到,也可以用電腦程式獲得,尤其是採用複雜的隨機分組方法時,計算機有其獨特的優點;2.隨機數字分組將這20個隨機數字分成兩組,方式有很多種,最簡單的方法是將奇數分入A組,偶數分入B組,當然,也可將尾數為0~4的隨機數字分到A組,尾數為5的數字分到B組;也可將尾數為0、1、4、5、8的隨機數字分到A組,尾數為2、3、6、7、9的數字分到B組。3.
  • 四、實驗動物的隨機分組方法
    四、實驗動物的隨機分組方法   動物實驗時,常常需要將選擇好的實驗動物,按研究需要分成若干個組,分組時為了避免人為的因素影響常應用隨機數字表進行完全隨機化的分組。   1.將實驗單位隨機分成兩組 設有小鼠14號,試用隨機數字表將其分成兩組。
  • 整流、濾波、穩壓電路原理,
    一、 整流與濾波電路 整流電路的任務是利用二極體的單向導電性,把正、負交變的50Hz電網電壓變成單方向脈動的直流電壓。 為確保二極體安全工作,要求:不同電子設備要求其電源電壓的平滑程度不同,為此可採用不同的濾波電路。常見的有電容濾波、電感濾波和複式濾波電路(兩個或兩個以上濾波元件組成)。
  • NTIRE2017超解析度挑戰賽冠軍方案,增強版ResNet奪得最優性能
    我們還提出一種新的多尺度深度超解析度系統(multi-scale deep super-resolution,簡稱MDSR)和訓練方法,可以將單個模型中不同的放大因子(upscaling factors)重建為高解析度圖像。我們提出的方法在基準數據集上比當前最先進的方法性能更好,並贏得了NTIRE2017超解析度挑戰賽。
  • NLP模型太強,基準測試要跟不上了!FaceBook等聯推「新考卷」
    Facebook 還引入了一種新的自我監督的預訓練方法——RoBERTa,它在數個語言理解任務上超越了所有現有的NLU(自然語言理解)系統。而在某些情況下,這些系統甚至優於人類基線,包括英德翻譯和五個 NLU 基準。在整個自然語言處理領域,NLU 系統的發展速度如此之快,以至於它在許多現有基準上都達到了極限。
  • 對指定人員(數值)進行隨機且平均分組的方法
    如果只要求隨機分組,不要求每組數量一樣,只需要使用IF+RAND語句可以直接分組,但不能保證每組數量 一樣,可以多次刷新達到數量一樣為止。如果要確保平均分組則要先建兩個輔助列。以上圖為例,先在D2:D13生成對應的隨機數,選中D2:13,然後在地址欄輸入RAND(),然後同時按CTRL+回車鍵批量生成隨機數,RAND隨機函數產生0-1之間的不重複小數。然後選中E2:E13,在地址欄輸入RANK(D2,$D$2:$D$13),然後同時按CTRL鍵+回車鍵批量對生成的隨機數進行排名。
  • 學界 | NTIRE2017奪冠論文:用於單一圖像超解析度的增強型深度殘差網絡
    我們也提出了一種新型的多尺度深度超解析度系統(multi-scale deep super-resolution system —— MDSR)和訓練方法,它可以在一個單一模型中,對升規模因子(upscaling factors)不同的超解析度圖像進行重構。這種方法在基準數據集中展現了超過當前一流方法的優越性能,並且通過贏得 NTIRE2017 超解析度挑戰賽證明了它的卓越性。
  • 一種基於FPGA實現SRRC濾波及多速率變換模塊的方法介紹
    一種基於FPGA實現SRRC濾波及多速率變換模塊的方法介紹 楊陽 閆崢 劉民偉 發表於 2020-01-22 16:22:00 0 引言 衛星通信系統中,在信號發射前需要對頻譜較寬的基帶信號進行成形濾波處理
  • NLP模型太強,基準測試要跟不上了!FaceBook、DeepMind聯推「新考卷」
    Facebook 還引入了一種新的自我監督的預訓練方法——RoBERTa,它在數個語言理解任務上超越了所有現有的NLU(自然語言理解)系統。而在某些情況下,這些系統甚至優於人類基線,包括英德翻譯和五個 NLU 基準。在整個自然語言處理領域,NLU 系統的發展速度如此之快,以至於它在許多現有基準上都達到了極限。
  • 使用SPSS進行隨機分組
    當我們閱讀文獻時,經常在分組方法中寫到「按照某指標進行隨機分組」,以保證組間起始水平相同。當實驗樣本量較小時,每組內個體數量相差較大,需要再重新隨機分組,達到預定的均衡要求。下面介紹一下使用SPSS對數據進行隨機分組(使用小鼠體重,25隻,隨機分5組),具體方法如下: (1) 打開數據,對體重按從小到大進行排序;
  • 重新標註128萬張ImageNet圖片:多標籤,全面提升模型性能
    一些研究者提出將 ImageNet 轉換為多標籤任務評估基準,但是可能是由於標註成本過高,他們並未修復訓練集。在近日發布的一篇論文中,來自韓國 NAVER AI LAB 的研究者認為,在應用了隨機剪裁的訓練設置下,單標籤標註和高效多標籤圖像之間的不匹配帶來了同等問題。在使用單標籤標註時,圖像隨機剪裁可能包含與真值完全不同的對象,為訓練帶來噪聲甚至不準確的監督信號。
  • Bengio 團隊力作:GNN 對比基準橫空出世,圖神經網絡的「ImageNet...
    對比基準測試為解決這些基本的問題給出了一個強大的範例。這種方法已經被證明在推動科學進步、確定基本思想、解決特定領域的問題等方面對於一些科學領域大有助益。近年來,大名鼎鼎的 2012 ImageNet 挑戰賽提供了一個很好的對比基準測試數據集,它掀起了深度學習的革命。來自世界各國的研究團隊爭相開發出用於在大規模數據集上進行圖像分類的最幽默型。
  • Bengio 團隊力作:GNN 對比基準橫空出世,圖神經網絡的「ImageNet」來了
    對比基準測試為解決這些基本的問題給出了一個強大的範例。這種方法已經被證明在推動科學進步、確定基本思想、解決特定領域的問題等方面對於一些科學領域大有助益。近年來,大名鼎鼎的 2012 ImageNet 挑戰賽提供了一個很好的對比基準測試數據集,它掀起了深度學習的革命。來自世界各國的研究團隊爭相開發出用於在大規模數據集上進行圖像分類的最幽默型。