日均億次廣告投放的FreeWheel如何實踐機器學習?



來源 | AI科技大本營(公衆號ID:rgznai100)


AI 前線導讀:FreeWheel 創建於 2007 年,總部位於美國硅谷,作爲一家提供互聯網視頻廣告投放、監測、預測、增值等解決方案的 IT 公司,其已爲 CBS、Warner Brothers、Turner、Discovery 等公司提供服務,日均廣告投放已超過上億次,並且這個數字仍在快速增長。

隨着業務的迅猛擴增,機器學習技術也成了 FreeWheel 技術團隊的選擇。尤其在預測網站視頻的流量上,機器學習可以大幅提升預測的精準度。對於視頻網站來說,更加精準的視頻流量預測可以更好地幫助客戶進行庫存計劃、廣告售賣、風險控制等,從而增加收益,達到雙贏。


爲了揭開與這項技術相關的探索和實踐,InfoQ 採訪到了 FreeWheel 北京研發中心的一支技術團隊,從而爲更多讀者講述利用機器學習預測視頻網站流量背後的故事。圖一爲他們的系統示意圖。


圖一 系統示意圖


01
項目背景


機器學習現在已經在廣告行業有了十分廣泛的應用,特別是被用在預測視頻網站流量上。在採訪的開始,FreeWheel 的研發人員葉博睿爲我們簡單闡述了這一技術解決方案的痛點。

FreeWheel 的客戶大多擁有大量高品質的內容,諸如:直播體育賽事、美劇、電影等。由於這些內容大多是在固定時段播出,其流量會呈現出一定的週期性,但多方面因素的存在導致這種週期性並非嚴格。

比如,美劇《摩登家庭》在每年的九月底更新一季,那麼在這個時期的視頻流量就會上漲,不過並非每年九月份的觀看量都一模一樣。通常,非機器學習的傳統流量預測方法會有以下三個痛點:

(1)基於採樣的預測方法難以捕捉週期性信息,從而預測精度會低;

(2)不同的客戶擁有很多不同的視頻,這個量級多達百萬,而每個視頻的週期卻不盡相同,如果對每個不同的視頻人工處理無疑是非常困難的;

(3)數據不具有嚴格的週期性,使得傳統統計模型 ARMA、ARIMA 難以得到滿意的結果。

此外,研發人員表示,對於很多客戶來說,他們的季節性賽事流量難以用算法預測,只能自己手工調整,這給運營帶來了很多壓力。如果手工預測的結果不好,還會影響廣告的售賣等。

爲了解決以上問題,FreeWheel 採用了機器學習的方法去自動判別一個視頻的流量是否有週期性,並且從歷史數據中提取週期特徵進行流量預測。

團隊是從 2017 年開始這一項目的。在此之前,團隊進行過很多其他非機器學習的嘗試,比如使用採樣方法來預測,效果並不理想。在深入理解和分析了客戶的業務場景和數據特點後,團隊提出了用機器學習來解決的想法。

2017 年上半年,團隊經過反覆實驗,確定了視頻流量季節性判定算法和流量預測算法。在上線之後改進了算法效果評估準則、新增視頻分類算法;下半年,團隊優化了預測邏輯,客戶也從最初的 2 個增長到 11 個。

2018 年,團隊開始嘗試基於深度學習的一系列方法,其中包括基於卷積神經網絡(Convolutional Neural Networks)的季節性判定算法和基於循環神經網絡(Recurrent Neural Networks)的序列到序列(sequence-to-sequence)模型的流量預測算法。據介紹,這些工作還在持續的進行當中。

發展至今,這一項目已取得了不錯的成果。我們瞭解到,目前,FreeWheel 主要客戶 60% 的流量預測都已遷移到了該解決方案且運行穩定,並得到了客戶的積極反饋。有些客戶還專門發來郵件致謝,例如 Channel 4 就曾說:“We can see dips in forecast results when we  expect to see dips. Thank you for your hard work!”

下面展示他們部分線上預測結果圖:



其中,綠色線爲客戶的實際流量,藍色線爲機器學習算法預測出的流量,紅色線爲採樣預測的流量。可以看到機器學習算法的預測結果和實際流量貼合地非常好。

利用機器學習,團隊已經解決了前文中提到的痛點,新的算法已經可以準確捕捉季節性信息,適配不同的客戶,並且極大地降低各方面的運營成本等。


02
技術選型


在技術實現上,流量預測存在很多具體的技術難點。而機器學習可以很好地解決這些難點:

(1)判定一個序列是否存在週期性。網站視頻流量的一個非常大的特點就是噪音很大且不是平穩時間序列,用傳統統計的方法來抽取出週期性會非常困難。使用機器學習的方法,可以合理提取網站視頻流量的特徵,比較視頻流量模型每年的相似程度,從而判定視頻流量是否存在週期性。

(2)通過週期性特徵和趨勢特徵合理預測流量。機器學習的方法可以通過提取上一個週期的流量和最近的流量作爲特徵進行訓練,從而預測未來幾天的流量信息。

(3)對不同的客戶使用不同的模型預測流量。因爲不同客戶之間的流量規模和分佈差距比較大,使用傳統方法會非常困難。而機器學習的方法可以爲每個客戶分別訓練一個模型,速度快且沒有人工成本。

(4)建立數據長度容忍度更高的模型。對於週期性不強或者數據長度不夠但仍然有趨勢特徵的視頻流量序列,可以使用神經網絡這種對週期性和數據長度沒有那麼敏感的模型。

(5)預測結果的可解釋性。業務所用的算法,能夠通過數據判斷出哪些歷史日期對於今天的流量預測更有意義,從而在客戶對預測結果有疑問時,從算法層面給予更合理、更精準的解釋。

具體的技術實現可分爲這樣三個階段:


01
 前期準備


首先需要了解業務邏輯和客戶需求,判斷是不是機器學習可解的問題。這個問題的業務特點是通過用戶的歷史流量去預測未來流量,這種基於數據的預測問題正是機器學習非常擅長的。

其次是瞭解客戶的數據特點。體育賽事視頻、美劇、電影的視頻觀看量數據每天更新,可以看作是一個基於天的時間序列預測問題。這個時間序列的特點在於:

(1)不同客戶的不同視頻,觀看量規模不同;

(2)視頻觀看量時間序列呈現週期性變化,但不是嚴格的週期性。

此外,還需要了解用戶的需求。用戶的流量數據每天都會更新,研發需要每天吸收新的數據,做更準確的預測。最後,根據用戶的數據特點和需求,選取合適的數據預處理方案和機器學習算法。


02
中期實現


由於客戶的視頻量十分巨大,一個客戶可以有百萬甚至千萬級別的視頻,因此機器學習算法訓練的壓力十分大。

對於線性迴歸來說,擬合數據往往需要數小時乃至數天的時間。如果需要每天吸收來自客戶的新的數據並且及時作出更新的預測,這個開銷無疑是無法接受的。於是,在預處理階段,他們的研發團隊將類似的視頻的流量合在一起做訓練和預測,最後通過加權的方法分配流量。

根據不同客戶的特點,他們使用了很多不同的分類方法。比如將《摩登家庭》十個季度、NBA 體育賽事視頻分別聚類在一起等。研發人員說,這樣的做法還有一個好處:有的時候單一的視頻流量並沒有呈現週期性變化,但是累加在一起就有週期性變化了。比如將《摩登家庭》十個季度的觀看量加在一起,就會呈現出一個十年的按一年爲週期的規律性變化的時間序列,對於流量預測有很大的好處。

然而,如果基於過去幾年的流量進行預測,直接將幾千維的特徵輸入迴歸算法中訓練,速度會非常慢,也無法達到客戶的要求。並且,這幾千維特徵也會讓機器學習算法難以找到關鍵性信息從而作出有效的預測。這時候就要求研發人員正確地對數據進行降維,並且保留週期性信息。

FreeWheel 的研發人員選擇抽取以往每年、每月、每週在需要預測的這天的流量信息,成功將特徵維度降低到一百維以下。這樣就可以在保證準確度的情況下快速進行訓練和分類。在線上,可以僅用一個小時左右的時間完成對一個客戶所有視頻數據的訓練。

對於新來的沒有歷史流量的視頻,如何預測呢?研發人員告訴我們,在預處理中,會把相似的視頻分類到同一個視頻組中,再分配一個默認的權值去分擔在視頻組中預測的流量。

另外,一些沒有任何週期性特點的短視頻又該如何處理?在 FreeWheel 的視頻分類算法中,有一種按視頻長度分類的方法。短視頻雖然沒有週期性特點,但是有用戶喜歡看某類的短視頻,如果將這些流量相加,就會呈現一定週期性了。

通過對不同視頻的分類,再應用上合適的機器學習模型,對視頻流量精準度的預測自然而然地有了大幅度提升,當然這還不是完整的流程。


03
後期運維及注意事項


後期運維主要在於接收新客戶,對客戶的數據特點進行評估看能否與預測系統適配,有些客戶會對他們特別關注的視頻有一些需求,算法也會相應地進行一些微調。


03
技術方案特點


據瞭解,國內外很多大型的視頻網站都會有自己的視頻流量預測解決方案,在這樣的情況下,FreeWheel 的解決方案有哪些特點和優勢呢?

研發人員表示,通常的做法主要分兩種:

第一種是自己實現算法在自己的視頻流量上做預測。這麼做的公司對自己的業務非常瞭解,會對於自己的情況做很多特殊的調整,需要大量的時間精力去維護。但是,他們的算法如果直接搬移到別的應用場景往往就不奏效了,或者效果不理想。

另外一種是提供一種通用的機器學習接口給需要的客戶。數據清理、模型調參都需要客戶自己去完成。這種方法其實並沒有本質上解決問題,而是仍然把流量預測中需要專業人員處理的負擔交給了客戶。並且,由於業務關係,他們無法取得客戶的數據內容,也無法積累機器學習經驗。

因此,FreeWheel 的方式的優勢主要有兩個:

(1)普適性強。因爲 FreeWheel 的預測服務供多家客戶使用,而每個客戶的流量規模和需求又不盡相同,所以同一套算法流程能夠在多家客戶中求同存異,從技術上講具有普適性。在很多時候,他們的算法從一個客戶遷移到另外一個客戶上時往往只是改一個配置的事情,並不會要求客戶去承擔處理數據和調整模型的壓力。

(2)數據種類豐富。FreeWheel 的客戶多來自新聞、體育、電視節目等行業,這也使得其系統囊括了多種多樣的數據,包括視頻文本、視頻流量、視頻屬性等。這些數據是很多其他公司所沒有的,而數據充足這一點對於公司的機器學習技術積累來說是一項重大利好。


爲了提升視頻流量預測的精度,FreeWheel 在已有的技術優勢和特點上,還進行了改善與提升。主要基於以下三個方面:

(1)視頻聚類算法。當客戶提供了人工的視頻分類列表,團隊需要在此基礎上使用預測算法,以達到很高的準確性。預測算法的精度很大程度上取決於視頻聚類算法的有效性。

目前,FreeWheel 使用最多的視頻聚類算法是基於文本信息進行聚類。研發團隊有一些內部的評價指標,比方用某種分類算法,有多少視頻集合被成功地檢測出週期性,以及最終的預測效果。由於不同的客戶的視頻情況不盡相同,單一的使用基於文本分類的方法是行不通的。對於每個客戶,FreeWheel 會嘗試很多不同的視頻聚類算法,例如按時長聚類、按視頻的屬性聚類等,再使用內部的評價指標選取一個最好的聚類算法。

(2)週期性檢測算法。週期性檢測算法用來檢測一個視頻組的流量序列是否呈現週期性的變化。如果有,則用機器學習的方法進行預測;如果沒有,則用傳統的採樣方法進行預測。

據介紹,這也是視頻流量預測項目中十分重要的一環。如果將沒有週期性或者週期性不明顯的序列判定爲週期性,會極大地影響預測算法的準確性;反之,如果將有週期性的序列判定爲沒有週期性,則會導致丟失用機器學習方法預測的機會。

對此,FreeWheel 通過不斷調整週期性檢測算法的閾值和數據壓縮方法,人工查看其對於週期性 / 非週期性曲線的判定結果,找到最佳的參數,從而提高整體算法的準確性。

(3)預測算法。影響預測算法準確性的因素主要是預測算法的參數選擇和特徵抽取方法。目前,FreeWheel 提取的特徵爲每年的某一天、每月的某一天、每週的某一天。比如,需要預測 2018 年 11 月 18 日(週日)的流量,則會提取上週日,上上週日,…… 和 10 月 18 日,9 月 18 日,…… 2017 年 11 月 18 日,2016 年 11 月 18 日等的流量作爲特徵進行學習。然後,通過調整學習用到的參數獲得最好的預測效果。


04
未來規劃


在採訪的最後,我們與這個團隊交流了一些未來的規劃與想法。

研發人員謝年韜告訴我們,團隊目前使用的週期性檢測算法仍然是基於傳統機器學習的算法,而傳統機器學習算法對於週期性檢測不夠靈活,且存在準確度方面的瓶頸。所以,他們正在嘗試使用卷積神經網絡(CNN)的方法來有效地壓縮數據長度,並且從曲線相似度的視角進行判定。

其次,目前使用的預測算法基於已有數據的週期是年,需要客戶有三年及以上的歷史數據。也就是說,目前使用的算法對於數據長度是非常敏感的。對此,他們已經開始嘗試使用循環神經網絡(RNN)去訓練數據,該方法對數據的長度沒有要求,也不需要流量的週期必須以年爲單位。

在基於深度學習的序列到序列(sequence-to-sequence)模型中,FreeWheel 的編碼器(encoder)可以對人工設置的任意時間序列長度的流量數據進行編碼操作,通過×××(decoder)得到一個固定長度的流量預測序列,有更強的適應性和擬合能力。

對於未來,FreeWheel 也有一些期許:

(1)從現有的業務層面來看,運用更成熟的技術,通過使用對數據長度不那麼敏感的算法,提升對於歷史數據沒有三年之久的情況的預測;

(2)在週期性檢測環節和視頻聚類環節上,使用效果更好的算法,達到更好的預測效果;

(3)在業務發展的層面來看,讓項目的整個流程上更加靈活。因爲不同客戶的視頻屬性差別很大,他們不應該侷限於在客戶級別做預測,而是考慮不同維度特徵的提取和融合。


05
受訪團隊簡介


FreeWheel 本次受訪團隊主要負責包括網站視頻流量預測(Seasonality)、視頻廣告事件概率預測(xTR)、流量異常檢測(Anomaly Detection)、視頻廣告投放風險預測(FFDR)、競價策略優化(Bidding Strategy Optimization)等業務。團隊成員全都來自國內外的優秀學府並有着豐富的機器學習相關的經驗。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章