首頁>其它>

全文共4275字,預計學習時長14分鐘

圖源:unsplash

TikTok正像風暴一樣席捲全球。據Sensor Tower的資料顯示,這一短視訊App在蘋果應用商店和谷歌Play商店上的全球下載量已經超過了20億。它背後究竟有什麼魔力讓人如此著迷?答案是機器學習推薦引擎。

坦白說,誰不喜歡貓貓狗狗的搞笑視訊呢?尤其是隔離在家時,刷短視訊是打發時間的最佳選擇。但這只是TikTok取得成功的一部分原因。不到兩年的時間,TikTok從小規模傳播的App成為了2020年月活8億、病毒式擴散的App。

人們平均每天花52分鐘刷TikTok,而Snapchat,Instagram和Facebook的使用者使用時長分別是每天26分鐘、29分鐘和37分鐘。

除了增長黑客策略,這個60秒短視訊App充滿了玩梗、搞笑、舞蹈和才藝。它有業內最優秀的推薦引擎之一,使用者無需搜尋,也不用糾結看哪個博主,輕點手指就會有個性化推薦的視訊。

這種快速、簡單、無窮無盡的快樂使人很難停止刷TikTok,有人稱它為終極時間殺手,佔據所有的空閒時間,以某種方式創造了一個現實扭曲力場——“TikTok 5分鐘等於現實生活1小時”。

推薦引擎對資料科學界來說並不陌生。有人認為它是上一代的AI系統,確實,它不像圖片識別和語言生成技術那樣有著炫酷的影響力。但儘管如此,推薦引擎依然是主流AI系統之一,應用廣泛,幾乎所有線上服務及平臺都使用推薦引擎系統,比如YouTube的視訊推薦、亞馬遜傳送的促銷郵件、瀏覽kindle書店時出現的“你可能也喜歡的書”推薦。

戈麥茲·烏里韋釋出的研究報告以及Netflix產品總監尼爾·亨特都稱,個性化和推薦的結合每年給Netflix省下的錢超過10億美元,80%的使用者都從引擎的推薦列表中選擇視訊。

那麼是什麼讓TikTok與眾不同的呢?一起來看看吧!

推薦引擎介紹

有太多關於推薦引擎的有用文章和網課,本文不再一一贅述,下面兩個資源有助於對推薦引擎建立基本了解:

· 從零開始建立推薦引擎的綜合指南(閱讀時間約35分鐘,複製python程式碼需40-60分鐘):https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guide-recommendation-engine-python/

· 吳恩達的推薦引擎(視訊時長一小時):https://www.youtube.com/playlist?list=PL-6SiIrhTAi6x4Oq28s7yy94ubLzVXabj

除了基礎部分,產業化的推薦引擎需要強大的後端和架構設計才能實現一體化。下面是一個基本示例:

一個實時推薦系統應該有堅實的資料基礎(用於收集和儲存資料)來支援多個頂部抽象層(包括演算法層、服務層和應用層),通過這些抽象層解決不同的商業問題。

TikTok推薦引擎的設計原型

圖源:unsplash

“以使用者為中心的設計”是這一原型的核心。簡單來說,從冷啟動期的後臺調整到為活躍使用者提供明確推薦,TikTok只會推薦使用者喜歡的內容。

高階工作流如下所示:

在TikTok的原型中,有三個主要的構成要素:標記內容、建立使用者畫像和使用者場景以及訓練並提供推薦演算法。

資料和特徵

· 場景資料——這一資料記錄的是使用場景,以及不同場景下使用者的喜好轉變。比如,某使用者在上班、旅行、通勤時分別喜歡看什麼型別的視訊。

· 使用者資料——既包括興趣標籤、職業、年齡、性別、人口統計資料等,也包括以機器學習為基礎的使用者聚類分析得到的潛在特徵。

一旦收集到了相關資料,模型就會從中匯出四種嚴謹設計的特徵,輸入推薦引擎中。

· 流行特徵:以使用者互動為基礎,代表國際潮流、熱門話題、搜尋熱詞、流行主題等等。

· 使用者場景特徵:由場景資料而來,包括地理位置、時間段、事件標籤等。

· 協同特徵:以協同過濾技術為基礎,平衡了狹義推薦(根據喜好推薦)和協同推薦(綜合使用者喜好推薦)。具體而言,該演算法不只考慮某個使用者的瀏覽歷史,還分析類似使用者群體共同的行為(點選、興趣、關鍵詞、主題等)。

模型會學習以上的特徵,以此預測某個內容是否適合某使用者在某種場景觀看。

無法度量的物件

圖源:unsplash

然而,其他無法度量的物件是無法用量化指標來衡量的。比如,為了維持健康的社群環境和生態系統,TikTok以控制暴力、詐騙、色情、浮誇內容為目標,將權重賦予符合事實、高品質的內容,比如新聞。

為了實現這一目的,需要在量化模型物件之外,建立更大的控制框架(內容稽核系統)。

演算法

推薦物件可以轉化為經典的機器學習問題,然後協同過濾模型、邏輯迴歸模型、因子分解模型、幾何資料庫和深度學習等演算法就能解決這一問題。

行業級的推薦系統需要靈活可擴充套件的機器學習平臺,這樣才能建立實驗流程,從而快速訓練各種模型,然後把它們組合起來,實時提供服務(比如把LR模型和DNN模型組合,CVM模型與CNN模型組合)。

除了主要的推薦演算法,TikTok還需要訓練內容分類演算法和使用者畫像演算法。以下是內容分析的層級分類結構。

從主幹往下看,主類別的下方是子類別。與其他分類模型相比,使用層級分類機制能好地解決資料傾斜的問題。

訓練機制

TikTok使用實時線上訓練模式,這一方法佔用的計算資源更少,能夠更快地給出反饋。這對於流媒體和資訊流產品來說是非常重要的。

使用者的行為會馬上被捕捉,然後反饋給模型,反映在下一個視訊中(使用者點選新視訊時,下一個視訊會快速根據最近的行為做出調整)。TikTok更有可能使用Storm叢集來處理實時樣本資料,包括點選、表演、收藏、點贊、評論和分享。

他們也會建立高效能的系統,比如模型引數和特徵伺服器(特徵庫和模型庫)。特徵庫可以儲存並提供上千萬的原始特徵和編輯過的vector,模型庫則會維護並提供模型以及調整過的引數。

完整訓練過程是:

· 線上伺服器捕捉實時資料,然後儲存到Kafka

· Storm叢集分析Kafka資料並生成特徵

· 特徵庫收集新特徵和推薦便籤,建立新的訓練集

· 線上訓練流程重新訓練模型引數,並將同樣的引數輸入模型庫

· 更新客戶端的推薦列表,捕捉新的反饋(即使用者行為)並再次迴圈

TikTok的推薦工作流

TikTok從未向公眾或技術界公開核心演算法。但是,基於該公司公佈的零碎資訊以及極客們通過逆向工程技術找到的種種蹤跡,我們可以得出以下結論。

(宣告——這僅僅是作者的理解和推斷,可能跟TikTok的做法有出入)

圖源:unsplash

在TikTok上,每天使用者上傳的視訊有上百萬。惡意內容更容易在單機審查系統中找到漏洞,在這種條件下只靠人工審查是不現實的,因此,雙重審查系統就成為TikTok篩查視訊內容的主要演算法。

機器審查:總的來說,(以計算機視覺為基礎的)雙重審查模型能夠識別視訊圖片和關鍵詞。它主要有兩個基本功能:

· 檢查視訊片段是否違反法律法規,是否存在抄襲。如果疑似違反規定,模型就會攔截視訊內容,打上紅標或者黃標,然後轉交人工審查。

· 通過從視訊中擷取影象或者關鍵幀,TikTok的雙重審查演算法會將截圖與海量歸檔內容庫比對。重複內容會被選出,其流量受限,在推薦引擎上的權重降低。

人工審查:主要關注3個方面,視訊標題,封面縮圖和視訊中的關鍵幀。對於雙重審查模型標記為可疑的內容,技術人員會進行人工審查。如果發現某視訊違規,該視訊會被刪除,賬戶活動暫停。

步驟1:冷啟動

TikTok推薦機制的核心是資訊流漏斗。視訊通過雙重審查之後,會被放入冷啟動流量池中。比如,使用者的新視訊通過了稽核流程之後,TikTok一開始會分配200-300個活躍使用者的流量,視訊能得到上千次的瀏覽。在這一機制中,新人可以與(粉絲上萬的)網紅競爭,因為他們擁有同樣的起點。

步驟2:以指標為基礎賦予權重

通過最初的流量池,視訊能得到幾千播放量,這些資料會被收集和分析。在分析中考慮的指標包括點贊數、播放量、整個視訊看完的人數、評論數、關注數、轉發數、分享數等等。

然後,推薦引擎就基於這些最初的指標,給視訊賦予權重,給賬戶打分(無論是否是高品質創作者)。如果引擎決定提高內容的權重,權重最高的10%還會有額外10000-100000流量的曝光。

步驟3:使用者畫像放大器

第2步中從流量池得到的反饋會被進一步分析,用於使用者畫像放大器的決策。在這一步中,表現出色的內容會得到強化,增加對特定使用者群體的投放(比如,體育迷,時尚愛好者)。

這與“猜你喜歡”功能類似。推薦引擎會建立使用者畫像庫,這樣它就能找到內容和使用者群體之間的最佳匹配了。

步驟4:精品潮流池

只有不到1%的內容最終會進入潮流池。這個池子中的視訊得到的曝光量比其他視訊高出一個量級。因為流行內容會無差別地推薦給所有使用者。

其他步驟:延遲引爆

有一些TikTok 博主會注意到,他們的內容突然得到了巨大的引流,但此前數週釋出的內容都表現平平。

這主要有兩個原因:

· 首先,TikTok有一個演算法( “挖寶人”),該演算法會回顧歷史內容,尋找適合曝光的高品質內容。如果某使用者的視訊被這個演算法選中,意味著該使用者的賬戶上有足夠多的垂直視訊,可以得到一個新標籤。該標籤使視訊內容更多出現在“挖寶人”演算法中。

· 第二個原因是“潮流效應”。這意味著,如果某個視訊有幾百萬的觀看量,TikTok會引流到該使用者的主頁,因此以前釋出的內容播放量就會上升。對於垂直創作者(比如搞笑貓咪視訊創作者)來說,這是常有的事。一個流行視訊會引爆所有其他高品質的視訊(人們想看更多可愛又奇怪的貓咪視訊)。

圖源:unsplash

侷限性:流量高峰

如果一個視訊能夠通過資訊流漏斗(雙重審查,權重更新和放大器),創作者的賬戶就能夠得到額外的曝光、互動和粉絲。但研究表明,這樣的高曝光時間窗很短。通常,時間窗大約為一週。視窗期過後,該視訊及賬戶的熱度會下降,甚至隨後釋出的視訊也很難火起來。

這是因為TikTok追求多樣化,它會消除演算法中無意識的偏見。通過這樣的設計,推薦引擎不會傾向某一特定類別的內容,確保新內容有公平的機會進入潮流池。

TikTok的魔力就在於此,明白自己為什麼一刷短視訊就停不下來了嗎?

我們一起分享AI學習與發展的乾貨

最新評論
  • 康明斯6bt發動機
  • 演員張帆多大 與女友相戀十幾年才結婚兒子非常可愛