楊程,車文剛
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
近年來,多任務學習模型由于其可以在一個模型內同時學習多個任務,并被證明可以通過學習任務之間的信息共享來提高學習效率[1],被廣泛應用于語音合成[2]、機器翻譯[3]、多線索人臉識別[4]等各大領域。在現實情況中,很多不能或者不方便拆分成多個子問題的任務往往使用多任務學習會有更好的效果。例如在推薦系統中,問題具有高維度性,多任務學習可以從原始數據中很好地學到點擊、評論、播放等指標[5]。
多任務學習最常見的兩種方法分為隱藏層的軟共享和硬共享[6]:硬共享將底層參數統一共享,共享參數越多,模型過擬合概率越小;目前較為常見的為軟共享,部分參數共享部分參數私有,頂層私有自己的參數。其中MMoE 借鑒了MoE層[7]的思想,采用多個專家網絡學習任務信息,并且通過門控制系統捕獲任務之間的聯系[8]。當任務之間是松散相關的情況時,容易出現負遷移[9],為了解決負遷移和蹺蹺板現象,漸進式分離提取模型(PLE)[10]引入了多層級專家和門控制網絡,采用漸進分離提取的方法使一部分專家網絡專注于各自任務,一部分專家網絡專注共享信息。
PLE 在解決負遷移和蹺蹺板現象上有著優秀的效果。為了解決MMoE 模型中所有專家是共享的,可能帶來噪聲,無法捕捉更復雜的任務關系問題,保留了屬于任務的專家同時還有基于共享的專家。為了使專家之間有交互,增加了額外的網絡層讓專家之間進行交互。而這一做法帶來的代價是復雜的網絡結構和時間消耗,導致模型可能難以或者不能應用在部分資源緊缺的設備上。
為了解決這一問題,提出半漸進式分層提取(Semi-Progressive Layered Extraction,SPLE)模型對模型網絡進行調整,在保留PLE 特性的情況下對模型的額外網絡層中剪枝任務專家模塊。同時,為了防止任務之間難度差異導致不同任務損失差異過大的情況,采用UWL(Uncertainty to Weigh Loss)思想進行聯合訓練損失優化。對PLE 中每個專家模塊中的超參數進行調優。最終,通過對比MMoE、PLE、SPLE 在同一數據集上的準確率、AUC、MTL 增益、每一個專家層利用率和迭代周期,證實SPLE 在模型輕量化的基礎上保留了PLE 的特性,同時也具有與PLE 差相近的性能及更快的迭代。
相比于MMoE[8]拓展了MoE[6],利用不同的Gate 控制網絡獲得多任務學習中的不同融合權重,以及MRAN[11]采用多頭注意力機制來學習不同的特征集上的表示子空間,PLE[10]從聯合表示學習和信息路由的角度,提出了漸進分層式提取的方法,明確地分離了任務的特定參數和共享參數,解決了負遷移問題和蹺蹺板問題。
針對輕量化,有的研究使用AutoML 的方法來探尋更好的輕量化模型:SNR[12](Sub-Network Routing)采用二進制編碼變量連接兩個子網絡,并且采用NSA[13]搜索最佳網絡結構。路由網絡[14]可以通過路由器做出一個路由決定,將一個給定的輸入選擇一個功能模塊來應用,并將輸出結果遞歸給路由器,直到達到一定深度。路由網絡采用協作式多智能體強化學習(MARL)[15]方法來聯合訓練路由器和功能模塊。然而這些模型的設計都基于一些特定的且不常見的簡化假設,因此應用范圍不是很廣泛。文獻[14]提出的路由網絡在每個深度中,針對每個任務僅僅選定一個路由器,降低了模型的表達性。這些模型雖然最終有著較為優秀的結構,但是從初始結構不斷到獲得最優結構的過程需要巨大的開銷進行搜索,并且他們的融合權重不能針對不同的輸入進行更改。
為了保留PLE 中利用先驗知識來學習復雜任務的相關性,避免共享信息對任務信息產生噪聲干擾以及能夠從底層專家層獲取更深層次的任務信息的特性,如圖1 所示,半漸進式分層提取模型保留了共享專家層和任務獨有專家層,進一步學習深層特征的高層專家層以及基于單層前饋網絡的門控制網絡。與之不同的是,刪除掉了高層的任務獨有專家層,深層次的任務信息學習由Tower 層結合共享的專家層學習到的信息進行學習,底層的獨有專家層專注于學習各自的任務信息。同時也保證了能有深層的共享信息被高層共享專家捕捉到。

圖1 半漸進式分離提取模型與漸進式分離提取模型架構對比
由于剪枝了兩個Gate 控制網絡和兩個專家模塊,相比于PLE 模型,模型參數量減少了26.3%。如圖2 所示,該架構圖是一個雙任務的模型架構,底層由三個專家模塊組成,頂部由兩個Tower 層構成。每一個專家模塊都由多個子網絡構成,每個專家模塊中的子網絡數量為一個超參數。具體任務的特征主要由具體任務的專家模塊負責提取特征,而共享的特征由共享專家提取。頂層的每一個Tower 層獲取共享專家學習到的特征以及自己特有的任務專家模塊學習到的特征,即共享專家層的參數受所有任務影響,而任務獨有的專家模塊的參數僅受該特定任務影響。

圖2 半漸進式分層模型詳細架構
在該模型中,門控制網絡使得共享專家模塊和任務獨有的專家模塊的輸出進行有選擇性的融合。如圖2中Gate 網絡層所示,門控制網絡是一個使用Softmax 作為激活函數的單向前饋網絡,所有的輸入會經過選擇器選擇出需要的輸入向量進行加權求和。
具體網絡結構可以形式化表示如下:
式中:gk(x)為任務k的控制層網絡的輸出,x表示該門控制網絡接收到的輸入;利用wk(x)計算出針對任務k的每個已選擇的輸入權重向量后與選擇出的向量矩陣Sk(x)相乘,wk(x)作為權重運算函數。通過對輸入進行線性加權及Softmax 計算權重向量,wk(x)可表示如下:
式中表示任務k獨有的專家模塊中第一個專家網絡的輸出向量。
在SPLE中,保留了一個高層次的共享專家模塊來提取更高級別的共享信息,從而獲取更深層次的語義特征。高層的共享專家模塊采用底層專家模塊加權融合后的信息作為輸入,進行提取、聚合及路由,最終結合任務獨有的專家模塊提取的信息進行融合,交由任務獨有的Tower 模塊進行預測等工作。
在通常多任務模型中,不同任務的數據分布和重要性往往都不相同,一般情況下,將不同任務的損失進行加權求和[16]可表示為:
式中:Li為第i個任務中定義的損失函數;wi為每個任務的重要性權重。在這種情況下,對于任務的權重舉證W在梯度下降優化時的更新如下:
根據公式(5),可知W的優化受到所有任務損失的影響,除了單個任務的梯度能影響,也可以通過修改任務重要性的權重來影響W的更新速率。
在PLE 中采用的策略為采用一個動態權重,首先設置一個任務k的初始權重wk,0,然后根據更新速率γk調整任務k的損失權重,具體如下:
式中:t表示迭代周期;wk,0和γk為超參數。
由于存在數據噪聲、測量誤差、非最優超參數設置等諸多原因,深度學習模型具有不確定性。UWL[17]思想提出使用概率模型去解決網絡中的不確定性,使多個任務的重要性權重可以自動得到最優解。在貝葉斯模型中,存在偶然不確定性和認知不確定性,可以根據這一理論來建模[18]。偶然不確定性指的是觀測中固有的噪聲造成的不確定性,這一不確定性存在于數據中,只能使用提高數據精度來消除。偶然不確定性可以分為同方差不確定性和異方差不確定性。異方差不確定性取決于數據輸入,并且會被作為最終的預測輸出。同方差不確定性不取決于數據輸入,也不是模型輸出,而是一個對所有數據保持不變,卻在不同任務之間變化的量,為任務固有的不確定性。因此,UWL 思想將同方差不確定性轉化為不同任務損失之間的權重,模型就可以具有動態調整損失的能力。
將同方差不確定性定義為σ,使其作為模型參數之一,由于已經有了預測結果,確定概率分布之后,可以采用極大似然估計的思想求出σ。定義f W(x)為以x作為輸入,權重為W的專家層的一個輸出。由于SPLE在公共數據集完成的任務均為分類任務(任務1 為預測收入是否超過5萬,任務2 為預測是否一直未婚),則在f W(x)預測發生時,實際結果y發生的概率如下:
引入σ作為一個縮放量到公式(7)中,使得其概率符合玻爾茲曼分布,如下所示:
在公式(8)中,公式(7)中的輸入被σ2進行了縮放,根據玻爾茲曼分布,這一縮放參數的大小決定了分布的離散性的變化,并且與其相關性有關,因此適合被用來描述分類任務中的同方差不確定性。將c定義為表示第c個分類,那么公式(8)的最大似然估計如下:
在SPLE 模型中,兩個任務均為分類任務,且聯合概率為多個概率相乘,那么SPLE 在這兩個任務上的聯合損失函數的概率分布如下:
則最終的聯合損失函數L(W,σ1,σ2)就為公式(10)的極大似然估計:
公式(12)即為最終的聯合損失函數的計算公式。在計算過程中,σ根據模型預測和真實結果進行自動求解,同時也能自動調整聯合損失函數中,每一個任務的損失對聯合損失影響的占比。公式(12)中的σ1σ2可以被視為學習不同輸出的損失的相關性權重,而σ1和σ2分別影響著L1(W)和L2(W)在公式(12)中的影響大小。
在神經網絡學習中,貝葉斯優化算法可以通過找到可能存在最優超參數值點從而有著更少的工作量和更好的效果[19]。在SPLE 這部分的參數調優中,將主要針對每個模塊中的網絡深度以及3 個任務時高層共享模塊的數量進行分析對比。
首先定義搜索空間,針對每個模塊中的網絡深度,選擇從1~50 的整數類型中進行搜索,針對高層共享模塊的數量,定義1~10 的整數類型進行搜索。將高精確度作為模型優劣的評價指標,由于在算法調優時的判定得分是不斷尋找最低值,因此對精確度進行取負數即可不斷尋找精確度最高的模型參數組合。選擇gp_minimize 作為代理函數,進行100 次迭代,最終算得最優參數組合為:共享專家層網絡數量為1,每個模塊中網絡深度為24。
圖3 為針對專家模塊數量的參數expert_num 和每個網絡層的深度參數depth 的取樣點分布圖,左下角為在對應取值點的得分,顏色越淺表示性能越好,其中紅星為最優點。

圖3 專家模塊數量及網絡層深度取樣分布
可以看到在專家層數量中,最優點集中出現于1 和10 附近,而中間的性能低于其他部位。通過針對網絡模型架構分析和對模型的數據集進行分析,一個共享專家層模塊可以解析出全部深層次的信息。在專家數量不夠多時,隨著專家層網絡的數量增加,一個專家層只會學到片面的深層次信息,這些信息的總和可能會出現冗余部分或者所有專家模塊學習到的信息總和并不是全部,使得最終的預測準確率下降。而當專家層網絡足夠多時,每個專家層可以在學習時負責不同部分的信息,從而使準確率重新上升。通過分布圖分析,采用單個共享專家模塊不論從模型輕量化的角度還是最終準確率的角度都是最優選擇。
為了驗證有效性及公平性,將在MMoE、PLE 同時采用的驗證數據集UCI 人口普查-收入數據集[20]上進行評估。包括模型剪枝后的AUC、迭代周期平均時間、引入UWL 思想進行聯合損失運算后的AUC 以及在PLE 中提出的MLT 增益。
該數據集是由1994 年人口普查數據中提取出來的具有40個特征的299 285條數據。為了確保公平,將使用與PLE 和MMoE 模型中相同的任務進行比較。
任務一:預測收入是否超過五萬美元;
任務二:預測這個人是否一直未婚。
通過對10 000 個樣本隨機抽樣計算皮爾遜相關系數的絕對值為0.176 8。在該數據集中有199 523 個數據為訓練集,99 762 個數據為測試集,在本實驗中隨機抽取49 881 個數據作為測試集,剩下的49 881 個數據作為驗證集。
在MMoE 模型、PLE 模型、SPLE 模型和單任務模型中,均采用3 層MLP 網絡,使用ReLU 作為激活函數,隱藏層大小為[256,128,64]。為了公平比較,將多級PLE設置為兩級,以此來保持想近似的網絡深度。
模型對比的指標除了任務一和任務二的AUC,同時也有在文獻[10]中提出的MTL 增益。MTL 增益為多任務學習相對于單任務學習在單一任務上的比較,即為該模型在某一特定任務上針對單任務模型的性能。其計算公式如下:
由上可知,MTL 增益越大,多任務模型性能越好。若為負數,則說明多任務模型在該任務上不如單任務模型。單任務、MMoE、PLE 及SPLE 在公共數據集上的評估結果見表1。

表1 單任務、MMoE、PLE 及SPLE在公共數據集上的評估結果
如表1 所示,SPLE 在任務一中,以0.3%的AUC 的差距,在一個迭代周期內縮減時間17.05%。在任務二中,SPLE 在AUC 上低于PLE 模型0.02%,在時間上卻減少18.02%,并且由于剪枝,模型參數也大規模減少。然而在實驗中發現,雖然每個迭代周期的時間縮短了,但是達到最佳效果所需要的迭代周期數量增多了。這也是剪枝帶來的缺點,由于將上層專家層需要提取的特定任務的深層信息交由Tower 層完成,需要學習的周期更長。因此,利用UWL 思想引入聯合損失判定,更好地學習任務之間關系,優化學習速度。
對引入前后SPLE 模型每一個迭代周期的AUC 值變化進行對比,訓練總共分為15 個迭代周期,每個迭代周期內進行100 次迭代。PLE、平均加權損失SPLE、動態聯合損失SPLE 在公共數據集上的評估結果如圖4所示。

圖4 三種模型在公共數據集上的評估結果
圖4中,平均加權損失的SPLE 模型即為引入之前的SPLE,其在引入UWL 方法加權的動態聯合損失優化后,由原來慢于PLE 的收斂速度,以及滯后大約4 個迭代周期達到最優AUC,轉變成了損失函數收斂速度快于PLE 模型,相對于PLE 更快達到最優AUC,且如表2所示,最佳AUC及MTL增益也得到了提高,在任務一中,最佳AUC 甚至略微優于PLE 模型。

表2 三種模型在公共數據集上的評估結果
SPLE 對比PLE 對于共享層的專家網絡模塊進行了剪枝,同時針對聯合損失優化,對不同任務的重要性進行調整。為明確對比模型的輕量化,在表3 中展示了PLE、SPLE 的參數量及FLOPs(Floating Point Operations),即為前向傳播時所需計算力。如表3 所示,SPLE 在參數量上相比PLE 減少了約26.3%。由于在對任務獨有的專家模塊進行剪枝時,底層和頂層的連接相較于PLE,在底層時并非全連接,且省去中間層的計算,因此SPLE 所需計算量均小于PLE 模型。SPLE 在所需計算力上比PLE 減少了約13.9%。

表3 PLE 和SPLE 在模型規模上的評估結果
本文提出了一種輕量化的半漸進式分層多任務模型,該模型在剪枝時既保留了漸進式分層模型分離共享任務和特定任務參數、分層提取任務信息的特點,也減少了參數量。針對剪枝后性能及準確率的降低,本文使用UWL 思想引入動態聯合損失優化,并且針對超參數調優使得SPLE 模型有著與PLE 模型相當的性能。文獻[21]提出,LSTM 和GRU 等帶有門控制的網絡可能有著比普通RNN 更好的性能,因此,針對專家網絡的選擇有可能提升SPLE 的性能效果,并且門控制網絡層針對專家模塊的學習類似于注意力機制,后續可以根據注意力機制理論進一步改進和優化門控制網絡。
注:本文通訊作者為車文剛。