楊 丹,張 鷹
(西華師范大學 計算機學院,四川 南充 637000)
近年來,深度學習在人工智能領(lǐng)域已取得了很大的成功,也促使眾多深度神經(jīng)網(wǎng)絡(luò)模型的出現(xiàn).生成對抗網(wǎng)絡(luò)[1]成為了深度學習一個新的研究熱點,該模型在計算機視覺[2]、自然語言處理[3,4]等各項任務(wù)中已經(jīng)有了廣泛的研究.隨著云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)和人工智能等技術(shù)的快速發(fā)展,隨著互聯(lián)網(wǎng)領(lǐng)域中各種各樣的智能電子商務(wù)應(yīng)用的信息過載問題,推薦系統(tǒng)近年來變得越來越重要.基于生成對抗網(wǎng)絡(luò)的推薦算法研究可以更好地從多源異構(gòu)數(shù)據(jù)中緩解數(shù)據(jù)稀疏性問題.
本課題強調(diào)了對用戶偏好以及項目狀態(tài)的時間演化背后的潛在特征進行建模,加入時間模型并利用評論文本真實數(shù)據(jù)集,提出了一種新穎的框架,即利用生成對抗網(wǎng)絡(luò)中的生成模型和判別模型通過博弈學習產(chǎn)生精準的數(shù)據(jù)輸出,有效處理和分析用戶和項目的動態(tài)特征,緩解數(shù)據(jù)的稀疏性,提升推薦性能.
本文從以下三個方面闡釋了所提算法的優(yōu)勢:1)提出了一種新穎的推薦模型,采用對抗訓練策略來提高推薦質(zhì)量.通過在生成對抗網(wǎng)絡(luò)中生成模型基于評論來預(yù)測用戶或項目的評分,而判別模型則將預(yù)測評分和實際評分區(qū)分開來,通過這兩個模型的對抗訓練得到更加精確的值.2)將時間效應(yīng)信息創(chuàng)新性地加入到目標模型,通過對抗性框架中的生成模型和判別模型博弈學習,使推薦算法的性能既可以實現(xiàn)在時間上的長期有效性,又可以大大提升推薦結(jié)果的精準度.3)通過選用三種不同的真實數(shù)據(jù)集上進行實驗,以評估提出方法的有效性.實驗表明,在精確度(Precision)和召回率(Recall)兩個不同的指標方面,所提算法均優(yōu)于基線算法.
推薦系統(tǒng)一般用于信息系統(tǒng)中緩解信息過載問題,用戶在信息化時代所面對的信息過載問題主要是由大量簡單的且可利用的信息或廣告的影響[5].一般推薦問題可以描述為利用用戶數(shù)據(jù)及其偏好來預(yù)測未來可能的喜好和興趣的問題.推薦系統(tǒng)的核心是推薦算法,利用用戶與項目間的交互信息,根據(jù)用戶的歷史行為信息、用戶間相似性關(guān)系和項目特征等來幫助用戶發(fā)現(xiàn)可能感興趣的項目[6].傳統(tǒng)的推薦包括基于內(nèi)容的方法、基于協(xié)同過濾的方法和混合推薦三種類型[7].然而,絕大多數(shù)傳統(tǒng)的推薦系統(tǒng)都將推薦過程看成是一個靜態(tài)的過程,并按照固定的策略進行推薦,沒有考慮到用戶偏好和項目周期的時間效應(yīng)[6,8],從而推薦一些類似的信息給用戶,這些推薦內(nèi)容可能會使用戶感到無聊,沒有達到個性化推薦的效果.隨著推薦系統(tǒng)的個性化服務(wù)的發(fā)展,越來越多的推薦方法可以在與用戶的交互過程中不斷改進策略,隨著時間的推移,用戶興趣的動態(tài)性變化也可以得到及時處理,體現(xiàn)優(yōu)越的推薦性能.
生成對抗網(wǎng)絡(luò)(GAN,Generative Adversarial Networks )于2014年引入深度學習領(lǐng)域,掀起了又一股深度學習技術(shù)的熱潮,并證明了其在深度生成建模中的有效性[1,9].GAN是一類神經(jīng)網(wǎng)絡(luò)架構(gòu),所建立的學習框架旨在生成真實數(shù)據(jù),該方法涉及訓練兩個具有沖突的目標神經(jīng)模型,即發(fā)生器和判別器,迫使彼此改進生成高度逼真的數(shù)據(jù)樣本[10,11].GAN實際上就是生成模型和判別模型之間的一個模仿游戲.其中,生成模型目的是盡量去模仿、建模和學習真實數(shù)據(jù)的分布規(guī)律;而判別模型則是要判別自己所得到的一個輸入數(shù)據(jù),究竟是來自于真實的數(shù)據(jù)分布還是來自于一個生成模型.通過這兩個內(nèi)部模型之間不斷的競爭,從而提高兩個模型的生成能力和判別能力.Radford等人[12]把CNN進行一定程度的改進并提出了DCGAN,其算法將有監(jiān)督學習的CNN和無監(jiān)督學習的GAN結(jié)合起來,為GAN的訓練提供了很好的網(wǎng)絡(luò)結(jié)構(gòu)同時極大提升了GAN訓練的穩(wěn)定性以及生成結(jié)果質(zhì)量. Jun Wang 等人[13]提出的IRGAN將GAN用在信息檢索(Information Retrieval)領(lǐng)域,通過GAN的思想將生成檢索模型和判別檢索模型統(tǒng)一起來,對于生成器采用了基于策略梯度的強化學習來訓練,在Web搜索、物品推薦、問答等場景中得到了更顯著的效果.Dong-Kyu 等人[14]提出的一種新穎的基于生成對抗神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾技術(shù)(CFGAN),通過一系列方法解決了傳統(tǒng)IRGAN存在的問題,同時針對協(xié)同過濾進行優(yōu)化,可以獲得更高的推薦系統(tǒng)準確性.然而,這些方法都不能精確地挖掘出與時間推薦相關(guān)的用戶和項目隨時間變化的潛在特征,因此把時間效應(yīng)信息融于到生成對抗網(wǎng)絡(luò)中再用于推薦算法中是本文研究的主要重點內(nèi)容.
此次設(shè)計的動態(tài)生成式推薦模型如圖1所示.
圖1 推薦框架
在圖1中,設(shè)計的動態(tài)生成式推薦模型可以分為兩個步驟:步驟1為用戶和項目的評分偏好生成,其中包括了時間模型、生成模型以及判別模型.步驟2為評分預(yù)測.詳細介紹如下:
時間模型:通過對用戶偏好和項目周期的時間效應(yīng)進行分析,構(gòu)建一個可以通用于預(yù)測用戶偏好和項目周期性變化趨勢的時間模型.具體公式如下:
(1)
其中Tc是指當前時間,即用戶u進行推薦的時間;Tr是指評論時間,即用戶u對項目i進行評論的時間;bt為時間偏差.
這里假設(shè)有M個用戶U={u1,u2,…,uM},有N個項目N={v1,v2,…,vN},令R∈RM×N表示隱式反饋矩陣,其中當用戶i和項目j發(fā)生交互時,Rij=1,否則為0.因此生成網(wǎng)絡(luò)與對抗網(wǎng)絡(luò)之間的對抗訓練可以有以下描述.
生成模型:將自動編碼器神經(jīng)網(wǎng)絡(luò)作為生成網(wǎng)絡(luò),高維特征向量將被映射到一個低層特征空間的隱藏層中,降維過程可以看作是用戶嵌入特征的提取.其計算可以表示為:
hu=σ(Wi×g(Ru)+bi)
(2)
其中Ru為用戶特征向量,σ(·)激活函數(shù),{Wi,g(·)}為dropout函數(shù),bi為偏置向量.這里添加dropout函數(shù)是因為數(shù)據(jù)集的稀疏性,為了避免訓練過程中過擬合.
然后使用輸出層從隱藏層中恢復原始用戶特征向量,特征向量的缺失值填充在輸出層中,可以描述為:
(3)
判別模型:判別模型旨在根據(jù)用戶評分偏好和項目得分偏好與實際評分區(qū)分開來,以訓練出更加精準的值.可以描述為:
(4)
推薦任務(wù)是一個預(yù)測問題,因此將不完整的用戶歷史記錄作為生成網(wǎng)絡(luò)的輸入,再根據(jù)兩個不同的損失函數(shù)進行進一步優(yōu)化,可以描述為:
在判別網(wǎng)絡(luò)訓練中,可以描述:
(5)
然后再將JD附加到生成函數(shù)的損失函數(shù)中,以影響模型的訓練.生成網(wǎng)絡(luò)的損失函數(shù)如下所示:
(6)
其中W∈{0,1}M×N是一個非負權(quán)重矩陣.在訓練開始之前,會隨機初始化兩個網(wǎng)絡(luò)的參數(shù),在對抗訓練過程中,用等式(5)(6)交替訓練生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò).
前N個推薦任務(wù)需要根據(jù)模型的預(yù)測評分給出推薦列表.最終預(yù)測評分的目標函數(shù)可以描述為:
(7)
(8)
針對推薦系統(tǒng)中用戶和項目交互的稀疏性,并且大多數(shù)基于評分的推薦算法仍遭受著數(shù)據(jù)稀疏性的困擾.為了更好地評估模型性能,在三個公開的真實的亞馬遜數(shù)據(jù)集上進行了實驗.數(shù)據(jù)集的具體信息統(tǒng)計如表1所示:
表1 數(shù)據(jù)集統(tǒng)計
此實驗選取80%的數(shù)據(jù)集作為訓練集,10%的數(shù)據(jù)集作為驗證集,10%的數(shù)據(jù)集作為測試集.通過詞袋模型將用戶的評論或項目收到的評論映射到向量矩陣進行實驗中的特征提取.
選用了兩種評價指標來評估我們設(shè)計的模型的性能好壞,包括精確度Precision(P@k)和召回率Recall(P@k),從不同的角度來評估性能.公式如下所示:
(9)
(10)
其中Ck,j表示用戶i的前k個推薦列表,TI是用戶i在測試集中采用的項目.
3.3.1 實驗設(shè)置
對比三種基線算法與本文提出的方法進行比較,分別為LFM[15]、IRGAN[15]和沒有加入時間權(quán)重矩陣Wt的基于評論文本的生成對抗網(wǎng)絡(luò)推薦算法.其中LFM近年來推薦領(lǐng)域中最經(jīng)典的算法之一,IRGAN在將GAN首次運用在信息檢索領(lǐng)域最成熟的算法之一,通過對比這些經(jīng)典的算法更能體現(xiàn)出此算法的優(yōu)越性.
3.3.2 實驗結(jié)果
表2顯示了三種數(shù)據(jù)集分別在幾種方法中進行比較的性能.
表2 數(shù)據(jù)集在Precision和Recall上的性能比較
表2可得出基于評論文本的動態(tài)生成對抗網(wǎng)絡(luò)推薦算法(TGAN)在三種數(shù)據(jù)集上性能均優(yōu)于其他基線算法,并且數(shù)據(jù)集稀疏性也與推薦性能有關(guān),稀疏度越高其推薦效果越好.
在本文中,提出了一種結(jié)合生成對抗網(wǎng)絡(luò)用于推薦任務(wù)的新穎方法,該方法可用于稀疏數(shù)據(jù)的真實推薦場景.推薦框架中包含一個生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò),并通過對抗策略來訓練該模型,并創(chuàng)新性地加入了基于時間效應(yīng)的時間模型,使推薦算法更具有長期有效性和精確性.并且還在三個真實數(shù)據(jù)集上進行了實驗,與先進的算法進行比較,在每組實驗中所提方法的性能均有所改善.
在未來的研究中,考慮將一些豐富的輔助信息,如用戶配置文件、產(chǎn)品品牌信息或產(chǎn)品圖片結(jié)合在該模型中,構(gòu)建出更加穩(wěn)定有效的推薦系統(tǒng),為用戶提供更好的個性化需求.