youtube DNN 模型要點速記

一、爲何Ranking Model採用了weighted logistic regression做爲輸出層?在模型serving過程當中又爲什麼沒有采用sigmoid函數預測正樣本的probability,而是使用 [公式] 這一指數形式預測用戶觀看時長?算法

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 

再簡要總結一下YouTube Ranking Model的Serving過程要點。ide

  1. [公式] 這一指數形式計算的是Weighted LR的Odds;
  2. Weighted LR使用用戶觀看時長做爲權重,使得對應的Odds表示的就是用戶觀看時長的指望;
  3. 所以,Model Serving過程當中[公式] 計算的正是觀看時長的指望。

 

 

二、若是是排序使用的話,odds和sigmoid單調性一致;若是使用時長後續有其餘處理,和直接回歸或多分類有多大差異,爲何感受有些迂迴?函數

 a:迴歸有一個問題在於值域是負無窮到正無窮,在視頻推薦這樣一個大量觀看時間爲0的數據場景,爲了優化MSE,極可能會把觀看時間預測爲負值,而在其餘數據場景下又可能預測爲超大正值。邏輯迴歸在這方面的優點在於值域在0到1,對於數據兼容性比較好,尤爲對於推薦這種rare event的場景,相比迴歸會更加適合。並且odds的值域也是非負的,符合watch time的物理意義。優化

 

q:那若是把觀看時間quantization成k個bucket而後作多分類 是否是也能夠 感受比weightedLR更簡單train起來 固然會損失點效果可能3d

a:多分類輸出粒度不夠細,不適合用來作排序。此外多分類的參數數量也比二分類多不少,一樣的樣本量下訓練效果可能不如二分類效果好。視頻

 

q:serving的時候,sigmoid和和指數函數都是單調遞增的。若是取固定的top K個item作曝光,那這兩種方式結果徹底是同樣的,沒理解爲何還要用指數函數。blog

a:若是隻是涉及到排序階段的話,結果應該是同樣的,看本身業務須要,若是是廣告算法,須要乘以對應的cpc,結果就有不一樣了;由於預估的時長值後面會用到的,這裏不能只看序排序

 樣本不爲負沒法保證模型預測不爲負,一些輸出取負值可能會讓總體loss變小。例如對於真實值是0的樣本,預測爲-0.3就比預測爲+0.5損失要小。同時迴歸模型的模型函數和優化過程沒有任何行爲來阻止模型函數輸出負值。

q:不明白 我能夠在一開始使用觀看時長除以視頻時長獲得一個0到1的數 這樣就沒有邊界問題了 很疑惑 求指教 it

a:你說這種作法只能對訓練數據有效,但不能保證獲得的模型預測結果也在01之間。io

相關文章
相關標籤/搜索