首頁(yè)新聞動(dòng)態(tài)正文

Python培訓(xùn)之從YouTube算法論文反推其推薦機(jī)制(一)

更新時(shí)間:2017-08-31 來源:黑馬程序員python培訓(xùn)學(xué)院 瀏覽量:

去年,在波士頓舉辦的第10屆ACM推薦系統(tǒng)大會(huì)(ACM’s RecSys ‘16)上,來自Google的一個(gè)研究團(tuán)隊(duì)公布了YouTube推薦系統(tǒng)的深度學(xué)習(xí)論文:Deep Neural Networks for YouTube Recommendations

論文作者是Google的軟件工程師 Jay Adams 與高級(jí)軟件工程師 Paul Covington、Embre Sargin,他們向業(yè)界展示了YouTube在機(jī)器學(xué)習(xí)推薦算法上的深度神經(jīng)網(wǎng)絡(luò)使用情況。該論文涉及到一些非常技術(shù)、非常高級(jí)的細(xì)節(jié),但它最大的意義是為我們完整描繪了YouTube推薦算法的工作原理!!該論文細(xì)致、審慎地描述了YouTube檢索、篩選并推薦視頻時(shí)的大量細(xì)節(jié)。

算法論文的UP主解析

YouTube工程師發(fā)布在ACM上的算法論文,目標(biāo)受眾顯然不是我們這些UP主。但為了流量,閱讀并理解該算法的內(nèi)容,并讓它來為我們UP主們服務(wù)就顯得義不容辭了。接下來就看我們?nèi)绾螐腢P主的角度來解析這篇算法論文。

在論文公布之前,我們上一篇分析YouTube算法的文章(詳見AI科技大本營(yíng)的譯文:《想讓視頻網(wǎng)站乖乖幫你推內(nèi)容?看看這位小哥是如何跟YouTube斗法的》),關(guān)注的主要是觀看時(shí)長(zhǎng)這一個(gè)因素,因?yàn)槲覀冎荒軓淖约荷蟼鞯囊曨l數(shù)據(jù)中來反推YouTube算法的工作原理,這肯定要受限于我們視頻的內(nèi)容和受眾。我們之所以了解YouTube的算法,是因?yàn)槲覀兘鉀Q了一下做視頻路上碰到的這個(gè)問題:“為什么我們的視頻就能這么成功呢?”為此,我們盡最大努力來分析已有的信息,但最初的結(jié)果并不理想。盡管我100%支持我們的結(jié)論,但我們先前的方法存在兩大問題:

僅用頻道指標(biāo)的一部分來做反推,意味著我們?cè)跀?shù)據(jù)上存在巨大的盲點(diǎn),畢竟我們無(wú)法訪問競(jìng)爭(zhēng)性指標(biāo)、會(huì)話指標(biāo)與點(diǎn)擊率。對(duì)于那些基于UP主的指標(biāo),YouTube算法所給的權(quán)重非常小。它更關(guān)心的是觀眾以及單個(gè)視頻的指標(biāo)。換句話說,該算法并不關(guān)心你所上傳的視頻,而是關(guān)心你和其他人正在看的視頻。

但在我們寫最初那篇文章的時(shí)候,YouTube或Google數(shù)年來都沒公布過有關(guān)該算法的任何信息。所以,我們只有自己動(dòng)手。有了Google新近公布的這篇論文,我們就可以一窺它推薦機(jī)制的究竟,并找出其中的重要指標(biāo)。希望這能回答一個(gè)讓我們更為辛酸的問題,“為什么有些視頻能取得成功?”

深度學(xué)習(xí)是個(gè)無(wú)底洞

論文簡(jiǎn)介部分最大的亮點(diǎn)是YouTube確實(shí)在用深度學(xué)習(xí)來驅(qū)動(dòng)推薦算法。這種做法不新鮮,但此次確認(rèn)證實(shí)了大家此前的猜測(cè)。作者在論文開頭是這樣說的:

在本論文中,我們將集中介紹深度學(xué)習(xí)對(duì)YouTube視頻推薦系統(tǒng)的全面影響……跟Google其他領(lǐng)域的產(chǎn)品一樣,YouTube同樣經(jīng)歷了用深度學(xué)習(xí)來解決所有通用學(xué)習(xí)問題的根本性范式轉(zhuǎn)變。

這就意味著,今后人工調(diào)整算法、人工權(quán)衡這些調(diào)整并將其部署上世界最大的視頻分享網(wǎng)站的機(jī)會(huì)將越來越少。而是由算法實(shí)時(shí)來讀取數(shù)據(jù)、為視頻排名,然后基于這些排名來推薦視頻。所以,當(dāng)YouTube表示他們不知道算法為什么那樣做時(shí),有可能他們確實(shí)不知道。

兩大神經(jīng)網(wǎng)絡(luò)

該論文以算法的基本架構(gòu)作為開篇,下面是作者的圖示:

本質(zhì)上這就是兩個(gè)大的過濾器,各自有著不同的輸入。作者寫道:

該系統(tǒng)由兩大神經(jīng)網(wǎng)絡(luò)組成,一個(gè)用于生成候選視頻,一個(gè)用來對(duì)其排名。

這兩個(gè)過濾器及其輸入內(nèi)容,基本上決定了用戶在YouTubes上能看到的每一個(gè)視頻:建議你播放的下一個(gè)、推薦給你的視頻列表、你所瀏覽的視頻列表……

第一個(gè)過濾器是候選生成器。論文中解釋,候選是基于用戶的YouTube活動(dòng)記錄產(chǎn)生的,也就是用戶的觀看歷史與觀看時(shí)長(zhǎng)。候選生成器還會(huì)考慮相似用戶的瀏覽記錄,這一點(diǎn)被稱為協(xié)同過濾。相似用戶是算法通過視頻ID、搜索關(guān)鍵詞及相關(guān)的用戶統(tǒng)計(jì)信息決定出來的。

候選生成器的通過率僅為屬百分之一,換言之,如果某個(gè)視頻能從數(shù)百個(gè)中脫穎而出成為你的候選視頻,它必定是跟你的觀看記錄有關(guān),同時(shí)還有一個(gè)跟你相似的用戶已經(jīng)看過它。

第二個(gè)是排名過濾器。該論文對(duì)排名過濾器進(jìn)行了大量的深度解析,并列j舉出不少有趣的因素。作者寫道,排名過濾器是這樣給視頻排名的:

基于描述視頻和用戶的豐富特征,目標(biāo)期望函數(shù)會(huì)給每個(gè)視頻設(shè)定分?jǐn)?shù)。根據(jù)分?jǐn)?shù)排名,得分最高的視頻將被展示給用戶。

由于觀看時(shí)長(zhǎng)是YouTube為用戶設(shè)定的首要目標(biāo),我們只好假定這就是“目標(biāo)期望函數(shù)”的意義。因此,考慮到各種不同的用戶輸入,該分?jǐn)?shù)的意義就是某視頻能夠轉(zhuǎn)化成用戶觀看時(shí)長(zhǎng)的程度。但不幸的是,事情沒有那么簡(jiǎn)單。根據(jù)作者透露,該算法還會(huì)考慮很多其他的因素。

我們?cè)谂琶^濾器中用到了數(shù)百種特征。



本文版權(quán)歸黑馬程序員Python培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

作者:黑馬程序員Python培訓(xùn)學(xué)院

首發(fā):http://m.3rdspacecomics.com/news/python.html


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!