多任務(wù)學(xué)習(xí)在轉(zhuǎn)轉(zhuǎn)主搜精排的應(yīng)用
1 引言
在搜推系統(tǒng)中,隨著場景建模目標越來越豐富,我們越來越多的希望模型可以兼顧多個任務(wù)的建模,多任務(wù)學(xué)習(xí)(multi-task learning)逐漸走入了人們的視野,成為了當(dāng)前精排模型的主流方向之一。在轉(zhuǎn)轉(zhuǎn)的搜索場景中,用戶的每個行為背后都有其特定的考慮因素,這也導(dǎo)致了不同行為之間流量效率的差異。下圖展示了用戶在詳情頁所看到的信息,其中包括收藏、加購、咨詢客服等行為按鈕,這些行為為精排模型預(yù)測用戶的最終決策——是否購買——提供了重要的參考?;诖?,我們在建模時需要全面考慮用戶的決策鏈路,以實現(xiàn)最優(yōu)的模型效果。
圖片
2 多任務(wù)學(xué)習(xí)概述
2.1 多任務(wù)學(xué)習(xí)的必要性
如果為每個行為單獨設(shè)計模型進行單目標建模,并將其輸出最終結(jié)合使用,除了增加工程上的復(fù)雜性外,模型可能會面臨信息孤立的問題,無法充分利用不同目標之間的相關(guān)性,導(dǎo)致整體性能下降。獨立訓(xùn)練每個模型會顯著增加訓(xùn)練時間和計算資源的消耗,從而降低系統(tǒng)迭代效率。多個模型的存在還可能增加過擬合的風(fēng)險,在某些行為樣本量較少時尤為明顯。管理和維護多個模型也會使復(fù)雜性加大,為模型的部署帶來挑戰(zhàn)。
此外,由于不同模型之間的優(yōu)化目標可能存在沖突,例如點擊率與轉(zhuǎn)化率之間的關(guān)系往往難以進行協(xié)調(diào)優(yōu)化。在轉(zhuǎn)轉(zhuǎn)的場景里,前者可能通過給低價商品更多曝光來吸引更多點擊,而后者則強調(diào)精準性和質(zhì)量,過于關(guān)注點擊率可能導(dǎo)致轉(zhuǎn)化率的下降。這種相互矛盾的優(yōu)化目標使得在模型訓(xùn)練和調(diào)優(yōu)過程中,難以找到各目標之間的最佳平衡點,最終可能導(dǎo)致整體效果不盡如人意。同時,當(dāng)不同模型的優(yōu)化方向相互沖突時,可能會造成資源浪費,影響決策的效率,進而影響業(yè)務(wù)的長期發(fā)展。因此,尋找一個能夠同時兼顧多種目標的建模方法顯得尤為重要。
當(dāng)然,借助多任務(wù)學(xué)習(xí)的方式雖然不能完全避免多個優(yōu)化目標之間的沖突,但它可以在整體上實現(xiàn)對多個目標的有效權(quán)衡,從而獲得更優(yōu)的結(jié)果。
2.2 多任務(wù)學(xué)習(xí)的效用
深度學(xué)習(xí)涉及的應(yīng)用領(lǐng)域有多個multi相關(guān)的概念,除了多任務(wù)multi-task,還包括多標簽multi-label,多類別multi-class等,他們之間的關(guān)系如圖所示:
多個multi之間的關(guān)系
- multi-task: 這里的task可以是分類或者回歸任務(wù)。不同的任務(wù)有著不同的樣本或者特征,同時也有一部分特征與樣本共享。
- multi-label:多標簽multi-label表示對樣本進行多個維度的分類,是multi-task的一種,區(qū)別在于multi-label是用了相同的樣本和特征進行建模。
- multi-class:多分類multi-class表示分類結(jié)果有多種選項。
多任務(wù)學(xué)習(xí)通過知識共享、減少過擬合、提升泛化能力、優(yōu)化效率、任務(wù)間相互促進以及動態(tài)調(diào)整模型關(guān)注點等機制,有效提升模型在復(fù)雜問題上的表現(xiàn)。通過共享信息和特征,模型更好地捕捉數(shù)據(jù)模式;通過多個任務(wù)的共同訓(xùn)練,降低單任務(wù)的過擬合風(fēng)險并提高泛化能力;同時訓(xùn)練多個任務(wù)提高了效率,節(jié)省計算資源;某些輔助任務(wù)還可以為主任務(wù)提供監(jiān)督信息,進一步優(yōu)化效果。
2.3 多任務(wù)學(xué)習(xí)的實踐
多任務(wù)學(xué)習(xí)相比于單獨建模的核心優(yōu)勢在于不同任務(wù)之間的網(wǎng)絡(luò)可以進行共享,實現(xiàn)多個任務(wù)共同提升的效果,因此如何設(shè)計有效的網(wǎng)絡(luò)結(jié)構(gòu)成為多任務(wù)學(xué)習(xí)的一個重要研究方向。在引入多個label時,自然會產(chǎn)生多個loss,如何制定優(yōu)化策略在聯(lián)合訓(xùn)練中讓整體的loss達到最佳也是模型能否取得更好收益的關(guān)鍵。
多任務(wù)學(xué)習(xí)的研究方向
網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計:這一方向主要關(guān)注哪些參數(shù)可以共享、在何處共享以及如何共享。我們可以將其分為兩大類:第一類是在設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)時考慮任務(wù)之間的顯式關(guān)系,例如淘寶中點擊與購買之間的關(guān)系,以阿里提出的ESMM模型為代表;第二類則是任務(wù)間沒有顯式關(guān)系的情況,例如短視頻中的收藏與分享,在這種情況下,模型設(shè)計時不考慮標簽之間的量化關(guān)系,以谷歌提出的MMOE模型為代表。
多l(xiāng)oss優(yōu)化策略:這一策略主要解決損失值差異、學(xué)習(xí)速度不均以及更新方向不一致等問題。兩個經(jīng)典的工作包括UWL(Uncertainty Weight)和GradNorm。UWL通過自動學(xué)習(xí)任務(wù)的不確定性,為不確定性大的任務(wù)分配較小的權(quán)重,而為不確定性小的任務(wù)分配較大的權(quán)重;GradNorm則結(jié)合任務(wù)梯度的二范數(shù)與損失下降梯度,引入加權(quán)損失函數(shù)Gradient Loss,并通過梯度下降更新該權(quán)重。
3 轉(zhuǎn)轉(zhuǎn)場景下的多任務(wù)學(xué)習(xí)
3.1 模型選型
早期轉(zhuǎn)轉(zhuǎn)搜索場景的精排CVR模型同時建模的兩個目標分別為“下單”和“支付”。考慮到兩個task之間存在遞進關(guān)系,在模型選型時使用了與ESMM相同的結(jié)構(gòu)。ESMM論文所要解決的兩個關(guān)鍵問題:樣本選擇偏差(Sample Selection Bias)和樣本稀疏(Data Sparsity):
- 樣本選擇偏差(Sample Selection Bias) :轉(zhuǎn)化是在點擊之后才“有可能”發(fā)生的動作,傳統(tǒng)CVR模型通常以點擊數(shù)據(jù)為訓(xùn)練集,其中點擊未轉(zhuǎn)化為負例,點擊并轉(zhuǎn)化為正例。但是訓(xùn)練好的模型實際使用時,則是對整個空間的樣本進行預(yù)估,而非只對點擊樣本進行預(yù)估。即是說,訓(xùn)練數(shù)據(jù)與實際要預(yù)測的數(shù)據(jù)來自不同分布,這個偏差對模型的泛化能力構(gòu)成了很大挑戰(zhàn)。
- 樣本稀疏(Data Sparsity) :作為CVR訓(xùn)練數(shù)據(jù)的點擊樣本遠小于CTR預(yù)估訓(xùn)練使用的曝光樣本。
這篇論文通過同時學(xué)習(xí)CTR和CTCVR兩個目標,間接學(xué)習(xí)并優(yōu)化CVR目標,從而有效規(guī)避了上述兩個問題,使CVR模型的性能得到了提升。
在應(yīng)用于轉(zhuǎn)轉(zhuǎn)搜索場景時,CVR模型建模路徑為“點擊->下單->支付”。如果直接建?!包c擊->支付”,則會丟失“下單”行為所包含的重要信息;而若將“點擊->下單”和“下單->支付”兩個階段分開建模,除了增加工程復(fù)雜性外,“下單->支付”模型還將面臨更加嚴重的樣本稀疏問題。我們的模型結(jié)構(gòu)如下圖所示:
CVR模型結(jié)構(gòu)圖
具體實現(xiàn)上會構(gòu)建兩個塔用于預(yù)測“點擊到下單”和“下單到支付”兩個任務(wù)。模型分別輸入兩組特征,其中包含部分共享特征。兩個塔共享底層特征的embedding,然后分別通過上層網(wǎng)絡(luò)進行特定任務(wù)的預(yù)測。在“點擊到下單”和“下單到支付”兩條分支中,各自的特征經(jīng)過多層網(wǎng)絡(luò)后在 concatenate 層融合,再通過更深層網(wǎng)絡(luò)得到預(yù)測結(jié)果,并分別計算損失 loss1 和 loss2。這種結(jié)構(gòu)通過共享特征提高了模型的整體效果,同時兼顧了兩個任務(wù)的優(yōu)化。在線上預(yù)測時,會使用兩個塔輸出的乘積作為CVR模型的最終打分。
在確定基本框架后,我們在此基礎(chǔ)上進行了一些改進嘗試,例如將每個塔從W&D替換為DeepFM、DCN等模型,為兩個塔的loss設(shè)置不同權(quán)重,以及對比同時訓(xùn)練和分別訓(xùn)練兩個塔的效果等。然而,這些調(diào)整并未帶來顯著的性能提升。對模型效果影響最大的,仍然是樣本和特征的優(yōu)化。值得注意的是,模型只有結(jié)合具體業(yè)務(wù)場景才能最大限度地發(fā)揮作用。接下來,我們計劃將“收藏”行為納入建模目標。做出這一決定的主要原因在于統(tǒng)計結(jié)果顯示,用戶對收藏夾中商品有著更高的成交概率,同時使用收藏功能的用戶比例也相當(dāng)可觀。盡管我們此前在樣本和特征中對收藏行為做了一些描述,但這顯然還不夠。
加入收藏行為之后,用戶的決策路徑不再是單一的,CVR模型需要建模的路徑如下所示:
用戶決策路徑
在對比了其他的多目標模型之后,我們還是決定參考阿里對ESMM的改進,將ESM^2應(yīng)用到我們的場景中。模型從原先的兩個塔擴展為了四個塔來為“收藏”、“下單”和“支付”三個目標進行建模,模型結(jié)構(gòu)如下圖所示:
CVR模型結(jié)構(gòu)圖
做出這樣選的的主要考量在于,這三個task之間存在的路徑依賴。需要注意的是,輸出為 、 和 的塔均是通過隱式學(xué)習(xí)的方式實現(xiàn)的,并沒有單獨的label來指導(dǎo)這幾個塔的參數(shù)更新。其輸出所代表的含義僅限于概率層面,反映的是在模型中通過隱式關(guān)聯(lián)所學(xué)習(xí)到的潛在信息,而非直接通過明確的標簽進行的監(jiān)督學(xué)習(xí)。模型對“點擊->下單”環(huán)節(jié)的預(yù)測概率(下單)可以使用如下的公式進行表示:
3.2 未來規(guī)劃
未來計劃為模型引入attention機制為用戶行為序列進行建模。樣本層面考慮加入用戶APP其他場景的行為數(shù)據(jù)。此外,對于泛意圖搜索將探索多個類目的結(jié)果更好的融合方式。
參考文獻
[1] 多目標優(yōu)化概論及基礎(chǔ)算法ESMM與MMOE對比: https://www.cnblogs.com/whu-zeng/p/14111888.html
[2] FunRec-多任務(wù)學(xué)習(xí)概述: https://datawhalechina.github.io/fun-rec/
[3] 多目標|樣本權(quán)重:GradNorm和DWA利用學(xué)習(xí)速度調(diào)權(quán): https://zhuanlan.zhihu.com/p/542296680
[4] Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate: https://arxiv.org/abs/1804.07931
[5] Entire Space Multi-Task Modeling via Post-Click Behavior Decomposition for Conversion Rate Prediction: https://arxiv.org/abs/1910.07099
[6] A Pareto-Efficient Algorithm for Multiple Objective Optimization in E-Commerce Recommendation: http://ofey.me/papers/Pareto.pdf
[7] Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts: https://dl.acm.org/doi/pdf/10.1145/3219819.3220007