本文由 【AI前線】原創,原文連接:http://t.cn/RTGs81x算法
AI 前線導讀: 不久前,Netflix 推出交錯測試個性化推薦算法,計算速度提升 100 倍秒殺 A/B 測試的消息引發了不小的轟動。而僅一週後,這家視頻網站宣佈了他們利用情境 bandits 推薦算法,實現了視頻配圖的個性化處理。微信
多年來,Netflix 個性化推薦系統的主要目標,是爲用戶在合適的時間推薦合適的視頻。Nteflix 網站上每一個分類頁面下有成千上萬部影片,用戶帳號達數十億,爲每一個用戶推薦最合適的視頻是頭等要事。但推薦系統能作到的不只是這些。怎樣讓用戶對你推薦的視頻感興趣?怎樣讓一個陌生的視頻激起用戶的興趣?什麼樣的視頻值得關注?回答這些問題對於幫助用戶發現好的內容相當重要,特別是對於不熟悉的視頻。框架
用來描述視頻的配圖或圖像,是能夠輕鬆地解決這個問題的方法之一。若是一張配圖對用戶有足夠的吸引力,好比用戶熟悉的演員、讓人腎上腺激素飆升的汽車追逐場面,或者一部電影或電視節目精髓的戲劇性場景等信息(一張圖片賽過千言萬語),就會誘惑用戶點開視頻。這是 Netflix 與傳統媒體產品不一樣的一點:咱們的產品可能超過一億種,爲每一個用戶提供個性化推薦和個性化的視覺效果。機器學習
(沒有配圖的 Netflix 主頁)學習
以前,咱們討論過如何作到爲全部會員的視頻匹配最合適的圖片。經過多臂老虎機算法,咱們能夠爲視頻找到最合適的配圖,以《怪奇物語》爲例,這部影片得到了最高用戶播放率。可是,鑑於用戶的品味和偏好存在巨大差別,若是咱們可以找到每一個用戶偏好的點,並在配圖中能呈現出他們最感興趣的東西,效果不是更好嗎?測試
(爲《怪奇物語》設計的配圖,不一樣的圖像涵蓋了節目中的不一樣主題)網站
咱們探討一下配圖個性化在哪些場景下具備重要意義。例如,每一個用戶有不一樣的觀看歷史,下圖左是三個用戶過去看過的視頻,箭頭右側是咱們爲會員推薦的頗受歡迎的電影。設計
咱們爲電影《心靈捕手》設計個性化配圖的根據是每一個用戶對不一樣類型和主題的偏好。對於看過許多浪漫愛情電影的人,若是他的推薦圖片中包含馬特·達蒙(Matt Damon)和米妮·司各德(Minnie Driver)的信息,可能他會對《心靈捕手》感興趣,而若是是對於看過不少喜劇片的用戶,咱們在推薦圖中包含知名喜劇演員羅賓·威廉斯(Robin Williams)的信息,吸引他的概率可能更大。3d
另外,個性化配圖對喜歡不一樣演員的用戶會產生什麼影響呢?以《低俗小說》爲例,一位觀看過不少烏瑪·瑟曼(Uma Thurman)出演電影的用戶可能會對包含烏瑪(Uma)信息的圖片反應更爲積極。同理,John Travolta 的粉絲更可能由於圖像中包含 John 而被這部影片吸引。調試
固然,並非全部的配圖個性化場景都是這麼明瞭的。因此咱們並無窮舉這些規則,而是依靠數據來告訴咱們應該使用什麼圖片。整體而言,經過配圖個性化處理,咱們能夠幫助提升每一個用戶的體驗。
克服重重挑戰
Netflix 還經過算法對網站作了不少個性化處理,以提升會員體驗,包括主頁列表選擇、列表的標題、展現的圖片、發送的消息等等。對於咱們來講,每個方面的個性化處理都是獨特的挑戰,個性化配圖也不例外。其中,圖像個性化處理的挑戰之一,是每一個位置視頻的配圖只能有一張。相比之下,典型的推薦設置能夠向會員提供多個選擇,以後咱們能夠從會員的選擇中瞭解他們的偏好。這意味着圖像選擇是一個在閉環中操做的雞與雞蛋問題:會員選擇播放哪一個視頻的根據只有圖片。這就致使一個問題:當咱們推出個性化圖片時,會不會影響成員播放(或不播放)視頻,以及什麼狀況下是無論咱們放了哪張圖片,用戶仍會播放視頻(或不播放)。所以,個性化配圖推薦應該結合傳統方法與算法才能奏效。固然,爲了正確學習配圖個性化,咱們須要收集大量的數據,來找到能代表哪一個配圖對於用戶更合適的信息。
另外一個挑戰,是要理解配圖變化所產生的影響,是否會下降視頻的可識別性,讓視頻在視覺上難以從新找到?例如,會員以前感興趣但至今尚未注意到的視頻,或者,配圖改變是否會讓用戶改變想法。若是咱們找到更好的圖片呈現給會員並不斷更換圖片,會讓會員感到迷惑。另外,改變圖像也會引發歸因問題,由於咱們不清楚到底是哪張圖像引發了會員對視頻的興趣。
接下來,是要理解配圖如何與同一個頁面或者階段選擇的其餘配圖進行合理關聯。也許主角的大膽特寫很是適用於頁面上的視頻配圖,由於與其餘做品相比,它顯得很是突出。可是,若是整個頁面的配圖都是這一類型,那麼它的效果反而會大打折扣。所以,孤立地看每一幅圖片可能還不夠,咱們須要思考如何在整個頁面使用多樣化的圖像。配圖的效果可能還取決於圖片以外其餘的因素(例如簡介、預告片等)。因此,咱們的圖片選擇應該多樣化,讓每一個視頻之間都能造成互補。
爲了實現有效的個性化,咱們還須要爲每一個視頻提供優質的做品庫。這意味着咱們須要多個庫存,而且每一個庫存的圖片都是很是有吸引力、信息豐富且與視頻契合,但要避免那種「標題誘餌」式的圖片。視頻的圖像集也須要足夠多樣化,以涵蓋對內容的不一樣角度感興趣的廣大潛在觀衆。畢竟,一張配圖的信息量取決於看到它的個體。所以,咱們的配圖不只須要突出視頻中的不一樣主題,還要突出不一樣的美學。
最後,是大規模個性化配圖面臨的工程挑戰。因爲咱們的會員體驗是視覺化的,包含大量的圖像,所以,系統在峯值時須要每秒處理超過 2000 萬個低延遲請求。這個系統必須足夠強大,由於用戶界面不能正確渲染圖稿,用戶體驗會顯著降低。並且,個性化算法還須要在視頻上傳時作出快速響應,這意味着要在冷啓動的狀況下快速學習個性化。啓動後,該算法必須不斷進行調試,由於配圖的效果可能會隨着時間的推移而變化,視頻的生命週期不斷演變,並且會員的品味也在不斷變化。
情境 bandits 推薦個性化配圖
Netflix 的大部分推薦引擎都採用機器學習算法。首先,咱們會收集一批關於會員如何使用服務的數據,而後在這批數據上運行一個新的機器學習算法。接下來,咱們對這種算法在現有生產系統上進行 A / B 測試。經過在隨機子集上進行 A / B 測試,咱們瞭解到新算法是否比現有的生產系統更好。A 組會員表明當前的產品體驗,而 B 組表明新算法下的產品體驗。若是 B 組中的會員對 Netflix 的參與度更高,那麼咱們將把這個新算法推廣到整個會員羣體。不幸的是,這種批處理方式也有缺憾(regret):許多會員長期以來並無更好的用戶體驗,以下圖所示:
爲了減少這個缺憾,咱們放棄了批處理機器學習,而使用在線機器學習。對於圖片個性化,咱們使用的在線學習框架是情境 bandits(contextual bandits)。情境 bandits 並非收集整批的數據,進行學習模型訓練,直到 A / B 測試結束,而是能夠迅速爲每一個會員找到最合適的個性化圖片。簡而言之,情境 bandits 是一類在線學習算法,這種算法能夠在學習無誤差模型所需的訓練數據成本,和將學習模型應用於每一個會員的好處之間進行權衡。咱們使用非情境 bandits 進行非個性化圖像選擇,找到不考慮情境的最佳圖像。而對於個性化推薦,每一個會員均表明不一樣的情境,由於咱們預計不一樣的會員會對圖像作出不一樣的反應。
情境 bandits 的一個重要屬性,是其是爲儘可能減少缺憾而設計的。在高層次上,咱們經過在學習模型的預測中輸入受控隨機化來得到情境 bandits 的訓練數據。隨機化方案的複雜性能夠從簡單的具備均勻隨機性的 epsilon-greedy 公式,到隨着模型不肯定性而自適應地改變隨機化程度的閉環方案。咱們將這個過程稱爲數據探索(data exploration)。進行這樣的探索,咱們須要記錄每一個配圖選擇的隨機化信息。這種日誌記錄讓咱們能夠糾正走偏的選擇傾向,從而以稍後所述的不偏頗的方式執行離線模型評估。
因爲咱們可能不會採用情境 bandits 算法預測的最佳圖像,因此數據探索可能會產生成本(或缺憾)。這種隨機性對會員體驗(以及咱們的指標)有什麼影響呢?咱們有超過一億的會員,一般狀況下,探索帶來的缺憾很是小,分攤到龐大的會員基數上,每一個會員都會爲記錄提供一小部分反饋。這使得每一個成員的探索成本能夠忽略不計,這也是起碼選擇情境 bandits 改善會員體驗的重要因素。若是探索成本很高,那麼使用情境 bandits 進行隨機化和數據探索就不太合適。根據咱們的在線數據探索方案,無論視頻是否被播放,咱們都會得到一個記錄每一個(會員、標題、圖像)元組的訓練數據集。此外,咱們能夠控制探索,使圖像選擇不會常常變化,這使得會員對特定圖片的參與度更加清晰。
模型訓練
在在線學習中,咱們訓練情境 bandits 模型根據情境爲每一個會員選擇最合適的圖片。一般每一個視頻最多有幾十張候選圖片,爲了訓練選擇模型,咱們爲每一個會員的圖片進行排名來簡化問題。簡化以後,咱們仍然能夠找到會員對視頻圖像的偏好,由於呈獻給用戶的每一個候選圖像,有一部分會引發用戶的參與,而另外一部分則不會。咱們能夠對這些偏好進行建模和預測,會員享受高質量參與度的機率會相應提升。這樣的模型能夠是監督式學習,也能夠是湯普森抽樣(Thompson Sampling)情境 bandits、LinUCB 或貝葉斯方法(Bayesian)。
潛在的信息
在情境 bandits 中,情境一般表示爲模型輸入提供的特徵向量。咱們可使用許多信息做爲特徵,尤爲是會員的許多屬性:他們播放的視頻、視頻類型、會員對特定視頻的參與度、國籍、語言偏好、使用設備、時間等。
另一個重要的考慮因素,是候選池中一些圖片優於其餘圖片。咱們觀察數據探索中全部圖像的整體轉換率(take rates),即高質量播放次數除以印象數量。之前作非個性化圖像選擇時,咱們僅根據整體轉換率之間的差別來決定爲用戶批量選擇的最佳圖像。而在咱們新的情境 bandits 個性化模型中,總體轉換了仍然是重要的,而且個性化推薦仍會與非個性化圖像排名有必定重合。
圖像選擇
爲會員提供合適圖像,其實是一個從與視頻匹配的的可用圖像池中找到最佳候選圖像的選擇性問題。模型通過上述訓練後,咱們用它來對每一個情境的圖像進行排序,並預測爲會員推薦圖像會引起播放的機率。咱們按這些機率對候選圖像集進行排序,並選擇出機率最高的圖像。
效果評估
離線
在線上部署以前,咱們可使用一種稱爲「重播」的離線技術 [1] 對情境 bandits 算法進行評估。這種方法讓咱們能夠根據記錄的探索數據來回答反事實問題(圖 1)。換句話說,若是咱們在同等條件下使用不一樣的算法,在不一樣情境下在線下會發生什麼。
(圖 1:根據記錄的數據計算重播率的簡單示例。爲每一個成員分配一個隨機圖像(第一行),系統記錄了視頻印象以及用戶播放了視頻(綠色圓圈)或沒有(紅色圓圈)。經過匹配隨機分配和模型分配重合的部分(黑色方塊),計算該子集的分數來計算新模型的重播指數。)
若是咱們假設提供的圖像是經過新算法選擇的,而不是現用的算法,則重播顯示出會員對視頻的參與度。圖 2 顯示了與隨機選擇或非情境 bandits 相比,情境 bandits 如何提升記錄中用戶的平均參與率。
(圖 2:基於圖像探索數據記錄中重播率,不一樣算法選擇的圖像平均分數(越高越好)。隨機(綠色)表示隨機選擇圖像,簡單的 Bandit 算法(黃色)選擇具備最高分數的圖像。情境 bandits 算法(藍色和粉紅色)根據情境爲不一樣的成員選擇不一樣的圖像。)
(圖 3:根據用戶我的資料進行的情境圖像選擇示例。Comedy 指主要觀看喜劇片的我的資料,Romance 表明看愛情片最多的用戶我的資料。情境 bandits 算法爲更喜歡喜劇片的會員推薦了帶有著名喜劇演員羅賓·威廉姆斯(Robin Williams)形象,同時更爲浪漫的情侶接吻圖片。)
在線
通過對多種離線模型進行試驗以後,咱們找到了能夠提升重播率的模型,最後進行 A / B 測試,以對個性化情境 bandits 與非個性化 bandits 進行比較。正如咱們所料,個性化對核心指標提升起到了重大的做用。咱們也看到了線下測量重播率與線上模型之間的合理性關聯。在線結果還發現了有趣的現象,例如,在會員以前沒有參與的視頻,個性化的改善效果更好。這不無理由,由於咱們更但願這個算法對用戶並不熟悉的視頻發揮更大的做用。
結論
如今,咱們已經邁出了第一步,在個性化圖片推薦和其餘服務中採用了這種方法。這改進了用戶發現新內容的方法,有史以來,咱們不只對推薦內容進行了個性化,並且對推薦的方式也進行了個性化。可是,這個方法還有不少能夠改進的地方,應用的範圍也能夠進一步擴大,包括經過計算機視覺技術開發能以最快的速度對圖像和視頻進行個性化處理的算法冷啓動等。另外一個機會是能夠將這種個性化方法擴展到咱們使用的其餘類型的配圖以及其餘視頻描述語,例如概要、元數據和預告片中。
文章來源:
https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76
做者:Ashok Chandrashekar,Fernando Amat,Justin Basilico 和 Tony Jebara
關注咱們的微信號"AI前線",後臺回覆「AI」可得到《AI前線》系列PDF電子書