日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

推荐系统中如何做多目标优化

發(fā)布時(shí)間:2024/1/23 windows 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐系统中如何做多目标优化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在做推薦系統(tǒng)的過(guò)程中,我們希望同時(shí)優(yōu)化多個(gè)業(yè)務(wù)目標(biāo)。比如電商場(chǎng)景中,希望能夠在優(yōu)化GMV的基礎(chǔ)上提高點(diǎn)擊率,從而提高用戶的粘性;在信息流場(chǎng)景中,希望提高用戶點(diǎn)擊率的基礎(chǔ)上提高用戶關(guān)注,點(diǎn)贊,評(píng)論等行為,營(yíng)造更好的社區(qū)氛圍從而提高留存。因此推薦系統(tǒng)做到后期,往往會(huì)向多目標(biāo)方向演化,承擔(dān)起更多的業(yè)務(wù)目標(biāo)。下面就介紹幾種多目標(biāo)相關(guān)的算法。其中有些是筆者實(shí)踐過(guò)取得了線上的收益,有些是最新的論文中提出的新的解決方案,文章沒(méi)有公式,易于理解,拿出來(lái)和大家一起討論。

A. 通過(guò)sample weight進(jìn)行多目標(biāo)優(yōu)化

該方法是多目標(biāo)的0.1版本,是rank主模型上的微調(diào),以實(shí)現(xiàn)多目標(biāo)。這里以信息流場(chǎng)景為例,我們的主目標(biāo)是feed的點(diǎn)擊率,用戶在feed上的任何點(diǎn)擊行為都被認(rèn)為是正反饋。與此同時(shí),在feed中的點(diǎn)贊功能是我們希望boost的功能。此時(shí)點(diǎn)擊和點(diǎn)贊都是正樣本(點(diǎn)贊本身也是一種點(diǎn)擊行為),但是點(diǎn)贊的樣本可以設(shè)置更高的sample weight。模型訓(xùn)練在計(jì)算梯度更新參數(shù)時(shí),梯度要乘以權(quán)重,對(duì)sample weight大的樣本給予更大的權(quán)重。直觀理解,對(duì)于sample weight大的樣本,如果預(yù)測(cè)錯(cuò)誤就會(huì)帶來(lái)更大的損失。通過(guò)這種方法能夠在優(yōu)化某個(gè)目標(biāo)(點(diǎn)擊率)的基礎(chǔ)上,優(yōu)化其他目標(biāo)(點(diǎn)贊率)。實(shí)際AB測(cè)試會(huì)發(fā)現(xiàn),這樣的方法,目標(biāo)A會(huì)受到一定的損失換取目標(biāo)B的增長(zhǎng)。通過(guò)線上AB測(cè)試和sample weight調(diào)整的聯(lián)動(dòng),可以保證在可接受的A目標(biāo)損失下,優(yōu)化目標(biāo)B,實(shí)現(xiàn)初級(jí)的多目標(biāo)優(yōu)化。

  • 優(yōu)點(diǎn):
    • 模型簡(jiǎn)單,僅在訓(xùn)練時(shí)通過(guò)梯度上乘sample weight實(shí)現(xiàn)對(duì)某些目標(biāo)的boost或者decay
    • 帶有sample weight的模型和線上的base模型完全相同,不需要架構(gòu)的額外支持,可以作為多目標(biāo)的第一個(gè)模型嘗試。
  • 缺點(diǎn):
    • 本質(zhì)上并不是對(duì)多目標(biāo)的建模,而是將不同的目標(biāo)折算成同一個(gè)目標(biāo)。相關(guān)的折算可能需要多次AB測(cè)試才能確定。此處有點(diǎn)難理解,設(shè)置sample weight,本質(zhì)上是用base樣本去度量其他樣本。比如認(rèn)為一個(gè)點(diǎn)贊算兩次點(diǎn)擊。比如在視頻中停留了5min是等價(jià)于2次對(duì)視頻的點(diǎn)擊行為等。
    • 從原理上講無(wú)法達(dá)到最優(yōu),多目標(biāo)問(wèn)題本質(zhì)上是一個(gè)帕累托尋找有效解的過(guò)程。有很多文章給出多目標(biāo)的數(shù)學(xué)建模,如[1]。我們后續(xù)從這些文章中給出更詳細(xì)的證明。

B. 多個(gè)模型 stacking

這個(gè)思路是也是很直接的。我們有多個(gè)優(yōu)化的目標(biāo),每個(gè)優(yōu)化的目標(biāo)都有一個(gè)獨(dú)立的模型來(lái)優(yōu)化。可以根據(jù)優(yōu)化目標(biāo)的不同,采用更匹配的模型。如視頻信息流場(chǎng)景中,我們用分類模型優(yōu)化點(diǎn)擊率,用回歸模型優(yōu)化停留時(shí)長(zhǎng)。不同的模型得到預(yù)測(cè)的score之后,通過(guò)一個(gè)函數(shù)將多個(gè)目標(biāo)融合在一起。

最常見(jiàn)的是weighted sum融合多個(gè)目標(biāo),給不同的目標(biāo)分配不同的權(quán)重。當(dāng)然,融合的函數(shù)可以有很多,比如連乘或者指數(shù)相關(guān)的函數(shù),這里和業(yè)務(wù)場(chǎng)景和目標(biāo)的含義強(qiáng)相關(guān),可以根據(jù)自己的實(shí)際場(chǎng)景探索。

  • 優(yōu)點(diǎn):
    • 模型簡(jiǎn)單
  • 缺點(diǎn):
    • 線上serving部分需要有額外的時(shí)間開(kāi)銷,通常我們采用并行的方式請(qǐng)求兩個(gè)模型進(jìn)行融合。
    • 多個(gè)模型之間相互獨(dú)立,不能互相利用各自訓(xùn)練的部分作為先驗(yàn),容易過(guò)擬合。

C. Shared bottom NN model多個(gè)模型stacking會(huì)帶來(lái)更多的訓(xùn)練參數(shù),導(dǎo)致模型的規(guī)模變大。這種情況在NN模型中更為常見(jiàn),從而帶來(lái)過(guò)擬合的風(fēng)險(xiǎn)。因此在基于深度學(xué)習(xí)的推薦模型中,引入了shared bottom layer來(lái)加強(qiáng)參數(shù)共享。多個(gè)目標(biāo)的模型可以聯(lián)合訓(xùn)練,減小模型的參數(shù)規(guī)模,防止模型過(guò)擬合。具體模型結(jié)果如下:

但是問(wèn)題也顯而易見(jiàn),由于不同的任務(wù)最終預(yù)測(cè)的目標(biāo)不同。而共享參數(shù)一定程度上限制了不同目標(biāo)的特異性,最終訓(xùn)練的效果就會(huì)打折扣。因此Shared bottom NN model能夠成功的前提,是預(yù)測(cè)的目標(biāo)之間的相關(guān)性比較高。這樣參數(shù)共享層不會(huì)帶來(lái)太大的損失。在[2]中有相關(guān)的實(shí)驗(yàn)證明,當(dāng)任務(wù)的相關(guān)性越高,模型的loss會(huì)下降,模型的準(zhǔn)確度才會(huì)更高。所以,在文獻(xiàn)[3]的中,也提出了一些任務(wù)之間相關(guān)性衡量的方法,以及如何在眾多任務(wù)中選擇合適的任務(wù)子集做多目標(biāo)學(xué)習(xí)。

在參數(shù)共享中,還有一類方法是soft parameter sharing的方法。

在這個(gè)NN的場(chǎng)景中,通過(guò)給模型參數(shù)之間距離加正則化,鼓勵(lì)參數(shù)趨于一致,從而減小過(guò)擬合的風(fēng)險(xiǎn),同時(shí)也為訓(xùn)練樣本少的模型提供一些先驗(yàn)信息。但是在實(shí)際的推薦系統(tǒng)多目標(biāo)優(yōu)化中,沒(méi)有看到類似的模型結(jié)構(gòu),可能是因?yàn)榫€上serving的時(shí)候計(jì)算量顯著高于shared bottom NN model,且效果也不一定好。

D. MMoE?MMoE是Google的研究人員提出的一種NN模型中多目標(biāo)優(yōu)化的模型結(jié)構(gòu)[2]。在Recsys 2019中,我們也發(fā)現(xiàn),Google已經(jīng)將MMoE用在Youtube中進(jìn)行視頻相關(guān)推薦[4]。MMoE為每一個(gè)模型目標(biāo)設(shè)置一個(gè)gate,所有的目標(biāo)共享多個(gè)expert,每個(gè)expert通常是數(shù)層規(guī)模比較小的全連接層。gate用來(lái)選擇每個(gè)expert的信號(hào)占比。每個(gè)expert都有其擅長(zhǎng)的預(yù)測(cè)方向,最后共同作用于上面的多個(gè)目標(biāo)。

此處我們可以將每一個(gè)gate認(rèn)為是weighted sum pooling操作。如果我們選擇將gate換成max操作。x為輸入,g(x)中分量最大值對(duì)應(yīng)的expert被唯一選中,向上傳遞信號(hào)。如果g(x)與input無(wú)關(guān),則模型退化成多個(gè)獨(dú)立的NN模型stacking,這樣就便于我們更方便理解模型的進(jìn)化關(guān)系。Recsys 2019 Google的文章,是在shared bottom layer上面增加MMoE層。這樣做是為了減少模型的復(fù)雜度,降低訓(xùn)練的參數(shù)數(shù)量。只不過(guò)此處的shared bottom layer層數(shù)很少,推薦系統(tǒng)中特征的輸入非常稀疏,input對(duì)應(yīng)的參數(shù)維度很大,因此先作用于淺層的shared bottom layer,有利于減小上層MMoE的模型復(fù)雜度,也減少線上serving的開(kāi)銷。

先介紹這些多目標(biāo)相關(guān)的優(yōu)化算法,這些算法中A,C是經(jīng)過(guò)業(yè)務(wù)驗(yàn)證可行的算法,大家可以優(yōu)先嘗試。歡迎大家留言討論。

[1] Lin X, Chen H, Pei C, et al. A pareto-efficient algorithm for multiple objective optimization in e-commerce recommendation[C]//Proceedings of the 13th ACM Conference on Recommender Systems. ACM, 2019: 20-28.

[2] Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-experts[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 1930-1939.

[3] Ruder S. An overview of multi-task learning in deep neural networks[J]. arXiv preprint arXiv:1706.05098, 2017.

[4] Zhao Z, Hong L, Wei L, et al. Recommending what video to watch next: A multitask ranking system[C]//Proceedings of the 13th ACM Conference on Recommender Systems. ACM, 2019: 43-51.

總結(jié)

以上是生活随笔為你收集整理的推荐系统中如何做多目标优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。