楊 宇,吳國棟,劉玉良,汪菁瑤,范維成
(安徽農業(yè)大學 信息與計算機學院,合肥 230036)
隨著信息技術的不斷發(fā)展,網絡上的數據呈現(xiàn)了爆炸式增長,人們難以從海量信息中提取自己需要的信息.為解決信息過載(Information overload)問題,出現(xiàn)了個性化推薦技術,其主要思想是幫助用戶及時獲取自己可能感興趣的信息,具有“千人千面”的特點.推薦系統(tǒng)不僅緩解了用戶選擇難的問題,也可以通過對用戶的行為、偏好等特征進行分析,發(fā)掘用戶潛在的需求,更好的為用戶做推薦.推薦系統(tǒng)可以根據算法類型分為基于協(xié)同過濾的推薦系統(tǒng)和基于內容的推薦系統(tǒng),也可以根據模型輸入的數據類型分為顯式和隱式反饋推薦系統(tǒng)[1].雖然推薦系統(tǒng)的研究取得了較大的成果,但推薦系統(tǒng)仍然存在一些問題,如數據稀疏性問題、冷啟動問題、時效性問題、多樣性推薦問題等[2].近年來,生成對抗網絡(Generative Adversarial Nets,GAN)[3]因其可以生成足以以假亂真的虛假數據,有效填充真實數據集,被許多學者用于個性化推薦領域方面的研究.GAN的核心是博弈論中的二人零和博弈思想,即參與博弈的二人,一人的收益必然意味著另一人的損失,且二人的收益與損失總和永遠為“零”.由于原始GAN模型存在著訓練困難、可控性較差、穩(wěn)定性較差等問題[4],一些學者提出了GAN的變體,如條件生成對抗網絡(Condition GAN,CGAN)[5]、信息生成對抗網絡(InfoGAN)[6]、Wasserstein生成對抗網絡(Wasserstein GAN,WGAN)[7]、帶有梯度懲罰的Wasserstein生成對抗網絡(Wasserstein GAN gradient penalty,WGAN-GP)[8]等.
本文在對GAN及其變體分析的基礎上,根據模型所輸入的是隱式反饋數據還是顯式反饋數據的視角,對已有基于GAN的個性化推薦進行了探討,并對當前基于GAN個性化推薦研究的不足和未來研究趨勢進行了展望,以期對相關研究起到一定的借鑒作用.本文第2節(jié)對GAN及其常見變體進行了分析;第3節(jié)探討了基于GAN和CGAN的推薦研究進展;第4節(jié)指出了GAN推薦存在的問題及不足;第5節(jié)展望了GAN推薦的未來研究方向;第6節(jié)對本文進行了總結.
原始GAN由兩個部分組成,分別是生成器G(Generator)和判別器D(Discriminator).其中G負責捕獲真實樣本數據的分布,并盡可能生成與真實數據相像的虛假數據.D是一個二分類器,判斷輸入的樣本數據來自真實數據分布的概率.GAN的模型結構如圖1所示.
圖1 GAN結構圖Fig.1 Architecture of GAN
GAN的整體優(yōu)化目標實際上是一個極小化極大問題,如公式(1)所示:
(1)
GAN每輪優(yōu)化分為兩步,第1步固定G,即不對G的參數進行更新,同時對D進行優(yōu)化,找到當前最優(yōu)的判別器.對于公式(1),此時G不再更新,而D(x)的輸出結果的區(qū)間為[0,1],因此log(D(x))與log(1-D(G(z)))的取值范圍為(-∞,0],為了使公式最大化,D(x)輸出的值接近1,D(G(z))輸出的值接近0,這代表D成功識別了真實數據與虛假數據.第2步固定D,同時對G進行優(yōu)化,找到當前最優(yōu)的生成器.此時公式(1)中x~pdata(x)[logD(x)]不會進行更新,只需關注公式中的另一項z~pz(z)[log(1-D(G(z)))].在每輪優(yōu)化中,判別器的能力應該比生成器強一些,但是又不能強太多,因此一般來說,判別器更新多次,生成器才更新一次.G與D相互對抗博弈,最終二者都達到最優(yōu)狀態(tài).
對于原始GAN,生成過程沒有受到任何約束,導致生成的數據不可控.為了約束生成過程,Mirza Mehdi等人提出了條件生成對抗網絡(Conditional Generative Adversarial Net,CGAN).CGAN與GAN的區(qū)別在于G和D的輸入都額外增加了一個條件變量y,y可以是類別標簽、描述文字、一張圖片.CGAN通過條件變量y來指導并約束生成過程,使得G生成的結果可以擬合條件變量y.如果y是類別標簽,則可以把CGAN看作是無監(jiān)督學習GAN模型向監(jiān)督學習的改進[9].CGAN的結構如圖2所示.
圖2 CGAN結構圖Fig.2 Architecture of CGAN
CGAN的目標函數與GAN類似,只是在G和D的輸入部分增加了條件變量y,目標函數的形式如公式(2)所示:
(2)
CGAN的訓練步驟也與GAN類似.在公式(2)中,雖然變量的輸入部分G(z|y)和D(x|y)被寫成了條件概率的形式,但在CGAN的具體實現(xiàn)中,只需要將z或x與y拼接起來即可.
與CGAN類似,Xi Chen等人提出的InfoGAN也是為了解決G生成的數據不可控問題.作者認為GAN輸入的噪聲是混亂的,導致噪聲的各個維度與真實數據的特征并不匹配.因此作者針對這種情況,將G的輸入部分分為兩個部分,一個部分仍為噪聲z,另一個部分為代表真實數據不同特征的多個隱變量拼接而成的隱藏編碼c.同時使用基于互信息的正則化約束項I(c:G(z,c))用來約束隱藏編碼c和生成的虛假樣本G(z,c)之間的相關程度.
Martin Arjovsky等人[10]證明了若將GAN訓練到最優(yōu)情況,損失函數等價于最小化真實數據分布與生成數據分布的JS散度,且值為常數log2,因此GAN模型優(yōu)化的越好,梯度消失的情況越嚴重.針對這個問題,Martin Arjovsky等人提出了Wasserstein生成對抗網絡(Wasserstein GAN,WGAN)模型,使用一種Wasserstein距離取代GAN中的JS散度計算方法.在試驗中WGAN在訓練的穩(wěn)定性方面有著較好的表現(xiàn),但仍然存在梯度爆炸或梯度消失的情況,并且生成的樣本真實性較差.
針對WGAN存在著的梯度爆炸或梯度消失的問題,Ishaan Gulrajani等人提出的帶有梯度懲罰的Wassertein生成對抗網絡(Wassertein GAN gradient penalty,WGAN-GP)通過額外設置一個懲罰項以實現(xiàn)更好的效果.與WGAN相比,WGAN-GP只在WGAN損失函數上增加了一個懲罰項.實驗結果證明了WGAN-GP利用梯度懲罰擬合了較為復雜的函數,能夠生成質量更高的數據,并且解決了梯度爆炸和梯度消失的問題.但是,因為懲罰項的計算成本較大,導致WGAN-GP的訓練所需時間較長.
通過對近年來基于GAN的個性化推薦的分析,常見的應用在推薦領域的GAN模型有原始GAN和改進后的CGAN.GAN的實現(xiàn)比較簡單,往往不需要太復雜的設計就能達到較好的效果.CGAN因為模型的輸入額外加入了條件向量,生成的數據分布會更好地擬合真實數據分布,因此在推薦領域中的表現(xiàn)較好.本節(jié)對基于GAN個性化推薦相關研究進行探討分析.
表1總結了現(xiàn)有基于GAN的個性化推薦研究中相關模型的優(yōu)缺點.
表1 GAN個性化推薦的優(yōu)缺點Table 1 Advantages and disadvantages of GAN personalized recommendation
3.1.1 基于隱式反饋的RecSimu推薦模型
Xiangyu Zhao等人[11]提出的RecSimu模型能夠模擬真實用戶行為,可以預先訓練和評估推薦算法.RecSimu從用戶的瀏覽記錄中學得用戶當前的偏好并推薦用戶可能感興趣的物品,然后預測用戶對推薦物品的反饋(如瀏覽、點擊或購買等等).RecSimu的結構如圖3所示.
圖3 RecSimu結構圖Fig.3 Architecture of RecSimu
如圖3所示,左側生成器G的輸入為用戶的歷史瀏覽記錄(包括用戶瀏覽過的物品集合以及對每個物品的反饋),先使用編碼器學習用戶的偏好,再使用解碼器和用戶的當前偏好預測用戶可能會喜歡的物品Gθ(s).G額外加入了一個減少生成的推薦物品與真實的推薦物品之間差異的監(jiān)督組件.圖3右側的判別器D的輸入分為兩部分,一部分為用戶的歷史瀏覽記錄,另一部分為用戶真實的推薦物品或預測的推薦物品Gθ(s),最終的輸出為預測用戶對推薦物品的反饋類別,共包括K個用戶對真實推薦物品的反饋和K個用戶對虛假推薦物品的反饋.D的目標不僅是區(qū)分推薦物品來自真實數據或生成數據,還要根據用戶的瀏覽歷史來預測用戶對推薦物品的反饋類別.D同樣額外加入了一個監(jiān)督組件,監(jiān)督組件的目標是減少用戶的真實反饋與預測反饋所屬類別的差異,以便能更好的預測用戶對物品的反饋類別.
實驗基于真實電子商務公司的數據,與LR[12]、GRU[13]、GAN、GAN-s[14]等模型進行了對比試驗,在F1、MAP等指標上有所提升,與FM[15]、W&D[16]、GRU4REC[17]等模型比較了生成器的有效性,在MAP、NDCG等指標上提升了5%左右.實驗結果證明了G所生成的推薦物品和D所預測的用戶反饋都有著較好的效果,說明成功捕獲了用戶的潛在偏好.但模型本身較為復雜,沒有考慮到多個反饋之間可能存在的依賴關系,而且在實際情況中,不同類型的反饋數量極不平衡,這也會對最終的推薦效果造成影響.
3.1.2 基于顯式反饋的CoFiGAN推薦模型
Jixiong Liu等人[18]提出了CoFiGAN,一種融合了GAN的協(xié)同過濾模型,其與應用在信息檢索領域的IRGAN[19]類似,生成器G的目標是生成與真實數據相似的高質量數據,判別器D的目標是分辨真實數據與生成的虛假數據.不同的地方在于IRGAN選擇間接向G分配獎勵或懲罰信號進行優(yōu)化,而CoFiGAN選擇讓D通過對G生成的虛假數據進行判斷,生成正樣本(D所認為會獲得高獎勵的樣本)和負樣本(D所認為會獲得高懲罰的樣本)來直接指導G的訓練過程.CoFiGAN的整體優(yōu)化目標如公式(3)所示:
(3)
公式(3)中d~pθ(i|u)代表用戶u所采樣物品的概率分布,ptrue代表用戶u真實偏好的分布,D(i|u)的輸出代表物品i屬于用戶u真實偏好分布的概率.
因為真實數據是離散的,無法使用梯度下降法對G進行優(yōu)化,因此CoFiGAN使用了公式(4)對G進行優(yōu)化:
(4)
公式(4)中SG是指G生成的、在G看來會獲得更高獎勵的樣本,SD是指D所認為會獲得更高獎勵的樣本,距離函數Dist(SG,SD)用來衡量SG與SD之間的差距.因此,G為了獲得更高的獎勵,必須使得Dist(SG,SD)的值最小,即SG更像SD.
實驗基于ML-100K、ML-1M、UserTag、NF5K5K等數據集,采用準確率和NDCG作為評價指標,與Neural-MF[20]、IRGAN等模型進行了比較.其中CoFiGAN在NF5K5K數據集上取得的效果最好,與IRGAN相比在兩個指標上都提升了30%左右.
CoFiGAN通過類似于強化學習的方式對模型進行優(yōu)化,加快了收斂速度,增加了虛假數據的多樣性,并且在一定程度上避免了模型崩潰,但模型復雜度較高,且沒有緩解數據稀疏性問題.
3.1.3 基于顯式反饋的CnGAN推薦模型
DilrukPerera等人[21]等人針對跨領域推薦中非重疊用戶無法獲得較好推薦效果的情況提出了CnGAN,該模型通過學習從目標網絡到源網絡的偏好流形映射,生成非重疊用戶的源網絡用戶偏好,再將得到的用戶偏好應用在目標網絡上進行推薦.CnGAN由生成任務和推薦任務兩個部分組成.
生成任務由判別器D與生成器G組成.G的目標是學習一個映射函數,能夠將非重疊用戶在目標網絡上的已知偏好映射為源網絡上的缺失偏好.D的目標是判斷輸入的源網絡與目標網絡的偏好是否是匹配對(匹配對是指在同一時間間隔內來自同一用戶的源網絡與目標網絡的偏好).
推薦任務的目標是利用非重疊用戶在時刻t的目標網絡偏好和G生成的源網絡偏好,以及在時刻t之前用戶與物品的交互情況,預測用戶在時刻t+1有可能交互的物品集合并進行推薦.推薦任務結構如圖4所示.
圖4 CnGAN的推薦任務結構圖Fig.4 Recommender task architecture of CnGAN
CnGAN選擇Twitter數據集作為源網絡,YouTube數據集作為目標網絡,與TBKNN[22]、TDCN[23]、CRGAN等模型相比,在命中率、NDCG等指標上有著提升.
CnGAN有效針對了非重疊用戶推薦效果較差的問題,能夠有效補充用戶在源網絡缺失的偏好,在TOP-N推薦中有著較好的表現(xiàn),但是對于重疊用戶的推薦效果沒有達到預期.
3.1.4 基于顯式反饋的其他推薦模型
同樣是基于GAN的跨領域推薦模型,Cheng Wang等人[24]提出的RecSys-DAN用于解決跨領域中的數據稀疏和數據不平衡問題.通過訓練源領域的生成器Gs用來初始化目標領域的生成器Gt,再訓練評分函數用來判斷Gt生成的用戶、物品和交互行為與源領域的是否相似,最終可以得到在目標領域推薦效果最好的用戶集和物品集.
為了緩解冷啟動問題,Po-Lin Lai等人[25]提出了ColdGAN.ColdGAN使用一個基于時間的更新函數,用于將暖用戶(評分過大量商品的用戶)還原為冷用戶(幾乎沒有評分過商品的用戶).用戶對商品的評分越早,越有可能保留在還原之后的冷用戶狀態(tài)中.將還原后的冷用戶輸入到ColdGAN中,生成器G的目標是生成該冷用戶對應的暖用戶,判別器D的目標為判斷輸入的暖用戶是否為真實的暖用戶.
針對社會化推薦存在著大多數用戶的朋友比較少以及用戶的朋友不一定可靠的問題,Junliang Yu等人[26]提出了RSGAN,一種基于用戶對他們可靠的朋友所消費的物品感興趣的假設所設計的模型.RSGAN通過生成用戶的可靠朋友間接提高用戶所獲得的推薦效果.生成器G的目標是生成對該物品有著同樣評分的可靠朋友,并使用Gumbel-Softmax函數[27]對可靠朋友消費的物品進行采樣.判別器D判斷用戶對G輸出的物品是否感興趣,并將其轉為有序物品集合進行推薦.如果生成器G生成的可靠朋友沒有提高推薦效果,D將懲罰生成的可靠朋友并降低G生成此類朋友的概率.
Qingqin Wang等人[28]提出的GANMF首先構建了用戶-物品矩陣,利用用戶對物品的評分歷史,使用基于圖的混合協(xié)同過濾計算當前用戶與其鄰居節(jié)點的相似程度,并從多階鄰居節(jié)點中獲取更多的用戶偏好,構建包含用戶信息的用戶矩陣.使用同樣的方式構建包含物品信息的物品矩陣.然后將用戶矩陣作為G的輸入,物品矩陣作為D的輸入,并根據G預測的用戶對物品的評分進行Top-N推薦.
3.1.5 基于隱式反饋和顯式反饋的推薦模型
HomangaBharadhwaj等人[29]提出的RecGAN有效使用了GRU,模型目標是為了更好的利用用戶和物品潛在特征的時間屬性來提高推薦系統(tǒng)的有效性.為了更有效的模擬用戶長短期行為和物品的潛在特征,作者對GRU做了修改,具體來說,在更新門中引入了ReLU激活函數,并在GRU模型中加入了協(xié)同技術.模型的整體優(yōu)化公式如式(5)所示:
(5)
在公式(5)中,Gen和Dis分別代表生成器和判別器,i代表第i位用戶,j代表第j個物品,t代表第t個時刻.Gen生成的用戶i在時刻t對物品j的評分用(r|i,j,t)表示,學習到的用戶偏好分布用Dgen|t表示,相應的,用戶真實的偏好分布用Dreal|t分布.
實驗基于Netflix Challenge、MyFitnessPal等數據集,與RRN相比,RecGAN在RMSE指標上提升了0.5%.與PMF[30]、T-SVD[31]、AutoRec[32]等模型相比,RecGAN在MAP指標上提升了大約10%.RecGAN并沒有對修改后的GRU進行詳細的測試,無法判斷修改后的GRU對模型帶來的具體影響.
Zhou Yao等人基于此文獻[33]的分析,提出了一種名為PURE[34]的基于GAN的推薦模型.PURE使用PU學習訓練D,G學習用戶和物品的潛在連續(xù)分布以生成高質量的用戶和物品嵌入.通過與PMF、GMF、CFGAN[35]等模型的比較,PURE在精度、NDCG、MAP等指標上都有著提升.
RecSimu、CoFiGAN、CnGAN、RSGAN、GANMF、RecGAN、PURE等模型的主要目標是提高用戶獲得的推薦效果,RecSys-DAN與ColdGAN的主要目標則是緩解冷啟動問題,不同的是RecSys-DAN針對的跨領域推薦的數據稀疏和數據不平衡問題,ColdGAN針對的是普通用戶遇到的冷啟動問題.為了更好地捕獲用戶偏好,RecSimu、ColdGAN、RecSys-DAN、CnGAN、RecGAN等模型都利用了用戶的時間信息.考慮到數據的離散性,每個模型選擇的優(yōu)化方式都有所不同,RSGAN使用Gumbel-Softmax對模型進行優(yōu)化,GANMF使用策略梯度方法對模型進行優(yōu)化,ColdGAN、RecSys-DAN、CnGAN、RecSimu、RecGAN、PURE、CoFiGAN等根據模型自身特點使用了獨特的優(yōu)化方式,如設計了獨特的優(yōu)化函數、直接指定正負樣本等等.
3.2.1 基于隱式反饋的IRGAN推薦模型
Wang Jun等人在2018年提出了一種用于信息檢索領域的IRGAN模型.與GAN不同,IRGAN中的生成器G的目標是從候選文檔池中采樣與查詢相關的文檔,使采樣的文檔分布不斷接近相關文檔的真實分布.判別器D的目標是盡可能分辨出與該查詢相關或不相關的文檔.模型的整體優(yōu)化目標如公式(6)所示:
(6)
公式(6)中,qn是用戶輸入到信息檢索模型里的查詢,n的取值范圍是[1,N],D是與qn相關的文檔,r是qn與d的相關程度.d~ptrue(d|qn,r)為用戶提交查詢的相關文檔的分布,pθ(d|qn,r)為G所學到的與用戶提交查詢的相關文檔的分布.公式(7)展示了D的結構,其中fφ(dk,qn)為評分函數,因此D輸出的值為查詢q與文檔d相關的概率.
(7)
因為文檔是離散數據,而隨機梯度下降法(Stochastic Gradient Descent)是無法應用到離散數據中的,因此IRGAN選擇使用基于策略梯度(Policy Gradient)的強化學習(Reinforcement Learning)對模型進行優(yōu)化.因此目標函數可以改寫成公式(8):
(8)
公式(8)中l(wèi)og(1+exp(fφ(dk,qn)))作為從pθ(d|qn,r)中選擇文檔d的獎勵,dk代表從G生成(或采樣)的文檔中采樣得到的第k個文檔.為了減少強化學習過程中的差錯,也可以將獎勵項替換為對應的優(yōu)勢函數.
IRGAN在網頁搜索、問答系統(tǒng)和物品推薦這3個應用方向上做了實驗,不同的應用方向選擇了不同的數據集,分別為LETOR、InsuranceQA、ML-100K和Netflix,在不同的應用方向與多個模型做對比,IRGAN取得了較好的效果.但是仍然存在著可解釋性不足的問題,并且在缺乏足夠的用戶反饋的情況下表現(xiàn)較差.
3.2.2 基于隱式反饋的CFGAN推薦模型
Dong-Kyu Chae等人指出IRGAN、GraphGAN[36]存在的問題,即隨著訓練的進行,G將會生成與真實樣本完全相同的樣本,而相同的樣本會被打上不同的標簽:當樣本來自G時會被打上“假”標簽,當它來自于真實樣本時會被打上“真”標簽.因此D會退化,無法更好的指導G,最終G與D的性能都會降低,推薦精度也會下降.
為了解決這個問題,Dong-Kyu Chae等人提出了一種基于GAN的協(xié)同過濾框架CFGAN.CFGAN中G的目標是生成與真實購買向量比較相似但絕對不一樣的購買向量,而不是生成用戶可能感興趣并會購買的商品,這種方法有效防止了G生成的樣本會被打上不同的標簽.D的目標是區(qū)分生成的購買向量與用戶真實的購買向量.
考慮到數據非常稀疏,用戶與物品有交互(即購買)時元素為1,否則為0,而G會傾向于不考慮用戶偏好,使生成的購買向量元素值全部為1.為了解決這個問題,作者提出了3種新的CF方法:CFGAN_ZR、CFGAN_PM、CFGAN_ZP,它們共同的核心思想是在每次訓練中,每個用戶隨機選擇一部分從沒有購買過的物品,將其設置為負物品,表示用戶對該物品的購買向量值不是缺失的,而是0.然后G生成的用戶購買向量中,對應的負物品值接近0.這樣在G生成的購買向量中,用戶購買過的元素值接近1,沒有購買過的值接近0,就可以避免G生成的購買向量的元素值全為1.模型結構如圖5所示.
圖5 CFGAN結構圖Fig.5 Architecture of CFGAN
實驗選擇了Ciao、Watcha、ML-100K、ML-1M等數據集,與BPR、FISM、CDAE、IRGAN、GraphGAN等模型進行對比,實驗結果顯示CFGAN在準確率、召回率、NDCG、MRR等評價指標上有著較好的表現(xiàn),在TOP-N推薦上有著較好的效果.但CFGAN在缺乏足夠的用戶交互的情況下表現(xiàn)較差,并且模型的穩(wěn)定性有待提高.
3.2.3 基于隱式反饋的其他推薦模型
Sudhir Kumar等人[37]提出的c+GAN用于真實電商平臺的服裝推薦.對于任意服裝圖像都需要先進行處理,以去除模特圖像,并切割為上裝和下裝兩個部分.為了更好的學習真實圖像的分布,基于Sajjadi等人[38]的工作,作者提出了一種新的隨機標簽反轉概念.c+GAN在必應商城中進行了應用,推薦的結果無論是在圖像質量還是在多樣性上都有著較好的效果.
Linh Nguyen等人[39]提出的用于跨領域推薦的D2D-TM是UNIT[40]的擴展模型,它既能提取不同領域間的同質特征,也能提取不同領域間的差異特征.D2D-TM由CGAN、VAEs[41]、Cycle-Consisterncy[42]3個部分組成.生成器G由VAEs和Cycle-Consistency構成,目標為重構本領域的交互向量,并生成在另一領域的交互向量.判別器D的目標為判斷交互向量的真假,具體來說,對本領域的交互向量的判斷結果為真,對G生成的交互向量的判斷結果為假.
3.2.4 基于顯式反饋的GraphGAN推薦模型
Hongwei Wang等人注意到了圖神經網絡中豐富的信息,提出了一種圖表示學習框架GraphGAN.對于一個給定的結點vc,生成器G(v|vc;θG)的目標是擬合它的潛在真實連接分布ptrue(v|vc),并生成(或采樣)最有可能與vc有連接的結點v,結點v形成的分布記為G(·|vc;θG),D的目標是判斷生成的結點v與vc之間是否存在連接,并輸出它們之間存在邊的概率.整體優(yōu)化目標如公式(9)所示:
(9)
公式(9)中θG和θD分別是結點v的k維表示向量的聚合.GraphGAN使用的softmax函數有兩個局限性,首先softmax函數會計算圖中所有的節(jié)點,導致計算效率較低,其次softmax函數沒有利用圖的結構信息.針對這些問題,作者提出了graph softmax函數.graph softmax函數具有能夠生成有效的概率分布、利用圖的結構信息、計算效率高等優(yōu)點.具體來而言,從頂點vc開始對圖g進行廣度優(yōu)先搜索(Breadth First Search,BFS),最終形成了一棵以為根節(jié)點的廣度優(yōu)先搜索樹Tc.在Tc中任取一個節(jié)點v,其鄰居(直接與v連接的節(jié)點)集合記為Nc(v).節(jié)點v及其鄰居vi的相關概率計算公式如式(10)所示:
(10)
公式(10)中gvi和gvj代表對應節(jié)點的k維表示向量.對于Tc中任何一個節(jié)點來說,都有一條唯一的路徑可以從根節(jié)vc點到達該節(jié)點.使用graph softmax函數定義的生成器G(v,vc;θG)如公式(11)所示:
(11)
GraphGAN創(chuàng)新性的通過生成對抗的思想去更新網絡節(jié)點向量,并且提出了graph softmax函數.實驗基于arXiv-AstroPh、arXiv-GrQc、BlogCatalog、Wikipedia、ML-1M等數據集,與DeepWalk[43]、Line[44]、Node2Vec[45]、Struc2vec[46]等模型比較,在arXiv-AstroPh和arXiv-GrQc數據集上的鏈路預測正確率分別提升了大約3%和10%,在節(jié)點分類上的正確率提升了大約11%和20%.在推薦方向上與其他模型相比,準確率提升了38%-156%不等.但是因為需要對每一個節(jié)點生成BFS,模型的時間復雜度和空間復雜度都比較高,花費的代價較大.
3.2.5 基于顯式反饋的其他推薦模型
針對冷啟動和數據稀疏性問題,Dong-Kyu等人[47]提出了AR-CF,一種使用多個CGAN生成虛擬但可信的用戶和物品,將其作為附加信息來擴充評分矩陣的CF模型.通過在ML-100K、Watcha、ML-1M、CiaoDVD等數據集上的實驗,證明了確實在一定程度上緩解了冷啟動問題,同時在推薦精度上也有所提高.但模型較為復雜,對算力要求較高.
Wang等人[48]針對不活躍用戶獲得的推薦效果較差提出了AugCF.AugCF基于DADA[49]的標簽系統(tǒng)將數據標簽從兩個(喜歡,不喜歡)擴充到了4個(真實&喜歡,真實&不喜歡,虛假&喜歡,虛假&不喜歡),成功將數據擴充階段與推薦階段融合進模型中.在數據擴充階段,D作為二分類器判斷數據是真實還是G生成的虛假數據.在推薦階段,D作為協(xié)同過濾模型判斷用戶是否會喜歡該物品.AugCF在數據較為稀疏的情況下有著較好的表現(xiàn).
Zhao Wei等人[50]提出的PLASTIC融合了矩陣分解和RNN,利用用戶歷史交互記錄預測用戶在某個時間可能會感興趣的物品列表,并進行Top-N推薦.
IRGAN作為第1個應用在推薦領域的GAN模型,為推薦領域的研究提供了新的方向,尤其是開創(chuàng)性地使用策略梯度方法優(yōu)化GAN推薦模型,影響了后續(xù)很多基于GAN的個性化推薦模型.從應用方向上來看,AugCF主要用于緩解數據稀疏性,其它模型都可以應用在TOP-N推薦方向,其中IRGAN可以應用在網頁搜索、問答系統(tǒng)等方向,GraphGAN可以應用在鏈路預測、節(jié)點分類等方向,AR-CF可以緩解冷啟動.在優(yōu)化方式上,IRGAN、CFGAN、GraphGAN、PLASTIC等模型都是用了策略梯度方法對模型進行優(yōu)化,而c+GAN、D2D-TM、AR-CF、AugCF使用了其他方式對模型進行了優(yōu)化.
GAN推薦雖然在提升推薦精度、緩解數據稀疏性上有著較好的表現(xiàn),但在某些方面仍然存在著一些不足.
1)穩(wěn)定性較差.基于GAN的推薦模型都存在著穩(wěn)定性較差的問題,因為需要小心協(xié)調生成器和判別器的訓練程度.若是顧此失彼,導致一方訓練地較好,而另一方訓練地較差,模型的推薦效果就會非常差.另外,在訓練過程中,梯度很容易消失,進而導致模型容易坍塌.隨著訓練的進行,生成器會傾向于生成最簡單的且永遠不會犯錯的數據,導致生成的數據同質化嚴重,且沒有任何值得參考的價值.可以嘗試使用經過優(yōu)化后的GAN模型,如InfoGAN、WGAN-GP等緩解這種現(xiàn)象.
2)缺少通用的優(yōu)化方法.對于使用反向傳播進行優(yōu)化的GAN模型而言,模型所需要的真實數據分布必須是連續(xù)的,不能是離散的,不然會導致無法使用梯度下降法對模型進行優(yōu)化.對于離散數據,基于GAN的個性化推薦模型雖然可以通過策略梯度方法、Gumbel-Softmax函數等方式對模型進行優(yōu)化,但仍然缺少一個通用的優(yōu)化方法.
3)模型較為復雜,時空間復雜度較高.GAN本身的結構較為簡單,將其應用到推薦系統(tǒng)后,要想達到較好的推薦效果,往往需要與其他模型、函數進行融合.考慮到GAN本身存在的優(yōu)化問題,又需要使用其他的手段對模型進行優(yōu)化,最終模型變得較為復雜,時空間復雜度都較高.除了提高硬件水平之外,也可以像EBGAN[51]那樣,可以通過預訓練使模型的一部分先獲得較強的能力,降低時間復雜度對實際業(yè)務帶來的影響.
4)缺少通用的評測指標.在推薦領域中,可以通過NDCG、準確率、召回率等指標分析GAN推薦的效果,但目前沒有一個通用的評測GAN模型訓練程度的評測指標,或許可以通過計算生成樣本與實際樣本之間的相似系數來評估GAN模型訓練的程度.
隨著互聯(lián)網數據的急速增加和不斷提高的無監(jiān)督學習的重要性,基于GAN的個性化推薦研究與應用越來越多.未來GAN推薦的主要研究方向:
1)提高模型穩(wěn)定性.如何協(xié)調生成器和判別器之間的訓練程度,提高GAN的穩(wěn)定性一直是GAN模型所要解決的重要問題之一,提升GAN推薦的穩(wěn)定性,避免模型出現(xiàn)難以訓練、易坍塌的問題,仍是今后研究的一個重點.
2)緩解推薦過程中數據的稀疏問題.GAN最大的優(yōu)點在于能夠生成虛假的數據,并且在極小化極大思想的指導下,生成的數據分布能夠不斷擬合真實數據分布,這能夠很好的緩解數據稀疏性問題.目前已經有部分GAN推薦模型用于緩解數據稀疏問題、冷啟動問題,但是總體而言針對數據稀疏問題的模型仍然較少.針對緩解數據稀疏問題的GAN推薦模型仍然需要研究.
3)多場景融合的GAN推薦.隨著互聯(lián)網的發(fā)展,需要推薦領域的不僅僅是電子商務平臺,包括社交工具、視頻平臺、信息聚合平臺等等各種平臺.在不同的場景下,所能獲取的數據類型也是不同,如視頻、音頻、社交關系、文本、時間序列等等,融合不同類型場景,結合上下文感知、社交關系、時間序列或多種數據進行推薦,也是GAN推薦的一個研究方向.
4)融入圖神經網絡的GAN推薦.圖神經網絡含有豐富的信息,包括用戶-用戶、用戶-物品、物品-物品等等,除了節(jié)點本身的屬性外,節(jié)點之間的邊也可以表示多種信息,如購買歷史、社會關系等等.若是GAN能夠有效利用圖神經網絡里的信息,更好的提取圖中的數據與關系,相信能夠很好的提升推薦效果.雖然目前的研究較少,但此方向值得關注.
生成對抗網絡自2014年被提出以來,在各個領域都受到了諸多關注.得益于GAN基于極小化極大的核心思想,GAN在無監(jiān)督學習上具有一定優(yōu)勢,最近幾年,基于GAN的模型數量在快速提升.GAN推薦因為所使用的模型、優(yōu)化方法等等都不一樣,在不同的領域有著不同的效果,在實際運用時需要根據所要針對的領域選取不同的GAN推薦模型,更好的利用其優(yōu)勢.本文從基于GAN的個性化推薦所使用的基礎模型類別出發(fā),針對當前GAN推薦的研究現(xiàn)狀進行了分析,并探討了各個模型的優(yōu)缺點.針對GAN推薦存在的穩(wěn)定性較差、缺少通用優(yōu)化方法、模型較為復雜、缺少通用評測指標等問題.進行了簡單介紹,并對提高模型穩(wěn)定性、著重緩解數據稀疏問題、融合多場景和融入圖神經網絡等方向對GAN個性化推薦的未來研究方向進行了展望.