多目標學習系統:如何讓知乎互動率提升100%?
本文轉自 | 公眾號 AI 前線(ID:ai-front),未經授權不得轉載
採訪嘉賓|張瑞(知乎首頁技術團隊負責人)
作者|Vincent
編輯|Debra
導讀:知乎是一個問答社區和知識分享平台,各行各業的從業者在這裡分享自己領域的知識,來這裡的人也是抱著學習的態度,希望有所收穫。推薦系統作為知乎的核心功能,一直希望為用戶提供最佳的內容推薦,隨著移動互聯網的發展,內容平台迎來了黃金時代,但也不可避免的出現了很多問題和挑戰。 作為用戶,最關心的是推薦內容的質量以及相關度。如何過濾掉無效的信息,從而給用戶提供最為精準的內容推薦,這也是知乎一直在思考的問題。
如今,推薦系統已經在各行各業中有所應用,在知乎,推薦系統更是一項核心功能。
據了解,目前知乎的推薦系統主要分為兩部分:一部分是首頁信息流的個性化推薦;另一部分是在各種用戶場景,比如問題路由、相關推薦等等功能上的推薦。
在這些場景下面,知乎用到的技術並不是完全一樣的,所採用的技術架構也並不相同,張瑞告訴記者:主要還是根據用戶場景來決定使用什麼樣的架構和技術。
在首頁的個性化推薦里,主要採用的技術包括:對圖文內容、視頻內容的基本的識別和畫像,對用戶的畫像,以及圖文內容和視頻內容裡面的實體識別以及關聯,張瑞表示這些都是基礎的組件;而上層在召回排序環節則大量的採用了 DNN,也就是深度神經網路技術。
由於平台的發展,早先單純以圖文為主的交流方式已經不足以讓用戶滿足,於是知乎平台上也出現了不少視頻、音頻的內容,但是文字仍然佔據了大量的比重,這對於知乎的推薦系統來說是個好事兒。
為什麼這麼說呢?張瑞解釋道,圖文推薦系統和其他推薦系統的區別在於:目前的 AI 演算法技術對圖文內容的理解會比視頻和音頻多媒體更加深入。而且對於絕大部分公司來說,在圖文推薦系統中對圖文內容本身做深入理解,從成本上也是可接受的。這種理解不只是從用戶的交互入手,或者把一個圖文內容看成單個、原子的 item,而是更深入的去了解某篇圖文到底講的是什麼、它的質量是什麼樣子等等一系列的信息。所以其實相對於商品推薦、視頻推薦等等領域,圖文推薦會有更多的信息可以使用。
「當然現在業界在做圖文推薦系統的時候,也會使用到這些信息。」張瑞說:「大家在這一領域的競爭還是很激烈的。這個激烈就在於:每家公司對圖文內容的刻畫、選擇的維度都是不一樣的,能做到的深度也是不一樣的,而這個維度和深度本身就決定了圖文推薦能做到用戶的體驗的上限有多少。」
為了提升用戶體驗的上限,知乎推薦系統也經歷了升級改造。
張瑞告訴我們,知乎最初的推薦系統版本非常簡單,僅僅是根據用戶的關注行為進行推薦,比如有新的話題出現,用戶一旦關注了就推薦給 TA 相關的內容,不關注就不推薦。此外,推薦的排序也是非常簡單的,就是依靠時間流,即使後來引入了 EdgeRank 之類的簡單的演算法,做到的也僅僅是時間、文本內容質量等相關的權重的一個簡單的信息加權。
隨著新用戶的進入,研發團隊發現:在 Feed 流推薦場景下,用戶都是越來越「懶」的,大部分用戶希望不進行繁瑣的操作,就能得到非常好的推薦結果。於是,推薦系統團隊針對性的進行了一些優化,比如:在召迴環節,引入更多根據用戶的行為來召回內容的方式;在排序環節,把用戶的各種行為,以及內容的各種細緻刻畫都引入進來,通過 DNN 神經網路進行排序,無論是老用戶也好,新用戶也好,整體上去優化他們的體驗。
知乎多召回源融合的推薦結果生成框架
張瑞說:「從效果來看,新的系統上線了之後,對比最初的版本,分發量等等指標基本上都增長了至少三倍。」
多目標學習的推薦系統
知乎 CTO 李大海曾經在去年的一次演講中提到了「多目標學習」的推薦系統,據了解這也是知乎優化推薦系統的一個方向。那麼這個「多目標學習」該如何解釋呢?
張瑞告訴我們,一般來說在搜索和推薦等信息檢索場景下,最基礎的一個目標就是用戶的 CTR,即用戶看見了一篇內容之後會不會去點擊閱讀。但其實用戶在產品上的行為是多種多樣的。尤其在知乎,用戶可以對某個內容進行點贊,可以收藏這個內容,可以把它分享出去,甚至某個問題如果他覺得比較符合他的興趣,想去回答,也可以進行一些創作。
雖然可以對用戶的 CTR 進行單個目標的優化,但是這樣的做法也會帶來的負面影響:靠用戶點擊這個行為推薦出來的內容並不一定是用戶非常滿意的內容,比如有人可能看到一些熱門的內容就會去點擊,或者看到一些閱讀門檻低的內容,像一些引發討論的熱點事件、社會新聞,或者是一些輕鬆娛樂的內容,用戶也會點擊。這樣造成的後果就是:CTR 的指標非常高,但是用戶接收到的推薦結果並不是他們最滿意的。
後來,知乎的產品研發團隊發現:用戶的每種行為代表在一定程度上都代表了某個內容是否能滿足他不同層面的需求。比如說點擊,代表著用戶在這個場景下,想要看這個內容;贊同,代表用戶認為這個內容其實寫的很不錯的;收藏,代表這個內容對用戶特別有用,要把它收藏起來,要仔細的再去看一看;分享,代表用戶希望其他的人也能看到這個內容。
而單目標 CTR 優化到了一個比較高的點之後,用戶的閱讀量雖然上去了,但是其他的各種行為是下降的。這個下降代表著:用戶接收到太多的東西是他認為不實用的。
於是,推薦系統團隊陷入了思考:能不能預估用戶在其他行為上的概率?這些概率實際上就是模型要學習的目標,多種目標綜合起來,包括閱讀、點贊、收藏、分享等等一系列的行為,就能綜合到一個模型裡面進行學習,這就是推薦系統的多目標學習。
"多目標"預估模型
與所有的系統類似,知乎的多目標推薦系統最初也是一個比較簡單的版本,僅僅是給各個目標學習一個模型。這種情況下,模型本身的訓練和在線預測的負擔就會非常嚴重,每一個模型的訓練和預測都要耗費同樣的資源,這樣對於工程資源壓力是非常大的。這些模型之間還有互相的交叉、驗證;每個模型還需要評估,離線評估一遍,在線評估一遍,之後再合併... 林林總總的行為加起來,對研發資源造成的負擔是非常大的。
所以,在多目標推薦系統的第一版做出來之後,團隊就在考慮:能不能使用模型之間共享一些參數的方式,或者共享模型本身以及訓練流程的方式,來減少在訓練上的負擔,以及它在工程成本、研發成本上的負擔?
以此想法為基礎,團隊做出了一個能夠在底層共享相關參數,在頂層根據各種模型、目標本身特點而學習的特有的神經網路架構,張瑞說,這套架構中參考了很多現有的多目標學習的研究進展。
雖然解決了一部分問題,但是把多個模型融合在一起,通過一個模型去學習一個目標的方式仍然存在問題。
首先,目標之間的相關性決定了這個模型學習的上限能有多少。比如:如果一個模型中點贊和點擊是完全耦合的,那麼這個模型在學習點贊的過程中,也就學習了點擊。但是對用戶來講,它的意義是不一樣的,這並不是一個完全耦合的系統。
在這個學習任務下,如果去共享底層網路參數的話,可能會造成底層的每個目標都能學習一點,但是每個目標學習的都不夠充分,這是多目標學習系統實現的一個難點。為了解決這個問題,研發團隊參考了 Google 發表的一篇論文,叫做 Multi-gate Mixture-of-Experts,簡稱 MMOE。
MMOE 的核心思想是:把底層的網路劃分成一些專用的模塊,雖然底層參數是共享的,但是通過目標和網路參數之間的一個 gate(門)來學習,讓每部分網路充分學習到對每個目標的貢獻最大的一組參數結構,通過這種方式來保證,底層網路參數共享的時候,不會出現目標之間相互抵消的作用。
張瑞告訴我們,經過嘗試之後,交互層面的預估子任務的 AUC 值得到了至少千分之二的提升,在模型的主任務也就是預測閱讀的任務中,AUC 也沒有下降。上線之後,取得的效果也是非常正向的。
張瑞還跟我們同步了一些數據。從數據來看,在引入多目標學習之前,知乎的預測模型已經做到了非常高的準確率,在引入多目標學習之後,或多或少都會對閱讀行為有一定的負向作用:多目標學習在上線以來,閱讀行為下降了 2% 左右,但是用戶的其他行為(比如點贊、收藏、評論、分享等),分別提高了 50%~100%。
如果看最直接關係到用戶體驗的數據,也就是用戶的留存率,上線多目標學習之後,知乎的整體用戶留存率大概提升了 5% 左右。「對於任何一個推薦系統來說,整體的用戶留存率能提升 5% 都是非常高的收益。」張瑞補充道。
至於用戶反饋,張瑞告訴我們,現在知乎有一些固定的渠道方便用戶提供反饋。他告訴我們:「在引入多目標學習之前,我們接到的最多的反饋就是用戶覺得在 Feed 流里,內容越來越淺顯。這些反饋主要來自於知乎的重度用戶和一些比較老的用戶,他們對知乎的期望都是非常高的,希望知乎能夠把一些特別有用的知識帶給他們。之前,機器的優化閱讀會帶來一些反向作用,有用戶覺得知乎推薦的內容雖然都特別抓人眼球,但實際的用處並沒有那麼大。在新的推薦系統上線之後,很多人表示 Feed 流裡面的內容質量變高了,用戶沉浸式的體驗感變得更深了。」
引入多目標學習的推薦系統在知乎已經收穫了不少的正面效果,但是張瑞表示,團隊目前遇到的一個令人困擾的問題是:多個目標中,到底以什麼樣的方式去對目標進行權衡和融合,才能得到用戶收益和平台收益的最大化?
打個比方,用戶其實在 Feed 流裡面消費內容的時候,他期望的並不是非常單一的場景,系統提供一些供消遣而淺顯的內容,閱讀量會上漲,但是用戶會覺得體驗不好;但如果推薦的全是一些收藏率特別高的內容,對於用戶來講,雖然這類內容非常有用,但閱讀起來會很累。
張瑞說:「對於平台來講,我們最關注的是用戶在 Feed 流的場景下面的體驗如何。這直接關係到我們用戶的留存和用戶的活躍。」
所以現在知乎在嘗試一些解決方案,包括對用戶進行分群,看某個群體的用戶最在意的是什麼樣的內容。但這是一個通過產品經理,或者通過人的觀察來確定的事情,比如說某些領域的重度用戶會特別在意推薦的內容對他們有沒有用;一些輕度的用戶,他們來到知乎的主要的目的是為了輕量閱讀,一些易於消化的內容對他們更友好。
對用戶分群之後,就可以動態調整每個目標的權重,給出一個最終的排序。這對於推薦系統當然是有收益的,但是張瑞認為在現在還沒有一個非常完善的方法來判斷,什麼樣的群體、什麼樣的目標,他們之間以什麼樣的比例去進行融合,從而給最終全局一個最好的收益。
現在業界的各種推薦系統的方法,大家都會去預測 CTR(點擊率)、預測 CVR(轉化率),預測各種各樣行為的概率,但是很少有公司去做預測用戶的留存。這也是整個推薦行業,或者說推薦技術圈面臨的一個挑戰:所有的這些行為概率,都是用戶體驗的一個方面,不能代表用戶體驗的整體最優,那麼,用什麼樣的方式能夠給用戶的體驗帶來最大化的收益,仍然是業界目前面臨的一項挑戰。張瑞認為,通過多目標學習來間接的達到這個目標,間接的達到全局最優化,對於提升用戶體驗也許是一種解決方式。
未來規劃
除了多目標學習,有兩個方面的技術發展也是張瑞極其關注的,他認為,這兩項技術對推薦系統也是很有幫助的。
首先是對於內容質量的判別。
知乎的場景主要是圖文,所以開發人員也會更在意圖文質量的判別。圖文質量的判別包括細粒度特徵,比如某個內容對於什麼樣的用戶來說是好內容,對於什麼樣的用戶來說不是。舉例來說,一篇講機器學習基本知識的內容,對於機器學習的入門初學者可能是非常好的內容,但是對於知乎上面的一些機器學習大牛就是一個並沒有多少信息量的東西。
張瑞表示,怎麼能夠實現對內容質量,或者內容價值的細粒度的刻畫是非常難的一件事,好在業界一直在技術上推進,現在取得了一些進展,包括 Google 最近發表的論文 BERT,它能夠對文字內容進行不同於往常的 embedding 嵌入式表示。
其次是對於深度神經網路的解析。
現在的很多場景都用到了深度神經網路,但是張瑞告訴我們:對於深度神經網路來說,絕大多數的場景仍然是黑盒子,即使再往前進一步,不是絕對的一個黑盒子,起碼也是一個灰盒子。
在中間的輸入和輸出之間到底有什麼樣的關聯?哪個輸入的因子能夠對輸出起到最重要的作用?這個作用能不能可量化的去評估?現在業內在這一領域的研究的成果並不是非常多,所以張瑞覺得,怎麼去解析一個 DNN 的網路,實際上是對應到開發者能不能真正的去了解這個模型,能不能去準確的判定它是怎麼工作的,以至於,能不能對下一步的工作提供指導,比如什麼樣的特徵,或者什麼樣的網路構型能夠產生更大的收益?
現在大部分情況下還是靠人的經驗,一點點的去嘗試,如果能夠把 DNN 的解析給做好,在未來的各種迭代的效率,以及研發的效率可能就會出現一個質的飛躍。
深度神經網路解析對於推薦系統可能會更重要。張瑞強調道,現在有些研究是在針對推薦系統的可解釋性,但是很多時候用戶看到的推薦內容,實際上是不清楚為什麼推給他,如果不清楚原因,有些用戶就沒有動力仔細的去看。比如在網上上買東西,電商平台推薦的商品根據用戶性別甚至是消費級別進行推薦的,但是對用戶來說,如果不給出一個解釋理由的話,用戶或許很難去想到這個東西到底跟自己有什麼關聯。
張瑞認為:「如果對於深度神經網路的解析,能夠有一個比較大的進步,我們可以反向倒推出來,把哪些東西推給用戶是最重要的,同時也就可以給這個用戶解釋,我為什麼給你推這個東西,能夠提高用戶的篩選效率,並且提高用戶的在整個推薦系統上的黏性和消費意願。」
最後張瑞談了談對知乎推薦系統未來發展的規劃與期待。
從用戶的決策面來說,知乎推薦系統團隊希望能夠多樣的提升用戶和信息之間的匹配的準確性,盡量把更多的信息帶給用戶。可能需要通過上文提到的各種各樣的方式去一點一點實現這個目標。
從平台方面來說,首頁的推薦系統在知乎流量來源裡面佔有非常大的比重,同時也支撐著知乎各個業務的發展,所以,張瑞希望打造出一套非常靈活的系統,能夠根據業務當前的需求,或者公司目前的運營狀態,把流量導去對平台、公司和用戶有益的地方,最終實現流量分配之後,對流量使用的價值進行評估的一種機制。
採訪嘉賓介紹
首頁技術團隊負責人 張瑞
張瑞,畢業於北京郵電大學,先後在百度、豌豆莢等從事搜索、搜索廣告、推薦系統中的機器學習、自然語言處理、推薦演算法等方向的工作。目前擔任知乎首頁技術團隊負責人、首頁業務總監,負責知乎信息流產品的技術研發及產品運營團隊。
原文傳送門:https://mp.weixin.qq.com/s/J0j9NwSNhxab6bXqBBzaUw
※「+智能」時代,華為如何將AI賦能到各行各業?
※谷歌雲要想發展好,得先學會挖牆腳
TAG:雷鋒網 |