久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

推薦系統(tǒng)之YouTube深度學習經典論文解讀

 莉莉莉莉莉莉1 2020-01-06

推薦系統(tǒng)之YouTube深度學習經典論文解讀

今天給大家?guī)淼氖?016年YouTube發(fā)表的基于Deep learning做視頻推薦的論文,,站在今天來看,這篇paper在算法架構上并沒有什么特別的地方,,但是從工程和視頻場景理解上的的確確是一篇經典之作,,下面一起重溫經典。

這篇論文提出的背景主要有三點,,也就是當時YouTube視頻推薦面臨的問題:

  1. Scale: 用戶基數多,、數據量龐大;導致很多在小數據上表現(xiàn)好的算法在YouTube推薦場景下失效,。
  2. Freshness:YouTube視頻更新快,,系統(tǒng)需要平衡新老內容,解決冷啟動的問題,。
  3. noise: 用戶行為數據稀疏且只有隱反饋,,有很多噪音數據。

系統(tǒng)架構

推薦系統(tǒng)之YouTube深度學習經典論文解讀

推薦系統(tǒng)的架構基本都是大同小異,,無非是召回和排序兩大部分,,YouTube也不例外。第一層Candidate Generation就是召回模塊,,完成候選視頻快速篩選,,候選視頻的量級從百萬到百。第二層Ranking指完成召回后的幾百量級候選視頻的精排序,。召回模型相對簡單,,特征較少,,主要保證時效性,對個性化的要求較低,,排序則是使用更多特征,,模型較為復雜,對個性化要求高,。

召回模型

模型架構

推薦系統(tǒng)之YouTube深度學習經典論文解讀

特征集

召回部分的特征集主要由三部分組成:

  1. 用戶觀看的視頻embedding
  2. 用戶搜索的關鍵詞embedding
  3. 用戶基本信息,,比如年齡、性別,、地理位置等
  4. example age

watch embedding

熟悉word2vec,,這一塊應該很容易理解,就是對用戶觀看過的視頻做embedding,,最后做一個average得到視頻embedding,。

search embedding

用戶歷史搜索的關鍵詞embedding最后average得到token embedding。

上面其實和文本分類中由word embedding到doc embedding是一樣的,,直接將歷史觀看視頻的embedding做加法平均還是比較暴力的,,對比阿里DIN論文,這一塊其實是可以優(yōu)化的,。目前的推薦架構中一般是直接onehot輸入經過一個embedding layer,直接參與網絡訓練的,,我估計YouTube應該是考慮召回的效率沒有采用這種方式(有不同意見的,歡迎評論區(qū)留言,。)

用戶畫像特征

如地理位置,,設備,性別,,年齡,,登錄狀態(tài)等連續(xù)或離散特征都被歸一化為[0,1], 和watch vector以及search vector做concat

視頻年齡

除了以上這些歷史向量,、人員基本信息的特征以外,,Youtube還將視頻年齡作為特征加入訓練。

視頻年齡=(訓練窗口內的最近觀看時間)-該視頻的上傳時間,。

  1. 加入這一特征的原因和處理手法,,和推薦系統(tǒng)中常見的position-bias思路是一樣的。上傳越早的視頻,,更有機會成為受歡迎視頻,。我們在收集訓練樣本時,就已經加入這個bias了,。在訓練時,將這一信息考慮在內,,否則由于時間偏移容易導致 “過擬合”,。
  2. 在線上召回時,將所有候選視頻的年齡都設置成0,對新老視頻一視同仁,,有利于召回那些雖然上傳時間短,,但是視頻內容與用戶更加匹配的新視頻。對于完成推新的要求,,這是一個非常好的辦法,。

該特征表示視頻被上傳之后的時間。我們知道,,每一秒中,,YouTube都有大量視頻被上傳,推薦這些最新視頻對于YouTube來說是極其重要的,。作者持續(xù)的觀察到,,用戶更傾向于推薦那些盡管相關度不高但是是最新(fresh)的視頻。推薦系統(tǒng)往往是利用用戶過去的行為來預測未來,,那么對于歷史行為,,推薦系統(tǒng)通常是能夠學習到一種隱式的基準的。但是對于視頻的流行度分布,,往往是高度不穩(wěn)定的,。作者寫道,在之前的處理上,,訓練所選擇的時間窗口,,是采用最近幾周的用戶平均觀看似然率來進行推薦的。那么考慮到example age的現(xiàn)象,,我們的推薦策略將example age作為一個特征拼接到DNN的輸入向量,。訓練時,時間窗口越靠后,,該值越接近于0或者為一個小負數,。加入了example age特征后,模型效果和觀測到的實際數據更加逼近,,參見下圖:

推薦系統(tǒng)之YouTube深度學習經典論文解讀

樣本和上下文選擇

1,、收集一些非推薦的視頻觀看。訓練數據中收集所有的youtube觀看視頻(或者一些站外觀看)而不是僅僅是推薦的結果是非常重要的,。這樣不但可以防止用戶興趣學習有偏(推薦系統(tǒng)給什么,,看什么),而且可以試探到很多用戶的興趣,。

2,、固定每個用戶訓練樣本量。這樣做的好處是平等對待每個用戶的損失影響,,避免損失來自小部分活躍用戶,。

3,、不對稱的共同瀏覽(asymmetric co-watch)問題。用戶在瀏覽視頻往往是序列式的,,具有先后關系,。下圖所示圖(a)是hled-out方式,利用上下文信息預估中間的一個視頻,;相當于對用戶未來看到的內容進行了信息泄漏,。圖(b)是predicting next watch的方式,是利用上文信息,,預估下一次瀏覽的視頻,。這和我們實際閱讀順序是一致的。文中也提到圖(b)的方式在線上A/B test中表現(xiàn)更佳,。而實際上,,傳統(tǒng)的協(xié)同過濾類的算法,都是隱含的采用圖(a)的held-out方式,,忽略了不對稱的瀏覽模式,。

特征集以及深度的實驗

添加特征以及DNN深度可以顯著提升預測效果,但并非一直如此,。第0層的輸入向量全連接到softmax輸出層,,第0層以及輸出層都是采用固定的256維度。中間的深度網絡采用的是類似tower的結構,。深度增加時,,預測效果如下圖:

推薦系統(tǒng)之YouTube深度學習經典論文解讀

由上圖可以看到,DNN深度到三層預測效果基本就穩(wěn)定了,。

離線訓練模塊

得到特征集之后直接concatenate喂給三層DNN(激活函數為relu),,最后通過softmax輸出概率, 這一階段的目標是從資源庫中找出幾百個最相關的資源,推薦系統(tǒng)以往的做法是采用矩陣分解技術計算相關度,,作者提到他們早期也使用過淺層神經網絡對用戶歷史瀏覽的embedded進行訓練,,該算法可以視作是非線性的矩陣分解技術。作者將推薦任務轉化為一個超級多分類問題,,也即在時刻t,,用戶U在場景C的觀看Wt為從視頻庫V預測為視頻i的類別,其中每一個視頻i可以視作為一個類別,,其分類模型如下式所示:

推薦系統(tǒng)之YouTube深度學習經典論文解讀

其中u是用戶和場景信息的高維embedding,, vj表示候選視頻的embedding。Embedding可以簡單的理解為將一個稀疏實體(user,,vedio)到RN空間內的密集向量的映射,。DNN的任務是基于用戶的歷史及場景,學習一個用戶向量u的映射函數(embedding),,通過一個softmax分類器,,u能夠有效的從視頻語料庫中識別視頻的類別(也就是推薦的結果),。softmax層的輸出是預測的視頻分類結果。也就是上面公式用戶觀看視頻j的概率,。要注意,視頻向量的embedding是通過類似word2vec的方式生成的,,我們能拿到視頻j的id,,就能得到vj的向量。

在線serving模塊

在線服務有嚴格的性能要求,,必須在幾十毫秒內返回結果,。DNN輸出用戶向量u,u與視頻庫中的視頻向量做內積并排序,,得到TopN,。該過程耗費時間巨大,作者采用了一種hashing算法進行加速,。

排序模型

排序階段視頻候選只有幾百量級,,因此排序模型會引入更多特征進行精細的打分排序。排序階段采用和召回階段類似的網絡結構,,用logistics regresion對視頻進行打分,。不同的是,排序階段采用觀看時長作為學習目標而非點擊率(想一想這是為什么,?)

模型架構

推薦系統(tǒng)之YouTube深度學習經典論文解讀

特征集

從模型架構來說,,Ranking和召回類似,具體的特征如下:

(1) impression video ID embedding: 當前要計算的視頻embedding

(2) watched video IDs average embedding: 用戶觀看過的最后N個視頻embedding的average pooling

(3)language embedding: 用戶搜索關鍵詞的embedding和當前視頻語言的embedding

(4) time since last watch: 自上次觀看同channel視頻的時間

(5) #previous impressions: 該視頻已經被曝光給該用戶的次數

特征中需要注意的點是:

1,、同空間特征共享Embedding(video embedding,、language embdding)

這么做主要還是減少內存占用,減少網絡參數,,加速訓練,。在vido embedding中直接截斷低頻video,目的應該還是節(jié)約內存,,另外低頻偶然性比較大,,截斷可以減低noise數據干擾。

2,、連續(xù)特征歸一化

神經網絡模型對輸入規(guī)模和分布非常敏感,。文中采用累計積分的方式,將連續(xù)特征歸一化到0到1之間,,并且添加sqrt(x)等引入非線性,。

3、歷史交互的特征

上面特征集中的(4),、(5)都是表示用戶與視頻之間的歷史交互,,引入用戶行為提高推薦準確性,。

目標函數

以點擊率作為目標,受標題,,視頻封面圖等影響比較大,,不能夠完全表達用戶喜好,而觀看時長能夠真實地捕獲用戶的興趣,,更重要的是觀看時長更符合商業(yè)價值,,因此youtube的預測期目標是觀看時長。具體如何操作,?訓練集中包含正樣本和負樣本,,正樣本是用戶點擊并且觀看的視頻,負樣本是曝光之后沒有點擊的視頻,。訓練時采用Weighted logistics,,并且對正負樣本設置不同的權重,負樣本設置單位權重,,正樣本用觀看時長作為權重,,在serving時,用指數函數作為激活函數計算期望觀看時長,。

為什么在train時使用Weighted logistics,,在serving時使用指數損失衡量呢?在邏輯回歸中odds是一個非常重要的概念:

推薦系統(tǒng)之YouTube深度學習經典論文解讀

推薦系統(tǒng)之YouTube深度學習經典論文解讀

推薦系統(tǒng)之YouTube深度學習經典論文解讀

對于Weighted logistics,,相當于對正樣本進行過采樣,,odds就是下面形式:

推薦系統(tǒng)之YouTube深度學習經典論文解讀

在視頻場景中p一般很小,所以上面結果剛好是視頻播放時長的期望,。

推薦系統(tǒng)之YouTube深度學習經典論文解讀

這樣預測的正是視頻的期望觀看時長,,預測的目標跟建模的期望保持一致,這是這篇paper型很巧妙的地方,。

寫在最后

這篇paper開啟了工業(yè)界利用DNN做推薦系統(tǒng)上的先河,。如何結合業(yè)務實際和用戶場景,選擇等價問題上為很多公司提供指導,。工程性極強,,幾乎是近幾年最經典的paper了,

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多