摘要:美圖的推薦流程分為如下三個階段召回階段推薦的本質(zhì)是給不同的用戶提供不同的內(nèi)容排序。美圖的用戶數(shù)量逐步增長,而每個用戶的興趣點(diǎn)隨著場景時間也在同步發(fā)生變化。
互聯(lián)網(wǎng)技術(shù)將我們帶入了信息爆炸的時代,面對海量的信息,一方面用戶難以迅速發(fā)現(xiàn)自己感興趣的信息,另一方面長尾信息得不到曝光。為了解決這些問題,個性化推薦系統(tǒng)應(yīng)運(yùn)而生。美圖擁有海量用戶的同時積累了海量圖片與視頻,通過推薦系統(tǒng)有效建立了用戶與內(nèi)容的連接,大幅度提升產(chǎn)品的用戶體驗(yàn)。總覽
美圖個性化推薦主要應(yīng)用于美拍APP,應(yīng)用場景如下:
場景一:美拍直播,實(shí)時的在線個性化排序業(yè)務(wù);
場景二:美拍熱門(即美拍首頁),典型的Feed流產(chǎn)品,用戶可在熱門Feed流中不斷翻頁滾動,探索和消費(fèi)自己可能感興趣的內(nèi)容;
場景三:播放詳情頁下的“猜你喜歡”模塊,用于推薦相似視頻。
個性化推薦的目標(biāo)是連接用戶與內(nèi)容、提升用戶體驗(yàn)和優(yōu)化內(nèi)容生態(tài)。為了實(shí)現(xiàn)以上目標(biāo),算法需要理解內(nèi)容,了解平臺上可用于推薦的內(nèi)容;同時也要理解用戶,了解用戶的興趣愛好,從而進(jìn)行精準(zhǔn)推薦。
理解內(nèi)容理解內(nèi)容,即內(nèi)容的特征提取。美拍APP的內(nèi)容是短視頻,其特征可分為四部分:
基礎(chǔ)特征,即視頻的時長、分辨率、標(biāo)簽等基礎(chǔ)屬性;
視覺特征,即通過視覺算法,對人物的性別、顏值、年齡、身高,對視頻的場景、對象等進(jìn)行識別;
文本特征,美拍短視頻有封面文字、標(biāo)題、評論等文本信息,可以通過這些文本信息進(jìn)行文本挖掘,提取一些關(guān)鍵字、topic、情感極性等文本特征;
交互特征,是用戶與內(nèi)容進(jìn)行行為交互的產(chǎn)物,用戶可以對某些內(nèi)容進(jìn)行點(diǎn)贊、評論、分享、播放等行為,通過對這些交互數(shù)據(jù)進(jìn)行統(tǒng)計分析得到交互特征。
理解用戶對內(nèi)容有一定理解之后,則要進(jìn)一步理解用戶,從而連接用戶與內(nèi)容。理解用戶就是我們常說的用戶畫像建設(shè),建設(shè)用戶畫像需要了解用戶的自然屬性,如用戶的性別、年齡、所在城市;社會屬性,如職業(yè)、婚姻狀況等;以及最重要的興趣屬性,除了了解用戶在平臺上的興趣和偏好,也要盡可能去探索用戶在平臺之外的興趣愛好(打游戲、逛淘寶等)。
推薦流程基于對內(nèi)容和用戶的理解可進(jìn)行精準(zhǔn)推薦。美圖的推薦流程分為如下三個階段:
召回階段
推薦的本質(zhì)是給不同的用戶提供不同的內(nèi)容排序。美拍APP上有數(shù)十億個短視頻,面對如此龐大的量級我們無法對用戶計算所有內(nèi)容的排序。通過統(tǒng)計召回、簡單模型、圖計算等篩選方式將內(nèi)容的數(shù)量級降到幾千至幾百之后可以得到初步的推薦結(jié)果;
預(yù)估階段
利用機(jī)器學(xué)習(xí)模型、結(jié)合超高維度和精細(xì)化的特征,以“用戶-情境-物品”三個維度聯(lián)合建模,得到預(yù)估模型,再對不同的目標(biāo)進(jìn)行預(yù)估;
排序階段
在對目標(biāo)進(jìn)行預(yù)估之后,要對內(nèi)容進(jìn)行排序,從而決定可觸達(dá)用戶的排序。排序階段會結(jié)合新穎性、多樣性、準(zhǔn)確性三個方面進(jìn)行綜合排序,最終將推薦結(jié)果呈現(xiàn)給用戶。
在召回階段,我們已經(jīng)實(shí)施了基于熱度、趨勢、協(xié)同過濾、用戶畫像、內(nèi)容、情境和社交關(guān)系等一系列召回方式,同時也實(shí)踐了基于深度學(xué)習(xí)的召回方法。在預(yù)估階段,較成熟的有大規(guī)模離線特征+LR、連續(xù)特征+GBDT,也實(shí)踐了NFM、DCN等深度學(xué)習(xí)預(yù)估模型。
基于上述的推薦流程,推薦的整體架構(gòu)如下圖所示:
OFFLINE
主要是離線處理流程,對數(shù)據(jù)進(jìn)行收集,并從數(shù)據(jù)出發(fā)進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)標(biāo)注、特征工程、模型訓(xùn)練、模型評估,最后生成離線特征、離線召回模型和離線排序模型;
NEARLINE
主要是對實(shí)時的數(shù)據(jù)流進(jìn)行處理,通過獲取實(shí)時日志,對數(shù)據(jù)流進(jìn)行統(tǒng)計、效果監(jiān)控、反作弊處理、特征更新以及對模型的增量訓(xùn)練,最終得到實(shí)時的召回模型和排序模型;
ONLINE
即引擎部分,對流量分流后進(jìn)行召回、融合、排序,最終將推薦結(jié)果返回給應(yīng)用端。
推薦時效性
天下武功,唯快不破。美圖的用戶數(shù)量逐步增長,而每個用戶的興趣點(diǎn)隨著場景、時間也在同步發(fā)生變化。平臺上新的內(nèi)容源源不斷,一個好的內(nèi)容型產(chǎn)品往往不會錯過任何熱點(diǎn)。隨著大環(huán)境的變化,推薦時效性顯得尤為重要,對此推薦效果的提升也有很大優(yōu)化空間。
召回時效性
如圖7所示,首先建立一個實(shí)時更新的相似視頻(I2I)索引;當(dāng)用戶播放視頻或?qū)ζ洚a(chǎn)生有效行為后,利用此索引,得到對應(yīng)視頻的相似視頻進(jìn)行召回。同時通過收集并分析用戶的實(shí)時行為,計算用戶對不同內(nèi)容類型的實(shí)時偏好,并實(shí)時獲取用戶對應(yīng)偏好類型的實(shí)時榜單內(nèi)容, 從而獲得實(shí)時召回的結(jié)果;
在引擎部分會融合實(shí)時及非實(shí)時的召回,并進(jìn)行預(yù)估排序,最終將推薦結(jié)果綜合呈現(xiàn)給用戶。
預(yù)估時效性
假設(shè)預(yù)估模型多天內(nèi)不更新,其離線評估效果的變化情況如下圖所示。很明顯,預(yù)估模型從第二天開始就有大幅度的效用下降,大概一周內(nèi)會下降至66%左右。根據(jù)該圖表可以看出,預(yù)估的時效性會隨著時間迅速下降,所以在預(yù)估的時效性上有很大的優(yōu)化空間。
為了優(yōu)化預(yù)估時效性,我們選擇了在線學(xué)習(xí)。如下圖所示,以訓(xùn)練LR模型為例,左上是LR模型的預(yù)估方程和損失函數(shù),在復(fù)雜的線上環(huán)境中,樣本輸入是隨機(jī)的,即今后計算的方向以及步長也是隨機(jī)的,實(shí)現(xiàn)在線學(xué)習(xí)可以簡單采用在線梯度下降方式,但是選擇這種簡單的優(yōu)化方式會造成模型更新的不穩(wěn)定性和模型效用的不穩(wěn)定性;同時簡單的梯度更新方式會使得模型從舊樣本學(xué)習(xí)到的有效信息被遺忘。
FTRL則是一種生成解析解的更新方式,詳見左下的方程式,其中有四個項(xiàng),第一個項(xiàng)保證參數(shù)隨著梯度方向進(jìn)行更新;第二個項(xiàng)保證模型的穩(wěn)定性,使得每次更新的結(jié)果不會遠(yuǎn)離之前的結(jié)果;第三、四個項(xiàng)是常見的L1和L2正則約束;如圖9右側(cè)所示,為更新過程的偽代碼。
如下圖所示,基于上述FTRL的在線學(xué)習(xí)方法,我們設(shè)計了實(shí)時特征與在線學(xué)習(xí)的流程與架構(gòu)。 Arachnia收集到日志之后,F(xiàn)eatureServer通過Kafka組件獲取到實(shí)時日志,進(jìn)行實(shí)時特征計算更新特征。TrainServer還會收集用戶不同行為的日志,分正負(fù)樣本,得到原始樣本,再將原始樣本與FeatureServer進(jìn)行交互,索引到對應(yīng)的特征列表,拼裝成模型訓(xùn)練可以直接應(yīng)用樣本,供模型進(jìn)行更新。
我們設(shè)計基于Parameter Server架構(gòu)的模型更新,模型更新階段從Parameter Server獲取模型參數(shù),對樣本進(jìn)行預(yù)估,計算參數(shù)的更新,并將更新結(jié)果回流到Parameter Server中。由于在復(fù)雜的線上環(huán)境中,不同行為的日志可能會產(chǎn)生不同程度的延遲,比如在短時間內(nèi)都是正樣本或負(fù)樣本,這種情況下在線學(xué)習(xí)的穩(wěn)定性會受到傷害。因此我們設(shè)計了Balance Cache,控制不同行為日志的消費(fèi)速度使得樣本的正負(fù)比例保持穩(wěn)定。通過這樣的架構(gòu)設(shè)計,模型更新及特征更新都實(shí)現(xiàn)了秒級別更新。
推薦冷啟動冷啟動問題分為用戶冷啟動和內(nèi)容冷啟動。用戶冷啟動顧名思義就是指當(dāng)新用戶來到平臺時無相關(guān)的歷史行為,而傳統(tǒng)的推薦算法都是采用基于行為的模型,因此無法做出有效的推薦。同理,內(nèi)容冷啟動是指當(dāng)新內(nèi)容產(chǎn)生時,它還未在平臺上進(jìn)行有效的流量驗(yàn)證,新內(nèi)容的精準(zhǔn)分發(fā)也是一個值得探討的問題。
用戶冷啟動
一個內(nèi)容型平臺的用戶冷啟動目標(biāo)是將新增用戶轉(zhuǎn)化為消費(fèi)用戶,進(jìn)而轉(zhuǎn)化為留存用戶。為了將新增用戶轉(zhuǎn)化成消費(fèi)用戶,需要匹配該用戶的興趣類型,進(jìn)而推薦相關(guān)的內(nèi)容,且推薦的內(nèi)容要具有吸引眼球的能力,使用戶能夠在該內(nèi)容上進(jìn)行消費(fèi)。
而吸引用戶對內(nèi)容進(jìn)行消費(fèi)的同時,要求推薦的內(nèi)容具有一定的質(zhì)量,能夠使得用戶在內(nèi)容上進(jìn)行互動并認(rèn)可消費(fèi)過的內(nèi)容,從而轉(zhuǎn)化為留存用戶。
對于用戶冷啟動問題,也需要在召回和預(yù)估兩個階段進(jìn)行優(yōu)化。在召回階段,我們設(shè)計了多級別特征組合召回,用戶冷啟動從定義上來說缺失用戶的歷史行為,但我們也總能通過產(chǎn)品機(jī)制調(diào)整、外部合作獲得用戶一定的基礎(chǔ)信息;同時結(jié)合用戶所處情境對這些特征進(jìn)行組合,匹配不同特征組合的內(nèi)容候選集得到初步有效的召回結(jié)果。
在預(yù)估階段,使用服務(wù)端日志、客戶端信息以及第三方數(shù)據(jù)做特征工程,提取用戶特征(比如性別、年齡、職業(yè))、情境特征(比如時間、位置、網(wǎng)絡(luò))和視頻特征(比如標(biāo)簽、類型、音樂)?;谶@些特征以及對應(yīng)生成樣本再進(jìn)行模型訓(xùn)練,我們的模型訓(xùn)練會預(yù)估三個目標(biāo),即點(diǎn)擊率、時長和留存率,并進(jìn)行非線性的組合,對內(nèi)容綜合排序,最終呈現(xiàn)給用戶。基于上述兩個階段的優(yōu)化,新增用戶留存率有了大幅度的提升。
內(nèi)容冷啟動
內(nèi)容冷啟動也是一個經(jīng)典的E&E問題(Exploration & Exploitation),即對新內(nèi)容和舊內(nèi)容如何選擇與權(quán)衡的問題。在做精準(zhǔn)推薦時,是對舊內(nèi)容進(jìn)行有效挖掘的過程,但對于新內(nèi)容而言,如果未能利用有效的方式將其曝光,那么我們的算法就無法挖掘到新的優(yōu)質(zhì)內(nèi)容,無法形成一個健康的內(nèi)容生態(tài)。
對于新內(nèi)容而言,其轉(zhuǎn)化率、點(diǎn)擊率等效用函數(shù)的變化較不穩(wěn)定,因此它的后驗(yàn)方差會比較大;而對于舊內(nèi)容,對它的評估是比較穩(wěn)定的,其后驗(yàn)方差比較低。換言之,對于新內(nèi)容效用的預(yù)估偏差比較大,而對于舊內(nèi)容的評估是比較穩(wěn)定合理。針對這樣的新舊內(nèi)容該如何去選擇?這就是經(jīng)典的E&E問題、多臂老虎機(jī)問題(MAB)。
UCB
假設(shè)每個老虎機(jī)的中獎概率服從二項(xiàng)分布,在每次選擇老虎機(jī)時,對中獎概率進(jìn)行假設(shè)檢驗(yàn)并得到置信區(qū)間,然后選擇置信區(qū)間上界最高的一臺老虎機(jī);
Thompson采樣
假設(shè)每臺老虎機(jī)的中獎概率都服從β分布,在選擇時對每臺老虎機(jī)的中獎概率進(jìn)行去擬合β分布,然后再從β分布中隨機(jī)采樣一個點(diǎn)作為此老虎機(jī)的預(yù)估分,最后選擇預(yù)估分最高的一臺老虎機(jī)。
為了解決內(nèi)容冷啟動問題,可將平臺流量分成三部分:隨機(jī)Explore、個性化Explore和個性化Exploit。其中,最大的一部分是個性化Exploit,即通過各種推薦模型,對內(nèi)容進(jìn)行有效的精準(zhǔn)推薦。隨機(jī)Explore和個性化Explore則是針對新內(nèi)容的探索。此處需要關(guān)注兩點(diǎn):首先要根據(jù)場景和業(yè)務(wù)設(shè)計合理的流量比例;其次要結(jié)合業(yè)務(wù)目標(biāo)對業(yè)務(wù)上的流量效用進(jìn)行量化,如點(diǎn)擊率、播放完整度、時長等。
當(dāng)新內(nèi)容產(chǎn)生時,經(jīng)過MAB Score計算,再進(jìn)行一定的過濾,當(dāng)它進(jìn)入到探索候選池里,再進(jìn)行隨機(jī)召回,召回成功之后會有對應(yīng)的排序和展示。當(dāng)一個新內(nèi)容得到曝光之后,需要收集它的用戶行為反饋以更新MAB Score。過程中,會過濾曝光次數(shù)達(dá)到一定上限的內(nèi)容(我們認(rèn)為它已經(jīng)是舊內(nèi)容),也會過濾MAB Score較低的內(nèi)容,從而形成整個隨機(jī)Explore的閉環(huán)。
個性化Explore相比于隨機(jī)Explore在新內(nèi)容產(chǎn)生時,會先利用視覺算法對內(nèi)容進(jìn)行分類,視覺分類就是把新內(nèi)容進(jìn)行基礎(chǔ)的特征提取,歸類到某個類目榜單里。接著,結(jié)合視覺分類和MAB Score維護(hù)動態(tài)的類目榜單,最后再結(jié)合類目榜單和用戶實(shí)時偏好進(jìn)行基于內(nèi)容的召回。同樣的,在召回之后,將收集到的用戶的行為反饋用于更新MAB Score和類目榜單。這就是基于內(nèi)容召回的個性化Explore流程。
內(nèi)容多樣性多樣性、準(zhǔn)確性以及新穎性是衡量推薦系統(tǒng)效果非常重要的三個指標(biāo)。同時最大化這三個指標(biāo)從而給用戶帶來驚喜,使得用戶在平臺上留存,是推薦系統(tǒng)的一個終極目標(biāo)。但在實(shí)際情況下,這三個指標(biāo)往往需要權(quán)衡取舍,例如在大多數(shù)情況下,提升準(zhǔn)確性的同時,推薦多樣性指標(biāo)可能會降低。因此,我們將問題簡化,對多目標(biāo)問題進(jìn)行重新建模,在保證一定的多樣性和新穎性約束的前提下最大化推薦準(zhǔn)確性。
那么,如何保證推薦多樣性呢?首先要定義什么內(nèi)容是一樣的,從而知道什么內(nèi)容是不一樣的。我們可以通過運(yùn)營對視頻打標(biāo)簽、通過視覺算法進(jìn)行視覺分類,而上述幾種方法都依賴先驗(yàn)的類目體系,往往無法精確匹配用戶時刻變化的細(xì)粒度興趣點(diǎn)。一個UGC平臺,其重要特性之一就是內(nèi)容形態(tài)快速更新,有各種各樣的創(chuàng)意會發(fā)展成小眾類別,再從小眾類別迅速發(fā)展成一個新類別,那么這種基于經(jīng)驗(yàn)知的有監(jiān)督方法是無法及時響應(yīng)變化的,因此考慮利用用戶行為序列對內(nèi)容聚類。
內(nèi)容聚類
在基于用戶行為序列的內(nèi)容聚類中,假設(shè)用戶對于興趣點(diǎn)會產(chǎn)生其行為序列,假設(shè)某個用戶喜歡小鮮肉和舞蹈,那么基于這個興趣點(diǎn),他便會觀看較多小鮮肉跳舞的視頻。這個問題可以類比文本領(lǐng)域的Topic Model問題,當(dāng)作者寫文章時,需要先確定文章主題,再基于主題確定文章中使用到的詞。
而對用戶興趣進(jìn)行建模,我們采用LDA的方法將用戶類比為一篇文章,用戶行為序列里的內(nèi)容類比為文章里的詞,那么可以對內(nèi)容直接利用LDA模型進(jìn)行聚類,從而匹配到用戶興趣?;谶@樣的假設(shè),可以采用word2Vec對內(nèi)容生成向量再進(jìn)行聚類,也可以基于LDA的深化版本DSSM模型來對內(nèi)容生成向量。如圖19右側(cè)所示,是DSSM方法的網(wǎng)絡(luò)結(jié)構(gòu)圖。
展望未來美圖希望能夠挖掘更多的場景,為用戶提供更多的個性化服務(wù),從而全面提升用戶的產(chǎn)品體驗(yàn)。我們也希望能夠通過個性化的迭代與內(nèi)容生態(tài)變化進(jìn)行推演,從而更全面地優(yōu)化內(nèi)容生態(tài),同時通過建設(shè)更深層次的模型進(jìn)行精準(zhǔn)推薦,從有監(jiān)督的學(xué)習(xí)模型訓(xùn)練向強(qiáng)化學(xué)習(xí)的方法轉(zhuǎn)變,進(jìn)而預(yù)估推薦算法的期望收益,大幅度提升用戶體驗(yàn)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/19818.html
摘要:月日下午,七牛云美圖共享日在廈門舉行,來自七牛云美圖廈門大學(xué)羅普特等眾位大咖齊聚一堂。七牛云美圖共享日精華語錄計算機(jī)識別是按照具體問題具體分析,具體場景具體分析。又稱小牛匯共享日,是小牛匯舉辦的第一個系列活動。 時間機(jī)器、穿越星際的宇宙飛船、飛行汽車,幾乎每一部科幻電影作品中都能發(fā)明點(diǎn)新東西。超現(xiàn)實(shí)技術(shù)在引起人們陣陣贊嘆的同時,也在激勵著人們思考如何將不可能變成可能。而在我們的生活當(dāng)中...
摘要:近日,在個推技術(shù)沙龍深圳站,來自華為個推的技術(shù)大拿們在現(xiàn)場,對核心技術(shù)進(jìn)行了深入的探討。最后,個推還支持了部署發(fā)布的工具,讓訓(xùn)練的成果能夠通過標(biāo)準(zhǔn)化的方式導(dǎo)出到線上,進(jìn)行服務(wù)部署,真正地在線上產(chǎn)生價值。 人工智能技術(shù)的飛速發(fā)展給各行各業(yè)都帶來了深遠(yuǎn)的影響,AI已被視為企業(yè)提升運(yùn)營效能、應(yīng)對市場競爭的必經(jīng)之路。然而對于一些企業(yè)而言,讓AI真正實(shí)現(xiàn)落地和應(yīng)用,并且創(chuàng)造價值,仍是一件需要努力...
閱讀 2508·2021-11-16 11:44
閱讀 923·2021-09-10 11:16
閱讀 2284·2019-08-30 15:54
閱讀 1197·2019-08-30 15:53
閱讀 1967·2019-08-30 13:00
閱讀 673·2019-08-29 17:07
閱讀 3567·2019-08-29 16:39
閱讀 3206·2019-08-29 13:30