陳 海,錢付蘭,陳 潔,趙 姝,張燕平
1.安徽大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,合肥230601
2.安徽大學(xué) 計算智能與信號處理教育部重點實驗室,合肥230601
近年來,深度學(xué)習(xí)[1]模型在圖像分類領(lǐng)域的能力得到了指數(shù)級的提升,并成為人工智能領(lǐng)域的主要研究方向。然而在圖形圖像領(lǐng)域中存在深度學(xué)習(xí)模型魯棒性的問題,即已經(jīng)訓(xùn)練好的深度學(xué)習(xí)模型由于數(shù)據(jù)中少量噪聲的干擾,可能會造成圖像分類或者預(yù)測結(jié)果的較大偏差。這主要是由深度學(xué)習(xí)方法本身的局限性造成的。近年來,不少學(xué)者將深度學(xué)習(xí)方法應(yīng)用到推薦系統(tǒng)中,推薦系統(tǒng)中也存在由于深度模型缺乏抗噪能力導(dǎo)致的推薦偏差問題。數(shù)據(jù)中含有噪聲是現(xiàn)實系統(tǒng)或者環(huán)境中不可避免的事實,如何減少噪聲對推薦結(jié)果的影響,設(shè)計具有抗噪能力的深度推薦模型,也成為當(dāng)前推薦系統(tǒng)的研究問題。
學(xué)者們?yōu)榱藴p少噪聲影響和提升抗噪能力,提出了一系列的深度學(xué)習(xí)推薦算法。Wang 等人[2]提出了ATMBPR(Adversarial Training-based Mean Bayesian Personalized Ranking)模型,該模型是基于貝葉斯個性化排序來執(zhí)行Top-N推薦任務(wù),通過對抗訓(xùn)練MBPR 算法來最小化噪聲,進(jìn)而提高算法的魯棒性。He等人[3]提出了一種對抗性個性化排序算法,在此算法上引入一個額外的目標(biāo)函數(shù)來量化模型在參數(shù)擾動下的損失,使得模型更具魯棒性。Yuan 等人[4]提出了一種對抗協(xié)同自編碼器模型,通過在模型中增加噪聲嵌入權(quán)重矩陣來優(yōu)化模型,從而平滑由于用戶評價不準(zhǔn)確所帶來的自然噪聲干擾。Wang等人[5]將深度學(xué)習(xí)模型與基于MF(Matrix Factorization)的推薦系統(tǒng)相結(jié)合,提出了一種基于堆疊式判別去噪自編碼推薦系統(tǒng)SDDRS,從具有噪聲的Side Information 中提取有效的特征,從而與評分信息結(jié)合在一起,使得推薦結(jié)果更準(zhǔn)確。
目前針對深度推薦算法中噪聲的處理大體上主要使用生成或是對抗模型來平滑自然噪聲對推薦性能的影響。也有部分算法直接對輸入數(shù)據(jù)噪聲進(jìn)行降噪處理。而平滑自然噪聲可以通過優(yōu)化目標(biāo)函數(shù)最小化噪聲或者主動增加噪聲干擾優(yōu)化模型的抗噪能力兩方面進(jìn)行處理。本文從優(yōu)化模型的抗噪能力出發(fā),針對深度學(xué)習(xí)下推薦系統(tǒng)存在的噪聲問題提出了基于變分自編碼器的評分預(yù)測模型REVAE(REcommender Variational Auto-Encoder)。該模型是一種生成模型,通過在隱層表示中主動地添加噪聲,增加模型的健壯性,使得推薦結(jié)果不易受到噪聲的干擾,平滑了數(shù)據(jù)中自然噪聲對推薦結(jié)果的影響,從而提升了模型的推薦效果。首先,利用變分自編碼器(Variational Auto-Encoder,VAE)中后驗分布對隱層分布約束的特點,對REVAE 的隱層表示的分布進(jìn)行約束。其次,VAE 具有獨特的編碼特點,也就是VAE有兩個編碼器,一個生成均值,另一個生成方差,本文利用方差動態(tài)調(diào)節(jié)噪聲強度的特點對隱層表示進(jìn)行噪聲的添加。
本文的貢獻(xiàn)可以總結(jié)如下:
(1)在隱層表示中利用VAE 的特點進(jìn)行噪聲的添加,并對隱層表示的分布進(jìn)行約束,訓(xùn)練得到具有抗噪能力的推薦算法模型。
(2)提出了一個新的模型REVAE,它基于VAE來進(jìn)行評分預(yù)測任務(wù)。實驗結(jié)果表明,與其他模型相比,REVAE更具健壯性以及具有更好的推薦結(jié)果。
近年來深度學(xué)習(xí)被廣泛應(yīng)用在圖像領(lǐng)域中,如Rosca等人[6]提出將自編碼器和生成對抗網(wǎng)絡(luò)結(jié)合在一起的深度模型,Takahashi等人[7]提出基于變分自編碼器的深度模型,都在圖像領(lǐng)域取得有效的成果。一些學(xué)者考慮到噪聲對模型的影響,但是大多數(shù)研究都是在輸入數(shù)據(jù)進(jìn)行噪聲污染,如Li等人[8]提出基于降噪自編碼器的深度模型,Bigdeli等人[9]提出基于降噪自編碼器的深度生成模型,且都證明了其模型的可行性。近年來,一些學(xué)者將深度學(xué)習(xí)的自編碼器應(yīng)用到推薦系統(tǒng)中,并取得了較好的結(jié)果。推薦系統(tǒng)近年來在銷售、電子商務(wù)等行業(yè)中扮演著重要的角色,大多數(shù)推薦模型都是執(zhí)行Top-N推薦任務(wù),少數(shù)推薦模型用于評分預(yù)測任務(wù)。RBM(Restricted Boltzmann Machine)[10]是第一個將神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于推薦系統(tǒng)的研究,它的最終目的是對未評分的項目進(jìn)行評分預(yù)測。隨著時代的發(fā)展,越來越多的推薦模型開始興起,如Sedhain等人[11]提出的AutoRec模型,該模型是基于自編碼器的評分預(yù)測模型;Wu等人[12]提出的CDAE 模型,該模型是基于降噪自編碼器進(jìn)行Top-N任務(wù)的;Chae等人[13]提出的基于自編碼器的個性化排序模型,該模型充分利用了顯示反饋和隱式反饋信息;Ouyang等人[14]提出的基于自編碼器進(jìn)行協(xié)同過濾的推薦模型;Yi等人[15]提出的AAE-RS模型,該模型結(jié)合評論和評分信息進(jìn)行評分預(yù)測任務(wù);Khan等人[16]在協(xié)同降噪自編碼器的基礎(chǔ)上提出的Top-N推薦任務(wù);Shenbin等人[17]提出的RecVAE 模型,該模型是基于變分自編碼利用隱式反饋信息執(zhí)行Top-N推薦任務(wù)。這些模型中CDAE和文獻(xiàn)[16]提出的模型考慮到噪聲對推薦結(jié)果的影響,但都是在輸入數(shù)據(jù)中添加噪聲,通過最小化預(yù)測的輸出與真實的數(shù)據(jù)集之差來達(dá)到降噪處理,這樣促使提出的模型需要去挖掘更多的用戶和項目的潛在信息,這些模型訓(xùn)練好的參數(shù)是一個確定的值,因此得到的參數(shù)一旦稍微改動,將使推薦結(jié)果精度下降。而VAE 訓(xùn)練得到的參數(shù)是一個分布,通過在此分布上隨機采樣得到隱層表示,然后生成輸出數(shù)據(jù)。在圖像領(lǐng)域中,VAE得到的輸出不僅可以重構(gòu)輸入數(shù)據(jù),還可以得到輸入數(shù)據(jù)以外的數(shù)據(jù),只要在隱層分布中采樣即可。而遷移到推薦系統(tǒng)中,只要在隱層表示的分布范圍內(nèi),都可以有效重構(gòu)輸入數(shù)據(jù),而當(dāng)隨機采樣的數(shù)據(jù)在隱層表示分布的峰值附近,得到的重構(gòu)輸入數(shù)據(jù)效果最好,從而克服了參數(shù)變化對輸入數(shù)據(jù)的影響。這也是VAE的優(yōu)點所在。
通過以上的研究和分析,本文結(jié)合VAE 的優(yōu)點以及當(dāng)前推薦模型存在噪聲干擾的問題,提出了一個新的評分預(yù)測模型REVAE,通過在模型上主動增加噪聲,重構(gòu)輸入數(shù)據(jù),訓(xùn)練模型的抗噪能力,使得模型具有魯棒性,不至于因為外界噪聲導(dǎo)致推薦精度出現(xiàn)較大偏差。事實上外界噪聲的干擾在真實系統(tǒng)中是不可避免的,具有抗噪能力的模型可以通過平滑數(shù)據(jù)的自然噪聲所帶來的影響,保證和提升推薦精度。
本文將評分?jǐn)?shù)據(jù)分為訓(xùn)練集和測試集來完成推薦任務(wù)。在推薦設(shè)置中,有用戶N個,項目M個以及用戶和項目的交互Rij∈RN×M,每一個Rij代表用戶i對項目j的評分,其中評分信息是1 到5。推薦系統(tǒng)的最終目的是對未評分的數(shù)據(jù)進(jìn)行評分預(yù)測。
本節(jié)將詳細(xì)介紹REVAE 模型,其結(jié)構(gòu)如圖1 所示。圖中X為REVAE的輸入,通過一個非線性轉(zhuǎn)換函數(shù)f將輸入X映射到一個潛在的低維空間中得到ZI,其中μ、δ是由ZI得到的均值、方差,然后通過均值、方差得到ZS,其中ε是從高斯分布中隨機采樣得到,最后通過解碼層重構(gòu)輸出,得到X′。模型主要分為三個階段,圖1(a)為編碼階段,圖1(b)為生成階段,圖1(c)為解碼階段。編碼階段是將輸入數(shù)據(jù)映射到一個低維空間中;生成階段主要是在隱變量上添加噪聲,隨機生成下一個隱變量;解碼階段是在隨機生成的具有噪聲的隱變量上對輸入進(jìn)行重構(gòu)。
圖1 REVAE模型框架Fig.1 REVAE model framework
變分自編碼器(VAE)作為深度生成模型的一種形式,是由Kingma 等人[18]于2014 年提出的基于變分貝葉斯(Variational Bayes,VB)推斷的生成式網(wǎng)絡(luò)結(jié)構(gòu)。與傳統(tǒng)的自編碼器通過數(shù)值的方式描述潛在空間不同,它以概率的方式描述對潛在空間的觀察,在數(shù)據(jù)生成方面表現(xiàn)出了巨大的應(yīng)用價值。如圖2所示。
圖2 變分自編碼器Fig.2 Variational auto-encoder
首先有一批數(shù)據(jù)樣本{X1,X2,…,Xn},其整體用X來描述,最好的結(jié)果是根據(jù){X1,X2,…,Xn}得到X的分布p(X),然后通過p(X)來采樣,就可以得到所有可能的X了(包括{X1,X2,…,Xn}以外的),這是一個理想的生成模型,但是這種理想的生成模型很難實現(xiàn),因此在給定輸入數(shù)據(jù)X的情況下,通過貝葉斯定理:
可知VAE 的編碼階段輸出的應(yīng)該是Z的后驗分布p(Z|X)。但是這個p(Z|X)后驗分布很難計算,于是這里采用另一個可伸縮的分布q(Z|X)來近似p(Z|X)。通過深度網(wǎng)絡(luò)來學(xué)習(xí)q(Z|X)的參數(shù),一步步優(yōu)化q使其與p(Z|X)十分相似,就可以用它來對復(fù)雜的分布進(jìn)行近似的推理。為了使得q和p這兩個分布盡可能相似,最小化兩個分布之間的KL散度。最終的損失函數(shù)為:
在VAE 中對后驗分布p(Z|X)假設(shè)為高斯分布,同時用KL散度來使得q和p最小化,這就給隱變量的分布添加了約束,生成的X′會接近于輸入X;另一方面,VAE在編碼過程中會生成均值和方差,VAE以其獨特的方式通過方差來動態(tài)調(diào)節(jié)噪聲的大小,使得VAE 具有良好的生成能力,這也是為什么VAE 被稱為生成模型的原因。
如圖1所示,REVAE共分為3個階段:
(1)編碼階段
輸入為X∈R,X是R的列向量,其中R∈RN×M。不同于VAE的是,REVAE在此階段多添加了一層隱層,即圖1 中的ZI。在編碼階段,REVAE 將輸入數(shù)據(jù)轉(zhuǎn)換為一個隱層的編碼ZI∈RD,D表示ZI的維數(shù)大小,表示如下:
其中,f為非線性轉(zhuǎn)換函數(shù),θen表示編碼器的參數(shù)。由于其良好的非線性逼近能力,選擇非線性變換f作為深度神經(jīng)網(wǎng)絡(luò),本文實驗中選用的是sigmoid函數(shù)。
(2)生成階段
在生成階段,通過兩個全連接層由ZI得到均值μ,方差δ,然后通過VAE 中方差動態(tài)調(diào)節(jié)噪聲大小的特點,對ZI添加噪聲并進(jìn)行隨機采樣,因此得到的添加噪聲后的隱變量ZS可以表示為:
其中,wμ、wδ為均值和方差的權(quán)重,bμ、bδ為均值和方差的偏置,且ε~N(0,1)。
(3)解碼階段
解碼器實施的是對輸入X的重構(gòu),因為REVAE旨在訓(xùn)練一個具有抗噪能力的深度模型,所以解碼階段使用的是添加噪聲后的隱層表示,具體如圖1中解碼階段所示,重構(gòu)的X′是由生成階段中添加噪聲后的隱層ZS得到,表示如下:
其中,f′是另一個非線性的解碼器函數(shù),θde表示解碼器的參數(shù),X′表示重構(gòu)的輸出。
REVAE的損失函數(shù)定義如下:
本文優(yōu)化此損失采用的是Adam優(yōu)化函數(shù),學(xué)習(xí)率設(shè)置為0.001。
第一部分是重構(gòu)損失,表示解碼器是基于高斯分布的隨機采樣的編碼ZS來重構(gòu)觀測數(shù)據(jù),不同于VAE,這里隨機采樣的ZS是通過ZI添加噪聲后得到的,而ZI是由輸入數(shù)據(jù)直接得到的,此隱層中包含了輸入數(shù)據(jù)的潛在信息。越低的重構(gòu)損失就表示編碼器學(xué)習(xí)了比較好的潛在表示,即模型解決了在隱層上存在噪聲的影響。第二部分是KL 散度,用來度量先驗分布和后驗分布p(ZS|X)的距離。這個散度反映了使用p(ZS|X)表示的信息損失,如圖1 中生成階段所示,ZS繼承了ZI的信息并隨機添加了一個高斯分布,KL散度的目的就是讓ZI和ZS的信息損失越低越好,這樣從隱層的角度充分處理了噪聲對模型的影響。
在REVAE 的隱層空間中,有兩個潛在表示ZI和ZS,前者是從輸入X直接編碼得到的,而后者是從后驗分布中隨機采樣得到的。由上面可以看出ZS是添加噪聲之后得到的潛在表示,因此選擇ZS來進(jìn)行重構(gòu)的潛在表示。
從式(4)中可以看出,ZI和ZS的期望和方差是不變的,因此對于同樣的輸入X,對應(yīng)的ZI和ZS具有相同的統(tǒng)計特征,從而有:
這說明生成的ZS受到ZI分布的影響以及先驗分布pˉ(ZS)(或者ε)的影響。因此,ZS繼承了ZI的統(tǒng)計特征,在VAE 的基礎(chǔ)上巧妙地在輸入數(shù)據(jù)之后添加一層隱層表示,讓其包含輸入數(shù)據(jù)潛在信息,然后結(jié)合VAE 中方差動態(tài)調(diào)節(jié)噪聲的特點,在ZI的基礎(chǔ)上添加噪聲得到ZS,最后通過ZS解碼得到重構(gòu)的輸出。
算法1 基于變分自編碼器的評分預(yù)測算法
輸入:用戶-項目評分矩陣Rij∈RN×M。
輸出:重構(gòu)輸出X′。
步驟1初始化網(wǎng)絡(luò)參數(shù)θen、θde;
步驟2根據(jù)式(3)將輸入數(shù)據(jù)映射到潛在的低維空間,得到潛在表示ZI;
步驟3根據(jù)式(4)得到關(guān)于ZI的均值μ;
步驟4根據(jù)式(5)得到關(guān)于ZI的方差δ;
步驟5從高斯分布中隨機采樣ε作為噪聲;
步驟6根據(jù)式(6)生成加噪后的潛在表示ZS;
步驟7最后得到的潛在表示ZS經(jīng)由式(7)重構(gòu)輸出X′。
本文實驗使用的數(shù)據(jù)集為公開數(shù)據(jù)集Movielens 100k 和Movielens 1M。Movielens 100k 數(shù)據(jù)集包含100 000 個評分記錄,一共有943 個用戶對1 682 個項目的評分,所有評分值均為整數(shù)且不大于5,每個用戶評分至少評價20 部電影,評分越高表示用戶越喜歡這部電影。Movielens 1M 數(shù)據(jù)集包含來自6 040 位用戶對3 952 部電影的1 000 209 個評分記錄,每位用戶至少評價20 部電影,詳細(xì)信息如表1 所示。根據(jù)表1 可知,數(shù)據(jù)集越大,數(shù)據(jù)越稀疏。
表1 Movielens數(shù)據(jù)描述Table 1 Description of Movielens dataset
在本文的實驗中,采用了推薦系統(tǒng)中兩個常用的誤差度量來評估預(yù)測的準(zhǔn)確性:均方根誤差(RMSE)、平均絕對誤差(MAE)。
RMSE表示如下:
其中,Rtest表示整個測試集,Rij表示第i個用戶對第j個項目的評分,′表示預(yù)測值。
MAE定義如下:
RMSE和MAE的值越小表示預(yù)測的準(zhǔn)確度越高。
實驗用到的對比算法有:
RBM[10]:該算法是第一個將神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于推薦系統(tǒng)的研究,它的最終目的是對未評分的項目進(jìn)行評分預(yù)測。
NMF:矩陣分解中經(jīng)典的非負(fù)矩陣分解算法。
SVD:基于用戶和項目的經(jīng)典的奇異值矩陣分解算法。
2015年8月至2017年6月我院脊柱外科采用PVP治療椎體壓縮骨折患者105例,其中男性19例,女性86例,年齡45歲至97歲,平均69歲;所有患者術(shù)前均行MRI檢查,提示新鮮骨折椎體132個,所有患者病椎術(shù)中均采用負(fù)壓狀態(tài)下同軸取材法采集標(biāo)本,所采集標(biāo)本進(jìn)行病理檢查,取材后常規(guī)行椎體成形術(shù)。
PMF[19]:概率矩陣分解模型是一種應(yīng)用廣泛的矩陣分解模型。
HCRvSA[20]:基于自編碼器的半監(jiān)督協(xié)同過濾模型。
U-AutoRec[11]:基于自編碼器的協(xié)同過濾模型。
BPMF[21]:用于推薦系統(tǒng)的貝葉斯概率矩陣分解。
I-RBM+INB[22]:基于受限玻爾茲曼機的協(xié)同過濾算法。
TWDA[23]:該算法提出了一種處理邊界區(qū)域的三支決策方法,并將邊界區(qū)域內(nèi)的所有評價合理地劃分為正區(qū)域和負(fù)區(qū)域。
RegSVD[24]:基于SVD的評分預(yù)測算法。
HACF[25]:一種全新的分級自編碼器體系結(jié)構(gòu)。在一個普通的堆疊去噪自動編碼器中,重構(gòu)只發(fā)生在最后一層,中間層不直接負(fù)責(zé)的協(xié)同過濾算法。
TLCA[26]:一種結(jié)合時間加權(quán)和LDA 聚類的混合推薦算法。
REVAE使用公開數(shù)據(jù)集Movielens 100k和Movielens 1M進(jìn)行實驗。實驗中使用用戶ID、電影ID和評分的信息。使用Adam 優(yōu)化函數(shù),學(xué)習(xí)率設(shè)置為0.001,編碼層激活函數(shù)為sigmoid函數(shù)。整個框架在TensorFlow上面進(jìn)行編寫,共有4層全連接層。第一層編碼層對輸入進(jìn)行編碼得到隱層表示ZI,輸出維度為500;第二層通過ZI生成均值和方差;第三層生成層隨機采樣潛在編碼得到添加噪聲的隱層表示ZS;第四層解碼層進(jìn)行解碼。實驗周期為1 000,每訓(xùn)練3 次輸出1 次結(jié)果,將90%數(shù)據(jù)作為訓(xùn)練集,10%數(shù)據(jù)作為測試集,實驗結(jié)果取5次最佳結(jié)果的平均值。
實驗結(jié)果由表2和表3來闡述。表2使用RMSE指標(biāo)來進(jìn)行算法對比,表3使用MAE指標(biāo)進(jìn)行算法對比,黑體字表示結(jié)果最佳。
表2 實驗結(jié)果RMSE值對比Table 2 Comparison of experimental results on RMSE values
根據(jù)表2中Movielens 100k的結(jié)果可以看出,REVAE模型在RMSE 指標(biāo)上數(shù)值為0.881,相比于其他算法至少提升1.0 個百分點,最多能夠提升8.1 個百分點,平均提升4.55個百分點。可以觀察到RBM、NMF、SVD、PMF算法的RMSE 值都在0.9 以上,其中HACF 的RMSE 值為0.901,下降得也比較明顯,而HCRvSA 和U-AutoRec的RMSE 值在0.9 以下,這兩個算法是基于自編碼器模型的,由此可見深度自編碼器模型在推薦系統(tǒng)中也是具有良好的推薦效果的。另外在Movielens 1M數(shù)據(jù)集的實驗結(jié)果中,REVAE在RMSE指標(biāo)上數(shù)值為0.846,相比于其他算法至少提升0.3個百分點,最多能夠提升7.2個百分點,平均提升3.75個百分點??梢杂^察到RBM、NMF、SVD、PMF、HACF 算法的RMSE 的數(shù)值比Movielens 100k的要低大概4個百分點左右。這表明數(shù)據(jù)集越大,算法可以學(xué)習(xí)更多用戶偏好信息,從而使預(yù)測評分更準(zhǔn)確。這就是Movielens 1M 的實驗結(jié)果優(yōu)于Movielens 100k 的原因。另外根據(jù)表1 對數(shù)據(jù)集的描述可知,Movielens 1M稀疏性要高于Movielens 100k,對算法推薦精度有一定的影響,因此推薦精度提升不夠明顯。相比之下,REVAE 的效果比其他算法有明顯的提升。在表3 的Movielens 100k 中,REVAE 的MAE 指標(biāo)的數(shù)值為0.690,相比于其他算法至少提升0.9 個百分點,最多提升19.1個百分點,平均提升10個百分點。在Movielens 1M 中,REVAE 的MAE 指標(biāo)的數(shù)值為0.660,相比于其他算法至少提升0.9 個百分點,最多提升3.8 個百分點,平均提升2.35個百分點。
表3 實驗結(jié)果MAE值對比Table 3 Comparison of experimental results on MAE values
通過以上實驗可以得出結(jié)論,REVAE 模型通過在VAE 的基礎(chǔ)上添加一層隱層表示,并根據(jù)VAE 的特點對此隱層進(jìn)行約束和添加噪聲,使得模型的推薦精度更加準(zhǔn)確,模型更加健壯。
He 等人[3]提出了一種基于生成對抗的排序算法APR,其目的是為了使模型更加健壯。APR 在user 和item的嵌入向量上添加對抗性擾動,使用博弈的思想來平滑對抗性擾動使得模型更加健壯;Wang 等人[2]提出一種對抗平均貝葉斯的排序算法AT-MBPR,該模型在添加對抗擾動時仿照APR 模型,在基于MBPR 的基礎(chǔ)上平滑了對抗性擾動,使得模型更加健壯。為了使REVAE 更加健壯,本文添加了一個生成過程,如圖1 所示,使用KL散度來衡量兩個分布之間的差異,進(jìn)而平滑噪聲對模型的影響。為了證明該模型的健壯性,將生成過程移除,將移除生成過程后的模型稱為REVAE-g。在REVAE-g 的隱層上隨機添加噪聲,并和REVAE-g 以及REVAE的結(jié)果進(jìn)行比較,實驗結(jié)果如表4所示。
表4 健壯性實驗結(jié)果對比Table 4 Comparison of experimental results on robustness
從Movielens 100k的結(jié)果中可以看出,移除生成過程后的模型在RMSE 的性能上下降了0.2 個百分點,在MAE指標(biāo)上下降了0.2個百分點,在REVAE-g上添加隨機噪聲后,發(fā)現(xiàn)整體性能下降得很多,在RMSE 上就比REVAE下降了14.2個百分點,在MAE上下降了13.5個百分點。在Movielens 1M 數(shù)據(jù)集上,REVAE-g相比于REVAE,在RMSE上下降了0.1個百分點,在MAE指標(biāo)上下降了0.3 個百分點,而在REVAE-g 上添加隨機噪聲后,相比于REVAE,RMSE下降了19.1個百分點,在MAE指標(biāo)上下降了17個百分點。從總體的實驗結(jié)果中可以看出,當(dāng)移除關(guān)鍵的生成過程之后,模型總體性能下降得不是很大,但是整體模型卻不夠健壯,從添加噪聲后得到的結(jié)果就可以看出來。因此,實驗得出,REVAE通過平滑自然噪聲對模型的影響之后,模型的健壯性得到明顯的提升。
在REVAE中,編碼階段將輸入X映射到一個潛在的低維空間中,在編碼層中,隱層維度是一個敏感的參數(shù),這里對不同隱層的參數(shù)進(jìn)行了實驗結(jié)果的對比,如表5 所示。從實驗結(jié)果可以看出,當(dāng)隱層維度為500 的時候REVAE取得最佳性能。
表5 隱層維度的實驗結(jié)果對比Table 5 Comparison of experimental results on dimensions of hidden layer
本文提出了一種基于變分自編碼器的評分預(yù)測模型。外界噪聲的干擾在真實系統(tǒng)中是不可避免的,這樣會導(dǎo)致推薦結(jié)果精度不夠的問題。REVAE通過主動增加噪聲,訓(xùn)練模型的抗噪聲能力,使得模型可以平滑數(shù)據(jù)的自然噪聲,從而提升推薦精度。REVAE 在VAE 的基礎(chǔ)上增加了一層隱層,該隱層是通過輸入數(shù)據(jù)直接得到的,利用VAE的獨特編碼方式,REVAE在該隱層的基礎(chǔ)上主動添加噪聲,得到加噪后的隱層表示,通過該隱層進(jìn)行輸入數(shù)據(jù)的重構(gòu)。實驗結(jié)果證明REVAE模型取得了較好的推薦結(jié)果。生成對抗網(wǎng)絡(luò)(GAN)廣泛應(yīng)用于無監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)領(lǐng)域中,受到GAN 中博弈思想的啟發(fā),可以將REVAE中通過在隱層表示ZI上添加噪聲得到的下一個隱層表示ZS看作生成器生成的負(fù)樣本,在生成器和判別器的迭代訓(xùn)練下得到的重構(gòu)輸入數(shù)據(jù)可能比REVAE更準(zhǔn)確,因此在接下來的工作中,將在REVAE 的基礎(chǔ)上考慮應(yīng)用GAN 的思想使得模型更加健壯。