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

序列生成對抗網絡在推薦系統中的應用

2020-12-07 08:20:38方志軍劉文竹
計算機工程與應用 2020年23期
關鍵詞:用戶模型

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

1.上海工程技術大學 電子電氣工程學院,上海 201620

2.江西省經濟犯罪偵查與防控技術協同創新中心,南昌 330000

1 引言

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

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

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

2 相關工作

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

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

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

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

3 模型描述

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

圖1 模型總體框架

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

3.1 數據預處理

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

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

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

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

3.2 模型生成器

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

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

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

3.3 模型鑒別器

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

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

3.4 策略梯度

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

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

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

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

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

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

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

3.5 推薦過程

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

圖2 推薦流程圖

4 實驗

實驗在一臺 CPU 為 i7-9700k,GPU 為 1080Ti,內存為32 GB 的電腦上進行,操作系統為ubuntu16.04,實驗環境為Pycharm。

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

4.1 數據集介紹

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

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

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

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

4.2 實驗設計

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

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

算法1Item2vec+SeqGAN

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

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

2.初始化SeqGAN,并對生成器Gθ進行預訓練

3.得到預訓練的參數θ

4.repeat:

5.updateDφ

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

7.updateGθ

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

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

10.until:當鑒別器無法很好地區分生成器生成的數據時結束循環,并保存模型

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

算法2Sequence Recommendation

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

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

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

3.將這n個向量轉換為所對應的電影ID

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

5 結果分析

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

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

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

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

6 結束語

本文討論了Item2vec 和SeqGAN 在推薦系統中的具體實現。將兩者相結合,改進傳入SeqGAN網絡的項目向量表示,在降低向量表示維度的同時,讓項目的結構信息融入其向量表示中。同時改進SeqGAN 網絡結構,使其更適合推薦系統的應用場景。本文模型旨在對基于時序關系的用戶和項目潛在特征精確建模,從而提高推薦系統的準確性。

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

猜你喜歡
用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 国产一级裸网站| 欧美日韩第三页| 99精品这里只有精品高清视频| 黄色网址手机国内免费在线观看| 中文字幕乱码中文乱码51精品| 伊人久综合| 亚洲,国产,日韩,综合一区 | 美女扒开下面流白浆在线试听 | 青青草原国产精品啪啪视频| 国产在线观看高清不卡| 国产高清毛片| 午夜毛片免费看| 97一区二区在线播放| 久久综合丝袜日本网| 在线视频亚洲欧美| 99精品视频在线观看免费播放| 国产区人妖精品人妖精品视频| 欧美色丁香| 国产女人在线视频| 欧美啪啪一区| 国产91丝袜在线播放动漫 | 欧美日韩一区二区在线播放| 三级欧美在线| 亚洲中文在线视频| 日本精品影院| 国产成人高清精品免费| 极品av一区二区| 无码国产伊人| 91欧美在线| 毛片大全免费观看| 99久久精品国产综合婷婷| 无码网站免费观看| 9cao视频精品| 亚洲无码91视频| 黄色污网站在线观看| 国产精品亚欧美一区二区三区| 国产精品护士| 亚洲专区一区二区在线观看| 国产免费久久精品99re不卡| 999精品在线视频| 欧美啪啪视频免码| 国产一区二区三区夜色| 精品久久蜜桃| 欧美97欧美综合色伦图| 欧美亚洲国产精品久久蜜芽| 无码一区二区波多野结衣播放搜索| 婷婷六月在线| 国产福利一区视频| 久久国产精品嫖妓| 精品色综合| 免费国产高清精品一区在线| 国产午夜精品一区二区三区软件| 国产精品成| 国产午夜精品鲁丝片| 自慰网址在线观看| 91福利片| aa级毛片毛片免费观看久| 午夜啪啪网| 欧美第二区| 国产另类视频| 91在线激情在线观看| 欧洲免费精品视频在线| 91麻豆久久久| 玩两个丰满老熟女久久网| 国产美女精品人人做人人爽| 毛片免费在线| 亚洲国产成人久久77| 最新痴汉在线无码AV| 国产成人麻豆精品| 婷婷亚洲综合五月天在线| 怡红院美国分院一区二区| 一级毛片免费的| 最新无码专区超级碰碰碰| 超清人妻系列无码专区| www.99精品视频在线播放| 在线一级毛片| 一本大道视频精品人妻 | 99热这里只有免费国产精品 | 一区二区日韩国产精久久| 97视频免费看| 国产精品第一区在线观看| 国产丝袜无码一区二区视频|