999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

序列生成對抗網(wǎng)絡(luò)在推薦系統(tǒng)中的應(yīng)用

2020-12-07 08:20:38方志軍劉文竹
計算機工程與應(yīng)用 2020年23期
關(guān)鍵詞:用戶模型

伍 鑫,黃 勃 ,2,方志軍,劉文竹

1.上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620

2.江西省經(jīng)濟犯罪偵查與防控技術(shù)協(xié)同創(chuàng)新中心,南昌 330000

1 引言

如今在信息爆炸的時代中,充斥著大量的冗余信息,從而導(dǎo)致了信息的過載問題,因此有效信息的獲取變得十分困難。推薦系統(tǒng)作為一種信息過濾方法可有效緩解該問題。推薦系統(tǒng)對用戶歷史數(shù)據(jù)進行分析,挖掘用戶興趣偏好,在項目空間中確定用戶喜歡的項目。傳統(tǒng)的推薦系統(tǒng)通常以矩陣分解模型[1]、協(xié)同過濾模型[2]和基于上下文感知模型[3]為主。傳統(tǒng)的推薦模型多為靜態(tài)的,沒有考慮用戶的興趣變化以及不同項目之間隱含的序列關(guān)系,只能從全局層面實現(xiàn)推薦。然而這種推薦方式在實際應(yīng)用中效果較差,難以產(chǎn)生滿足用戶需求的推薦。

此外,傳統(tǒng)推薦系統(tǒng)通常只能處理相對較小的數(shù)據(jù)集。但如今大規(guī)模數(shù)據(jù)集的出現(xiàn)以及運算和硬件存儲的進步,促使開發(fā)具有高精度和可擴展性的更強大推薦系統(tǒng)成為可能[3-4]。

近些年,基于序列預(yù)測的推薦也得到了較好的發(fā)展,彌補了傳統(tǒng)推薦模型中無法考慮不同項目間時序關(guān)系的問題。當(dāng)前基于序列預(yù)測的模型多為遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)或基于RNN的變體等[5-7]。上述序列預(yù)測模型一定程度上解決了序列預(yù)測問題,但在模擬用戶行為軌跡方面仍然存在欠缺。為了更明確地模擬用戶行為軌跡,本文提出了一種融合序列生成對抗網(wǎng)絡(luò)(Sequence Generative Adversarial Networks,SeqGAN)[8]的推薦算法,可以使用其生成模型來重現(xiàn)用戶喜歡的項目序列,從而實現(xiàn)相應(yīng)的推薦。同時在數(shù)據(jù)預(yù)處理方面引入Item2vec[9]對數(shù)據(jù)進行預(yù)處理,在降低數(shù)據(jù)維度的同時,還能保留數(shù)據(jù)之間良好的結(jié)構(gòu)信息,此外使得相似項目的表示向量相似,解決了傳統(tǒng)詞嵌入方法中相似項目向量之間的關(guān)系不強的問題,同時也起到了降維、增加數(shù)據(jù)稠密度的作用。

2 相關(guān)工作

近年來,基于深度學(xué)習(xí)的推薦算法受到了很多關(guān)注。推薦系統(tǒng)可視為一種用戶和項目之間的映射,深度學(xué)習(xí)作為一類常用的學(xué)習(xí)算法[10],能夠?qū)W習(xí)這種映射關(guān)系。常用深度模型如自動編碼器[11]、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[12]和 RNN[6-7]等均在推薦系統(tǒng)中取得了不錯的表現(xiàn)。但以上方法在擬合用戶興趣動態(tài)偏好時,仍然存在較大偏差。為了更準確地模擬用戶的典型行為,可以利用生成模型來生成用戶的興趣項目序列。例如,利用訓(xùn)練好的隱馬爾可夫模型,根據(jù)用戶當(dāng)前喜歡的項目序列預(yù)測下一個項目,并將其推薦給用戶[13]。

Item2vec 由微軟亞洲研究院提出[9],其主要思想是借鑒了 Word2vec[14],并采用 SGNS(Skip-Gram+Negative Sampling)[14]的方法來生成項目詞向量。Item2vec 在項目向量表示方面有著較強的優(yōu)勢,使得項目詞嵌入后的詞向量表示帶有結(jié)構(gòu)信息,即相似項目之間的距離較近,差異較大的項目之間距離較遠。因此Item2vec在一定程度上保留了原始數(shù)據(jù)的結(jié)構(gòu)信息,同時降低了數(shù)據(jù)維度,便于后期的訓(xùn)練學(xué)習(xí)以及推薦。

Goodfellow 等人提出生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[15],在圖像生成[16]到魯棒控制[17]等許多任務(wù)中的表現(xiàn)優(yōu)于現(xiàn)有算法。這是因為GAN 有效地利用深度學(xué)習(xí)的描述性和辨別力,訓(xùn)練具有高精度和可擴展性的生成模型。利用GAN在生成數(shù)據(jù)方面的良好特性,在推薦系統(tǒng)中利用GAN 模擬用戶的行為軌跡,從而較精確地預(yù)測每個用戶的偏好[18-19]。由于SeqGAN在文本生成方面取得了較好的成果,對序列特征有著較強的學(xué)習(xí)能力,因此本文將融合SeqGAN來挖掘推薦系統(tǒng)中項目之間的序列關(guān)系。

當(dāng)前基于序列預(yù)測的模型中,在數(shù)據(jù)預(yù)處理以及降維階段,常采用較為簡單的one-hot向量表示項目,該表示方式存在向量稀疏且無法體現(xiàn)不同項目之間關(guān)系的問題。因此,本文提出Item2vec和SeqGAN相結(jié)合的推薦算法,選用Item2vec 對項目進行預(yù)處理,從而得到帶有結(jié)構(gòu)信息的項目向量,然后采用SeqGAN來建立基于GAN的模型,學(xué)習(xí)用戶的偏好,并向用戶生成下一個項目的推薦。SeqGAN能夠?qū)W習(xí)序列關(guān)系,為推薦任務(wù)提供了一個有效的框架。因此本文對SeqGAN 做了適當(dāng)?shù)母倪M,使其適用于推薦任務(wù)。為了驗證模型的有效性,在 Netflix Prize Contest 數(shù)據(jù)集和 Movielens 數(shù)據(jù)集上進行了實驗。實驗結(jié)果表明,本文提出的模型優(yōu)于基線算法。

3 模型描述

模型首先需要將電影項目映射成相應(yīng)的詞向量,再根據(jù)用戶歷史記錄的時間戳屬性,構(gòu)建不同的序列信息。如圖1中的Embedding部分所示。

圖1 模型總體框架

本文改進的SeqGAN,生成器通過噪聲z產(chǎn)生虛假的用戶觀看電影的序列信息Y={y1,y2,…,yt},如圖1中Generator部分所示。將生成器生成的項目序列信息Y和由Item2vec 根據(jù)真實信息產(chǎn)生的真實項目詞向量序列信息X={x1,x2,…,xt} 分別傳入鑒別器Discriminator中,輸出傳入項目序列X和Y為真實序列的概率值,其中p-表示生成器產(chǎn)生的序列Y鑒別為真實序列的概率值,p+表示真實序列X鑒別為真實序列的概率值。然后將p-作為生成器獲得的獎勵,指導(dǎo)生成器迭代更新,促使生成器盡可能地發(fā)掘用戶序列信息的真實分布特征。具體的對抗訓(xùn)練過程如圖1所示。

3.1 數(shù)據(jù)預(yù)處理

首先根據(jù)數(shù)據(jù)集的時間屬性對無序的用戶數(shù)據(jù)進行處理。傳統(tǒng)的詞嵌入方法如one-hot存在向量稀疏且難以表示電影和電影之間的關(guān)系等問題;有研究發(fā)現(xiàn)RNN 以及RNN 的變體在數(shù)據(jù)密度較高時能發(fā)揮較好的性能[10],本模型的生成器采用LSTM(Long Short-Term Memory)構(gòu)成,鑒別器采用GRU(Gated Recurrent Unit)構(gòu)成,均為RNN 的變體;采用Item2vec 方法,該方法可以學(xué)習(xí)電影項目在低維空間的詞向量表示,增加數(shù)據(jù)的密度,同時可以學(xué)習(xí)不同電影項目之間的關(guān)系。

假設(shè)所有用戶觀看的電影的歷史記錄被定義為一個語料庫,同時將某一個用戶u觀看的一系列電影記錄視為一個小的電影集合,用Wu表示。所有的電影項目視為詞匯集合,用S(Wu∈S)表示。通過學(xué)習(xí)所有用戶歷史記錄中電影間的共現(xiàn)關(guān)系,獲得該電影項目的詞向量表示。具體的目標函數(shù)如下:

其中,σ(x)=1/(1+exp(-x)),u∈Wi,v∈Wj,N為對于每個正樣本負采樣的個數(shù)。

假定出現(xiàn)在用戶歷史記錄中的電影項目均為有效項目,因此用戶在選擇某個電影項目時,該電影項目即代表該用戶此時的興趣趨向。即可將某一時刻用戶所選的電影項目的詞向量表示作為該用戶此時的興趣特征向量。

3.2 模型生成器

LSTM比較適用于序列預(yù)測問題,能夠挖掘用戶興趣特性的分布特點。因此,采用LSTM 來構(gòu)建SeqGAN中的生成器Gθ(θ為參數(shù))。此外,為了同時處理用戶的時間靜態(tài)偏好和動態(tài)偏好,本文在LSTM單元的輸入門(it)使用Leaky RELU激活函數(shù),如式(3)所示。Leaky RELU可以很好地控制輸入門信息的寫入和丟棄,使模型對于時間靜態(tài)偏好的用戶關(guān)注其過去的行為,對于動態(tài)偏好的用戶自動為其建模并完成預(yù)測。

為促使生成器挖掘用戶興趣的真實分布,在生成器中輸入噪聲z取代真實的序列數(shù)據(jù)。此方法可避免生成器過度依賴原始數(shù)據(jù)的問題,防止模型的過擬合。借助鑒別器的監(jiān)督訓(xùn)練,實現(xiàn)對抗學(xué)習(xí),從而挖掘用戶的真實興趣特征模型。

在LSTM 單元通過噪聲z為其產(chǎn)生一個初始的隱狀態(tài),如式(4)所示。其中yt表示生成的興趣特征,生成過程如式(6)所示。生成器Gθ={y1,y2,…,yT}。

3.3 模型鑒別器

在GAN中,為了更好地訓(xùn)練生成器,促使生成器生成更真實的數(shù)據(jù),需要鑒別器輔助生成器的訓(xùn)練過程。GRU 在文本分類任務(wù)中顯示出較好的效果,因此選擇GRU 作為鑒別器Dφ(φ是參數(shù))來輔助生成器Gθ的迭代更新過程。Dφ(Y1:T)表示序列Y1:T={y1,y2,…,yT}為真實序列數(shù)據(jù)可能性的概率。真實的用戶電影序列數(shù)據(jù)為正例,生成模型Gθ生成的數(shù)據(jù)為負例,通過正例和負例對判別模型Dφ進行訓(xùn)練。

鑒別器中最終以sigmoid函數(shù)評估序列中各個節(jié)點為真實數(shù)據(jù)的可能性,如式(8),并累積該估計值,取其平均值作為該序列為真實序列的可能性,如式(9)。

3.4 策略梯度

為了更好地輔助生成對抗訓(xùn)練,本文采用強化學(xué)習(xí)算法學(xué)習(xí)動作價值函數(shù),即從狀態(tài)s開始采取動作a可獲得的預(yù)期獎勵。將鑒別器Dφ的實際估計概率視為實際得到的獎勵,使用鑒別器Dφ作為獎勵函數(shù),并動態(tài)迭代更新獎勵函數(shù),以進一步優(yōu)化生成器。

一旦獲得一組更真實的生成預(yù)測序列,該模型將重新訓(xùn)練鑒別器,模型描述如下:

生成器模型Gθ的目標是根據(jù)起始狀態(tài)s0生成序列,并最大化其預(yù)期的最終獎勵,其目標函數(shù)J(θ)如方程(13)所示:

其中,RT是生成的完整序列的獎勵。

在模型訓(xùn)練過程中,每次獲得新的鑒別器模型時,都會對生成器進行更新。本文基于策略梯度的優(yōu)化方式依賴于最大化長期獎勵。對目標函數(shù)J(θ)求梯度:

其中,yt是從Gθ生成的預(yù)測。由于期望E 可以通過采樣方法近似,然后將生成器的參數(shù)更新為:

采用Adam[16]和RMSprop[18]等自適應(yīng)學(xué)習(xí)率的優(yōu)化算法,αh∈R+表示第h步的學(xué)習(xí)率。此外,在真實的數(shù)據(jù)集上使用最大似然估計(Maximum Likelihood Estimation,MLE)來預(yù)訓(xùn)練Gθ。實驗發(fā)現(xiàn)通過預(yù)訓(xùn)練的生成器Gθ可以更容易找到最優(yōu)解。

3.5 推薦過程

完成用戶興趣建模,即可執(zhí)行具體的推薦任務(wù),如圖2 所示。首先將用戶觀看的歷史電影項目按照時序特征依次傳入生成器中,如圖2 中的x1,x2,…,xt-1所示,并為該用戶生成下一時刻的興趣特征向量yt;匹配該興趣特征向量在電影集合S中的前N個最近鄰項目,完成對該用戶的top-n推薦。若下一時刻t實際的興趣特征向量xt所對應(yīng)的電影ID在推薦的前n個電影項目中,即在圖2的movieId中,視本次推薦為一次成功的推薦。

圖2 推薦流程圖

4 實驗

實驗在一臺 CPU 為 i7-9700k,GPU 為 1080Ti,內(nèi)存為32 GB 的電腦上進行,操作系統(tǒng)為ubuntu16.04,實驗環(huán)境為Pycharm。

實驗根據(jù)用戶歷史行為,預(yù)測其未來的興趣特征,最終以top-n方式完成推薦任務(wù)。

4.1 數(shù)據(jù)集介紹

本文提出的算法為一種序列預(yù)測,在包含時間戳屬性的Movielens數(shù)據(jù)集和Netflix數(shù)據(jù)集上進行實驗。

Movielens-20M:該數(shù)據(jù)集是電影推薦服務(wù)Movielens最大的一個數(shù)據(jù)集,包含138 493 個用戶對27 278 部電影的20 000 263條評分記錄和465 564個標簽。數(shù)據(jù)集的時間跨度為1995年1月9日到2015年3月31日,每個用戶至少有20部觀影記錄。

Netflix:該數(shù)據(jù)集比Movielens-20M 更大,擁有約48 萬用戶對17 770部電影的1.0×108條評分記錄。

將數(shù)據(jù)集根據(jù)項目序列劃分為訓(xùn)練集和測試集,訓(xùn)練集用于預(yù)訓(xùn)練生成器Gθ和對抗訓(xùn)練時優(yōu)化Dφ,測試集用于觀測訓(xùn)練過程中的實際損失值。在這些數(shù)據(jù)集中,項目序列的歷史記錄中任何項目至多出現(xiàn)一次,因此可通過強制它們推薦用戶尚未看到的項目來模擬更真實的推薦過程。

4.2 實驗設(shè)計

實驗首先將用戶的歷史記錄按照用戶ID劃分成不同的電影子集,然后根據(jù)時間戳屬性對這些歷史記錄排序,構(gòu)建對應(yīng)的序列,然后將其傳入Item2vec中訓(xùn)練,最后得到不同電影對應(yīng)的向量,完成對訓(xùn)練數(shù)據(jù)的預(yù)處理工作。

具體訓(xùn)練過程如算法1所示。在對抗訓(xùn)練開始前,首先將訓(xùn)練集中具有時間序列關(guān)系的電影向量列表傳入SeqGAN的生成器中完成對生成器的預(yù)訓(xùn)練;然后進行對抗訓(xùn)練,將生成器的輸入?yún)?shù)改變?yōu)殡S機噪聲,生成器通過隨機噪聲產(chǎn)生相應(yīng)的向量序列;將生成器生成的向量序列和真實數(shù)據(jù)集中的序列混合傳入鑒別器,以優(yōu)化鑒別器的鑒別能力;當(dāng)鑒別器能夠較好地分辨生成器生成的數(shù)據(jù)和真實數(shù)據(jù)集中的數(shù)據(jù)時,再利用鑒別器輸出的值通過策略梯度的方式進一步優(yōu)化生成器。

算法1Item2vec+SeqGAN

輸入:用戶基于時間順序的電影序列信息

1.采用Item2vec算法,得到電影項目的詞向量表示

2.初始化SeqGAN,并對生成器Gθ進行預(yù)訓(xùn)練

3.得到預(yù)訓(xùn)練的參數(shù)θ

4.repeat:

5.updateDφ

6.通過式(11)實現(xiàn)迭代更新

7.updateGθ

8.將噪聲z傳入Gθ中生成序列信息

9.通過式(9)完成獎勵值的計算,并采用策略梯度優(yōu)化生成器Gθ

10.until:當(dāng)鑒別器無法很好地區(qū)分生成器生成的數(shù)據(jù)時結(jié)束循環(huán),并保存模型

具體的推薦算法描述如算法2 所示。將推薦用戶的歷史序列依次傳入到訓(xùn)練好的SeqGAN的生成器中,即可生成下一時刻該用戶可能感興趣的特征向量。匹配該向量前n個不重復(fù)的最近鄰項目,完成對該用戶的top-n推薦。

算法2Sequence Recommendation

輸入:用戶u基于時間順序的電影序列信息

1.通過式(5)和(6)為其生成相應(yīng)的興趣特征向量

2.根據(jù)該特征向量匹配前n個不重復(fù)的最近鄰電影向量

3.將這n個向量轉(zhuǎn)換為所對應(yīng)的電影ID

輸出:將這n個電影推薦給用戶u

5 結(jié)果分析

為了對該推薦模型進行評估,采用MAP(Mean Average Precision)和MRR(Mean Reciprocal Ranking)指標來衡量模型基于top-n推薦的性能。本實驗中將該模型與基于最近鄰(KNN)和基于矩陣分解(BPR-MF)的兩種靜態(tài)top-n推薦算法進行比較。同時也與基于序列預(yù)測的基線方法:馬爾可夫鏈(MC)、RNN 進行比較。實驗結(jié)果如表1和表2所示。

通過以上結(jié)果對比發(fā)現(xiàn),本文所提出的模型,在經(jīng)過Item2vec處理之后的數(shù)據(jù)上,取得了優(yōu)于基線方法的結(jié)果。例如,在Movielens 數(shù)據(jù)集上,對于基線方法MC和RNN 上推薦精度均提高了4%。這是因為KNN 和BPR-MF這類基線模型不具備序列預(yù)測的特性;而本文模型能夠發(fā)掘用戶潛在的興趣偏好變化軌跡,根據(jù)當(dāng)前興趣偏好進行預(yù)測。同時Item2vec 方法在降低稀疏性的同時,讓同類型的電影在向量表示上也具備了一定的相似性,對后期的序列預(yù)測,以及挖掘用戶潛在的興趣模型提供了有力條件。此外,相較于直接利用RNN 訓(xùn)練的網(wǎng)絡(luò)模型,采用對抗訓(xùn)練的方式,可以有效降低模型的過擬合,更利于對用戶的興趣模型進行精確建模。

表1 基于Movielens-20M數(shù)據(jù)集對比分析(n=10)

表2 基于Netflix數(shù)據(jù)集對比分析(n=10)

6 結(jié)束語

本文討論了Item2vec 和SeqGAN 在推薦系統(tǒng)中的具體實現(xiàn)。將兩者相結(jié)合,改進傳入SeqGAN網(wǎng)絡(luò)的項目向量表示,在降低向量表示維度的同時,讓項目的結(jié)構(gòu)信息融入其向量表示中。同時改進SeqGAN 網(wǎng)絡(luò)結(jié)構(gòu),使其更適合推薦系統(tǒng)的應(yīng)用場景。本文模型旨在對基于時序關(guān)系的用戶和項目潛在特征精確建模,從而提高推薦系統(tǒng)的準確性。

實驗結(jié)果表明,SeqGAN在兩個不同的數(shù)據(jù)集中表現(xiàn)均優(yōu)于基線模型。未來工作集中于進一步研究和改進SeqGAN的性能,以及對LSTM進行改進的可行性和影響進行深入研究,以便更精準地對用戶興趣建模。

猜你喜歡
用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 亚洲黄色高清| 亚洲aaa视频| 在线欧美一区| 国产专区综合另类日韩一区| 久久特级毛片| 国产一区二区影院| 一级毛片在线免费视频| 91视频99| a级毛片免费网站| 园内精品自拍视频在线播放| 国产va免费精品| 国产成人精品综合| 在线中文字幕日韩| 69国产精品视频免费| 国产精品女主播| 亚洲专区一区二区在线观看| 国产欧美自拍视频| 欧美午夜在线观看| 亚洲不卡网| 国产视频资源在线观看| 国产亚洲高清视频| 久久国产精品麻豆系列| 日韩在线2020专区| 无码免费视频| 久久人妻xunleige无码| 日韩小视频在线播放| 啦啦啦网站在线观看a毛片| 亚洲一区第一页| 97久久免费视频| 国产精品片在线观看手机版| 一级成人a毛片免费播放| 国产91丝袜在线播放动漫 | 在线播放真实国产乱子伦| 无码AV高清毛片中国一级毛片| 91国内视频在线观看| 中国特黄美女一级视频| 亚洲无卡视频| 色视频久久| 国产乱子伦手机在线| 久久国产精品国产自线拍| 免费看a级毛片| 午夜国产在线观看| 青青青国产免费线在| 日韩东京热无码人妻| 2021最新国产精品网站| 亚洲三级视频在线观看| 91精品国产一区自在线拍| 欧美亚洲一区二区三区在线| 久久鸭综合久久国产| 欧美精品v欧洲精品| 国产亚洲欧美日韩在线一区二区三区| 九九线精品视频在线观看| 国产嫖妓91东北老熟女久久一| 在线观看免费黄色网址| 亚洲男人天堂2018| 无码啪啪精品天堂浪潮av| 91精品国产综合久久香蕉922 | 伊人久综合| 91精品视频播放| 四虎成人在线视频| 午夜福利亚洲精品| 亚洲一区二区成人| 青青草国产一区二区三区| 伊人成色综合网| 久久精品无码中文字幕| 久久免费视频6| 国产成人无码久久久久毛片| 伊人91在线| 国产靠逼视频| 久久a毛片| 成人一级免费视频| 熟女日韩精品2区| 日韩在线网址| 久久综合婷婷| 亚洲最新网址| 国产在线拍偷自揄拍精品| 亚洲美女一级毛片| 国产呦精品一区二区三区下载| 欧美在线天堂| 波多野结衣中文字幕一区二区| 香蕉久久永久视频| 2021最新国产精品网站|