国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于注意力機制的深度協(xié)同過濾模型

2019-08-13 05:58謝恩寧何靈敏王修暉
中國計量大學學報 2019年2期
關(guān)鍵詞:注意力矩陣協(xié)同

謝恩寧,何靈敏,王修暉

(中國計量大學 信息工程學院,浙江 杭州 310018)

隨著科技的迅猛發(fā)展,人們生活中所接觸到的信息規(guī)模也呈現(xiàn)井噴式增長。為了緩解海量數(shù)據(jù)檢索給人們?nèi)粘I顜淼牟槐?推薦系統(tǒng)應(yīng)運而生。推薦系統(tǒng)一般被定義為:能夠通過分析用戶行為,對用戶興趣進行建模,從而達到預(yù)測用戶興趣并給用戶做推薦的目的。推薦系統(tǒng)是幫助用戶發(fā)現(xiàn)內(nèi)容,克服信息過載的重要工具。

對于推薦系統(tǒng)領(lǐng)域中傳統(tǒng)的推薦算法而言,應(yīng)用最廣泛的是協(xié)同過濾算法(Collaborative filtering,CF)[1-2]。目前眾多杰出的推薦算法都是基于協(xié)同過濾算法,其主要思想是利用用戶和項目之間的歷史交互信息,對用戶和其感興趣的項目進行建模,從而給出最后的推薦[3-4]??v觀不同類型的協(xié)同過濾算法,矩陣分解算法(Matrix factorization,MF)是其中最為流行的推薦算法之一[2,5]?;诰仃嚪纸獾膮f(xié)同過濾算法同樣對用戶和項目之間產(chǎn)生的歷史交互信息進行建模,區(qū)別在于該方法分別用一個隱式向量代表用戶和項目,而用戶和項目之間產(chǎn)生的交互則用隱式向量間的內(nèi)積來表示。此前大量研究人員致力于使用傳統(tǒng)方法增強基于矩陣分解的協(xié)同過濾算法,例如,拓展矩陣分解算法到因式分解機[6]、將包含項目內(nèi)容的主題模型結(jié)合到矩陣分解算法[7],以及與最近鄰模型相整合[2]。盡管,上述研究提出的方法能夠提升推薦系統(tǒng)的推薦效果。但是,基于矩陣分解的協(xié)同過濾算法提供的推薦性能還是會受到隱式向量間內(nèi)積操作的限制[5]。由于隱式向量間內(nèi)積操作,只是簡單地向量間的線性乘法,不足以提取用戶和項目之間復(fù)雜的歷史交互特征。

深度神經(jīng)網(wǎng)絡(luò)(Deep neural networks,DNN)作為深度學習技術(shù)的基礎(chǔ)組件,已經(jīng)在語音識別、計算機視覺、自然語言處理等領(lǐng)域發(fā)揮越來越大的作用[8-10]。DNN對于復(fù)雜的抽象特征的提取能力也慢慢展現(xiàn)在我們眼前。將深度學習技術(shù)應(yīng)用于推薦系統(tǒng)中用戶和項目之間歷史交互信息的特征提取已經(jīng)迫在眉睫。最近的一些研究中,有將DNN用于推薦系統(tǒng)中輔助信息(項目的文字描述、圖片信息等)的特征提取,但沒有涉及對基于協(xié)同過濾的推薦算法核心問題的改進[7,11]。何等人提出了神經(jīng)矩陣分解模型(Neural matrix factorization,NeuMF),首次將DNN用于改進基于矩陣分解的協(xié)同過濾算法[12]。該模型為集成模型,采用廣義矩陣分解模型(Generalized matrix factorization,GMF)提取用戶和項目間歷史交互數(shù)據(jù)中的線性交互特征,其中的非線性交互特征由多層感知機模型(Multi-layer perceptron,MLP)來提取,最后結(jié)合兩部分特征給出推薦。由于NeuMF模型的非線性特征提取部分只是用到了最普通的多層感知機模型,故不能很好的提取用戶和項目之間非線性的交互特征。

深度學習技術(shù)中的注意力機制,一定程度上模擬了人類視覺中的注意力機制。類比人類視覺中注意力機制能夠通過掃描全局圖像獲取重點關(guān)注的目標區(qū)域,深度學習中的注意力機制能夠幫助普通的多層感知機模型從原始數(shù)據(jù)中提取出對當前任務(wù)更為關(guān)鍵的特征信息。為了更好地利用深度學習技術(shù)提取用戶和項目之間復(fù)雜的非線性交互特征,以便為用戶做出更好的推薦,故我們提出了基于注意力機制的深度協(xié)同過濾模型(Deep collaborative filtering model based on attention mechanism,DeepCF-A)。我們工作的目標是最終提升推薦系統(tǒng)在隱式反饋數(shù)據(jù)下的推薦效果。

1 相關(guān)理論

1.1 從隱式反饋數(shù)據(jù)中學習

與顯式反饋不同,隱式反饋記錄了用戶的行為數(shù)據(jù)(購買歷史、點擊量、關(guān)注量等),并間接反映了用戶對項目的偏好。從隱式反饋數(shù)據(jù)中學習是很有價值的。因為相較于顯式反饋數(shù)據(jù)獲取成本高、數(shù)據(jù)量小的特點,隱式反饋數(shù)據(jù)往往很容易從內(nèi)容提供商處獲取,并且數(shù)據(jù)量足夠大,能夠滿足一般深度學習模型訓練所需。我們提出的模型要解決的問題是,如何從現(xiàn)有收集到的隱式反饋數(shù)據(jù)中學習到經(jīng)驗,用于評估用戶u對項目i是否感興趣。我們可以將上述目標抽象成以下公式,即

(1)

接下來用M和N分別表示用戶和項目的數(shù)量,用戶和項目之間的交互矩陣我們用Y∈oM×N來表示,矩陣中的隱式反饋數(shù)據(jù)定義如下:

(2)

式(2)中,y+表示交互矩陣中的正樣本集合(用戶和項目之間有交互),y-表示交互矩陣中的負樣本集合(用戶和項目之間沒有交互)。由于我們提出的模型面向的是隱式反饋數(shù)據(jù),所以處理數(shù)據(jù)集合的時候,對于用戶u和項目i之間存在歷史交互的數(shù)據(jù),我們將yui值設(shè)為1,在某種程度上表明用戶u對項目i感興趣;反之,對于用戶u和項目i之間無歷史交互的數(shù)據(jù),我們將yui值設(shè)為0,表示用戶u對項目i不感興趣。

從上述介紹的隱式反饋數(shù)據(jù)中學習出有用的經(jīng)驗,無疑是非常具有挑戰(zhàn)性的。傳統(tǒng)的方法是基于矩陣分解的協(xié)同過濾算法,該種方法還是受限于其中向量間的內(nèi)積操作只能提取復(fù)雜歷史交互中的線性特征信息。而我們提出的DeepCF-A是集成模型,線性特征提取部分延用了生成式矩陣分解模型;非線性特征提取部分采用了基于注意力機制的多層感知機模型(Multi-layer perceptron based on attention mechanism,MLP-A)。我們的模型能夠有效地從隱式反饋數(shù)據(jù)中學習到有用的經(jīng)驗,從而幫助推薦系統(tǒng)提升推薦效果。

1.2 基于注意力機制的多層感知機模型

首先,我們提出的DeepCF-A模型的非線性特征提取模型,即基于注意力機制的多層感知機模型結(jié)構(gòu)如圖1。

圖1 基于注意力機制的多層感知機模型結(jié)構(gòu)Figure 1 Multi-layer perceptron model structure based on attention mechanism

我們用vu和vi分別代表用戶u和項目i的特征向量。輸入層中,vu和vi均是one-hot的編碼形式。這在一般的機器學習模型中也是比較常見的操作手段,利用one-hot編碼對離散特征進行向量化的優(yōu)點是讓特征間的距離計算更加合理,也就是方便后續(xù)模型對數(shù)據(jù)進行特征提取。但是,當類別數(shù)量很多時,通過one-hot編碼生成的特征空間會變得非常大,容易造成維度災(zāi)難。所以,我們引入了自然語言處理領(lǐng)域中處理詞向量的word2vec方法,在輸入層之上引入了嵌入層,成功地將輸入層中稀疏的特征向量轉(zhuǎn)換為稠密型的特征向量,從而有效縮減了特征空間的維度,更利于特征提取。連接層將嵌入層輸出的用戶隱式向量、項目隱式向量進行連接,并向注意層輸出聯(lián)合特征向量。

注意層利用注意力機制提取聯(lián)合向量特征中對當前任務(wù)最為關(guān)鍵的特征信息,輸出給深度神經(jīng)網(wǎng)絡(luò)。該層試圖捕獲特征向量中各維度特征之間的內(nèi)在關(guān)系,每一維度特征對整個任務(wù)的影響程度都可能受到其他維度特征的影響。因此,對某些維度特征的過分關(guān)注可能會分散注意力,于是注意力機制就起到了至關(guān)重要的作用。注意力機制主要分為兩步,第一步獲取每個維度特征所對應(yīng)的關(guān)注度。

An=Softmax(Xn)。

(3)

式(3)中,Xn表示輸入注意層的n維特征向量,Softmax()函數(shù)可以通過歸一化獲取符合概率分布取值區(qū)間的注意力分配概率數(shù)值,An表示n個維度特征所對應(yīng)的關(guān)注度。第二步,注意層將獲取到的每個維度的關(guān)注度與特征向量對應(yīng)維度相乘獲得注意層的輸出Aout:

Aout=An⊙Xn。

(4)

式(4)中,⊙為元素積操作,Aout用于輸入深度神經(jīng)網(wǎng)絡(luò)中進行進一步的特征提取。

1.3 模型集成

上文中介紹了基于注意力機制的多層感知機模型,注重于提取用戶和項目間歷史交互數(shù)據(jù)中非線性交互特征。對于其中的線性交互特征的提取,我們用到了生成式矩陣分解模型。簡單來說,生成式矩陣分解模型其實就是一般矩陣分解模型的泛化版本,其主要思想還是協(xié)同過濾。

綜合生成式矩陣分解模型及基于注意力機制的多層感知機模型,我們提出了基于注意力機制的深度協(xié)同過濾模型。該模型的結(jié)構(gòu)如圖2。

圖2 基于注意力機制的深度協(xié)同過濾模型結(jié)構(gòu)Figure 2 Deep collaborative filtering model structure based on attention mechanism

整個模型的輸入層將用戶u和項目i的特征向量分別用one-hot編碼表示。由于我們提出的模型是集成模型,所以嵌入層將one-hot編碼表示的用戶u特征向量分別映射為輸入GMF模型的用戶隱式向量及輸入MLP-A模型的用戶隱式向量。對于項目i同樣如此操作。這樣做的目的是,考慮到不同模型所需的特征空間大小不一,區(qū)分不同輸入特征空間的做法更有意義。MLP-A模型已經(jīng)詳細介紹過,現(xiàn)在簡單介紹一下GMF模型。

對于GMF模型部分,負責提取用戶和項目間復(fù)雜歷史交互數(shù)據(jù)中的線性特征。其中的關(guān)鍵操作就是將嵌入層輸出的用戶隱式向量和項目隱式向量做了一個十分簡單的元素積操作,用于模擬基于矩陣分解的協(xié)同過濾算法,數(shù)學表達式可描述為

(5)

對于MLP-A模型部分,負責提取用戶和項目間復(fù)雜歷史交互數(shù)據(jù)中的非線性特征。其數(shù)學表達式如下:

(6)

(7)

式(7)中,σ表示sigmoid函數(shù)。

我們提出的DeepCF-A模型的訓練階段選取的損失函數(shù)為交叉熵函數(shù),其數(shù)學表達式如式(8):

(8)

訓練階段的目標是通過類似隨機梯度下降方法,最小化損失函數(shù),從而達到提升隱式反饋數(shù)據(jù)下推薦效果的目的。由于推薦系統(tǒng)領(lǐng)域內(nèi)的用戶-項目交互矩陣往往都是十分稀疏的,對于我們的目標來說,負樣本的數(shù)量要遠遠大于正樣本。所以,為了讓模型的訓練能夠快速地收斂,我們采用了負采樣的手段,即對負樣本預(yù)先進行采樣再用于模型的訓練,這樣做能夠在不影響模型的性能前提下大大縮減模型訓練時間。

2 對比實驗

2.1 實驗所用數(shù)據(jù)集合及評價標準

本文中實驗所用數(shù)據(jù)集合均為公開數(shù)據(jù)集合,分別為Movielens和Pinterest。Movielens數(shù)據(jù)集是專門用來收集電影評分的,根據(jù)數(shù)據(jù)規(guī)模的不同,該數(shù)據(jù)集有很多版本。我們在這里選用的是Movielens-1M,所選用的數(shù)據(jù)集內(nèi)包含有一百萬例用戶為電影評分的數(shù)據(jù),其中評分數(shù)據(jù)均采用5分制,而且該數(shù)據(jù)集合保證每位用戶至少參與20部電影的評分。Pinterest數(shù)據(jù)集是被用作圖片推薦的,保留有用戶對圖片的評分數(shù)據(jù)。由于原始的Pinterest數(shù)據(jù)集中包含的數(shù)據(jù)過于稀疏,于是參考Movielens數(shù)據(jù)集,我們只保留了至少有20個歷史評分的用戶的數(shù)據(jù)。最終,實驗所用的數(shù)據(jù)集合相關(guān)統(tǒng)計信息參考表1。

表1 實驗所用數(shù)據(jù)集合相關(guān)統(tǒng)計信息

Table 1 Statistics related to the data set used in the experiment

數(shù)據(jù)集合交互數(shù)用戶數(shù)項目數(shù)密度/%Movielens-1M1 000 2093 7066 0404.47Pinterest1 500 8099 91655 1870.27

由于我們提出的模型目標是提升隱式反饋數(shù)據(jù)下推薦系統(tǒng)的推薦性能,所以我們將數(shù)據(jù)集中的評分數(shù)據(jù)進行處理,將用戶對項目有評分的交互數(shù)據(jù)標記為1,用戶對項目未評分的交互數(shù)據(jù)標記為0。

模型訓練過程中,我們從用戶與項目歷史交互數(shù)據(jù)中保留一項正樣本留作模型評價,其他正樣本連同負采樣得到的負樣本一同進行模型訓練。在模型的評價階段,我們隨機抽取了99項負樣本連同訓練過程中保留的一項正樣本構(gòu)成集合,參與模型的評價。評價指標選用了HR@K(Hit ratio at rank k)和NDCG@K(Normalized discounted cumulative gain at rank k),均是評價隱式反饋數(shù)據(jù)下推薦算法性能的常用評價標準[13]。以上兩種評價標準,HR@K表示只要有正樣本出現(xiàn)在推薦算法推薦列表的前K位,就會給出得分。而NDCG@K則更加嚴格,會根據(jù)正樣本出現(xiàn)在推薦列表的位置高低給出相應(yīng)的得分,即排名越前得分越高。

2.2 模型參數(shù)設(shè)置

我們提出的DeepCF-A集成模型,其中MLP-A模型中的深度神經(jīng)網(wǎng)絡(luò)采用三隱藏層的結(jié)構(gòu),各層隱藏層節(jié)點個數(shù)設(shè)置遵循:前一層節(jié)點數(shù)為后一層節(jié)點數(shù)的2倍;嵌入層節(jié)點數(shù)為模型預(yù)測因子的2倍;除輸出層激活函數(shù)使用sigmoid函數(shù)外,其他各層激活函數(shù)均使用ReLU函數(shù)。模型訓練階段,訓練集構(gòu)造依據(jù):對于每1例正樣本,通過負采樣得到4例負樣本一同參與模型訓練;優(yōu)化函數(shù)采用Adam函數(shù),學習率設(shè)為0.001;訓練迭代次數(shù)為40次。GMF模型部分嵌入層的特征空間大小設(shè)為8。

2.3 對比算法

為了驗證我們提出的基于注意力機制的深度協(xié)同過濾模型在不同評價標準下的表現(xiàn)。我們同多種推薦算法進行對比,其中不僅包括了傳統(tǒng)的推薦算法,同時也包括了基于深度學習的推薦算法。

ItemPop 該算法不屬于個性化的推薦算法,僅僅基于項目的流行度(項目與用戶歷史交互的次數(shù))來做推薦。

ItemKNN 該算法是標準的基于項目的協(xié)同過濾算法。對比實驗過程中,我們測試了不同的參數(shù)值,最后取得最優(yōu)的結(jié)果。

BPR 該算法是普通矩陣分解算法的優(yōu)化版本,有著比普通矩陣分解算法更優(yōu)的推薦性能,一般常用作基于隱式反饋數(shù)據(jù)的推薦算法的基準算法。

eALS 該算法是矩陣分解類算法的最優(yōu)算法之一。

MLP 該算法利用了多層感知機取代矩陣分解類算法中的內(nèi)積操作,提取用戶和項目間復(fù)雜歷史交互模式,用來做推薦。

MLP-A 該算法是我們提出的DeepCF-A模型中的,非線性特征提取模型,結(jié)合了深度學習中的注意力機制來做推薦。

NeuMF 基于深度學習的推薦算法,同樣也是集成模型,推薦性能上較傳統(tǒng)算法有很大提升。

2.4 實驗結(jié)果分析

我們將DeepCF-A模型同上述提到的多種推薦算法在Movielens-1M和Pinterest數(shù)據(jù)集上進行了大量的對比實驗。為了公平起見,對于有涉及模型預(yù)測因子的算法(BPR,eALS,MLP,MLP-A,NeuMF),我們將模型預(yù)測因子統(tǒng)一設(shè)為16。為了降低模型評價的時間復(fù)雜度,對于評價標準HR@K、NDCG@K中的K值,我們統(tǒng)一設(shè)為10。

實驗的結(jié)果由表2給出,圖3圖4向我們展示了不同算法在Movielens-1M數(shù)據(jù)集與Pinterest數(shù)據(jù)集上的表現(xiàn)。首先,從實驗結(jié)果中我們可以直觀地看到,不論是Movielens-1M數(shù)據(jù)集或是Pinterest數(shù)據(jù)集,我們提出的基于注意力機制的深度協(xié)同過濾模型在HR@10、NDCG@10評價標準下均表現(xiàn)最優(yōu)。

表2 不同算法在Movielens-1M數(shù)據(jù)集和Pinterest數(shù)據(jù)集下的實驗結(jié)果

Table 2 Experimental results of different algorithms in the Movielens-1M dataset and Pinterest dataset

數(shù)據(jù)集合算法Movielens-1MPinterestHR@10NDCG@10HR@10NDCG@10ItemPop0.455 70.255 70.274 30.140 9ItemKNN0.630 00.334 10.756 50.520 7BPR0.667 40.390 70.862 80.540 6eALS0.668 50.397 70.875 50.544 8MLP0.684 10.410 30.864 80.538 5MLP-A0.692 20.411 00.866 70.543 2NeuMF0.689 90.412 20.876 50.548 3DeepCF-A0.696 40.420 60.880 30.556 2

與傳統(tǒng)的推薦算法(ItemKNN,BPR,eALS)進行比較,我們提出的DeepCF-A模型在Movielens-1M數(shù)據(jù)集下的HR@10指標上要高出它們3~6個百分點,同樣在NDCG@10指標上要高出3~8個百分點。也就是說,我們提出的模型在隱式反饋數(shù)據(jù)下的推薦性能明顯優(yōu)于傳統(tǒng)的協(xié)同過濾算法模型。

由于MLP模型與MLP-A模型的區(qū)別在于,MLP-A模型結(jié)合了注意力機制。從實驗結(jié)果上來看,MLP-A模型較MLP模型在兩個數(shù)據(jù)集上的HR@10與NDCG@10均有所提升。故注意力機制確實能幫助一般的深度神經(jīng)網(wǎng)絡(luò)更好地提取復(fù)雜的數(shù)據(jù)中更為關(guān)鍵的特征信息。

與DeepCF-A模型一樣,NeuMF模型也是集成模型。從實驗結(jié)果上分析,集成模型確實較單個模型表現(xiàn)更優(yōu)。與NeuMF模型相比,在Movielens-1M數(shù)據(jù)集下我們提出的模型在HR@10與NDCG@10指標上分別高出一個百分點,在Pinterest數(shù)據(jù)集上的表現(xiàn)同樣類似。

3 結(jié) 論

本文中,我們將深度學習技術(shù)用于增強傳統(tǒng)推薦系統(tǒng)領(lǐng)域中協(xié)同過濾算法的性能,提出了基于注意力機制的深度協(xié)同過濾模型。該模型是集成模型,具備深度提取用戶和項目間復(fù)雜歷史交互數(shù)據(jù)中線性、非線性的特征的能力,能夠有效在隱式反饋數(shù)據(jù)下給出高質(zhì)量的推薦內(nèi)容。我們在Movielens-1M和Pinterest數(shù)據(jù)集下進行了大量的實驗,實驗結(jié)果充分證明我們所做的工作是十分有效的,我們提出的模型無論較傳統(tǒng)的協(xié)同過濾模型,還是當前推薦系統(tǒng)領(lǐng)域基于深度學習的推薦模型,在推薦性能上均有顯著提升。

圖3 各個算法在Movielens-1M數(shù)據(jù)集和Pinterest數(shù)據(jù)集下的表現(xiàn)Figure 3 Performance of each algorithm in the Movielens-1M dataset and Pinterest dataset

猜你喜歡
注意力矩陣協(xié)同
輸入受限下多無人機三維協(xié)同路徑跟蹤控制
家校社協(xié)同育人 共贏美好未來
讓注意力“飛”回來
蜀道難:車與路的協(xié)同進化
如何培養(yǎng)一年級學生的注意力
“四化”協(xié)同才有出路
多項式理論在矩陣求逆中的應(yīng)用
A Beautiful Way Of Looking At Things
矩陣
矩陣
昌宁县| 建瓯市| 玛多县| 惠安县| 云浮市| 宣汉县| 河西区| 吴旗县| 南安市| 香格里拉县| 扎兰屯市| 资兴市| 凉山| 潞城市| 芜湖市| 阜阳市| 兴宁市| 上杭县| 兰考县| 乐至县| 阳朔县| 正安县| 两当县| 小金县| 阳东县| 宝应县| 克东县| 乐业县| 阿拉善左旗| 通辽市| 三亚市| 中超| 苍梧县| 广宗县| 泾阳县| 山阴县| 庆元县| 浦县| 疏勒县| 探索| 应用必备|