• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于雙重注意力機(jī)制的降噪自編碼器推薦算法 ①

      2021-01-12 12:56:40王倩雯張延華付瓊霄
      高技術(shù)通訊 2020年12期
      關(guān)鍵詞:編碼器注意力向量

      王倩雯 張延華 付瓊霄 李 萌 李 慶

      (北京工業(yè)大學(xué)信息學(xué)部信息與通信工程學(xué)院 北京 100124)

      0 引 言

      隨著技術(shù)的不斷發(fā)展,信息量持續(xù)增長,用戶身處信息爆炸化環(huán)境,無法快速尋找所需內(nèi)容。搜索引擎雖然能滿足某些用戶的需求,但并不能學(xué)習(xí)用戶偏好從而主動(dòng)幫助用戶搜尋合適信息[1]。而推薦系統(tǒng)在解決信息過載問題的同時(shí)可完成用戶個(gè)性化推薦。

      推薦系統(tǒng)主要分為三類,即基于內(nèi)容的推薦、基于協(xié)同的推薦和混合推薦[2]。其中基于協(xié)同的推薦[3]可有效利用其他相似用戶的反饋信息并推薦新鮮項(xiàng)目,現(xiàn)已經(jīng)成為應(yīng)用最廣的推薦系統(tǒng)。但基于協(xié)同的推薦算法仍有明顯不足,無法為零歷史用戶和新物品進(jìn)行推薦,這就是推薦系統(tǒng)中常見的冷啟動(dòng)問題[4]。為了緩解這些問題,研究人員通常將內(nèi)容信息融入?yún)f(xié)同算法中進(jìn)行混合推薦。

      近年來深度學(xué)習(xí)因特征提取能力強(qiáng),在多個(gè)領(lǐng)域表現(xiàn)優(yōu)異[5-6]。2007年,在Nexflix Prize推薦大賽上提出將深度學(xué)習(xí)應(yīng)用于推薦系統(tǒng)。此后,基于深度學(xué)習(xí)的推薦系統(tǒng)研究受到國際學(xué)術(shù)界越來越多的關(guān)注,ACM推薦系統(tǒng)年會(huì)于2016年召開第1屆基于深度學(xué)習(xí)的推薦系統(tǒng)研究專題研討會(huì),國內(nèi)外許多研究機(jī)構(gòu)也對(duì)基于深度學(xué)習(xí)的推薦系統(tǒng)開展了廣泛研究。Du等人[7]將隱因子模型與多層感知機(jī)相結(jié)合,提出了一種新的群體推薦策略。利用多層感知機(jī)獲取用戶與項(xiàng)目之間的潛在聯(lián)系,并根據(jù)推薦分?jǐn)?shù)設(shè)計(jì)均衡推薦策略,確保群體用戶的滿意程度,有效提高了群體推薦準(zhǔn)確率。Guo等人[8]結(jié)合因子化機(jī)和深度學(xué)習(xí),提出了一種基于深度網(wǎng)絡(luò)的因子化機(jī)模型進(jìn)行點(diǎn)擊率預(yù)測,該模型無需人工特征處理,省去了繁瑣操作。He和Chua[9]基于因子化模型提出一種神經(jīng)因子化模型,通過進(jìn)行特征之間的高層次非線性交互提高預(yù)測能力,其參數(shù)少、隱層少、訓(xùn)練更加容易。Cui等人[10]則設(shè)計(jì)了一種模型特征交互圖神經(jīng)網(wǎng)絡(luò)模型,可提升對(duì)特征間的復(fù)雜交互預(yù)測精度。進(jìn)行建模自編碼器作為深度學(xué)習(xí)模型中重要的一種結(jié)構(gòu),其學(xué)習(xí)能力已被大家認(rèn)可。最早將自編碼器應(yīng)用于推薦領(lǐng)域的算法為基于自編碼器的協(xié)同過濾算法[11],但它只能解決整數(shù)評(píng)分預(yù)測問題,且增加了評(píng)分矩陣的稀疏程度。

      現(xiàn)有的方法部分已經(jīng)取得了較為滿意的效果,但仍有幾個(gè)因素需要考慮以再度提高算法性能。之前的研究主要依靠單一的用戶評(píng)分學(xué)習(xí)隱藏偏好,忽略了每個(gè)歷史評(píng)分項(xiàng)目對(duì)預(yù)測結(jié)果的影響;將用戶輔助信息直接加入推薦網(wǎng)絡(luò),沒有考慮不同用戶輔助信息的差異,無法充分利用該信息。

      本文針對(duì)上述問題提出了一種基于雙重注意力機(jī)制的降噪自編碼器模型,主要貢獻(xiàn)如下。

      (1) 將用戶與項(xiàng)目輔助信息融入降噪自編碼器模型,擴(kuò)充可利用的數(shù)據(jù)來源,解決冷啟動(dòng)問題。

      (2) 利用注意力機(jī)制從用戶歷史交互項(xiàng)目中學(xué)習(xí)用戶長期偏好以構(gòu)建用戶畫像。

      (3) 再次使用注意力機(jī)制學(xué)習(xí)用戶偏好、用戶輔助信息與隱藏層向量的權(quán)重,訓(xùn)練得到更為準(zhǔn)確的評(píng)分。

      本文在公開數(shù)據(jù)集上進(jìn)行了仿真實(shí)驗(yàn),結(jié)果表明本文方法準(zhǔn)確度更高,證明了注意力機(jī)制的有效性。

      1 相關(guān)工作

      1.1 基于自編碼器的推薦

      在現(xiàn)有基于深度學(xué)習(xí)的研究中,大部分推薦算法是以自編碼器為基礎(chǔ)進(jìn)行的。自編碼器為一種無監(jiān)督自學(xué)習(xí),擁有強(qiáng)大的特征學(xué)習(xí)能力,可以捕捉到用戶-項(xiàng)目間的潛在關(guān)系,這一特點(diǎn)使它深受研究人員歡迎。2015年,Sedhain等人[11]提出基于自編碼器的協(xié)同過濾算法,它將基于用戶或基于項(xiàng)目的評(píng)分作為輸入,預(yù)測完整評(píng)分。這項(xiàng)研究對(duì)兩種輸入模型都進(jìn)行了性能評(píng)估,發(fā)現(xiàn)基于項(xiàng)目的模型表現(xiàn)較好,因項(xiàng)目評(píng)分方差較小。Wu等人[12]在此基礎(chǔ)上提出協(xié)同降噪自編碼器模型,在模型中加入噪聲數(shù)據(jù)與用戶因子,提高了模型魯棒性和推薦準(zhǔn)確度。Chen等人[13]提出邊緣去噪模型,用更少的訓(xùn)練時(shí)間獲得更高的推薦性能。HRCD[14]模型將自編碼器與時(shí)間感知的隱因子模型相結(jié)合,利用堆棧自編碼器學(xué)習(xí)項(xiàng)目特征解決冷啟動(dòng)問題?;谧跃幋a器的混合協(xié)同過濾[15]模型根據(jù)內(nèi)容信息和隱式用戶反饋將自編碼器與矩陣分解模型結(jié)合從而進(jìn)行推薦。在文獻(xiàn)[16]中,利用棧式降噪自編碼器學(xué)習(xí)隱式特征,并在學(xué)習(xí)過程中加入用戶與項(xiàng)目的輔助信息。上述方法僅是簡單的將輔助信息加入模型,未考慮每個(gè)用戶打分行為受各因素的影響程度不同。本文模型則將注意力機(jī)制融入降噪自編碼器模型中,動(dòng)態(tài)學(xué)習(xí)輔助信息與用戶偏好的權(quán)重,更準(zhǔn)確地構(gòu)造最終隱藏層向量,達(dá)到了更佳的預(yù)測效果。

      1.2 注意力機(jī)制

      注意力機(jī)制被廣泛用于自然語言處理以及圖像領(lǐng)域中,用于推薦領(lǐng)域的相關(guān)文章較少,直至2017年Google mind團(tuán)隊(duì)發(fā)表相關(guān)論文,引起了大家對(duì)注意力機(jī)制的廣泛關(guān)注,相關(guān)文章也大量涌現(xiàn)[17]。Xiao等人[18]將注意力機(jī)制引入神經(jīng)因子分解模型,提高了系統(tǒng)解釋性和表示能力。Kang等人[19]提出一種基于注意力機(jī)制的序列預(yù)測模型,從用戶交互中選出少量歷史數(shù)據(jù)即可預(yù)測下一項(xiàng)目。Chen等人[20]利用注意力機(jī)制對(duì)多媒體推薦的隱形反饋進(jìn)行建模。Seo等人[21]提出一種基于雙重注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)用戶偏好。Zhu等人[22]利用注意力機(jī)制學(xué)習(xí)用戶動(dòng)態(tài)特征。Cui等人[23]提出一種節(jié)點(diǎn)圖神經(jīng)網(wǎng)絡(luò)推薦模型,通過注意力機(jī)制學(xué)習(xí)各個(gè)節(jié)點(diǎn)的兼容性得分,從而更準(zhǔn)確地推薦合適項(xiàng)目。這些方法雖然取得了不錯(cuò)的效果,但是僅考慮了用戶交互項(xiàng)目,無法解決冷啟動(dòng)問題。本文不僅利用注意力模型學(xué)習(xí)用戶偏好,還融入了用戶輔助向量,無論用戶是否有歷史數(shù)據(jù),均可實(shí)現(xiàn)準(zhǔn)確推薦。這使得本文算法在保證精度的同時(shí)解決了冷啟動(dòng)問題。

      2 降噪自編碼器推薦算法

      2.1 算法架構(gòu)

      基于雙重注意力機(jī)制的降噪自編碼器是在自編碼推薦算法的基礎(chǔ)上提出的。推薦架構(gòu)如圖1所示。用戶輔助信息、交互信息、歷史評(píng)分作為該模型的輸入,通過多層網(wǎng)絡(luò)學(xué)習(xí)用戶偏好與隱藏層向量,最終補(bǔ)全評(píng)分矩陣。

      因普通降噪自編碼器只利用了評(píng)分信息,忽略了用戶輔助信息的影響,本文利用word2vec和卷積神經(jīng)網(wǎng)絡(luò)模型處理用戶輔助信息。為了得到較準(zhǔn)確的用戶偏好,使用注意力機(jī)制從用戶高分交互項(xiàng)目提取用戶偏好向量。將用戶偏好向量、輔助信息向量與降噪自編碼器的隱藏層向量再次輸入注意力機(jī)制模型,最終獲得更精確的預(yù)測評(píng)分。算法偽代碼如算法1所示。

      圖1 降噪自編碼器架構(gòu)

      算法1 推薦算法 Input: Rating matrix R, user set User, item set Item, rating constant a, user auxiliary information X, item auxiliary information Y. Output: Prediction rating matrix R’. 1: Processing X, Y by word2vec to obtain user and item auxiliary information matrix U, I 2: function History (R, User, Item, I, a) 3: for u in User do 4: for i in Item do 5: if R(u, i)>a then 6: preference.append (I[i]) 7: end if 8: end for 9: end for 10:return preference 11:end function 12: function Encoder attention (R, U, Pf, preference) 13: Repeat 14: compute Pf according to Eqns.(1,2,3,4) 15: compute h1 according to Eqns.(9) 16: compute h? according to Eqns.(10,11,12) 17: compute R’ according to Eqns.(13) 18: for each parameter in Pf,h1, h?, R’do 19: update parameter; 20: end for 21: return R’ 22: end function

      2.2 信息預(yù)處理

      用戶評(píng)分受到諸多因素的影響,例如用戶年齡、性別、地區(qū)以及電影名稱、類別等,因此輔助信息在算法中顯得尤為重要。為了獲得用戶與項(xiàng)目的輔助信息向量,需要對(duì)文本信息進(jìn)行處理。用戶與項(xiàng)目輔助信息如表1和表2所示。

      表1 用戶信息

      表2 電影信息

      將以上輔助文本信息均利用word2vec方法轉(zhuǎn)化為向量,但電影標(biāo)題需先除去無關(guān)信息,如年份。并將處理后的電影標(biāo)題矩陣輸入卷積神經(jīng)網(wǎng)絡(luò),提取標(biāo)題特征向量。若一個(gè)電影有多個(gè)類型向量則將類型向量相加獲得最終類型向量表示。用戶年齡、性別、職位等數(shù)字信息則轉(zhuǎn)化為相應(yīng)個(gè)數(shù)的向量,如年齡共分為7類,轉(zhuǎn)化為7個(gè)a維向量。將處理后的用戶與項(xiàng)目的多個(gè)輔助信息向量分別輸入全連接層獲得最終用戶與項(xiàng)目輔助向量,由U和I表示,過程如圖2所示。圖2(a)為用戶信息處理流程圖,圖2(b)為項(xiàng)目信息處理流程圖。

      (a) 用戶信息處理流程圖

      圖3 基于注意力機(jī)制的用戶偏好模型圖

      2.3 獲取用戶偏好

      為了獲取準(zhǔn)確的用戶偏好,利用注意力機(jī)制處理用戶交互項(xiàng)目,如圖3所示。根據(jù)用戶歷史評(píng)分挑選出用戶偏愛的n個(gè)項(xiàng)目,將項(xiàng)目矩陣輸入注意力機(jī)制模型中,首先將項(xiàng)目矩陣經(jīng)過激活函數(shù)處理,計(jì)算注意力系數(shù)并進(jìn)行歸一化處理,將得到的注意力系數(shù)與對(duì)應(yīng)項(xiàng)目向量相乘,最終將獲得不同注意力的項(xiàng)目向量相加得到用戶偏好矩陣。公式如下:

      (1)

      (2)

      (3)

      (4)

      2.4 基于注意力機(jī)制的降噪自編碼器

      2.4.1 自編碼器

      自動(dòng)編碼器(autoencoder,AE)采用前饋神經(jīng)網(wǎng)絡(luò)算法,由編碼器和解碼器兩部分組成,包括輸入層、隱藏層和輸出層。自動(dòng)編碼器擁有3層全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),輸入層將n維輸入向量x通過編碼函數(shù)fθ映射到隱藏層h,具體計(jì)算過程如式(5)所示:

      h=fθ(x)=s(Wx+b)

      (5)

      其中,W為輸入層到隱藏層的權(quán)重,b為隱藏層神經(jīng)元的偏置,s為sigmoid激活函數(shù)。

      輸出層則將h反向變換,得到原始輸入x的重構(gòu)y,如式(6)所示:

      y=gθ(h)=s(W′h+b′)

      (6)

      其中,W′和b′為輸出層的權(quán)重與偏置。通過不斷地調(diào)整各層參數(shù),可得到最小重構(gòu)誤差J,即輸入輸出盡可能接近。

      J=∑x∈DL(x,y)

      (7)

      其中,D為輸入的向量合集,L為重構(gòu)誤差函數(shù)。

      2.4.2 加入注意力機(jī)制

      如圖4所示,將用戶評(píng)分Ru加入高斯噪聲后輸入編碼器得到隱藏層h1,將其與用戶輔助向量I、用戶最終偏好向量Pf輸入注意力機(jī)制,計(jì)算其注意力系數(shù)并將數(shù)值映射到[0,1]區(qū)間內(nèi),將處理后的注意力系數(shù)與對(duì)應(yīng)向量相乘,并將獲得不同注意力系數(shù)的向量相加得到新的隱藏層向量h*,輸入解碼器獲得完整預(yù)測評(píng)分R,公式如下:

      (8)

      (9)

      (10)

      Am=softmax(MWAm)

      (11)

      h*=Am·M

      (12)

      R=f(W*h*+b*)

      (13)

      圖4 融入注意力機(jī)制的隱藏層模型

      3 實(shí)驗(yàn)數(shù)據(jù)

      3.1 數(shù)據(jù)集

      實(shí)驗(yàn)使用的數(shù)據(jù)集為movielens,來源于movielens電影視頻網(wǎng)站上用戶對(duì)電影的評(píng)分,由grouplens小組整理得來,被廣泛用于測試推薦算法的性能中。具體情況如表3,共有近10萬條評(píng)分信息。

      表3 數(shù)據(jù)集信息

      3.2 評(píng)價(jià)標(biāo)準(zhǔn)

      推薦算法性能的重要度量標(biāo)準(zhǔn)是評(píng)分預(yù)測準(zhǔn)確度。平均絕對(duì)誤差(MAE)和均方根誤差(RMSE)兩個(gè)標(biāo)準(zhǔn)都是用于觀察預(yù)測評(píng)分與真實(shí)評(píng)分的偏離程度,數(shù)值越小表明算法性能越好。定義如下:

      (14)

      (15)

      其中,N為預(yù)測的評(píng)分?jǐn)?shù)量,r*為算法評(píng)分預(yù)測值,r為用戶實(shí)際評(píng)分值。為了使算法性能對(duì)比更全面,本文同時(shí)記錄了MAE與RMSE。

      3.3 實(shí)驗(yàn)環(huán)境

      本文實(shí)驗(yàn)均在處理器為Intel(R) Core(TM) i3-4170 CPU @3.70 GHz,內(nèi)存為4 GB,操作系統(tǒng)為Ubuntu 17.10的臺(tái)式計(jì)算機(jī)上進(jìn)行,編程語言為python。

      3.4 實(shí)驗(yàn)設(shè)計(jì)

      在數(shù)據(jù)集上隨機(jī)抽取80%作為訓(xùn)練集,剩余數(shù)據(jù)作為測試集,觀察調(diào)整隱藏層節(jié)點(diǎn)數(shù)、學(xué)習(xí)率、batch size、誤差優(yōu)化方法等參數(shù)下的算法性能,結(jié)果如圖5和圖6所示。隱藏層節(jié)點(diǎn)過少時(shí),網(wǎng)絡(luò)訓(xùn)練性能過差,但節(jié)點(diǎn)過多時(shí),網(wǎng)絡(luò)訓(xùn)練時(shí)間延長,且容易陷入局部極小點(diǎn)。學(xué)習(xí)率是模型較為重要的參數(shù),過小時(shí)學(xué)習(xí)速率太低,收斂速度慢,學(xué)習(xí)率過大則會(huì)導(dǎo)致模型無法收斂,因此本文測試了學(xué)習(xí)率在0.1~0.00001范圍內(nèi)的模型性能來判斷最佳學(xué)習(xí)率。batch size數(shù)值過小時(shí)花費(fèi)時(shí)間長,震蕩范圍大,反之易陷入局部最小值。而不同的優(yōu)化算法對(duì)性能也有著較大影響,因此本文采用了常用的幾種優(yōu)化算法進(jìn)行測試。從下圖可以看出隱藏層為600,學(xué)習(xí)率為0.001,批樣本數(shù)為100,優(yōu)化算法為Adam時(shí),算法性能最優(yōu)。

      圖5 不同參數(shù)對(duì)RMSE的影響

      圖6 不同參數(shù)對(duì)MAE的影響

      同樣隨機(jī)抽取20%的數(shù)據(jù)作為測試集,使用Autorec-U、Autorec-I、NRR、LSTM-A作對(duì)照方法,并根據(jù)參考文獻(xiàn)分別設(shè)定各個(gè)算法的最優(yōu)參數(shù),進(jìn)行對(duì)照實(shí)驗(yàn),如圖7和圖8所示。Autorec-U是用戶端的自動(dòng)編碼器算法,將用戶評(píng)分集合輸入自動(dòng)編碼器以補(bǔ)全用戶評(píng)分矩陣從而進(jìn)行推薦。Autorec-I為項(xiàng)目端的自動(dòng)編碼器算法,將項(xiàng)目評(píng)分集合輸入自動(dòng)編碼器以補(bǔ)全項(xiàng)目評(píng)分矩陣從而進(jìn)行推薦。NRR是基于門控遞歸神經(jīng)網(wǎng)絡(luò)的推薦算法,通過提取用戶與項(xiàng)目的特征進(jìn)行評(píng)分預(yù)測。LSTM-A是融合注意力LSTM的協(xié)同過濾推薦算法,用自編碼器與長短期記憶網(wǎng)絡(luò)提取用戶與項(xiàng)目特征,融入概率矩陣分解模型中預(yù)測評(píng)分。

      圖7 不同算法RMSE對(duì)比圖

      圖8 不同算法MAE對(duì)比圖

      從圖7和圖8可以看出,無論是RMSE還是MAE,本文算法均優(yōu)于其他算法。

      4 結(jié) 論

      傳統(tǒng)推薦方法精度較低,忽略了用戶對(duì)不同項(xiàng)目的偏好差異,針對(duì)這些問題,本文提出了基于雙重注意力機(jī)制的降噪自編碼器推薦算法。利用雙重注意力機(jī)制獲得用戶潛在的項(xiàng)目偏好與用戶輔助信息、評(píng)分隱藏層、用戶偏好對(duì)評(píng)分的不同影響,最終獲得更準(zhǔn)確的評(píng)分矩陣。為了測試本文方法的推薦性能,通過實(shí)驗(yàn)演示了方法本身的調(diào)優(yōu)過程,并從預(yù)測準(zhǔn)確度方面同其他方法進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果顯示,本文方法在預(yù)測精度方面優(yōu)于其他方法。未來可考慮增加其他因素,例如調(diào)整用戶近期評(píng)分權(quán)重可能會(huì)進(jìn)一步增加評(píng)分精度。

      猜你喜歡
      編碼器注意力向量
      向量的分解
      讓注意力“飛”回來
      聚焦“向量與三角”創(chuàng)新題
      基于FPGA的同步機(jī)軸角編碼器
      “揚(yáng)眼”APP:讓注意力“變現(xiàn)”
      基于PRBS檢測的8B/IOB編碼器設(shè)計(jì)
      A Beautiful Way Of Looking At Things
      向量垂直在解析幾何中的應(yīng)用
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:42:24
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      宜丰县| 怀集县| 静海县| 宁明县| 长丰县| 宣汉县| 蓝山县| 彩票| 廊坊市| 平塘县| 舞钢市| 信阳市| 玉田县| 镇安县| 成武县| 札达县| 将乐县| 泾川县| 邮箱| 崇明县| 沅江市| 乌什县| 上犹县| 冕宁县| 塘沽区| 邵武市| 陆良县| 藁城市| 遂平县| 纳雍县| 北安市| 连云港市| 县级市| 宜良县| 嘉义市| 巍山| 朝阳县| 如东县| 芦溪县| 汉川市| 南昌县|