劉玉芳,王紹卿,鄭順,張麗杰,孫福振
(山東理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
在Web和移動應(yīng)用程序中,個性化推薦系統(tǒng)(RS)在緩解信息過載,促進用戶體驗方面扮演著越來越重要的角色。近年來,深度學(xué)習(xí)在RS中得到了廣泛的應(yīng)用,以克服傳統(tǒng)推薦技術(shù)的障礙。其中,跨領(lǐng)域推薦(CDR)[1-2]和冷啟動推薦[3]問題引起了廣泛關(guān)注??缬蛲扑]系統(tǒng)的目標是將其他領(lǐng)域(稱為源域)中可用的知識轉(zhuǎn)移到用戶交互數(shù)據(jù)稀疏的目標領(lǐng)域(稱為目標域)。通常選擇重疊用戶來學(xué)習(xí)兩個域之間的映射關(guān)系,以便將源域中的模式應(yīng)用于目標域[2]的冷啟動用戶。CDR的核心任務(wù)是連接用戶在源域和目標域中的偏好,也稱為偏好轉(zhuǎn)移?,F(xiàn)有的CDR方法大都是將目標域中用戶(或項目)的特性利用學(xué)習(xí)到的映射函數(shù)直接替換為源域中相似用戶(或項目)的特性,然而這種方法假設(shè)所有用戶在源域和目標域之間共享相同的關(guān)系,并學(xué)習(xí)所有用戶共享的映射函數(shù)。
在實際場景中,源域和目標域的用戶偏好之間的關(guān)系復(fù)雜多變,單個映射函數(shù)很難準確地捕獲所有的用戶關(guān)系。為了緩解這一缺點,本文使用個性化的映射函數(shù)來建模不同域中用戶偏好之間的復(fù)雜關(guān)系。也就是說,用戶偏好的轉(zhuǎn)移應(yīng)該是個性化的。此外,在冷啟動場景下,重疊用戶的數(shù)量非常少。因此,有限的重疊用戶嚴重影響了用戶的偏好轉(zhuǎn)移,導(dǎo)致泛化能力不足,降低了模型在目標域冷啟動用戶上的性能。
近年來,元學(xué)習(xí)在推薦系統(tǒng)中的應(yīng)用得到快速發(fā)展[4-6]。元學(xué)習(xí)[6]主要針對小樣本學(xué)習(xí)問題,通過在大量的訓(xùn)練任務(wù)上對模型進行訓(xùn)練及參數(shù)更新,能夠很好地解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型泛化能力不足、對新任務(wù)適應(yīng)性較差的問題。元學(xué)習(xí)訓(xùn)練和測試過程以任務(wù)為基本單元,每個任務(wù)都有訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,又稱為支持集和查詢集。元學(xué)習(xí)中要準備許多任務(wù)來進行學(xué)習(xí),第一層訓(xùn)練單位是任務(wù),第二層訓(xùn)練單位是每個任務(wù)對應(yīng)的數(shù)據(jù)。本文提出了一個用于冷啟動推薦的用戶偏好跨域轉(zhuǎn)移框架(UPCTFCR)。首先,設(shè)計了一個自注意力編碼器來有效提取用戶偏好,考慮對不同的項目施加不同的權(quán)重,計算注意力分數(shù),對項目加權(quán)求和。然后,學(xué)習(xí)一個元學(xué)習(xí)器,即元網(wǎng)絡(luò),用戶在源域中的特征嵌入作為該網(wǎng)絡(luò)的輸入,為每個用戶生成個性化映射函數(shù),該函數(shù)能夠捕獲不同域之間的每個用戶之間的偏好關(guān)系。經(jīng)過訓(xùn)練后,將元學(xué)習(xí)器得到的參數(shù)和用戶在源域中的嵌入進行矩陣相乘,得到轉(zhuǎn)換后的嵌入。最后,將該嵌入作為用戶在目標域的初始嵌入,對用戶偏好的項目進行預(yù)測。
在實踐中,元網(wǎng)絡(luò)的優(yōu)化是另一個挑戰(zhàn)?,F(xiàn)有的面向映射的優(yōu)化過程,直接最小化源域中轉(zhuǎn)換后的用戶嵌入和目標域中用戶嵌入之間的距離。然而,這樣的優(yōu)化過程容易導(dǎo)致映射函數(shù)對用戶嵌入不準確。而在實際的推薦系統(tǒng)中,很難學(xué)習(xí)到用戶準確的嵌入,這就限制了學(xué)習(xí)到的映射函數(shù)的性能。此外,面向映射的優(yōu)化方法難以訓(xùn)練元學(xué)習(xí)器。因此,本文采用面向任務(wù)的優(yōu)化方法來訓(xùn)練元學(xué)習(xí)器,利用用戶對項目的評分任務(wù)作為優(yōu)化目標。
在傳統(tǒng)的推薦系統(tǒng)中,通過分析單一域內(nèi)的用戶歷史交互行為來進行用戶興趣的預(yù)測,從而進行推薦,比如說通過用戶在抖音App上的歷史觀看記錄來為用戶進行后續(xù)的視頻推薦。而跨域推薦旨在結(jié)合多個領(lǐng)域的數(shù)據(jù),利用其他領(lǐng)域(源域)的豐富信息,使得在目標域上能進行更好推薦。跨域推薦能夠?qū)嵤┑募僭O(shè)是:用戶的興趣偏好或項目特征在領(lǐng)域之間存在一致性或相關(guān)性??缬蛲扑]利用的正是領(lǐng)域間的一致性或相關(guān)性,如用戶或項目的交集,用戶興趣或項目特征的相似程度,潛在因子的相互關(guān)系等進行知識遷移,從而彌補目標域所面臨的信息不足的問題,改善推薦性能。近年來,研究者提出了許多基于深度學(xué)習(xí)的模型來增強知識遷移。CoNet通過使用前饋神經(jīng)網(wǎng)絡(luò)之間的交叉連接來轉(zhuǎn)移知識。MINDTL將目標域的CF信息和源域中的評分矩陣結(jié)合起來。DDTCDR開發(fā)了一種新的潛在正交映射來提取用戶在多個域上的偏好,同時保留了在不同潛在空間上用戶之間的關(guān)系。與多任務(wù)方法類似,這些方法側(cè)重于提出一個設(shè)計良好的深層結(jié)構(gòu)。本文設(shè)計了一個能夠顯式地建模不同域之間知識遷移的框架,而不是采用特殊的深層結(jié)構(gòu)來隱式地轉(zhuǎn)移知識。
為新用戶或新項目提供推薦具有極大的挑戰(zhàn),也稱為冷啟動問題[7]。以協(xié)同過濾的推薦系統(tǒng)為例,假設(shè)每個用戶(或項目)都有評分,可以推斷出相似用戶(或項目)的評分。但是,對于新注冊的用戶(或項目)難以實現(xiàn),因為沒有相關(guān)的瀏覽、點擊或下載等數(shù)據(jù),也就沒辦法使用矩陣分解技術(shù)進行推薦。解決冷啟動問題的方法主要有兩種:第一種方法通過設(shè)計決策策略來解決冷啟動問題,例如使用上下文賭博機[8],通過向用戶推薦感興趣的物品來探索用戶偏好;第二種是利用輔助信息來緩解冷啟動問題,常用的輔助信息包括用戶屬性[3]、項目屬性[9-10]、知識圖[11]、輔助域[12]的樣本等。本文提出的框架屬于第二種,在輔助域樣本的幫助下,CDR方法能夠得到更好的結(jié)果。
元學(xué)習(xí)(meta-learning),含義為學(xué)會學(xué)習(xí)(learn to learn),旨在訓(xùn)練一個參數(shù)化模型,能夠快速適應(yīng)在訓(xùn)練中沒有使用的新任務(wù)。元學(xué)習(xí)希望模型獲取一種“學(xué)會學(xué)習(xí)”的能力,使其可以在獲取已有知識的基礎(chǔ)上快速學(xué)習(xí)新的任務(wù)。近年來,元學(xué)習(xí)已經(jīng)引起了推薦系統(tǒng)領(lǐng)域研究者的關(guān)注。這些工作大多集中在很少有訓(xùn)練樣本的推薦場景上[13]。例如,MLRS-CCE提出了一種動態(tài)元學(xué)習(xí)模型,利用歷史和當前的用戶-項目交互,將用戶的偏好動態(tài)地分解為特定時間和時間演變的表示來預(yù)測用戶的評分[14]。LLAE將冷啟動推薦制定為具有用戶信息的少樣本學(xué)習(xí)任務(wù)[3]。PTUPCDR通過使用元網(wǎng)絡(luò)來生成個性化的橋函數(shù),實現(xiàn)用戶的偏好轉(zhuǎn)移[15]。本文提出的UPCTFCR利用元學(xué)習(xí)器來學(xué)習(xí)映射函數(shù)的參數(shù),將用戶的交互序列劃分為支持集和查詢集來訓(xùn)練模型,通過在大量任務(wù)上進行訓(xùn)練,來提高模型的泛化能力。
自注意力機制是注意力機制的變體,其減少了對外部信息的依賴,更擅長捕捉數(shù)據(jù)或特征的內(nèi)部相關(guān)性。在深度學(xué)習(xí)推薦模型中,注意力機制能夠幫助模型抓住最具信息量的特征,推薦最具代表性的物品。自注意力機制能夠為用戶歷史序列數(shù)據(jù)分配不同的權(quán)重,以動態(tài)捕捉重點信息,反映了用戶反饋數(shù)據(jù)之間的相互依賴,并且自注意力機制在長序列的數(shù)據(jù)上表現(xiàn)出色。
本文研究的CDR問題,包含一個源域和一個目標域。每個域都有一個用戶集U={u1,u2,…},一個項目集V={v1,v2,…}和一個評分矩陣R。rij∈R表示用戶ui和項目vj之間的交互。為了區(qū)分這兩個域,將源域的用戶集、項目集和評分矩陣分別表示為Us、Vs、Rs,目標域的表示為Ut、Vt、Rt。將這兩個域之間的重疊用戶定義為Uo=Us∩Ut。對于項目而言,Vs和Vt是不相交的,這意味著這兩個域之間沒有重疊項目。
生成映射函數(shù)的第一步是從交互的項目中獲取用戶的個性化可轉(zhuǎn)移特征。但是,在目標域中冷啟動用戶沒有交互項,因此,利用源域中的交互序列S找到有助于知識遷移的可轉(zhuǎn)移特征是非常有必要的。直覺上,不同的項目對知識轉(zhuǎn)移有不同的貢獻。自注意力機制能夠捕捉輸入序列中不同項目之間的相關(guān)性,并為它們分配不同的權(quán)重。通過加權(quán)和來獲得用戶的可轉(zhuǎn)移特征:
(1)
(2)
式中:Q,K,V由單層線性網(wǎng)絡(luò)生成;dk等于隱藏層的維數(shù)除以注意力的頭數(shù),本文取5;pui∈k為用戶ui的可轉(zhuǎn)移特征嵌入;αj為vj項的注意力得分,可以解釋為vj在預(yù)測用戶個性化偏好中的重要性。
不同域的用戶偏好之間的關(guān)系因用戶而異,因此,偏好轉(zhuǎn)移的過程需要是個性化的。直覺上,偏好關(guān)系和用戶特征之間存在一定的聯(lián)系?;谶@種直覺,提出了一個元學(xué)習(xí)器,它以用戶的可轉(zhuǎn)移特征作為輸入,然后根據(jù)源域和目標域中的用戶嵌入訓(xùn)練一個因用戶而異的個性化參數(shù)。所提出的元學(xué)習(xí)器的表述為
θ=g(pui;φ),
(3)
式中g(shù)(·)是一種兩層前饋網(wǎng)絡(luò)的元學(xué)習(xí)器,它是由φ參數(shù)化的網(wǎng)絡(luò)。將訓(xùn)練得到的個性化參數(shù)θ作為映射函數(shù)f(·)的初始參數(shù),映射函數(shù)可以定義為任何結(jié)構(gòu)。本文使用簡單的矩陣相乘函數(shù)作為映射函數(shù),并將θ作為映射函數(shù)的參數(shù)而不是輸入。生成的映射函數(shù)因用戶而異,并取決于用戶的特征。
將用戶在源域中的嵌入表示輸入映射函數(shù)中,得到轉(zhuǎn)換后的用戶嵌入表示。將轉(zhuǎn)換后的嵌入表示看作用戶在目標域中的初始嵌入。通過映射函數(shù),可以得到轉(zhuǎn)換后的個性化用戶嵌入:
(4)
受基于優(yōu)化的元學(xué)習(xí)概念的啟發(fā),將這個概念放入UPCTFCR中,以反映只有少量交互的個性化用戶偏好。本文的模型考慮了用戶的項目消費歷史記錄,構(gòu)建M(M>10)組訓(xùn)練任務(wù),隨機選取序列中的10個項目作為查詢集,其余為支持集。為了反映用戶的興趣,該模型會根據(jù)用戶唯一的項目消費歷史來更新元學(xué)習(xí)器中的參數(shù)。此外,與MAML[13]不同,本文擴展了匹配網(wǎng)絡(luò)的思想,不限制項目消費歷史的長度(即支持集的長度不是固定的)。
為了訓(xùn)練元學(xué)習(xí)器,面向任務(wù)的訓(xùn)練過程直接利用最終推薦任務(wù)的評分作為優(yōu)化目標。具體可以表述為
(5)
與面向映射的過程相比,面向任務(wù)的優(yōu)化過程有兩個優(yōu)勢:
1)面向任務(wù)的優(yōu)化過程可以減輕不合理嵌入的影響。它直接使用真實的評分數(shù)據(jù),而不是利用近似的中間結(jié)果優(yōu)化模型。
算法1 元學(xué)習(xí)器的偽代碼
輸入: 超參數(shù)α,β,元學(xué)習(xí)器g·()輸出: 模型參數(shù)θ1.初始化參數(shù)θ2.while not converge do3.Sampling a batch of users B~p(B)4.For user i in B do5.計算θlifθ()6.θ'i=θ-αθlifθ()7.End for8.Update θ←θ-βθ∑i∈Blifθ'i()9.End while
UPCTFCR的模型框架如圖1所示。訓(xùn)練過程可分為4個階段:預(yù)訓(xùn)練階段、自注意力編碼階段、元學(xué)習(xí)階段和測試階段。
圖1 UPCTFCR的模型框架
預(yù)訓(xùn)練階段:分別學(xué)習(xí)源域和目標域的用戶和項目的隱式向量。損失函數(shù)表示為
(6)
式中|R|表示評分數(shù)量,經(jīng)過預(yù)訓(xùn)練步驟后,可以得到預(yù)訓(xùn)練的嵌入數(shù)據(jù)us、ut、vs、vt。
自注意力編碼階段:從源域的交互序列中提取有助于知識遷移的可轉(zhuǎn)移特征是非常關(guān)鍵的。自注意力機制能夠為用戶交互項目分配不同的權(quán)重,以捕捉序列中不同項目之間的相關(guān)性,從而獲得用戶可轉(zhuǎn)移特征pui。
元學(xué)習(xí)階段:現(xiàn)有的方法直接訓(xùn)練一個共同的映射函數(shù),而UPCTFCR訓(xùn)練自編碼器和元學(xué)習(xí)器。利用式(5)對特征編碼器和元網(wǎng)絡(luò)進行優(yōu)化。
3.1.1 數(shù)據(jù)集概述
亞馬遜評論數(shù)據(jù)集是使用最廣泛的電子商務(wù)推薦公共數(shù)據(jù)集之一,本文使用Amazon-5核心數(shù)據(jù)集,每個用戶或項目至少有5個評分。該數(shù)據(jù)集包含24個不同的項目域。本文選擇了3個流行的類別:movies_and_tv(電影)、cds_and_vinyl(音樂)、books(書籍)。然后,將3個CDR任務(wù)定義為任務(wù)1:電影→音樂,任務(wù)2:書籍→電影,任務(wù)3:書籍→音樂。由表 1可知,源域的評分數(shù)量明顯大于目標域中的評分數(shù)量。不同于許多現(xiàn)有的工作只選擇了數(shù)據(jù)集的一部分來進行評估,本文直接使用所有數(shù)據(jù)來模擬真實世界的應(yīng)用程序。
3.1.2 評估指標
Amazon審查數(shù)據(jù)集包含評分數(shù)據(jù)(0分—5分)。采用平均絕對誤差(MAE)和均方根誤差(RMSE)作為評價指標。
3.1.3 基線模型
基線模型可以分為單域和跨域兩組。在第一組中,將源域和目標域分別視為單域,并利用MF方法訓(xùn)練單域模型。第二組包括針對冷啟動用戶的最先進的CDR方法,由于UPCTFCR屬于基于映射的CDR方法,本文主要將UPCTFCR與基于映射的方法進行比較。因此,選擇以下方法作為比較的基線。
表1 跨域任務(wù)信息
單域:
1)TGT,TGT[16]是MF模型,僅使用目標域數(shù)據(jù)進行訓(xùn)練。
2)CMF,CMF是MF的延伸。在CMF中,用戶的嵌入向量可以跨源域和目標域進行共享。
跨域:
1)SSCDR,SSCDR[17]是一種基于半監(jiān)督的橋接的方法。
2)DCDCSR,DCDCSR[18]屬于基于橋的方法,它考慮了個體用戶在不同領(lǐng)域的評分稀疏程度。
3)EMCDR,EMCDR[12]是一種常用的冷啟動CDR方法。首先采用矩陣分解(MF)學(xué)習(xí)嵌入,然后利用網(wǎng)絡(luò)將用戶嵌入從輔助域連接到目標域。
4)PTUPCDR,PTUPCDR[15]屬于基于橋的冷啟動CDR方法,它通過使用用戶特征嵌入的元網(wǎng)絡(luò)來生成個性化的橋接功能,以實現(xiàn)每個用戶的個性化偏好轉(zhuǎn)移。
3.1.4 實施細節(jié)
使用PyTorch實現(xiàn)本文提出的框架。對于每個任務(wù)和方法,Adam優(yōu)化器初始學(xué)習(xí)率通過在{0.001、0.005、0.01、0.02、0.1}范圍內(nèi)的網(wǎng)格搜索進行調(diào)整。另外,將嵌入的維度設(shè)置為10。對于所有的方法,將小批量大小設(shè)置為512。采用了相同的全連接層,以方便比較EMCDR、DCDCSR、SSCDR、PTUPCDR和UPCTFCR。其中,UPCTFCR的映射函數(shù)是由元學(xué)習(xí)器生成的。該元學(xué)習(xí)器是一個隱藏單元為2×k的兩層線性模型,其中k表示嵌入維數(shù),該元學(xué)習(xí)器的輸出維數(shù)為k×k。
為了評估本文UPCTFCR的性能,在目標域中隨機刪除一部分重疊用戶,把他們作為測試用戶,其他的重疊用戶樣本用來訓(xùn)練元學(xué)習(xí)器。實驗中,將測試(冷啟動)用戶β的比例設(shè)置為總重疊用戶的20%。在訓(xùn)練數(shù)據(jù)中篩選項目消費歷史長度在13到100之間的重疊用戶。對于訓(xùn)練數(shù)據(jù)中的每個重疊用戶,使用項目序列中的10個隨機項目作為查詢集,其余的項目作為支持集,即項目消費歷史長度在3到90之間,即使支持集的長度(即項目消費歷史的長度)不是固定的,也能夠表現(xiàn)出良好的性能。
表2顯示了UPCTFCR在3個跨域推薦任務(wù)上的性能,從實驗結(jié)果可以觀察到以下幾點:
表2 不同模型在3個跨域任務(wù)上的性能比較
1)TGT性能并不理想。與GT相比,所有其他跨域方法都可以利用來自源域的數(shù)據(jù),從而獲得更好的效果。因此,利用來自輔助域的數(shù)據(jù)是緩解數(shù)據(jù)稀疏性、提高目標域推薦性能的有效方法。
2)CDR方法在大多數(shù)任務(wù)中性能都可以優(yōu)于CMF。這是因為CMF通過將來自兩個域的數(shù)據(jù)看作是相同的而忽略了潛在的域轉(zhuǎn)移。相反,映射函數(shù)可以將源嵌入轉(zhuǎn)換到目標特征空間中,有效地減輕了域位移的影響。因此,通過更有效地利用輔助域來研究CDR是非常必要的。
3)通過觀察置信度為95%的t檢驗的結(jié)果,可以發(fā)現(xiàn)UPCTFCR在大多數(shù)情況下都能顯著優(yōu)于PTUPCDR,這表明UPCTFCR是冷啟動推薦的有效解決方案。
消融實驗進一步探索所提出的UPCTFCR模型的各個組成部分對性能的影響。
1)UPCTFCR-1:將模型中自編碼器去掉,保留元學(xué)習(xí)部分。
2)UPCTFCR-2:將模型中元學(xué)習(xí)器和基于參數(shù)優(yōu)化的元學(xué)習(xí)去掉,僅保留2.2節(jié)中自注意力編碼器。
3)UPCTFCR-3:去掉模型中的參數(shù)優(yōu)化部分,在自編碼器中引入2.3節(jié)中介紹的元學(xué)習(xí)器。
4)UPCTFCR:本文提出的模型框架。
表3顯示了引入的變體在3個跨域推薦任務(wù)上的消融測試結(jié)果。在之前的模型上逐步增加新的子模塊或特征時,可以觀察到整體推薦性能的改善,這說明元學(xué)習(xí)對于冷啟動跨域推薦的有效性。
表3 在3個跨域任務(wù)上的消融測試結(jié)果
對比實驗主要將其方法應(yīng)用于MF進行實驗評價。然而,MF是一個非神經(jīng)網(wǎng)絡(luò)模型,在基于用戶行為的推薦算法里,矩陣分解算法是效果較好方法之一。因此,為了證明UPCTFCR和其他基于映射的方法的兼容性,將EMCDR、PTUPCDR和UPCTFCR應(yīng)用到兩個更復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型:GMF和YouTube DNN。GMF在點積預(yù)測函數(shù)中為不同的維度分配不同的權(quán)值,這可以看作是普通MF的一種推廣。YouTube DNN是一個雙塔模型。對于GMF,通過元學(xué)習(xí)訓(xùn)練的參數(shù)可以直接將用戶嵌入映射到目標域。對于YouTube DNN,映射函數(shù)將轉(zhuǎn)換用戶塔的輸出。在非神經(jīng)網(wǎng)絡(luò)模型(MF)和神經(jīng)網(wǎng)絡(luò)模型(GMF,YouTube DNN)上進行了泛化實驗。從圖2所示的結(jié)果,可以得到以下結(jié)論:
(a)MF
1)基于映射的CDR方法可以應(yīng)用于各種基礎(chǔ)模型。對于不同的基線模型,EMCDR、PTUPCDR和UPCTFCR都有效地提高了在目標域中對冷啟動用戶的推薦性能。由于GMF和YouTube DNN是兩種在大規(guī)模的現(xiàn)實世界推薦中流行且設(shè)計良好的模型,它們實現(xiàn)了比普通MF更好的性能。
2)廣義的UPCTFCR可以達到令人滿意的性能。一方面,通過各種基礎(chǔ)模型,廣義的UPCTFCR可以不斷地取得較好的結(jié)果;另一方面,冷啟動問題具有很高的挑戰(zhàn)性,MAE的結(jié)果足以證明廣義UPCTFCR在冷啟動場景中的有效性。
為了更好地將用戶偏好從源域轉(zhuǎn)移到目標域,將元學(xué)習(xí)引入冷啟動跨域推薦中,針對每個用戶的歷史交互項目,使用元網(wǎng)絡(luò)為每個用戶訓(xùn)練一個元學(xué)習(xí)參數(shù),從而實現(xiàn)用戶的個性化推薦。具體來說,學(xué)習(xí)了一個包含用戶特征嵌入的元網(wǎng)絡(luò),得到因用戶而異的個性化參數(shù),通過映射函數(shù)來初始化用戶嵌入,以實現(xiàn)用戶偏好的個性化轉(zhuǎn)移。在真實數(shù)據(jù)集上進行了實驗來評估所提出的模型,結(jié)果驗證了所提出的模型在冷啟動跨域推薦的有效性。在未來,可以將更多的內(nèi)容信息集成到本文的框架中,以進一步緩解冷啟動問題。