• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向異構(gòu)單類協(xié)同過濾的階段式變分自編碼器

      2022-01-05 02:31:26陳憲聰潘微科
      計算機應(yīng)用 2021年12期
      關(guān)鍵詞:集上編碼器物品

      陳憲聰,潘微科*,明 仲

      (1.大數(shù)據(jù)系統(tǒng)計算技術(shù)國家工程實驗室(深圳大學(xué)),廣東深圳 518060;2.人工智能與數(shù)字經(jīng)濟廣東省實驗室(深圳)(深圳大學(xué)),廣東深圳 518060;3.深圳大學(xué)計算機與軟件學(xué)院,廣東深圳 518060)

      (?通信作者電子郵箱panweike@szu.edu.cn)

      0 引言

      隨著信息爆炸時代的到來,人們難以從海量的信息流中挑選出符合自己興趣的物品。推薦系統(tǒng)的出現(xiàn)在一定程度上緩解了該問題,而且在現(xiàn)代社會中扮演著越來越重要的角色。它通過不同的推薦算法學(xué)習(xí)用戶的偏好,選出符合他們興趣愛好的物品,進而為不同的用戶提供個性化推薦。個性化推薦在現(xiàn)實生活中的應(yīng)用很多,如商品推薦[1]、電影音樂推薦[2]和新聞推薦[3]等,因此,對推薦算法的研究與探索越來越受到學(xué)者的關(guān)注。

      用戶的反饋能在一定程度上反映用戶的偏好,充分利用用戶的反饋并對之進行建模,可以為用戶提供物品推薦。通常而言,用戶反饋可分為顯式反饋和隱式反饋。顯式反饋能較為準(zhǔn)確地反映用戶的偏好(如評分),根據(jù)分?jǐn)?shù)的高低可以判斷用戶對物品的喜愛程度,但是顯式反饋在很多場景下難以獲得;而隱式反饋在現(xiàn)實應(yīng)用中較為常見,如用戶是否購買了某物品。早期很多工作基于用戶的單類反饋展開,并取得了較好的推薦效果,它們通常被稱為單類協(xié)同過濾(One-Class Collaborative Filtering,OCCF)[4];然而在這些工作中,用戶的單類反饋通常是比較稀疏的,這導(dǎo)致模型的表現(xiàn)受到一定的限制。

      考慮到輔助反饋信息的價值,異構(gòu)單類協(xié)同過濾(Heterogeneous One-Class Collaborative Filtering,HOCCF)[5]在近些年被提出,并受到了較為廣泛的關(guān)注。在HOCCF 問題中,除了用戶的目標(biāo)反饋,還存在著用戶的輔助反饋。例如,在線上購物中,用戶的購買行為可以看作目標(biāo)反饋,用戶的瀏覽、收藏和加入購物車等行為可以看作輔助反饋。用戶的輔助反饋往往比較稠密,可用于幫助刻畫用戶的偏好。如何對用戶的異構(gòu)反饋進行建模從而準(zhǔn)確刻畫用戶的真實偏好成為了一個新的挑戰(zhàn)。具體而言,引入用戶的輔助反饋同時也會引入一定的噪聲,需要設(shè)計合適的模型篩選有價值的信息;同時,也需要探索兩種不同類型反饋的關(guān)系,并合理融入模型中學(xué)習(xí)用戶的偏好。

      目前有很多工作用于解決HOCCF 問題,它們可大致分為基于分解的方法、基于遷移學(xué)習(xí)的方法以及基于深度學(xué)習(xí)的方法。其中,基于分解的方法通過采用不同策略對用戶反饋進行建模[5-7],如權(quán)重策略;基于遷移學(xué)習(xí)的方法則是從遷移學(xué)習(xí)的角度出發(fā),通過采取不同的遷移方式進行建模[8-9]。以上兩類方法大都依賴于傳統(tǒng)的推薦技術(shù),該技術(shù)通過簡單的用戶物品向量內(nèi)積表示用戶對物品的偏好,這種線性模型在某些場景下推薦效果可能會受到一定的限制[10]?;谏疃葘W(xué)習(xí)的方法則借助深度學(xué)習(xí)技術(shù)對用戶反饋進行建模,復(fù)雜的網(wǎng)絡(luò)和非線性函數(shù)的使用使得這些模型的性能得到一定程度的提升,但已有的模型需要依賴一些輔助信息[11-12],如時序信息和文本信息等。

      可以看到,將遷移學(xué)習(xí)引入到異構(gòu)單類協(xié)同過濾(而非傳統(tǒng)的協(xié)同過濾)的工作并不多,而且它們都是采用傳統(tǒng)的矩陣分解[13],推薦效果受到一定的限制。同時,變分自編碼器(Variational AutoEncoder,VAE)[14]在單類協(xié)同過濾問題上的推薦效果很好,但目前還沒有相關(guān)工作將遷移學(xué)習(xí)和VAE 結(jié)合用于解決異構(gòu)單類協(xié)同過濾問題。因此,本文從遷移學(xué)習(xí)的角度出發(fā),提出了一個新的遷移學(xué)習(xí)解決方案——階段式變分自編碼器(Staged Variational AutoEncoder,SVAE)模型,該模型采用遷移學(xué)習(xí)中基于參數(shù)的遷移方式[15],與變分自編碼器結(jié)合對用戶的異構(gòu)單類反饋進行建模。具體而言,SVAE分為瀏覽模型建立和購買模型建立兩個階段。在瀏覽模型中,輸入用戶的輔助反饋(即瀏覽反饋),以多項式變分自編碼器(Multinomial Variational AutoEncoder,Multi-VAE)[14]為基礎(chǔ)模型學(xué)習(xí)并生成隱特征向量。在購買模型中,遷移瀏覽模型中生成的隱特征向量到該模型,用于輔助對用戶的目標(biāo)反饋(即購買反饋)的建模。實驗結(jié)果表明,SVAE在三個真實數(shù)據(jù)集上的推薦效果在多數(shù)情況下優(yōu)于其他流行的推薦算法(如基于角色的遷移排序(Role-based Transfer to Rank,RoToR)[9]模型),驗證了模型的有效性。

      本文的主要工作包括:1)針對異構(gòu)單類協(xié)同過濾問題,從遷移學(xué)習(xí)的角度提出了一個新的SVAE 模型,在不同階段利用多項式變分自編碼器對用戶的異構(gòu)反饋進行建模,通過不同階段的訓(xùn)練和知識遷移,有效捕捉了用戶對物品的真實偏好;2)在三個真實的數(shù)據(jù)集上進行了實驗,實驗結(jié)果驗證了本文提出的方法的有效性。

      1 相關(guān)工作

      近年來針對隱式反饋(或單類反饋)的推薦算法受到很多學(xué)者的關(guān)注,當(dāng)存在一種或多種用戶的隱式反饋時,如何對其建模從而提升推薦效果是一個重要的研究問題,本章對流行的相關(guān)方法進行簡述,包括基于分解的模型、基于遷移學(xué)習(xí)的模型以及基于自編碼器的模型。

      1.1 基于分解的模型

      矩陣分解(Matrix Factorization,MF)[13]是最經(jīng)典的分解模型之一,可用于解決推薦中的單類協(xié)同過濾(OCCF)問題,它把用戶對物品的交互矩陣分解成用戶特征矩陣和物品特征矩陣的乘積,該乘積可表示用戶對物品的偏好程度。簡單有效的矩陣分解在一定程度上可以緩解數(shù)據(jù)的稀疏問題,因此很多模型在此基礎(chǔ)上進行擴展和改進。如貝葉斯個性化排序(Bayesian Personalized Ranking,BPR)[16]算法是其中之一,它認為用戶對已交互(已購買)的物品的偏好值大于未交互(未購買)的物品的偏好值,其中偏好值是基于矩陣分解計算得出的。

      在異構(gòu)單類協(xié)同過濾問題中,存在兩種或以上的用戶單類反饋,很多模型以上述面向OCCF 問題的算法為基礎(chǔ)進行改進和擴展,并取得了一定的效果。自適應(yīng)貝葉斯個性化排序(Adaptive Bayesian Personalized Ranking,ABPR)[5]將瀏覽數(shù)據(jù)融入BPR 中,并賦予相應(yīng)的權(quán)重,該權(quán)重在訓(xùn)練過程中根據(jù)設(shè)計的公式自適應(yīng)地進行調(diào)節(jié)。瀏覽數(shù)據(jù)權(quán)重的引入能在一定程度上緩解偏好不確定的問題,但是計算過程比較耗時。基于異構(gòu)隱式反饋的貝葉斯個性化排序(Bayesian Personalized Ranking for Heterogeneous implicit feedback,BPRH)[6]在BPR 損失函數(shù)的基礎(chǔ)上,增加了用戶輔助反饋的損失項,并在損失函數(shù)中添加了權(quán)重系數(shù),用于衡量目標(biāo)反饋和輔助反饋的關(guān)聯(lián)性。然而,由于該權(quán)重系數(shù)需要通過特定復(fù)雜的計算公式得到,因此BPRH 的通用性受到一定的限制。面向瀏覽數(shù)據(jù)增強的最小二乘(View-enhanced element-wise Alternating Least Squares,VALS)[7]模型在損失函數(shù)中分別為購買物品、瀏覽物品以及未交互物品上定義了不同的損失項,模型的推薦效果有一定程度的提升,但是不足之處在于模型的超參數(shù)比較多,調(diào)節(jié)范圍較大,過程比較繁瑣。

      1.2 基于遷移學(xué)習(xí)的模型

      在異構(gòu)單類協(xié)同過濾問題中,遷移學(xué)習(xí)通過對輔助反饋進行建模,將學(xué)習(xí)到的知識遷移至目標(biāo)任務(wù)中,從而更好地對目標(biāo)反饋建模。聯(lián)合相似度遷移學(xué)習(xí)(Transfer via Joint Similarity Learning,TJSL)[8]模型的預(yù)測公式包含了用戶對已購買物品的偏好值,同時也引入了用戶對瀏覽物品的偏好值,用于輔助預(yù)測用戶對目標(biāo)物品的偏好?;赽oosting 方法的思路,TJSL 通過多次迭代的方式選取具有代表性的瀏覽數(shù)據(jù),這在一定程度上消除了數(shù)據(jù)中的噪聲;但是該方法的預(yù)測公式較長,時間復(fù)雜度較高。基于角色的貝葉斯個性化排序(Role-based Bayesian Personalized Ranking,RBPR)[17]模型是一個兩階段的模型。在第一階段,從用戶扮演瀏覽者的角色出發(fā),對瀏覽數(shù)據(jù)建模,輸出候選物品的列表;在第二階段,從用戶扮演購買者的角色出發(fā),利用購買數(shù)據(jù)訓(xùn)練模型,然后對候選物品列表重排,得到最終的列表。在這里,候選物品列表可以看作遷移的知識,用于輔助第二階段的建模。RBPR 的缺點是需要維護兩個階段的模型以及中間輸出的候選物品列表。基于角色的遷移排序模型(RoToR)[9]與RBPR 類似,但是推薦效果有明顯的提升。RoToR 包含兩種變體:集成式和順序式。集成式在預(yù)測公式中融入了基于分解的模型和基于鄰域的模型,分別對購買數(shù)據(jù)和瀏覽數(shù)據(jù)進行建模。順序式則是兩階段的模型:在第一階段采用基于鄰域的模型產(chǎn)生候選物品列表;在第二階段采用基于分解的模型對候選物品進行重排,與RBPR 的建模方式相似。RoToR 的缺點也是時間復(fù)雜度較高,同時需要維護兩個階段的模型和候選列表。

      1.3 基于自編碼器的模型

      近年來,深度學(xué)習(xí)技術(shù)在計算機視覺、自然語言處理以及語音識別等領(lǐng)域取得了巨大成功。在推薦領(lǐng)域,深度學(xué)習(xí)技術(shù)也越來越受到關(guān)注,被廣泛用于不同的推薦任務(wù)和場景中[18]。本文主要關(guān)注深度學(xué)習(xí)技術(shù)中與SVAE 相關(guān)的自編碼器模型?;谧跃幋a器的協(xié)同過濾推薦模型(Autoencoderbased collaborative filtering Recommendation model,AutoRec)[19]是早期用于評分預(yù)測的模型,該模型將用戶對物品的評分樣本映射到隱藏層,再通過解碼器還原評分樣本,訓(xùn)練完成后輸出用戶對物品的預(yù)測評分。協(xié)同降噪自編碼器(Collaborative Denoising AutoEncoder,CDAE)[20]對AutoRec 進行了改進,通過在輸入樣本進行降噪操作,并且引入了用戶節(jié)點,增強了模型的魯棒性,在一定程度提升了推薦效果。多項式變分自編碼器(Multi-VAE)[14]是一個更魯棒的生成模型,它通過擬合兩個概率分布去生成隱向量并還原輸入樣本,同時引入了多項式似然函數(shù),使得該模型的推薦效果得到進一步提升。需要說明的是以上模型都只是對用戶的單種反饋進行建模。

      針對用戶多種信息的建模,也有一些代表性的工作。文獻[21]把自編碼器應(yīng)用在協(xié)同過濾工作中,并指出了傳統(tǒng)VAE 模型的不足;文獻[22-23]提出的模型在對多種輸入建模時只生成單個隱向量,可能存在模型表達能力不足的問題。針對該問題,學(xué)者提出了幾種基于VAE 對用戶輔助反饋建模的模型,如條件變分自編碼器(Conditional Variational Autoencoder-based Collaborative Filtering,CVAE-CF)[21]和聯(lián)合多模態(tài)自編碼器(Joint Multimodal Variational Autoencoderbased Collaborative Filtering,JVAE-CF)[21]。具體而言,它們引入了額外的隱向量用于挖掘更豐富的表征信息,前者學(xué)習(xí)的是一個條件分布,后者學(xué)習(xí)的是一個聯(lián)合分布。兩個模型以不同的方式融合了輔助信息(如用戶的社交信息),最后對用戶的目標(biāo)反饋進行更準(zhǔn)確的預(yù)測。變分協(xié)同模型(Variational Collaborative Model,VCM)[24]分別為目標(biāo)反饋和輔助信息建立了兩路VAE,通過交互兩路VAE 的分布來達到協(xié)同的目的,具體通過Kullback-Liebler(KL)散度來近似它們的分布?;陲L(fēng)格條件的推薦(Style Conditioned Recommendations,SCR)[25]提出了風(fēng)格注入的概念,通過文本編碼器得到用戶風(fēng)格的表征向量,然后把該向量作為條件輸入到條件變分自編碼器的結(jié)構(gòu)中,最后為用戶進行推薦。模型的輸入除了用戶的點擊記錄,還需要額外的物品屬性信息。上述模型中的輔助信息都是用戶的社交信息、文本信息或其他信息,沒有針對異構(gòu)單類反饋進行建模。本文主要關(guān)注推薦系統(tǒng)中對異構(gòu)單類反饋建模的問題。

      2 預(yù)備知識

      2.1 問題定義

      在異構(gòu)單類協(xié)同過濾問題中,假設(shè)有來自n個用戶和m個物品的兩種不同的單類反饋:例如購買反饋,表示為RT={(u,i)};以及瀏覽反饋,表示為RA={(u,i)}。具體來說,對于每一個用戶,都有其購買物品的列表和瀏覽物品的列表。目標(biāo)是根據(jù)不同用戶的購買記錄和瀏覽記錄,為每個用戶進行個性化建模,最后為用戶推薦符合用戶興趣而且之前沒有購買過的物品列表。表1 是本文使用的一些符號和相應(yīng)的解釋。

      表1 符號說明Tab.1 Symbol description

      2.2 變分自編碼器

      與傳統(tǒng)自編碼器不同的是,變分自編碼器是一種生成模型,它不再將輸入樣本映射到固定的隱向量,而是假設(shè)通過輸入樣本生成的隱向量的分布服從正態(tài)分布,并通過該分布生成隱向量,再基于生成的隱向量重構(gòu)輸入樣本。

      VAE問題求解的關(guān)鍵在于確定輸入樣本生成隱向量的分布,即后驗分布p(z|x),由貝葉斯定理可知該后驗概率難以求解。為了解決該問題,VAE 采用變分推斷[26]近似后驗分布p(z|x),具體做法是引入一個分布q(z|x),通過KL 散度讓兩個分布接近,具體推導(dǎo)過程[27]如下:

      整理上面的公式,可以得到:

      VAE 的目標(biāo)是最大化似然概率logp(x),由于KL(q(z|x)‖p(z|x))≥0,VAE 的優(yōu)化目標(biāo)等價于最大化等式右邊的兩項,也就是VAE 的證據(jù)下界(Evidence Lower Bound,ELBO)[14]。ELBO中的第一項可以看成重構(gòu)樣本的誤差,第二項可以看成正則化項,約束后驗分布q(z|x)服從先驗p(z)。因此,VAE最終的目標(biāo)函數(shù)可表示為:

      VAE 利用神經(jīng)網(wǎng)絡(luò)擬合兩個概率分布模型[28]:一個是編碼器對輸入樣本進行變分推斷,生成隱向量的概率分布模型,即qφ(z|x),其中φ是編碼器神經(jīng)網(wǎng)絡(luò)的參數(shù);另一個是根據(jù)生成的隱向量,通過解碼器還原接近輸入樣本的概率分布模型,即pθ(x|z),其中θ是解碼器神經(jīng)網(wǎng)絡(luò)的參數(shù)。變分自編碼器模型如圖1 所示。由于編碼器的輸入隱向量z是根據(jù)概率分布qφ(z|x)采樣得到,但是采樣結(jié)果取決于編碼器的均值μu?(x)和標(biāo)準(zhǔn)差σu?(x),是一個不可導(dǎo)的操作,因此VAE采用了重參數(shù)技巧[22],從標(biāo)準(zhǔn)正態(tài)分布采樣一個高斯噪聲ε∈N(0,Id),令zu?=μu?(x) +ε⊙σu?(x),從而使得模型的訓(xùn)練過程變得可導(dǎo)。

      圖1 變分自編碼器模型結(jié)構(gòu)Fig.1 Model structure of variational autoencoder

      2.3 多項式變分自編碼器

      Liang 等[14]將VAE 擴展到協(xié)同過濾問題中,提出了多項式自編碼器(Multi-VAE)模型。與近年流行的模型相比,如神經(jīng)協(xié)同過濾(Neural Collaborative Filtering,NCF)[10]和協(xié)同記憶網(wǎng)絡(luò)(Collaborative Memory Network,CMN)[29]等,Multi-VAE的表現(xiàn)較好,推薦精度的提升較多。該方法的主要優(yōu)點是引入了多項式似然函數(shù)的生成模型,同時調(diào)整了標(biāo)準(zhǔn)VAE 模型中的目標(biāo)函數(shù)。

      具體來說,Multi-VAE 的輸入是用戶u對所有物品的觀測向量,用ru?表示,經(jīng)過編碼器得到隱向量zu?=fφ(ru?)。然后隱向量zu?經(jīng)過解碼器產(chǎn)生一個物品集I上的概率分布π(zu?)[14]:

      其中:Nu表示用戶u交互物品的總次數(shù);編碼器的輸出fθ(zu?)通過softmax 函數(shù)產(chǎn)生概率分布π(zu?),假設(shè)用戶u對所有物品的觀測向量服從該分布,可以得到用戶u的多項式似然[14]

      與高斯似然和對數(shù)幾率似然相比,Multi-VAE的作者認為多項式似然更適合面向Top-K 排序的推薦模型[14],因為多項式似然會傾向于賦予ru?中的非零項更高的概率,能在一定程度上提升模型的準(zhǔn)確率。

      對于模型的目標(biāo)函數(shù),Multi-VAE 對標(biāo)準(zhǔn)VAE 模型的目標(biāo)函數(shù)進行了調(diào)整,通過引入?yún)?shù)β來調(diào)整重構(gòu)樣本誤差項和正則化項的比例,具體的目標(biāo)函數(shù)[14]如下:

      新的目標(biāo)函數(shù)在擬合數(shù)據(jù)和近似后驗分布之間做了權(quán)衡,把β當(dāng)成超參數(shù)選擇,能夠有效提升推薦的效果。

      3 階段式變分自編碼器

      3.1 模型概述

      Multi-VAE模型僅對用戶的一種單類反饋進行建模,而在現(xiàn)實應(yīng)用中,用戶的反饋往往包括多種類型。本文提出的SVAE 模型對用戶的兩種單類反饋(購買反饋和瀏覽反饋)進行建模。具體來說,SVAE 是一個雙路變分自編碼器模型:在瀏覽階段,對瀏覽反饋進行建模,將每一個用戶對所有物品的瀏覽向量rAu?輸入到Multi-VAE,以重構(gòu)瀏覽反饋樣本為目標(biāo)進行優(yōu)化;在購買階段,對購買反饋進行建模,把瀏覽模型學(xué)到的隱向量zAu?作為用戶的瀏覽表征向量遷移至購買模型,并與購買反饋樣本一起輸入到另一路Multi-VAE,最后以重構(gòu)購買反饋樣本為目標(biāo)進行優(yōu)化。SVAE模型如圖2所示。

      圖2 SVAE模型Fig.2 Model of SVAE

      SVAE 模型以Multi-VAE 為基礎(chǔ)進行了改進,主要包括:1)Multi-VAE 僅對用戶的單一類型反饋進行建模,而SVAE 采用階段式的建模方式對用戶的兩種不同反饋進行建模,更接近實際的應(yīng)用場景;2)Multi-VAE的輸入僅是用戶對物品的交互向量,SVAE 在購買階段融合了瀏覽階段學(xué)到的隱向量,并與購買物品向量一起輸入到模型中。同時,在解碼階段,也融合了瀏覽階段的隱向量。這種方式有效地融合了瀏覽反饋的信息,有助于提升推薦效果。

      3.2 瀏覽模型

      用戶瀏覽反饋的特點是數(shù)據(jù)量大、稠密,但由于用戶瀏覽行為的隨機性比較大,也伴隨著很多噪聲。瀏覽階段的目標(biāo)是根據(jù)大量的瀏覽反饋記錄學(xué)習(xí)用戶的瀏覽表征,這能在一定程度上表示用戶的偏好。具體而言,把用戶的瀏覽反饋輸入到Multi-VAE 模型中,模型生成的隱向量可作為用戶偏好的初級表征(用戶的瀏覽表征),然后將其作為輔助信息(知識)幫助購買模型更好地學(xué)習(xí)用戶的偏好。

      選擇Multi-VAE 的原因是其具有良好的表現(xiàn)和較強的特征抽象能力,所以以Multi-VAE 為基礎(chǔ)模型進行建模。在瀏覽模型中,輸入的是用戶對所有物品的瀏覽向量,模型以重構(gòu)用戶的瀏覽樣本為目標(biāo)進行優(yōu)化,具體的目標(biāo)函數(shù)如下:

      其中:φA,θA是模型求解的參數(shù),β是需要通過驗證集選擇的超參數(shù)。值得注意的是,瀏覽模型的輸入有兩種形式,一是把用戶的瀏覽反饋數(shù)據(jù)和購買反饋數(shù)據(jù)混合后作為瀏覽模型的輸入,它的假設(shè)是用戶購買物品之前都會瀏覽這些物品,因此把用戶的購買集合也看成是瀏覽物品集合的一部分;二是直接把用戶的瀏覽反饋數(shù)據(jù)作為瀏覽模型的輸入。在實驗部分會對兩種不同輸入得到的效果進行比較。瀏覽模型訓(xùn)練完畢后,提取瀏覽模型編碼器生成的隱向量作為用戶的瀏覽表征向量。

      3.3 購買模型

      受到條件變分自編碼器的啟發(fā),在購買階段采用類似的方式融合從瀏覽模型學(xué)到的知識。具體而言,以Multi-VAE為基礎(chǔ)模型,編碼器的輸入不僅有原始輸入樣本,還有瀏覽模型學(xué)到的瀏覽表征向量作為條件信息用于幫助購買模型的學(xué)習(xí),同時在解碼器的輸入除了生成的隱向量,也把瀏覽模型的條件信息一起輸入。具體的目標(biāo)函數(shù)如下:

      其中φT、θT是模型求解的參數(shù),β是需要手動選擇的超參數(shù),表示向量之間的拼接。與Multi-VAE 不同的是,購買模型的輸入是用戶對所有物品的購買向量以及條件信息,經(jīng)過編碼器生成隱向量后,與條件信息一起輸入解碼器,并以重構(gòu)購買反饋樣本為目標(biāo)進行優(yōu)化。通過這種方式,有效地將瀏覽模型學(xué)習(xí)的用戶瀏覽表征向量遷移至購買模型,提升最終的推薦效果。

      3.4 算法流程

      SVAE模型的算法的流程主要分為兩部分:1)瀏覽模型的建立。輸入用戶瀏覽樣本到Multi-VAE 模型,訓(xùn)練生成隱向量作為用戶的瀏覽表征向量。2)購買模型的建立。遷移瀏覽模型的信息(用戶瀏覽表征向量),與用戶的購買樣本一起作為Multi-VAE 的輸入,經(jīng)過編碼器生成隱向量后,再與瀏覽模型中的信息一起輸入解碼器進行樣本重構(gòu)。在整個過程中,可以采用交替訓(xùn)練或順序訓(xùn)練的方式。對于交替訓(xùn)練,首先訓(xùn)練所有用戶的瀏覽樣本,然后訓(xùn)練所有用戶的購買樣本;不斷重復(fù)迭代該過程直至模型收斂,收斂的條件是實驗結(jié)果連續(xù)多次(如50 次)迭代也沒有效果提升,交替訓(xùn)練的SVAE 模型的具體算法流程如算法1 所示。順序訓(xùn)練的方式與交替訓(xùn)練的方式的區(qū)別是:前者充分訓(xùn)練瀏覽模型,直到瀏覽模型收斂后再訓(xùn)練購買模型;后者是在每一次迭代中,先后訓(xùn)練瀏覽模型和購買模型。

      算法1 SVAE模型的算法。

      輸入 所有用戶的購買物品記錄集合RT={(u,i)},瀏覽物品記錄集合RA={(u,i)}以及模型的所有超參數(shù);

      輸出 瀏覽模型參數(shù)φA和θA,購買模型參數(shù)φT和θT。

      對于每一次迭代(epoch),訓(xùn)練會遍歷所有用戶,而對于每一個用戶,模型的輸入是該用戶交互過的所有物品和全部或部分未交互過的物品,因此模型的時間復(fù)雜度是O(T1nm1),其中:T1是迭代次數(shù),n是用戶數(shù),m1是平均每個用戶實際參與訓(xùn)練的物品數(shù),在實驗中使用了全部物品(即m=m1)。相關(guān)工作中使用傳統(tǒng)方法的模型RoToR[9]的復(fù)雜度是O(T2|R|m2),其中:T2是迭代次數(shù),|R|是交互記錄數(shù),m2是平均每個用戶實際參與訓(xùn)練的物品數(shù)。此外,SVAE模型的主要優(yōu)點如下:1)需要調(diào)節(jié)的參數(shù)少。除了學(xué)習(xí)率和正則化參數(shù),SVAE模型只有隱向量維度這一參數(shù)需要調(diào)節(jié),而部分模型如VALS需要調(diào)節(jié)的參數(shù)較多,且調(diào)節(jié)的范圍較大。2)不需要額外維護候選列表。RBPR 和RoToR 在訓(xùn)練過程中需要生成候選列表,需要進行額外的維護。3)推薦效果更好。與相關(guān)工作的模型相比,SVAE模型的推薦效果在多數(shù)情況下得到了顯著的提升,詳細的實驗結(jié)果在第4章中展開描述。

      4 實驗結(jié)果與分析

      4.1 實驗數(shù)據(jù)集和評價指標(biāo)

      在實驗中,采用三個常用的真實數(shù)據(jù)集MovieLens 10M(記為ML10M)、Netflix 以及RecSys Challenge 2015(記為Rec15)來評估模型的效果。具體而言,ML10M 數(shù)據(jù)集包含71 567 個用戶對10 681 部電影的約107條評分記錄;Netflix 數(shù)據(jù)集包含了480 189 個用戶對17 770 部電影的約109條評分記錄。對這兩個數(shù)據(jù)集的處理步驟與RoToR[9]一致,具體如下:1)首先隨機選擇數(shù)據(jù)集60%的評分記錄,篩選出用戶對電影評分為5 分的記錄,保留用戶ID 和物品ID,記為(u,i),作為購買集合,評分小于5 分的記錄丟棄;2)把購買集合再平均分成三份,一份用作訓(xùn)練集,一份用作驗證集(用于參數(shù)選擇),一份用作測試集;3)數(shù)據(jù)集中剩余的40%的評分記錄全部當(dāng)成瀏覽集合,只保留用戶ID 和物品ID。Rec15是RecSys 2015競賽公開的符合實際購物過程的數(shù)據(jù)集,原始數(shù)據(jù)包含了9 249 729 個會話和52 739 個物品,以及對應(yīng)的1 150 753 條購買記錄和33 000 944 條瀏覽記錄。對該數(shù)據(jù)集進行了如下處理:1)對會話中有重復(fù)購買或瀏覽的物品,僅保留交互時間最早的記錄,去除后面重復(fù)出現(xiàn)的記錄;2)去除被購買次數(shù)少于5的物品;3)去除購買記錄少于5的會話;4)對每一個會話,把倒數(shù)第二次購買記錄當(dāng)成驗證集,最后一次購買記錄當(dāng)成測試集,剩下的部分當(dāng)成訓(xùn)練集;5)若訓(xùn)練集中的瀏覽物品在驗證集和測試集也出現(xiàn)過,將訓(xùn)練集中的這些物品移除。處理后的三個數(shù)據(jù)集的具體信息如表2所示。

      表2 處理后的三個數(shù)據(jù)集的統(tǒng)計信息Tab.2 Statistics of three datasets after processing

      對于ML10M 和Netflix,重復(fù)以上步驟三次,便能得到三個不同的數(shù)據(jù)集副本。在具體實驗中,根據(jù)驗證集上的實驗結(jié)果選擇最優(yōu)的參數(shù),然后把該最優(yōu)參數(shù)在三個副本上進行實驗,最后將三個副本得到的實驗結(jié)果取平均作為最后的實驗結(jié)果。對于Rec15,在驗證集上選擇最優(yōu)參數(shù),然后在測試集上進行實驗得到最后的實驗結(jié)果。

      評價指標(biāo)采用推薦系統(tǒng)和信息檢索中常用的基于排序的指標(biāo)[30],包括精確率Precision@5、召回率Recall@5、F1@5、歸一化折損累計增益(Normalized Discounted Cumulative Gain@5,NDCG@5)以及1-call@5。其中:Precision@5 表示推薦的物品中有多少個是用戶喜歡的;Recall@5 表示推薦的物品占用戶真正喜歡的物品的比例;F1@5 綜合考慮了Precision@5 和Recall@5 兩個指標(biāo);NDCG@5 表示如果用戶喜歡的物品在推薦列表的位置越靠前,對應(yīng)的增益越大;1-call@5 表示的是推薦的所有物品中至少有一個是用戶真正喜歡的概率。

      4.2 基準(zhǔn)算法和參數(shù)選取

      為了研究SVAE 的推薦效果,選取較為流行的推薦算法進行比較,包括單類協(xié)同過濾算法和異構(gòu)單類協(xié)同過濾算法。因為只關(guān)注對異構(gòu)單類反饋進行建模的算法,因此不包含需要用到輔助信息的算法[21,24-25]。對比算法如下:

      1)貝葉斯個性化排序(BPR)模型[16]:該模型是單類協(xié)同過濾的經(jīng)典算法,它的基本假設(shè)是用戶對已購買物品的偏好大于對未購買物品的偏好,模型通過基于成對偏好假設(shè)的方式進行訓(xùn)練。

      2)基于對數(shù)幾率損失的矩陣分解(MFLogLoss)模型[13]:該模型也是對用戶的單類反饋進行建模,是基于對數(shù)幾率損失的矩陣分解模型,通過逐點偏好假設(shè)以逐點的方式進行訓(xùn)練。

      3)多項式變分自編碼器(Multi-VAE)模型[14]:該模型是生成模型,以重構(gòu)輸入樣本為目標(biāo)最大化用戶的多項式似然概率,也屬于單類協(xié)同過濾算法。

      4)基于角色的遷移排序(RoToR)模型[9]:該模型是對用戶的購買反饋和瀏覽反饋進行建模的排序模型,根據(jù)不同的遷移形式和訓(xùn)練方式設(shè)計了不同的變體。

      5)SVAE 模型:該模型由兩路VAE 構(gòu)成,經(jīng)過訓(xùn)練的瀏覽模型生成抽象隱向量,然后遷移至購買模型,最后以重構(gòu)用戶購買樣本為目標(biāo)進行優(yōu)化。根據(jù)不同的輸入形式,模型有兩種變體:一是把用戶的瀏覽數(shù)據(jù)和購買數(shù)據(jù)混合在一起輸入到瀏覽模型,在這種處理方式下,瀏覽模型的輸入是原始瀏覽數(shù)據(jù)和原始購買數(shù)據(jù)的混合,購買模型的輸入是原始購買數(shù)據(jù),因此瀏覽數(shù)據(jù)和購買數(shù)據(jù)是相交的,符合實際的購買場景,該變體記為SVAE(B+P);二是把用戶的原始瀏覽數(shù)據(jù)輸入到瀏覽模型,原始購買數(shù)據(jù)輸入到購買模型,這種情況下認為原始瀏覽數(shù)據(jù)僅包含用戶瀏覽(但未購買)的物品,原始購買數(shù)據(jù)包含用戶既瀏覽又購買的物品,這種做法不失一般性,該變體記為SVAE(B)。SVAE(B+P)和SVAE(B)均采用交替訓(xùn)練的方式進行訓(xùn)練。

      關(guān)于參數(shù)選擇,對于BPR、MFLogLoss 以及RoToR,固定用戶和物品的特征向量維度d=100,固定學(xué)習(xí)率γ=0.01,正則化系數(shù)從{0.1,0.01,0.001} 中選取,迭代次數(shù)T從{100,500,1000}中選取。對于Multi-VAE,設(shè)置迭代次數(shù)T=1000,隱向量維度h=100,學(xué)習(xí)率從{0.01,0.001,0.000 1}中選取。對于本文提出的SVAE,參數(shù)設(shè)置與Multi-VAE 保持一致。正則化系數(shù)、迭代次數(shù)、學(xué)習(xí)率等最優(yōu)參數(shù)的選擇都根據(jù)驗證集上的NDCG@5指標(biāo)確定。

      4.3 實驗結(jié)果與分析

      在三個真實數(shù)據(jù)集ML10M、Netflix 和Rec15 上對所有基準(zhǔn)算法進行了實驗,結(jié)果如表3所示。

      表3 各模型在三個數(shù)據(jù)集上的實驗結(jié)果Tab.3 Experimental results of each model on three datasets

      由表3可知:

      1)在單類協(xié)同過濾算法(BPR、MFLogLoss 和Multi-VAE)中,Multi-VAE 在三個數(shù)據(jù)集上均表現(xiàn)最好,說明變分自編碼器模型能夠?qū)τ脩舻膯晤惙答佭M行有效的建模,優(yōu)于傳統(tǒng)的基于矩陣分解的協(xié)同過濾算法(BPR和MFLogLoss)。

      2)從三個數(shù)據(jù)集上的效果來看,基于多種單類反饋建模的算法(RoToR 和SVAE)的實驗結(jié)果在多數(shù)情況下明顯優(yōu)于基于一種單類反饋建模的算法(BPR、MFLogLoss 和Multi-VAE),這說明引入輔助反饋信息是有效的,即兩種反饋具有互補性,而且合理有效的建模方式對提升推薦效果是顯著的。

      3)SVAE模型在多數(shù)情況下都是表現(xiàn)最好的,且實驗結(jié)果相對其他基準(zhǔn)算法有顯著的提升。具體而言,在ML10M 和Netflix 數(shù)據(jù)集上,SVAE(B)的效果最好;在Rec15 數(shù)據(jù)集上,SVAE(B)的效果與最好的基準(zhǔn)算法RoToR 相當(dāng)。這充分說明了本文設(shè)計的模型的合理性和有效性,能夠準(zhǔn)確學(xué)習(xí)用戶的偏好。

      表3 是K=5 時各指標(biāo)的結(jié)果值,當(dāng)K=1、5、10、15 時在三個數(shù)據(jù)集上的實驗結(jié)果如圖3~5 所示,選取具有代表性的指標(biāo)Precision@K和NDCG@K上的結(jié)果進行展示。由圖可觀察到,當(dāng)K取不同值時,SVAE 在多數(shù)情況下都是效果最好的模型,與上述的結(jié)論一致。

      圖3 K取不同值時在ML10M上的實驗結(jié)果Fig.3 Experimental results on ML10M with different values of K

      圖4 K取不同值時在Netflix上的實驗結(jié)果Fig.4 Experimental results on Netflix with different values of K

      4.4 參數(shù)敏感性分析

      在上一節(jié)中,所有的實驗結(jié)果都是固定隱向量維度h=100 時得到的結(jié)果。本節(jié)研究隱向量維度h的大小對模型效果的影響。具體而言,在SVAE 模型中,瀏覽模型生成的表征向量對應(yīng)的維度大小記為hA;購買模型生成的表征向量對應(yīng)的維度大小記為hT。為了縮小選參的范圍,設(shè)置h=hA=hT,h取不同值時的實驗結(jié)果如圖6 所示,選取具有代表性的Precision@5和NDCG@5兩個指標(biāo)上的結(jié)果進行展示。

      圖5 K取不同值時在Rec15上的實驗結(jié)果Fig.5 Experimental results on Rec15 with different values of K

      圖6 隱向量的維度h取不同值時的實驗結(jié)果Fig.6 Experimental results with different values of hidden dimension h

      可以看到,在ML10M 和Netflix 兩個較大的數(shù)據(jù)集上,兩個指標(biāo)上的結(jié)果隨著h的增大而增大,說明在較大規(guī)模的數(shù)據(jù)集上適當(dāng)增大隱向量維度h有助于提升推薦效果;在Rec15數(shù)據(jù)集上,當(dāng)h較小時,兩個指標(biāo)上的結(jié)果隨著h的增大有一定程度的提升,當(dāng)h>100 時效果趨于平緩,說明在較小規(guī)模的數(shù)據(jù)集上h取較小的值就能得到相對穩(wěn)定的結(jié)果。

      4.5 不同輸入數(shù)據(jù)的結(jié)果分析

      根據(jù)瀏覽模型輸入數(shù)據(jù)的兩種處理方式,SVAE模型有兩種變體SVAE(B+P)和SVAE(B)。從表3 可以看到,在三個數(shù)據(jù)集上,SVAE(B)的效果都要優(yōu)于SVAE(B+P);而與最好的基準(zhǔn)算法RoToR 相比,SVAE(B)在ML10M 和Netflix上的效果要優(yōu)于RoToR,在Rec15上與其效果相當(dāng)。

      對三個數(shù)據(jù)集的特點進行簡要分析,具體信息如表4 所示。從表4可以看到,在三個數(shù)據(jù)集上,SVAE(B)取得了最優(yōu)的推薦效果,說明在SVAE 中以混合瀏覽數(shù)據(jù)和購買數(shù)據(jù)的方式處理瀏覽模型的輸入會對模型的效果帶來一定的干擾,采用SVAE(B)是更好的選擇。在ML10M 和Netflix上,與最好的基準(zhǔn)算法RoToR 相比,SVAE(B)在各個指標(biāo)上的推薦效果均有較為顯著的提升,這兩個數(shù)據(jù)集的特點是瀏覽記錄數(shù)遠大于購買記錄數(shù),更重要的是用戶已交互的平均物品數(shù)較多,數(shù)據(jù)集較為稠密。在這種情況下,模型的推薦效果較為顯著。在Rec15 上,SVAE(B)與RoToR 的推薦效果相當(dāng)。該數(shù)據(jù)集的特點是瀏覽記錄數(shù)和購買記錄數(shù)相差不多,且用戶已交互的平均物品數(shù)非常少,數(shù)據(jù)集非常稀疏。在這種情況下,模型的推薦效果受到一定的限制。

      表4 三個數(shù)據(jù)集的特點及取得最優(yōu)推薦效果的模型Tab.4 Characteristics of three datasets and model with the optimal recommendation results

      4.6 不同訓(xùn)練方式的結(jié)果分析

      前文提到了SVAE 的兩種不同的訓(xùn)練方式,即交替訓(xùn)練和順序訓(xùn)練:在交替訓(xùn)練中,每一次迭代首先訓(xùn)練所有用戶的瀏覽數(shù)據(jù),利用當(dāng)前的瀏覽模型參數(shù)生成抽象特征zAu?,然后將其遷移至購買模型并對所有用戶的購買數(shù)據(jù)進行訓(xùn)練;不斷重復(fù)迭代該過程直至模型收斂。而在順序訓(xùn)練中,SVAE首先對用戶的瀏覽數(shù)據(jù)進行訓(xùn)練,待模型收斂時結(jié)束訓(xùn)練。在對購買數(shù)據(jù)建模時,利用已經(jīng)訓(xùn)練好的瀏覽模型參數(shù)生成抽象特征zAu?,用于幫助購買模型的訓(xùn)練。為了方便展示結(jié)果,把基于交替訓(xùn)練的SVAE 模型記為SVAE(alt.),基于順序訓(xùn)練的SVAE 模型記為SVAE(seq.)。兩個模型在兩個數(shù)據(jù)集上的實驗結(jié)果如表5所示。

      表5 SVAE(alt.)與SVAE(seq.)在三個數(shù)據(jù)集上的實驗結(jié)果Tab.5 Experimental results of SVAE(alt.)and SVAE(seq.)on three datasets

      從表5可以看到,在ML10M數(shù)據(jù)集上,SVAE(alt.)的效果比SVAE(seq.)要好;在Netflix 數(shù)據(jù)集上,SVAE(seq.)的效果比SVAE(alt.)要好;而在Rec15 數(shù)據(jù)集上,SVAE(seq.)的效果與SVAE(alt.)相當(dāng)。順序訓(xùn)練是采用訓(xùn)練好的參數(shù)生成抽象特征zAu?,從直覺上看根據(jù)瀏覽模型的最優(yōu)參數(shù)生成的抽象特征更能表達用戶的瀏覽偏好。在這種方式中,瀏覽模型和購買模型的參數(shù)是分開選擇的(即瀏覽模型和購買模型的最優(yōu)參數(shù)可能各不相同),瀏覽模型的參數(shù)選擇取決于瀏覽模型在驗證集上的表現(xiàn)。而在交替訓(xùn)練中,瀏覽模型和購買模型的參數(shù)是共同選擇的(即瀏覽模型和購買模型的最優(yōu)參數(shù)是相同的),瀏覽模型的參數(shù)選擇取決于購買模型在驗證集上的表現(xiàn),在一定程度上會影響瀏覽模型的訓(xùn)練,也會影響生成的抽象特征向量。因此兩種不同訓(xùn)練方式在不同的數(shù)據(jù)集表現(xiàn)出了一定的差異。

      5 結(jié)語

      本文研究了推薦系統(tǒng)中的一個重要問題,即基于異構(gòu)單類反饋的協(xié)同過濾(HOCCF),其中包含了用戶的購買反饋和瀏覽反饋,目的是利用這兩種反饋為用戶推薦喜歡的物品列表。針對該問題,提出了一種新的遷移學(xué)習(xí)解決方案——階段式變分自編碼器(SVAE)模型,分別構(gòu)建瀏覽模型和購買模型對用戶的異構(gòu)反饋進行建模。在瀏覽模型中,輸入用戶的瀏覽反饋數(shù)據(jù),以多項式變分自編碼器(Multi-VAE)為基礎(chǔ)模型學(xué)習(xí),模型生成隱特征向量作為用戶的瀏覽表征;在購買模型中,遷移瀏覽模型生成的隱特征向量,與用戶的購買反饋數(shù)據(jù)一起作為另一路Multi-VAE 的輸入,用于幫助購買反饋的建模。模型通過兩種不同的訓(xùn)練方式學(xué)習(xí)參數(shù),能夠有效地將瀏覽模型的信息融入購買模型中,進而提升推薦效果。在三個真實的數(shù)據(jù)集上進行了實驗,結(jié)果顯示SVAE 模型表現(xiàn)在多數(shù)情況下顯著優(yōu)于其他流行的推薦算法,驗證了模型設(shè)計的合理性和有效性。

      在未來的工作中,考慮擴展SVAE 模型從而能夠融合更多類型的單類反饋(特別是含有噪聲的用戶反饋),進一步提升模型的通用性和有效性。另一方面,近年來隱私保護逐漸受到大家的關(guān)注,如何在保護用戶隱私的前提下利用用戶的異構(gòu)數(shù)據(jù)進行建模成為了一個重要挑戰(zhàn),在未來的工作中會研究并探討如何將聯(lián)邦學(xué)習(xí)技術(shù)[31-33]應(yīng)用在異構(gòu)單類協(xié)同過濾問題中。

      猜你喜歡
      集上編碼器物品
      稱物品
      “雙十一”,你搶到了想要的物品嗎?
      Cookie-Cutter集上的Gibbs測度
      鏈完備偏序集上廣義向量均衡問題解映射的保序性
      誰動了凡·高的物品
      基于FPGA的同步機軸角編碼器
      復(fù)扇形指標(biāo)集上的分布混沌
      基于PRBS檢測的8B/IOB編碼器設(shè)計
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
      電子器件(2015年5期)2015-12-29 08:42:24
      找物品
      武陟县| 理塘县| 铜川市| 沿河| 临武县| 太白县| 梅州市| 陕西省| 潍坊市| 温宿县| 锡林郭勒盟| 英超| 泾源县| 林西县| 望奎县| 民勤县| 邻水| 古浪县| 临安市| 林州市| 苏尼特左旗| 高邮市| 南宁市| 天台县| 临泽县| 临沭县| 玉屏| 叙永县| 文安县| 嘉兴市| 株洲市| 庆城县| 武山县| 玛曲县| 昂仁县| 体育| 芦山县| 客服| 赣州市| 哈尔滨市| 延安市|