淺談雙塔模型在推薦和匹配中的作用

0 評論 3519 瀏覽 9 收藏 18 分鐘

雙塔模型已經被不少公司在推薦系統(tǒng)中使用,那么,雙塔模型究竟有哪些核心與優(yōu)勢呢?在廣告匹配場景里,它又可以如何被應用?這篇文章里,作者就做了分享,一切來看一下。

隨著互聯(lián)網的發(fā)展,用戶面臨著信息過載的問題。如何從海量的內容中快速地找到用戶感興趣的信息,成為了推薦系統(tǒng)必須解決的問題。在許多先進的推薦系統(tǒng)中,“雙塔模型”已成為解決這一問題的重要技術之一。

全球有多家知名公司已經在其推薦系統(tǒng)中采用雙塔模型,并取得了顯著的進展和成效,由于其需要處理龐大的“用戶”和“物品”集合,同時還要保證實時響應和個性化的用戶體驗,所以雙塔模型在大規(guī)模的在線服務平臺中特別受歡迎,包括Google的YouTube推薦算法就曾使用類似于雙塔模型的結構,來生成用戶和視頻的高維嵌入,并計算它們之間的匹配度,以提供個性化內容推薦。

一、雙塔模型的產生

傳統(tǒng)的推薦系統(tǒng)多依賴于用戶的歷史行為數據來預測他們對未知內容的偏好。然而,隨著深度學習技術的興起,人們開始嘗試通過機器學習模型來進一步挖掘和理解用戶數據和內容數據中隱含的深層次關系。而雙塔模型(Dual-Encoder Model)正是基于這一思想誕生的。

在講雙塔模型之前,不得不提到早期的DSSM(Deep Structured Semantic Models)是一種 DNN 深度網絡模型。DSSM的核心思想是把查詢文本(query)和內容文本(doc)映射到同維度的語義空間中,以最優(yōu)化查詢文本和內容文本的語義向量之間的余弦相似度為目的,訓練隱含語義模型并進行正向預測以達到檢索相關內容文本的目的。

我們可以用收音機的調頻來類比DSSM的工作方式:

想象一下,有一臺收音機,你要調整它以接收特定頻率的廣播信號。查詢文本(query)就好比是你想要收聽的電臺頻率,而內容文本(doc)則相當于周圍所有可能的廣播信號頻率。DSSM的目標就像是一個內置在收音機中的智能助手,這個助手的任務是幫助你找到與你想聽的電臺頻率最為匹配的信號。為了完成這個任務,它的做法是先學習如何理解和分析不同的廣播信號(也就是不同內容文本的“語義”),并且將它們轉化成對應的“頻率”值。

這個智能助手會在所有廣播信號中搜尋,尋找與你指定的頻率最“接近”的那個。在這里,“接近”實際上是指查詢文本和內容文本之間的余弦相似度,就好比兩個頻率有多么相似。當然,這個過程也是需要訓練的,也就是智能助手需要不斷學習以更準確地做出判斷。

最優(yōu)化查詢文本和內容文本的語義向量之間的余弦相似度,就相當于讓收音機的智能助手調整接收器,盡可能精確地匹配到與你想聽的頻率最相似的廣播信號。這樣,當你調整收音機時,智能助手就可以快速地幫你鎖定最相關的廣播信號,也就是你需要的內容。

通過這個過程,DSSM能夠高效地在海量的內容中找到與查詢條件最相關的結果,就如同通過收音機的調頻找到清晰的廣播信號一樣。

二、雙塔模型的核心與優(yōu)勢

雙塔模型是機器學習中的一個概念,特別是在信息檢索和推薦系統(tǒng)中,其核心非常簡單:構建兩個獨立的深度神經網絡結構,一塔負責編碼用戶的信息,另一塔負責編碼物品的信息。

這兩塔通常是并行的,分別學習和產出用戶和物品的向量表示。通常用于處理和映射兩種不同類型的數據到同一個共享空間,以便進行相似性的比較和排序。最終這兩個向量通過計算它們之間的相似度(比如使用余弦相似度)得到一個評分,以此評分作為推薦的依據。

1. 雙塔模型的優(yōu)勢

  • 語義理解能力:通過深度學習模型提取高層特征,雙塔模型能夠更加精確地捕獲物品和用戶的深層語義相關性。
  • 處理長文本能力:與傳統(tǒng)模型相比,雙塔模型更擅長處理長文本信息,這對于理解復雜的物品描述或用戶反饋來說至關重要。
  • 魯棒性和實時性:一旦模型被訓練好,無論用戶的查詢多么復雜,雙塔模型都能迅速返回相關的推薦結果,同時對數據中的噪聲具有一定的容錯能力。

2. 雙塔模型的挑戰(zhàn)及應對

雙塔模型在信息檢索、推薦系統(tǒng)和自然語言處理等領域有著廣泛的應用,它通過構建兩個并行的深度神經網絡(即兩個“塔”),分別處理并學習查詢和文檔的表征,再通過相似性計算將它們聯(lián)系起來。不過,雙塔模型同樣面臨一些挑戰(zhàn):

1)數據不平衡問題

在雙塔模型中,通常需要大量的用戶-物品交互數據來訓練。然而,在現實中,用戶可能只與很少的物品有交互,這意味著正樣本(用戶實際喜歡或點擊的物品)遠遠少于負樣本(用戶沒有交互的物品)。因此,模型可能會偏向于預測用戶對大多數物品不感興趣,導致推薦質量下降。

應對方法

  • 負采樣(Negative Sampling):從大量負樣本中隨機選擇一小部分負樣本進行訓練。
  • 硬負采樣(Hard Negative Sampling): 選擇那些模型容易誤判為正樣本的負樣本進行訓練。
  • 使用特殊的損失函數:例如加權的交叉熵損失函數,可以增加正樣本的權重。

2)冷啟動問題

當引入新的用戶或物品時,由于缺乏足夠的歷史互動數據,模型難以為其生成準確的表征,從而影響推薦效果。

應對方法

  • 利用元學習算法:使模型在看到極少量的新實體數據后快速適應。
  • 使用遷移學習:將其他任務或領域中學習到的知識遷移到新實體的學習過程中。

3)動態(tài)環(huán)境適應性用戶的興趣可能會隨時間改變,市場趨勢也會有變化,靜態(tài)的模型可能無法捕捉到這些動態(tài)變化。

應對方法

  • 在線學習:通過持續(xù)更新模型來適應用戶興趣和市場的變化。
  • 快速更新策略:通過更頻繁地重新訓練模型或者使用數據增強等技術保持模型的新鮮度。

4)跨模態(tài)匹配問題在需要處理不同類型的數據(如文本、圖像、音頻等)時,不同模態(tài)之間的匹配成為一大挑戰(zhàn)。

應對方法

  • 設計兼容的網絡結構:例如使用多模態(tài)嵌入和相似度度量。
  • 預訓練模型:例如使用BERT針對文本,ResNet針對圖像進行特征提取。

5)優(yōu)化和規(guī)?;魬?zhàn)隨著數據量的增加和實時服務需求的提升,模型的計算效率和擴展性變得尤為重要。

應對方法

  • 分布式訓練:在多臺機器上并行訓練模型,加速學習過程。
  • 模型壓縮:如剪枝、量化等技術減少模型大小。
  • 索引加速:使用近似最近鄰搜索(ANN)等技術來加快推薦過程。

這些挑戰(zhàn)涵蓋了雙塔模型在不同應用場景下的關鍵問題,且它們之間通常是相互關聯(lián)的,因此在實際應用中,可能需要綜合多種策略來共同優(yōu)化模型性能。

三、在廣告匹配中的應用

我們知道推薦系統(tǒng)的本質是“人貨匹配”,在雙塔模型中我們一般稱為“user”和“item”兩個獨立的子網絡。例如,在推薦系統(tǒng)中,一個塔可能負責處理用戶的歷史行為數據,另一個塔則處理物品的屬性數據。通過訓練這兩個塔將用戶和物品映射到同一個向量空間,我們可以通過計算這些向量之間的相似性來預測用戶對物品的偏好程度。這種方法在處理大規(guī)模、稀疏數據集時特別有效。

在廣告行業(yè)中,雙塔模型可以應用于個性化廣告的匹配和推薦,其應用大致分為以下幾個步驟:

1)數據收集與預處理:沒啥說的,都是常規(guī)的流程:

  • 收集用戶行為數據,比如點擊歷史、瀏覽記錄、搜索關鍵詞以及用戶的基本信息。
  • 收集廣告相關數據,包括廣告內容、類型、投放歷史等。
  • 對這些數據進行清洗和預處理,包括去除異常值、填補缺失值、編碼類別數據、歸一化等。

2)特征提取:對于廣告和用戶,模型分別設計了兩個塔結構來提取特征。

對于用戶塔,輸入的數據可能包括用戶的基本信息、歷史點擊行為、瀏覽記錄、地理位置、設備信息等;對于廣告塔,輸入的數據可能包括廣告的文字描述、圖像、視頻、歷史表現數據(如點擊率、轉化率)等。

  • 提取用戶特征:包括用戶的人口統(tǒng)計學信息、興趣標簽、歷史行為特征等。
  • 提取廣告特征:涉及廣告的內容特征、上下文特征、歷史性能指標等。
  • 針對特征設計嵌入層,將高維稀疏特征轉換為低維稠密向量。

3)構建模型:用戶塔和廣告塔分別將各自的原始特征映射到嵌入向量空間中,這樣用戶和廣告都被表示為相同維度的向量。

  • 用戶塔(User Tower)的構建:使用深度學習網絡來學習用戶數據的表征。
  • 廣告塔(Ad Tower)的構建:使用深度學習網絡學習廣告數據的表征。
  • 這兩個網絡通常是并行的,且在結構上可以相似,但不共享參數。

4)計算相似性:通過計算用戶向量與各個廣告向量之間的相似度,可以排序出對用戶最有可能感興趣的廣告。相似性的計算方式通常是點積或余弦相似性。

  • 通過用戶塔和廣告塔獲取用戶和廣告的嵌入向量。
  • 計算用戶向量與廣告向量之間的相似度或相關性得分。
  • 根據得分的高低對廣告進行排序。

5)訓練和優(yōu)化:采用反向傳播等機器學習技術來訓練模型,并優(yōu)化目標函數。目標函數通常是最大化用戶對廣告點擊的概率,或者是最大化廣告的轉化率。

  • 選擇合適的損失函數,例如交叉熵損失、對比損失、余弦相似度損失等,以計算用戶-廣告對的匹配程度。
  • 通過正樣本和負樣本進行訓練,使用諸如梯度下降法等優(yōu)化算法更新模型權重。
  • 實施負采樣或其他技術以解決數據不平衡問題。

6)在線服務:將訓練好的模型部署在在線系統(tǒng)中,當用戶訪問網站或APP時,實時計算與當前用戶最相關的廣告并展示出來。

通過這樣的應用,雙塔模型能夠幫助廣告平臺提高廣告的點擊率和轉化率,從而為廣告主創(chuàng)造更高的價值,并為用戶提供更加個性化的廣告內容。

  • 將訓練好的模型部署到在線服務中,當用戶發(fā)出請求時,實時計算并提供個性化廣告推薦。
  • 定期或根據需要更新模型,以解決動態(tài)環(huán)境適應性問題。

7)評估與后續(xù)優(yōu)化:通過一系列的方法去驗證你的模型并進行合理優(yōu)化。

  • 通過線上A/B測試或離線評估指標(如CTR預估準確度)來評估推薦效果。
  • 根據評估結果對模型進行迭代優(yōu)化,可能包括調整模型結構、特征選擇、參數調優(yōu)等。

用一個簡單的比喻來解釋雙塔模型在廣告中的原理:

想象一下你在舉辦一場派對,你想讓每位賓客都遇見他們可能會喜歡的人。在這里,賓客就像是用戶,而他們可能喜歡的人就好比是廣告。你的任務是作為一個精明的主持人,確保每位賓客都會遇到和他們興趣相投的人。

在這個比喻中,雙塔模型就好比是你的兩個管家。一個管家(用戶塔)負責了解賓客,記住他們的名字、興趣愛好、工作背景等等;而另一個管家(廣告塔)則專注于了解每個可能會來到派對的人,知道他們的興趣、個性,以及過往在社交場合的表現如何。

每當賓客到來,你的第一個管家將會告訴你這位賓客的所有信息,同樣,每當有新的人想來參加派對,你的第二個管家也會給你傳達這個人的詳細信息。然后,你需要決定哪些賓客和哪些新來的人可能會擦出火花。

所以,你就相當于雙塔模型中的“匹配機制”。通過比較你的兩個管家提供的信息,你可以判斷哪些賓客和哪些新人可能會相處得很好,并讓他們相遇。在這個過程中,如果你的判斷準確,賓客們會和他們喜歡的人愉快交談,這就類似于用戶點擊了他們感興趣的廣告。

總的來說,在廣告行業(yè)里,雙塔模型就是通過分別學習用戶和廣告的特征,并將它們映射到一個共同的特征空間里來判斷他們是否匹配。這樣,廣告主就能將廣告投放給最可能感興趣的用戶,而用戶也能收到更相關的廣告。這個過程就像派對中確保每個人都能遇見對的人,提升了派對的整體氣氛。

后記

隨著技術的進一步發(fā)展,雙塔模型在推薦系統(tǒng)中的應用正變得更加廣泛和高效。未來的雙塔模型可能會集成更多的功能,如語境感知、個性化適應等,從而提供更加豐富和個性化的推薦體驗。

綜上所述,雙塔模型作為推薦系統(tǒng)中的重要技術,打開了新的可能性,它不僅提升了推薦的質量,還極大地提高了處理大規(guī)模數據的能力。對于未來的推薦系統(tǒng)而言,雙塔模型無疑將是其中一個關鍵的驅動力。

作者:WāngWénhào;微信公眾號:阿司匹汪

本文由 @WāngWénhào 原創(chuàng)發(fā)布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!