淺談雙塔模型在推薦和匹配中的作用
雙塔模型已經(jīng)被不少公司在推薦系統(tǒng)中使用,那么,雙塔模型究竟有哪些核心與優(yōu)勢(shì)呢?在廣告匹配場(chǎng)景里,它又可以如何被應(yīng)用?這篇文章里,作者就做了分享,一切來看一下。
隨著互聯(lián)網(wǎng)的發(fā)展,用戶面臨著信息過載的問題。如何從海量的內(nèi)容中快速地找到用戶感興趣的信息,成為了推薦系統(tǒng)必須解決的問題。在許多先進(jìn)的推薦系統(tǒng)中,“雙塔模型”已成為解決這一問題的重要技術(shù)之一。
全球有多家知名公司已經(jīng)在其推薦系統(tǒng)中采用雙塔模型,并取得了顯著的進(jìn)展和成效,由于其需要處理龐大的“用戶”和“物品”集合,同時(shí)還要保證實(shí)時(shí)響應(yīng)和個(gè)性化的用戶體驗(yàn),所以雙塔模型在大規(guī)模的在線服務(wù)平臺(tái)中特別受歡迎,包括Google的YouTube推薦算法就曾使用類似于雙塔模型的結(jié)構(gòu),來生成用戶和視頻的高維嵌入,并計(jì)算它們之間的匹配度,以提供個(gè)性化內(nèi)容推薦。
一、雙塔模型的產(chǎn)生
傳統(tǒng)的推薦系統(tǒng)多依賴于用戶的歷史行為數(shù)據(jù)來預(yù)測(cè)他們對(duì)未知內(nèi)容的偏好。然而,隨著深度學(xué)習(xí)技術(shù)的興起,人們開始嘗試通過機(jī)器學(xué)習(xí)模型來進(jìn)一步挖掘和理解用戶數(shù)據(jù)和內(nèi)容數(shù)據(jù)中隱含的深層次關(guān)系。而雙塔模型(Dual-Encoder Model)正是基于這一思想誕生的。
在講雙塔模型之前,不得不提到早期的DSSM(Deep Structured Semantic Models)是一種 DNN 深度網(wǎng)絡(luò)模型。DSSM的核心思想是把查詢文本(query)和內(nèi)容文本(doc)映射到同維度的語義空間中,以最優(yōu)化查詢文本和內(nèi)容文本的語義向量之間的余弦相似度為目的,訓(xùn)練隱含語義模型并進(jìn)行正向預(yù)測(cè)以達(dá)到檢索相關(guān)內(nèi)容文本的目的。
我們可以用收音機(jī)的調(diào)頻來類比DSSM的工作方式:
想象一下,有一臺(tái)收音機(jī),你要調(diào)整它以接收特定頻率的廣播信號(hào)。查詢文本(query)就好比是你想要收聽的電臺(tái)頻率,而內(nèi)容文本(doc)則相當(dāng)于周圍所有可能的廣播信號(hào)頻率。DSSM的目標(biāo)就像是一個(gè)內(nèi)置在收音機(jī)中的智能助手,這個(gè)助手的任務(wù)是幫助你找到與你想聽的電臺(tái)頻率最為匹配的信號(hào)。為了完成這個(gè)任務(wù),它的做法是先學(xué)習(xí)如何理解和分析不同的廣播信號(hào)(也就是不同內(nèi)容文本的“語義”),并且將它們轉(zhuǎn)化成對(duì)應(yīng)的“頻率”值。
這個(gè)智能助手會(huì)在所有廣播信號(hào)中搜尋,尋找與你指定的頻率最“接近”的那個(gè)。在這里,“接近”實(shí)際上是指查詢文本和內(nèi)容文本之間的余弦相似度,就好比兩個(gè)頻率有多么相似。當(dāng)然,這個(gè)過程也是需要訓(xùn)練的,也就是智能助手需要不斷學(xué)習(xí)以更準(zhǔn)確地做出判斷。
最優(yōu)化查詢文本和內(nèi)容文本的語義向量之間的余弦相似度,就相當(dāng)于讓收音機(jī)的智能助手調(diào)整接收器,盡可能精確地匹配到與你想聽的頻率最相似的廣播信號(hào)。這樣,當(dāng)你調(diào)整收音機(jī)時(shí),智能助手就可以快速地幫你鎖定最相關(guān)的廣播信號(hào),也就是你需要的內(nèi)容。
通過這個(gè)過程,DSSM能夠高效地在海量的內(nèi)容中找到與查詢條件最相關(guān)的結(jié)果,就如同通過收音機(jī)的調(diào)頻找到清晰的廣播信號(hào)一樣。
二、雙塔模型的核心與優(yōu)勢(shì)
雙塔模型是機(jī)器學(xué)習(xí)中的一個(gè)概念,特別是在信息檢索和推薦系統(tǒng)中,其核心非常簡(jiǎn)單:構(gòu)建兩個(gè)獨(dú)立的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),一塔負(fù)責(zé)編碼用戶的信息,另一塔負(fù)責(zé)編碼物品的信息。
這兩塔通常是并行的,分別學(xué)習(xí)和產(chǎn)出用戶和物品的向量表示。通常用于處理和映射兩種不同類型的數(shù)據(jù)到同一個(gè)共享空間,以便進(jìn)行相似性的比較和排序。最終這兩個(gè)向量通過計(jì)算它們之間的相似度(比如使用余弦相似度)得到一個(gè)評(píng)分,以此評(píng)分作為推薦的依據(jù)。
1. 雙塔模型的優(yōu)勢(shì)
- 語義理解能力:通過深度學(xué)習(xí)模型提取高層特征,雙塔模型能夠更加精確地捕獲物品和用戶的深層語義相關(guān)性。
- 處理長(zhǎng)文本能力:與傳統(tǒng)模型相比,雙塔模型更擅長(zhǎng)處理長(zhǎng)文本信息,這對(duì)于理解復(fù)雜的物品描述或用戶反饋來說至關(guān)重要。
- 魯棒性和實(shí)時(shí)性:一旦模型被訓(xùn)練好,無論用戶的查詢多么復(fù)雜,雙塔模型都能迅速返回相關(guān)的推薦結(jié)果,同時(shí)對(duì)數(shù)據(jù)中的噪聲具有一定的容錯(cuò)能力。
2. 雙塔模型的挑戰(zhàn)及應(yīng)對(duì)
雙塔模型在信息檢索、推薦系統(tǒng)和自然語言處理等領(lǐng)域有著廣泛的應(yīng)用,它通過構(gòu)建兩個(gè)并行的深度神經(jīng)網(wǎng)絡(luò)(即兩個(gè)“塔”),分別處理并學(xué)習(xí)查詢和文檔的表征,再通過相似性計(jì)算將它們聯(lián)系起來。不過,雙塔模型同樣面臨一些挑戰(zhàn):
1)數(shù)據(jù)不平衡問題
在雙塔模型中,通常需要大量的用戶-物品交互數(shù)據(jù)來訓(xùn)練。然而,在現(xiàn)實(shí)中,用戶可能只與很少的物品有交互,這意味著正樣本(用戶實(shí)際喜歡或點(diǎn)擊的物品)遠(yuǎn)遠(yuǎn)少于負(fù)樣本(用戶沒有交互的物品)。因此,模型可能會(huì)偏向于預(yù)測(cè)用戶對(duì)大多數(shù)物品不感興趣,導(dǎo)致推薦質(zhì)量下降。
應(yīng)對(duì)方法:
- 負(fù)采樣(Negative Sampling):從大量負(fù)樣本中隨機(jī)選擇一小部分負(fù)樣本進(jìn)行訓(xùn)練。
- 硬負(fù)采樣(Hard Negative Sampling): 選擇那些模型容易誤判為正樣本的負(fù)樣本進(jìn)行訓(xùn)練。
- 使用特殊的損失函數(shù):例如加權(quán)的交叉熵?fù)p失函數(shù),可以增加正樣本的權(quán)重。
2)冷啟動(dòng)問題
當(dāng)引入新的用戶或物品時(shí),由于缺乏足夠的歷史互動(dòng)數(shù)據(jù),模型難以為其生成準(zhǔn)確的表征,從而影響推薦效果。
應(yīng)對(duì)方法:
- 利用元學(xué)習(xí)算法:使模型在看到極少量的新實(shí)體數(shù)據(jù)后快速適應(yīng)。
- 使用遷移學(xué)習(xí):將其他任務(wù)或領(lǐng)域中學(xué)習(xí)到的知識(shí)遷移到新實(shí)體的學(xué)習(xí)過程中。
3)動(dòng)態(tài)環(huán)境適應(yīng)性用戶的興趣可能會(huì)隨時(shí)間改變,市場(chǎng)趨勢(shì)也會(huì)有變化,靜態(tài)的模型可能無法捕捉到這些動(dòng)態(tài)變化。
應(yīng)對(duì)方法:
- 在線學(xué)習(xí):通過持續(xù)更新模型來適應(yīng)用戶興趣和市場(chǎng)的變化。
- 快速更新策略:通過更頻繁地重新訓(xùn)練模型或者使用數(shù)據(jù)增強(qiáng)等技術(shù)保持模型的新鮮度。
4)跨模態(tài)匹配問題在需要處理不同類型的數(shù)據(jù)(如文本、圖像、音頻等)時(shí),不同模態(tài)之間的匹配成為一大挑戰(zhàn)。
應(yīng)對(duì)方法:
- 設(shè)計(jì)兼容的網(wǎng)絡(luò)結(jié)構(gòu):例如使用多模態(tài)嵌入和相似度度量。
- 預(yù)訓(xùn)練模型:例如使用BERT針對(duì)文本,ResNet針對(duì)圖像進(jìn)行特征提取。
5)優(yōu)化和規(guī)?;魬?zhàn)隨著數(shù)據(jù)量的增加和實(shí)時(shí)服務(wù)需求的提升,模型的計(jì)算效率和擴(kuò)展性變得尤為重要。
應(yīng)對(duì)方法:
- 分布式訓(xùn)練:在多臺(tái)機(jī)器上并行訓(xùn)練模型,加速學(xué)習(xí)過程。
- 模型壓縮:如剪枝、量化等技術(shù)減少模型大小。
- 索引加速:使用近似最近鄰搜索(ANN)等技術(shù)來加快推薦過程。
這些挑戰(zhàn)涵蓋了雙塔模型在不同應(yīng)用場(chǎng)景下的關(guān)鍵問題,且它們之間通常是相互關(guān)聯(lián)的,因此在實(shí)際應(yīng)用中,可能需要綜合多種策略來共同優(yōu)化模型性能。
三、在廣告匹配中的應(yīng)用
我們知道推薦系統(tǒng)的本質(zhì)是“人貨匹配”,在雙塔模型中我們一般稱為“user”和“item”兩個(gè)獨(dú)立的子網(wǎng)絡(luò)。例如,在推薦系統(tǒng)中,一個(gè)塔可能負(fù)責(zé)處理用戶的歷史行為數(shù)據(jù),另一個(gè)塔則處理物品的屬性數(shù)據(jù)。通過訓(xùn)練這兩個(gè)塔將用戶和物品映射到同一個(gè)向量空間,我們可以通過計(jì)算這些向量之間的相似性來預(yù)測(cè)用戶對(duì)物品的偏好程度。這種方法在處理大規(guī)模、稀疏數(shù)據(jù)集時(shí)特別有效。
在廣告行業(yè)中,雙塔模型可以應(yīng)用于個(gè)性化廣告的匹配和推薦,其應(yīng)用大致分為以下幾個(gè)步驟:
1)數(shù)據(jù)收集與預(yù)處理:沒啥說的,都是常規(guī)的流程:
- 收集用戶行為數(shù)據(jù),比如點(diǎn)擊歷史、瀏覽記錄、搜索關(guān)鍵詞以及用戶的基本信息。
- 收集廣告相關(guān)數(shù)據(jù),包括廣告內(nèi)容、類型、投放歷史等。
- 對(duì)這些數(shù)據(jù)進(jìn)行清洗和預(yù)處理,包括去除異常值、填補(bǔ)缺失值、編碼類別數(shù)據(jù)、歸一化等。
2)特征提取:對(duì)于廣告和用戶,模型分別設(shè)計(jì)了兩個(gè)塔結(jié)構(gòu)來提取特征。
對(duì)于用戶塔,輸入的數(shù)據(jù)可能包括用戶的基本信息、歷史點(diǎn)擊行為、瀏覽記錄、地理位置、設(shè)備信息等;對(duì)于廣告塔,輸入的數(shù)據(jù)可能包括廣告的文字描述、圖像、視頻、歷史表現(xiàn)數(shù)據(jù)(如點(diǎn)擊率、轉(zhuǎn)化率)等。
- 提取用戶特征:包括用戶的人口統(tǒng)計(jì)學(xué)信息、興趣標(biāo)簽、歷史行為特征等。
- 提取廣告特征:涉及廣告的內(nèi)容特征、上下文特征、歷史性能指標(biāo)等。
- 針對(duì)特征設(shè)計(jì)嵌入層,將高維稀疏特征轉(zhuǎn)換為低維稠密向量。
3)構(gòu)建模型:用戶塔和廣告塔分別將各自的原始特征映射到嵌入向量空間中,這樣用戶和廣告都被表示為相同維度的向量。
- 用戶塔(User Tower)的構(gòu)建:使用深度學(xué)習(xí)網(wǎng)絡(luò)來學(xué)習(xí)用戶數(shù)據(jù)的表征。
- 廣告塔(Ad Tower)的構(gòu)建:使用深度學(xué)習(xí)網(wǎng)絡(luò)學(xué)習(xí)廣告數(shù)據(jù)的表征。
- 這兩個(gè)網(wǎng)絡(luò)通常是并行的,且在結(jié)構(gòu)上可以相似,但不共享參數(shù)。
4)計(jì)算相似性:通過計(jì)算用戶向量與各個(gè)廣告向量之間的相似度,可以排序出對(duì)用戶最有可能感興趣的廣告。相似性的計(jì)算方式通常是點(diǎn)積或余弦相似性。
- 通過用戶塔和廣告塔獲取用戶和廣告的嵌入向量。
- 計(jì)算用戶向量與廣告向量之間的相似度或相關(guān)性得分。
- 根據(jù)得分的高低對(duì)廣告進(jìn)行排序。
5)訓(xùn)練和優(yōu)化:采用反向傳播等機(jī)器學(xué)習(xí)技術(shù)來訓(xùn)練模型,并優(yōu)化目標(biāo)函數(shù)。目標(biāo)函數(shù)通常是最大化用戶對(duì)廣告點(diǎn)擊的概率,或者是最大化廣告的轉(zhuǎn)化率。
- 選擇合適的損失函數(shù),例如交叉熵?fù)p失、對(duì)比損失、余弦相似度損失等,以計(jì)算用戶-廣告對(duì)的匹配程度。
- 通過正樣本和負(fù)樣本進(jìn)行訓(xùn)練,使用諸如梯度下降法等優(yōu)化算法更新模型權(quán)重。
- 實(shí)施負(fù)采樣或其他技術(shù)以解決數(shù)據(jù)不平衡問題。
6)在線服務(wù):將訓(xùn)練好的模型部署在在線系統(tǒng)中,當(dāng)用戶訪問網(wǎng)站或APP時(shí),實(shí)時(shí)計(jì)算與當(dāng)前用戶最相關(guān)的廣告并展示出來。
通過這樣的應(yīng)用,雙塔模型能夠幫助廣告平臺(tái)提高廣告的點(diǎn)擊率和轉(zhuǎn)化率,從而為廣告主創(chuàng)造更高的價(jià)值,并為用戶提供更加個(gè)性化的廣告內(nèi)容。
- 將訓(xùn)練好的模型部署到在線服務(wù)中,當(dāng)用戶發(fā)出請(qǐng)求時(shí),實(shí)時(shí)計(jì)算并提供個(gè)性化廣告推薦。
- 定期或根據(jù)需要更新模型,以解決動(dòng)態(tài)環(huán)境適應(yīng)性問題。
7)評(píng)估與后續(xù)優(yōu)化:通過一系列的方法去驗(yàn)證你的模型并進(jìn)行合理優(yōu)化。
- 通過線上A/B測(cè)試或離線評(píng)估指標(biāo)(如CTR預(yù)估準(zhǔn)確度)來評(píng)估推薦效果。
- 根據(jù)評(píng)估結(jié)果對(duì)模型進(jìn)行迭代優(yōu)化,可能包括調(diào)整模型結(jié)構(gòu)、特征選擇、參數(shù)調(diào)優(yōu)等。
用一個(gè)簡(jiǎn)單的比喻來解釋雙塔模型在廣告中的原理:
想象一下你在舉辦一場(chǎng)派對(duì),你想讓每位賓客都遇見他們可能會(huì)喜歡的人。在這里,賓客就像是用戶,而他們可能喜歡的人就好比是廣告。你的任務(wù)是作為一個(gè)精明的主持人,確保每位賓客都會(huì)遇到和他們興趣相投的人。
在這個(gè)比喻中,雙塔模型就好比是你的兩個(gè)管家。一個(gè)管家(用戶塔)負(fù)責(zé)了解賓客,記住他們的名字、興趣愛好、工作背景等等;而另一個(gè)管家(廣告塔)則專注于了解每個(gè)可能會(huì)來到派對(duì)的人,知道他們的興趣、個(gè)性,以及過往在社交場(chǎng)合的表現(xiàn)如何。
每當(dāng)賓客到來,你的第一個(gè)管家將會(huì)告訴你這位賓客的所有信息,同樣,每當(dāng)有新的人想來參加派對(duì),你的第二個(gè)管家也會(huì)給你傳達(dá)這個(gè)人的詳細(xì)信息。然后,你需要決定哪些賓客和哪些新來的人可能會(huì)擦出火花。
所以,你就相當(dāng)于雙塔模型中的“匹配機(jī)制”。通過比較你的兩個(gè)管家提供的信息,你可以判斷哪些賓客和哪些新人可能會(huì)相處得很好,并讓他們相遇。在這個(gè)過程中,如果你的判斷準(zhǔn)確,賓客們會(huì)和他們喜歡的人愉快交談,這就類似于用戶點(diǎn)擊了他們感興趣的廣告。
總的來說,在廣告行業(yè)里,雙塔模型就是通過分別學(xué)習(xí)用戶和廣告的特征,并將它們映射到一個(gè)共同的特征空間里來判斷他們是否匹配。這樣,廣告主就能將廣告投放給最可能感興趣的用戶,而用戶也能收到更相關(guān)的廣告。這個(gè)過程就像派對(duì)中確保每個(gè)人都能遇見對(duì)的人,提升了派對(duì)的整體氣氛。
后記
隨著技術(shù)的進(jìn)一步發(fā)展,雙塔模型在推薦系統(tǒng)中的應(yīng)用正變得更加廣泛和高效。未來的雙塔模型可能會(huì)集成更多的功能,如語境感知、個(gè)性化適應(yīng)等,從而提供更加豐富和個(gè)性化的推薦體驗(yàn)。
綜上所述,雙塔模型作為推薦系統(tǒng)中的重要技術(shù),打開了新的可能性,它不僅提升了推薦的質(zhì)量,還極大地提高了處理大規(guī)模數(shù)據(jù)的能力。對(duì)于未來的推薦系統(tǒng)而言,雙塔模型無疑將是其中一個(gè)關(guān)鍵的驅(qū)動(dòng)力。
作者:WāngWénhào;微信公眾號(hào):阿司匹汪
本文由 @WāngWénhào 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒評(píng)論,等你發(fā)揮!