您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

01 youtube官網網頁版優化設計與分析論文(多樣性算法在58部落的實踐和思考)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-18 02:03:50【】4人已围观

简介YoutubeDNN經典論文最近在看王喆的知乎專欄,第三、四、十三篇都是Youtube的經典論文DNN:買粉絲s://zhuanlan.hu.買粉絲/p/52169807  買粉絲

Youtube DNN經典論文

最近在看王喆的知乎專欄,第三、四、十三篇都是Youtube的經典論文DNN:買粉絲s://zhuanlan.hu.買粉絲/p/52169807  買粉絲s://zhuanlan.hu.買粉絲/p/52504407  買粉絲s://zhuanlan.hu.買粉絲/p/61827629

跟著大佬又回顧了一下,發現之前真的只能算是一知半解,趁著這次把對這篇論文的新的理解記錄一下,可能還會有一些錯誤。

論文講解了在召回和精排兩個階段的模型:

召回:

先從特征說起:用戶觀看過的買粉絲的embedding,用戶搜索詞的embedding,用戶的地理位置、年齡等side_infomation,還有exampl_age這個需要解釋的特征

然后是模型:三層DNN

最后是training的loss:softmax做分類

serving的方式:nearest neighbor

里面其實有很多疑點:

1.example_age是什么

這個點專欄里說是訓練時間 - 得到這條樣本的時間(視頻點擊時間),但是我覺得這樣表達不出“新視頻”這個概念,也不知道用當前時間去減是啥意思,label是點擊那一刻打上去的,又不是訓練的時候;

所以我覺得這個example age應該是點擊時間-上架時間,表示用戶對新上架視頻的偏好,用這個特征去捕獲這個偏好了,在serve的時候全都置為0就可以消除這個偏好,畢竟這是召回階段,可以多召回些東西。(這樣就是消除用戶對新視頻的偏好了?)

2.為什么要做多分類,而不是預測分,多分類的話有海量視頻,性能怎么保證

為什么要做多分類,而不是把樣本的embedding也給到網絡里做打分,這一點我是真的沒弄明白;

海量視頻的多分類性能的提升是用到了sampled softmax,可以參考買粉絲://買粉絲.4k8k.xyz/article/Kaiyuan_sjtu/119881236  買粉絲s://zhuanlan.hu.買粉絲/p/349908071 總的來說就是通過Q(y|x)采樣出一個子集,對子集計算logits,然后用計算結果F(x,y)-log(Q(y|x))可以表示原數據集上的logits

3.serving階段為什么不做多分類了,而是做nearest neighbor

這里首先要弄明白serving階段的user embedding和買粉絲 embedding是什么,user_embedding是最后一層relu之后的結果,比如是一個d維的向量;然后要得到一個幾百萬維(用d_N表示)的向量,需要過一個d*d_N維的矩陣,這個矩陣的每一列訓練完之后就是買粉絲 embedding;如果是serving的階段依然是和每一列相乘,再算一個softmax,既然分母是一樣的,取指數的操作也是一樣的,那么就直接做點積就好了。

排序:

先從特征說起:當前排序的買粉絲的embedding,用戶觀看過的買粉絲的embedding,用戶和買粉絲的語言embedding,time since last watch是自上次觀看同channel視頻的時間,previous impressions是該視頻已經被曝光給該用戶的次數(這里已經引入了負反饋的思路)

然后是模型:三層DNN

最后是training的loss:weighted logistic

serving的方式:e^(Wx+b)

這里面也有一些疑點:

1.training時候的weighted logistic是什么,為什么serving的時候用的是e^(Wx+b)

這個點是我重讀的時候最沒理解的地方,先嘗試寫一下,這里首先要搞清楚weighted logitstic是什么,那先回顧一下LR的公式的由來是log(odds) = w*x;這里的odds=p/(1-p)表示正樣本發生的概率/負樣本發生的概率;在weighted LR里面這個odds要變成W*p/(1-p)這里的W就是給正樣本加的權重,至于為什么是這樣有一種解釋是用正負樣本比去解釋的,我覺得不是很合理 買粉絲s://zhuanlan.hu.買粉絲/p/435912211;但是如果能夠接受這個odds的話,那么log(odds) = w*x就可以得到odds = e^(wx),后者就是serving的目標;

再說W*p/(1-p)是什么,這里W權重是這條視頻的時長T,那么sum(Ti*pi)就是E(T)即時長的期望,E(T)/(1-p)泰勒展開就是E(T)*(1+p)這里的p很小的話其實就是E(T)也就是說serving的時候其實得到的就是觀看時長的期望,這里如果用到電商里用price去加權,得到的應該也是對price的預估。

如何做好一個網絡營銷

做好網絡營銷有以下幾點:

1、非常重視與客戶的關系。在網絡營銷之前,企業需要找到自己的受眾群體,通過深入的調查和分析找到用戶的需求,然后在互聯網平臺渠道的幫助下進行準確的營銷推廣,在降低營銷成本的前提下提高產品轉化率;

2、在進行網絡營銷和品牌推廣時,企業應仔細收集用戶數據,建立自己的消費用戶數據庫。然后通過數據分析,找到目標群體,然后實施精確的營銷。此外,用戶數據的收集方便了企業維護客戶之間的關系;

多樣性算法在58部落的實踐和思考

導讀

本文在明確“推薦系統個體多樣性優化”主題后,由整體架構出發,清楚闡述了在召回層、規則層、多樣性層的優化細節。在MMR 和 DPP算法部分既有原理也有實踐,最后用圖表方式展示出了效果對比,并且結合自身業務特點做了針對性的距離設計。

背景

在推薦系統中,衡量系統好壞的指標,除了相關性之外,多樣性也是重要的指標之一。但多樣性和相關性之間往往存在一些矛盾的地方,本文從業務指標的角度,探討了多樣性和相關性之間如何權衡的思想方法,介紹了多樣性算法的落地實踐方案,最終達到了通過多樣性手段提升業務指標的目的。

1. 多樣性算法的意義和難點

推薦系統中,準確度一直是衡量系統好壞最重要的指標,大多數的工作都是在研究如何提高準確度。然而,推薦結果的質量是通過多個維度來衡量的,越來越多研究表明,僅依賴準確度的推薦已經不能對用戶的體驗和滿意度有所提升,反而容易促進信息繭房的產生。于是,如何在準確性和多樣性之間進行權衡和協同優化,從而提高業務的整體數據指標成為了現在推薦系統的又一個優化方向。

在實踐中,我們總結了多樣性算法落地的幾個難點:

1)模型的優化目標模糊

眾所周知,各種用戶行為(點擊、轉化、停留、分享等等)都可以作為優化準確度的目標,我們可以明確的收集用戶的行為作為模型的目標標簽,從而設計模型并優化。因為多樣性本身是一個集合統計量,很難找到直接的用戶行為來作為模型優化的目標。

2)業務指標和多樣性指標的沖突

業務關注的指標(轉化率、停留時長等)和多樣性指標并不是簡單的正向或者負向的關系。如果單純為了提高多樣性指標而做多樣性,反而會導致最終結果與業務目標偏離,使推薦的質量下降。

綜上所述,我們在58部落推薦系統的多樣性實踐中,排除了單純使用多樣性指標作為評估算法好壞的方法。結合部落的業務特點,我們定下了這樣的目標:把多樣性作為一個提高業務指標的手段,通過多個業務指標和多樣性指標來綜合評估算法的效果,最終達到兩種指標共同提升,進而提高用戶體驗的目的。

58部落的多樣性算法實踐

在多樣性算法的研究中,通常把多樣性分成兩種:

基于個體用戶的多樣性,旨在避免給單一用戶推薦相似的物品,從而提高用戶體驗和增加用戶滿意度;

基于全部用戶的多樣性,旨在優化長尾的物品分發效果;

因為我們現階段的主要目標是針對個體用戶體驗,所以選擇了基于個體用戶的多樣性作為實踐方向。

1.   推薦系統架構圖

推薦系統在線分層架構圖

為了保證推薦數據的多元化,我們在三個地方進行了優化:

1)召回層:從數據源提供多樣性的候選集合,通過提高粗排候選池中主題、類別和作者的覆蓋度來保證數據源的多樣化;

2)規則層:在相關性損失不大的情況下,通過提高精排候選池中主題和類別的覆蓋度來保證進入精排數據的多樣化;

3) 多樣性層:對數據統一做多樣化處理,保證數據輸出多樣化。

數據決定了效果的上限,而算法只是逼近這個上限。在多樣性層,只是盡可能保證了精排后的數據多樣性,由于結果受精排候選池數據多樣性的影響,所以如果能在召回層數據源保持候選集合的多樣性,效果會更好。

2. 數據源多樣化

2.1 召回層多樣化的實現

召回層架構圖

在召回階段,我們采用的是多路召回。為了保證數據多樣性,通過增加若干多樣性的召回策略來豐富數據源,例如:

通過多樣性算法,獲取用戶個性化和多樣化的主題、類別、作者進行召回,以保證召回兼顧多樣性和相關性;

通過一些長尾、時間、驚喜的召回分路,來增加數據新穎性和多樣性;

通過一些基于關系、屬性的協同召回分路,提高數據多樣性。

通過增加多樣性和新穎性召回,粗排候選池中的數據基于主題的覆蓋度提高了120%左右,基于類別覆蓋度提高了100%左右。

2.2 規則層多樣化的實現

規則層架構圖

我們推薦的數據是多種異構類型的實體,因此進入精排前(規則層)會對類型進行分桶處理。每種類型從粗排到精排都要經過一個數據截取階段,主要截取指標一般是粗排的相關性分數。為了防止截斷操作破壞召回層對數據源所做的多樣性優化,我們通過對該類型的粗排結果先按照類別進行分桶,然后在做多樣性控制。最后對各種類型進行比例調整、數據補充以及一些必要的過濾。在相關性影響不大的情況下提高精排數據的多樣性。

因為規則層多樣性算法是按照類型分桶,因此不受多種異構類型的實體混排的影響,適合于各種多樣性算法。

規則層添加多樣性算法干預之后,精排候選池中的數據基于主題的覆蓋度提高了80%左右,基于類別覆蓋度提高了70%左右。    

規則層加入多樣性后的線上ctr和uvctr轉化效果,如下圖:

規則層算法效果對比

從上圖可以看出,就而言,各個算法差異度并不是很大,和表現略好。就而言,算法表現稍微好一點。規則層主要是通過多樣性算法替換之前的啟發式規則,使據源多樣性自動化。

3. 基于重排序方法的多樣層

算法調參,我們主要參考三個業務指標:

pvctr表示pv點擊率;uvctr表示uv點擊率;avgpv表示人均展示數。

對于多樣性算法應用的場景,在規則層單類型上使用了常用的多樣性算法,binomal,EE,DPP

很赞哦!(79)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:江苏徐州鼓楼区

工作室:小组

Email:[email protected]