作者:Michael
推薦系統(tǒng)的整體結(jié)構(gòu)如圖所示,各個(gè)模塊的作用如下:
用戶畫(huà)像:包含用戶的人群屬性、歷史行為、興趣內(nèi)容和偏好傾向等多維度的分析,是個(gè)性化的基石特征工程:包含了了視頻的類別屬性,內(nèi)容分析,人群偏好和統(tǒng)計(jì)特征等全方位的描繪和度量,是視頻內(nèi)容和質(zhì)量分析的基礎(chǔ)召回算法:包含了多個(gè)通道的召回模型,比如協(xié)同過(guò)濾,主題模型,內(nèi)容召回和SNS等通道,能夠從視頻庫(kù)中選出多樣性的偏好內(nèi)容排序模型:對(duì)多個(gè)召回通道的內(nèi)容進(jìn)行同一個(gè)打分排序,選出最優(yōu)的少量結(jié)果。除了這些之外推薦系統(tǒng)還兼顧了推薦結(jié)果的多樣性,新鮮度,逼格和驚喜度等多個(gè)維度,更能夠滿足用戶多樣性的需求。推薦排序系統(tǒng)架構(gòu)
在召回階段,多個(gè)通道的召回的內(nèi)容是不具有可比性的,并且因?yàn)閿?shù)據(jù)量太大也難以進(jìn)行更加精確的偏好和質(zhì)量評(píng)估,因此需要在排序階段對(duì)召回結(jié)果進(jìn)行統(tǒng)一的準(zhǔn)確的打分排序。
用戶對(duì)視頻的滿意度是有很多維度因子來(lái)決定的,這些因子在用戶滿意度中的重要性也各不相同,甚至各個(gè)因子之間還有多層依賴關(guān)系,人為制定復(fù)雜的規(guī)則既難以達(dá)到好的效果,又不具有可維護(hù)性,這就需要借助機(jī)器學(xué)習(xí)的方法,使用機(jī)器學(xué)習(xí)模型來(lái)綜合多方面的因子進(jìn)行排序。
排序系統(tǒng)的架構(gòu)如圖所示,主要由用戶行為收集,特征填充,訓(xùn)練樣本篩選,模型訓(xùn)練,在線預(yù)測(cè)排序等多個(gè)模塊組成。
機(jī)器學(xué)習(xí)的主體流程是比較通用的,設(shè)計(jì)架構(gòu)并不需要復(fù)雜的理論,更多的是需要對(duì)細(xì)節(jié),數(shù)據(jù)流和架構(gòu)邏輯的仔細(xì)推敲。
這個(gè)架構(gòu)設(shè)計(jì)吸取了以前的經(jīng)驗(yàn)和教訓(xùn),在通用機(jī)器學(xué)習(xí)的架構(gòu)基礎(chǔ)上解決了兩個(gè)問(wèn)題:
訓(xùn)練預(yù)測(cè)的一致性
機(jī)器學(xué)習(xí)模型在訓(xùn)練和預(yù)測(cè)之間的差異會(huì)對(duì)模型的準(zhǔn)確性產(chǎn)生很大的影響,尤其是模型訓(xùn)練與在線服務(wù)時(shí)特征不一致,比如用戶對(duì)推薦結(jié)果的反饋會(huì)實(shí)時(shí)影響到用戶的偏好特征,在訓(xùn)練的時(shí)候用戶特征的狀態(tài)已經(jīng)發(fā)生了變化,模型如果依據(jù)這個(gè)時(shí)候的用戶特征就會(huì)產(chǎn)生非常大的誤差。
我們的解決辦法是,將在線服務(wù)時(shí)的特征保存下來(lái),然后填充到收集的用戶行為樣本中,這樣就保證了訓(xùn)練和預(yù)測(cè)特征的一致性。
持續(xù)迭代
互聯(lián)網(wǎng)產(chǎn)品持續(xù)迭代上線是常態(tài),在架構(gòu)設(shè)計(jì)的時(shí)候,數(shù)據(jù)準(zhǔn)備,模型訓(xùn)練和在線服務(wù)都必須能夠?qū)Τ掷m(xù)迭代有良好的支持。
我們的解決方案是,數(shù)據(jù)準(zhǔn)備和模型訓(xùn)練各階段解耦,并且策略配置化,這種架構(gòu)使模型測(cè)試變得非常簡(jiǎn)單,可以快速并行多個(gè)迭代測(cè)試。
推薦機(jī)器學(xué)習(xí)排序算法演進(jìn)
上古時(shí)期
我們第一次上線機(jī)器學(xué)習(xí)排序模型時(shí),選用了比較簡(jiǎn)單的Logistic Regression,將重點(diǎn)放到架構(gòu)設(shè)計(jì)上,盡量保證架構(gòu)的正確性。除此之外,LR模型的解釋性強(qiáng),方便debug,并且通過(guò)特征權(quán)重可以解釋推薦的內(nèi)容,找到模型的不足之處。
在模型訓(xùn)練之前,我們首先解決的是評(píng)測(cè)指標(biāo)和優(yōu)化目標(biāo)的問(wèn)題。
評(píng)測(cè)指標(biāo)(metrics)
線上效果的評(píng)測(cè)指標(biāo)需要與長(zhǎng)遠(yuǎn)目標(biāo)相匹配,比如使用用戶的投入程度和活躍度等。在我們的實(shí)驗(yàn)中,業(yè)界流行的CTR并不是一個(gè)好的評(píng)測(cè)指標(biāo),它會(huì)更偏向于較短的視頻,標(biāo)題黨和低俗內(nèi)容。
離線評(píng)測(cè)指標(biāo)是按照業(yè)務(wù)來(lái)定制的,以便與在線評(píng)測(cè)指標(biāo)匹配,這樣在離線階段就能夠淘汰掉無(wú)效策略,避免浪費(fèi)線上流量。
優(yōu)化目標(biāo)(objective)
機(jī)器學(xué)習(xí)會(huì)按照優(yōu)化目標(biāo)求解最優(yōu)解,如果優(yōu)化目標(biāo)有偏差,得到的模型也存在偏差,并且在迭代中模型會(huì)不斷地向這個(gè)偏差的方向?qū)W習(xí),偏差會(huì)更加嚴(yán)重。
我們的方法是給樣本添加權(quán)重,并且將樣本權(quán)重加到loss function中,使得優(yōu)化目標(biāo)與評(píng)測(cè)指標(biāo)盡可能的一致,達(dá)到控制模型的目的。
LR是個(gè)線性分類模型,要求輸入是線性獨(dú)立特征。我們使用的稠密的特征(維度在幾十到幾百之間)往往都是非線性的,并且具有依賴性,因此需要對(duì)特征進(jìn)行轉(zhuǎn)換。
特征轉(zhuǎn)換需要對(duì)特征的分布,特征與label的關(guān)系進(jìn)行分析,然后采用合適的轉(zhuǎn)換方法。我們用到的有以下幾種:Polynomial Transformation,Logarithmic or Exponential Transformation,Interaction Transformation和Cumulative Distribution Function等。
雖然LR模型簡(jiǎn)單,解釋性強(qiáng),不過(guò)在特征逐漸增多的情況下,劣勢(shì)也是顯而易見(jiàn)的。
特征都需要人工進(jìn)行轉(zhuǎn)換為線性特征,十分消耗人力,并且質(zhì)量不能保證特征兩兩作Interaction 的情況下,模型預(yù)測(cè)復(fù)雜度是。在100維稠密特征的情況下,就會(huì)有組合出10000維的特征,復(fù)雜度高,增加特征困難三個(gè)以上的特征進(jìn)行Interaction 幾乎是不可行的中古時(shí)期
為了解決LR存在的上述問(wèn)題,我們把模型升級(jí)為Facebook的GBDT+LR模型,模型結(jié)構(gòu)如圖所示。
GBDT是基于Boosting 思想的ensemble模型,由多顆決策樹(shù)組成,具有以下優(yōu)點(diǎn):
對(duì)輸入特征的分布沒(méi)有要求根據(jù)熵增益自動(dòng)進(jìn)行特征轉(zhuǎn)換、特征組合、特征選擇和離散化,得到高維的組合特征,省去了人工轉(zhuǎn)換的過(guò)程,并且支持了多個(gè)特征的Interaction預(yù)測(cè)復(fù)雜度與特征個(gè)數(shù)無(wú)關(guān)假設(shè)特征個(gè)數(shù)n=160決策數(shù)個(gè)數(shù)k=50,樹(shù)的深度d=6,兩代模型的預(yù)測(cè)復(fù)雜度對(duì)比如下,升級(jí)之后模型復(fù)雜度降低到原來(lái)的2.72%
GBDT與LR的stacking模型相對(duì)于只用GBDT會(huì)有略微的提升,更大的好處是防止GBDT過(guò)擬合。升級(jí)為GBDT+LR后,線上效果提升了約5%,并且因?yàn)槭∪チ藢?duì)新特征進(jìn)行人工轉(zhuǎn)換的步驟,增加特征的迭代測(cè)試也更容易了。
近代歷史
GBDT+LR排序模型中輸入特征維度為幾百維,都是稠密的通用特征。
這種特征的泛化能力良好,但是記憶能力比較差,所以需要增加高維的(百萬(wàn)維以上)內(nèi)容特征來(lái)增強(qiáng)推薦的記憶能力,包括視頻ID,標(biāo)簽,主題等特征。
GBDT是不支持高維稀疏特征的,如果將高維特征加到LR中,一方面需要人工組合高維特征,另一方面模型維度和計(jì)算復(fù)雜度會(huì)是O(N^2)級(jí)別的增長(zhǎng)。所以設(shè)計(jì)了GBDT+FM的模型如圖所示,采用Factorization Machines模型替換LR。
Factorization Machines(FM)模型如下所示,具有以下幾個(gè)優(yōu)點(diǎn):
模型公式
前兩項(xiàng)為一個(gè)線性模型,相當(dāng)于LR模型的作用
第三項(xiàng)為一個(gè)二次交叉項(xiàng),能夠自動(dòng)對(duì)特征進(jìn)行交叉組合
通過(guò)增加隱向量,模型訓(xùn)練和預(yù)測(cè)的計(jì)算復(fù)雜度降為了O(N)
支持稀疏特征
這幾個(gè)優(yōu)點(diǎn),使的GBDT+FM具有了良好的稀疏特征支持,F(xiàn)M使用GBDT的葉子結(jié)點(diǎn)和稀疏特征(內(nèi)容特征)作為輸入,模型結(jié)構(gòu)示意圖如下,GBDT+FM模型上線后相比GBDT+LR在各項(xiàng)指標(biāo)的效果提升在4%~6%之間。
典型的FM模型中使用user id作為用戶特征,這會(huì)導(dǎo)致模型維度迅速增大,并且只能覆蓋部分熱門用戶,泛化能力比較差。在此我們使用用戶的觀看歷史以及興趣標(biāo)簽代替user id,降低了特征維度,并且因?yàn)橛脩襞d趣是可以復(fù)用的,同時(shí)也提高了對(duì)應(yīng)特征的泛化能力。
我們主要嘗試使用了L-BFGS、SGD和FTRL(Follow-the-regularized-Leader)三種優(yōu)化算法進(jìn)行求解:
SGD和L-BFGS效果相差不大,L-BFGS的效果與參數(shù)初始化關(guān)系緊密FTRL,較SGD有以下優(yōu)勢(shì):帶有L1正則,學(xué)習(xí)的特征更加稀疏使用累計(jì)的梯度,加速收斂根據(jù)特征在樣本的出現(xiàn)頻率確定該特征學(xué)習(xí)率,保證每個(gè)特征有充分的學(xué)習(xí)FM模型中的特征出現(xiàn)的頻次相差很大,F(xiàn)TRL能夠保證每個(gè)特征都能得到充分的學(xué)習(xí),更適合稀疏特征。線上測(cè)試表明,在稀疏特征下FTRL比SGD有4.5%的效果提升。
當(dāng)代模型
GBDT+FM模型,對(duì)embedding等具有結(jié)構(gòu)信息的深度特征利用不充分,而深度學(xué)習(xí)(Deep Neural Network)能夠?qū)η度胧剑╡mbedding)特征和普通稠密特征進(jìn)行學(xué)習(xí),抽取出深層信息,提高模型的準(zhǔn)確性,并已經(jīng)成功應(yīng)用到眾多機(jī)器學(xué)習(xí)領(lǐng)域。因此我們將DNN引入到排序模型中,提高排序整體質(zhì)量。
DNN+GBDT+FM的ensemble模型架構(gòu)如圖所示,F(xiàn)M層作為模型的最后一層,即融合層,其輸入由三部分組成:DNN的最后一層隱藏層、GBDT的輸出葉子節(jié)點(diǎn)、高維稀疏特征。DNN+GBDT+FM的ensemble模型架構(gòu)介紹如下所示,該模型上線后相對(duì)于GBDT+FM有4%的效果提升。
DNN模型
(a)使用全連接網(wǎng)絡(luò),共三個(gè)隱藏層。
(b)隱藏節(jié)點(diǎn)數(shù)目分別為1024,512和256。
(c)預(yù)訓(xùn)練好的用戶和視頻的Embedding向量,包含基于用戶行為以及基于語(yǔ)義內(nèi)容的兩種Embedding。
(d)DNN能從具有良好數(shù)學(xué)分布的特征中抽取深層信息,比如embedding特征,歸一化后統(tǒng)計(jì)特征等等。
(e)雖然DNN并不要求特征必須歸一化,不過(guò)測(cè)試發(fā)現(xiàn)有些特征因?yàn)閛utlier的波動(dòng)范圍過(guò)大,會(huì)導(dǎo)致DNN效果下降。
GBDT模型
(a)單獨(dú)進(jìn)行訓(xùn)練,輸入包含歸一化和未歸一化的稠密特征。
(b)能處理未歸一化的連續(xù)和離散特征。
(c)能根據(jù)熵增益自動(dòng)對(duì)輸入特征進(jìn)行離散和組合。
FM融合層
(a)FM模型與DNN模型作為同一個(gè)網(wǎng)絡(luò)同時(shí)訓(xùn)練。
(b)將DNN特征,GBDT輸出和稀疏特征進(jìn)行融合并交叉。
使用分布式的TensorFlow進(jìn)行訓(xùn)練
使用基于TensorFlow Serving的微服務(wù)進(jìn)行在線預(yù)測(cè)
DNN+GBDT+FM的ensemble模型使用的是Adam優(yōu)化器。Adam結(jié)合了The Adaptive Gradient Algorithm(AdaGrad)和Root Mean Square Propagation(RMSProp)算法。具有更優(yōu)的收斂速率,每個(gè)變量有獨(dú)自的下降步長(zhǎng),整體下降步長(zhǎng)會(huì)根據(jù)當(dāng)前梯度進(jìn)行調(diào)節(jié),能夠適應(yīng)帶噪音的數(shù)據(jù)。實(shí)驗(yàn)測(cè)試了多種優(yōu)化器,Adam的效果是最優(yōu)的。
工業(yè)界DNN ranking現(xiàn)狀
Youtube于2016年推出DNN排序算法。上海交通大學(xué)和UCL于2016年推出Product-based Neural Network(PNN)網(wǎng)絡(luò)進(jìn)行用戶點(diǎn)擊預(yù)測(cè)。PNN相當(dāng)于在DNN層做了特征交叉,我們的做法是把特征交叉交給FM去做,DNN專注于深層信息的提取。Google于2016年推出Wide And Deep Model,這個(gè)也是我們當(dāng)前模型的基礎(chǔ),在此基礎(chǔ)上使用FM替換了Cross Feature LR,簡(jiǎn)化了計(jì)算復(fù)雜度,提高交叉的泛化能力。阿里今年使用attention機(jī)制推出了Deep Interest Network(DIN)進(jìn)行商品點(diǎn)擊率預(yù)估,優(yōu)化embedding向量的準(zhǔn)確性,值得借鑒。
總結(jié)
推薦系統(tǒng)的排序是一個(gè)經(jīng)典的機(jī)器學(xué)習(xí)場(chǎng)景,對(duì)于推薦結(jié)果影響也十分重大,除了對(duì)模型算法的精益求精之外,更需要對(duì)業(yè)務(wù)的特征,工程的架構(gòu),數(shù)據(jù)處理的細(xì)節(jié)和pipeline的流程進(jìn)行仔細(xì)推敲和深入的優(yōu)化。
Ranking引入DNN僅僅是個(gè)開(kāi)始,后續(xù)還需要在模型架構(gòu),Embedding特征,多樣性,冷啟動(dòng)和多目標(biāo)學(xué)習(xí)中做更多的嘗試,提供更準(zhǔn)確,更人性化的推薦,優(yōu)化用戶體驗(yàn)。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長(zhǎng)
- 后人工智能時(shí)代:2025年,在紛擾中重塑數(shù)據(jù)、洞察和行動(dòng)
- 2025年展望:人工智能推動(dòng)IT整合
- 量子計(jì)算:商業(yè)世界的新前沿與設(shè)計(jì)思維的融合
- IDC:三季度全球以太網(wǎng)交換機(jī)收入同比下降7.9%、環(huán)比增長(zhǎng)6.6%
- Fortinet李宏凱:2025年在中國(guó)大陸啟動(dòng)SASE PoP節(jié)點(diǎn)部署 助力企業(yè)出海
- Fortinet李宏凱:2024年Fortinet全球客戶已超80萬(wàn)
- 央國(guó)企采購(gòu)管理升級(jí),合合信息旗下啟信慧眼以科技破局難點(diǎn)
- Apache Struts重大漏洞被黑客利用,遠(yuǎn)程代碼執(zhí)行風(fēng)險(xiǎn)加劇
- Crunchbase:2024年AI網(wǎng)絡(luò)安全行業(yè)風(fēng)險(xiǎn)投資超過(guò)26億美元
- 調(diào)查報(bào)告:AI與云重塑IT格局,77%的IT領(lǐng)導(dǎo)者視網(wǎng)絡(luò)安全為首要挑戰(zhàn)
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。