于 蒙,蔡利平,周緒川,戴涵宇
(西南民族大學(xué)計(jì)算機(jī)系統(tǒng)國(guó)家民委重點(diǎn)實(shí)驗(yàn)室,四川 成都 610041)
近年來(lái),網(wǎng)絡(luò)應(yīng)用尤其是移動(dòng)應(yīng)用的快速發(fā)展[1],使得人們能夠方便地瀏覽大量的網(wǎng)絡(luò)信息資源,如何為用戶從海量的信息資源中推薦符合其需求的資源(如商品、電影、書(shū)籍等)成了目前研究者們關(guān)注的問(wèn)題之一,推薦系統(tǒng)可以有效地對(duì)信息進(jìn)行過(guò)濾和篩選,幫助用戶以個(gè)性化的方式來(lái)檢索符合其需求的信息資源,緩解信息過(guò)載(Information overload)[2]的問(wèn)題.推薦技術(shù)經(jīng)過(guò)不斷的發(fā)展和更新,已在電影、音樂(lè)、電子商務(wù)、社交網(wǎng)絡(luò)等領(lǐng)域廣泛應(yīng)用.協(xié)同過(guò)濾算法(Collaborative filtering,CF)被提出后,推薦系統(tǒng)逐漸成為一個(gè)新的研究熱點(diǎn),同時(shí)也面臨著數(shù)據(jù)稀疏問(wèn)題(用戶對(duì)推薦項(xiàng)目的評(píng)分?jǐn)?shù)量太少)和冷啟動(dòng)問(wèn)題(新的推薦項(xiàng)目和新用戶無(wú)評(píng)分?jǐn)?shù)據(jù)).
深度學(xué)習(xí)(Deep learning,DL)是具備識(shí)別、分析、計(jì)算的機(jī)器學(xué)習(xí)算法,為緩解數(shù)據(jù)稀疏和冷啟動(dòng)問(wèn)題帶來(lái)了新的機(jī)遇,2015年以來(lái),該算法已經(jīng)在語(yǔ)義挖掘、人臉識(shí)別、語(yǔ)音識(shí)別等領(lǐng)域廣泛應(yīng)用,深度學(xué)習(xí)模型的逐漸成熟為推薦系統(tǒng)的發(fā)展帶來(lái)了新的機(jī)遇.2016年,ACM推薦系統(tǒng)年會(huì)上Song等人[3]指出將深度學(xué)習(xí)和推薦系統(tǒng)融合作為推薦系統(tǒng)未來(lái)研究的重點(diǎn),國(guó)內(nèi)外的學(xué)者們和研究機(jī)構(gòu)針對(duì)這一研究熱點(diǎn)展開(kāi)了深刻探討.2017年以來(lái)機(jī)器學(xué)習(xí)方向的頂級(jí)會(huì)議(如:ICML、NIPS、COLT等)中有關(guān)深度學(xué)習(xí)的個(gè)性化推薦的相關(guān)文章逐年增加.2019年,文獻(xiàn)[4]的研究認(rèn)為深度學(xué)習(xí)能夠從數(shù)據(jù)中自動(dòng)學(xué)習(xí)特征的不同層次表達(dá)和抽象,是解決傳統(tǒng)推薦技術(shù)出現(xiàn)的冷啟動(dòng)、數(shù)據(jù)稀疏等問(wèn)題的有效策略.利用注意力機(jī)制針對(duì)電影海報(bào)信息進(jìn)行提取,提出了一種結(jié)合多源信息的深度推薦模型.在最后進(jìn)行了實(shí)驗(yàn)設(shè)計(jì)與分析,證明該推薦模型在推薦效果方面的優(yōu)越性和有效性.
目前研究大部分研究都更關(guān)注在電影預(yù)告片[5]或情節(jié)概要[6]的分類(lèi)上,電影海報(bào)是體現(xiàn)電影內(nèi)容和感情色彩的重要形式,往往通過(guò)海報(bào)中局部的某個(gè)細(xì)節(jié)信息就能判斷出電影的可能類(lèi)型,電影海報(bào)能直接影響到用戶對(duì)電影的第一印象.因此,對(duì)電影海報(bào)信息特征提取的程度決定了推薦效果.文獻(xiàn)[7]采用RAKEL集成的方法,使用Naive-Bayes、C4.5決策樹(shù)和k近鄰作為分類(lèi)器,并使用Dominant Colors、GIST和Classemes方法從電影海報(bào)中提取用于分類(lèi)的低層特征.在之后研究中,Ivasic-Kos等人[8]從海報(bào)中提取了顏色、邊緣和紋理等特征,并且還把海報(bào)中的人臉數(shù)量也被用作分類(lèi)的額外特征.此外,利用向量空間模型[9]提取了摘要的文本特征,其中使用的支持向量機(jī)(support vector machine,SVM)是根據(jù)海報(bào)和概要的特點(diǎn)進(jìn)行的分類(lèi),但是此研究中類(lèi)別的數(shù)量?jī)H有4個(gè),沒(méi)有進(jìn)行多標(biāo)簽分類(lèi).這種方法具有比神經(jīng)網(wǎng)絡(luò)計(jì)算簡(jiǎn)單、訓(xùn)練容易的優(yōu)點(diǎn),但僅限于對(duì)低層特征顏色進(jìn)行評(píng)估,并不能真正反映出海報(bào)中的高層特征.為了解決此類(lèi)問(wèn)題,一些研究開(kāi)始采用深度學(xué)習(xí)模型對(duì)海報(bào)中的更深層次的特征進(jìn)行提取.對(duì)于電影海報(bào)的處理,大部分研究是對(duì)VGG、ResNet模型調(diào)參再輸出分類(lèi)結(jié)果,判斷預(yù)測(cè)準(zhǔn)確度.在國(guó)外研究中,Barney等人[10]測(cè)試了幾種分類(lèi)方法,包括k-近鄰、一個(gè)改進(jìn)的ResNet-34 CNN和一個(gè)具有自定義架構(gòu)的CNN.盡管他們的評(píng)估范圍很廣,但用于訓(xùn)練他們的神經(jīng)網(wǎng)絡(luò)的損失函數(shù)不能補(bǔ)償其他電影類(lèi)別中海報(bào)數(shù)量不足情況,這可能會(huì)導(dǎo)致他們的預(yù)測(cè)錯(cuò)誤.Chu等人[11]設(shè)計(jì)了一個(gè)復(fù)雜的結(jié)構(gòu),將CNN和一個(gè)YOLO對(duì)象識(shí)別器結(jié)合起來(lái)進(jìn)行分類(lèi).盡管這是一個(gè)多標(biāo)記分類(lèi)問(wèn)題,但它們模型中的最終全連接層的輸出是通過(guò)softmax函數(shù)激活的.為了在之后能夠獲得多標(biāo)簽輸出,輸出向量中的每個(gè)標(biāo)簽被賦予不同的閾值,并且每個(gè)類(lèi)別的閾值通過(guò)一個(gè)單獨(dú)的算法來(lái)選擇,使得訓(xùn)練過(guò)程中輸出的預(yù)測(cè)向量與真實(shí)值向量之間的距離最小,這種設(shè)計(jì)可能導(dǎo)致性能下降,因此,在電影海報(bào)處理過(guò)程中,仍存在一些問(wèn)題導(dǎo)致分類(lèi)效果不佳和提取出的特征向量語(yǔ)義不豐富的問(wèn)題.
本文提出了融入混合注意力機(jī)制的殘差網(wǎng)絡(luò)模型(ARN)對(duì)電影海報(bào)特征進(jìn)行學(xué)習(xí),其不僅對(duì)Res-Net50進(jìn)行改進(jìn),并且設(shè)計(jì)高效的注意力模塊,設(shè)計(jì)的ARN有兩個(gè)用途,第一是通過(guò)針對(duì)一部電影對(duì)應(yīng)多個(gè)電影類(lèi)型的多標(biāo)簽情況,以電影海報(bào)分類(lèi)準(zhǔn)確率的提升來(lái)證明ARN在電影海報(bào)處理方面具有更好的效果,能夠提取到帶有更豐富含義的特征向量;第二是通過(guò)去掉ARN模型的全連接層中的最后一層,將提取出來(lái)的海報(bào)的特征向量融入推薦模型中,能夠?yàn)橥扑]算法提供更多的初始信息,達(dá)到進(jìn)一步提高推薦算法的準(zhǔn)確度的目的.
近年來(lái),注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)能夠去自動(dòng)關(guān)注圖像中重要的區(qū)域,給其分配更大的權(quán)重,因此,注意力機(jī)制在圖像識(shí)別任務(wù)中廣泛使用.在2017年,Momenta團(tuán)隊(duì)提出的SENet注意力模塊[12],此模塊能夠與多種神經(jīng)網(wǎng)絡(luò)結(jié)合,在ILSVRC競(jìng)賽中取得了圖像識(shí)別任務(wù)的冠軍.該模型主要是能夠自動(dòng)地學(xué)習(xí)到在通道域上的特征信息,通過(guò)對(duì)不同重要程度的通道分配不同的權(quán)重,去增強(qiáng)對(duì)提升識(shí)別效果有用的部分.1.2 ResNet隨著深度網(wǎng)絡(luò)的發(fā)展,人們想通過(guò)增加網(wǎng)絡(luò)模型的深度去提高訓(xùn)練的效果,但人們發(fā)現(xiàn),隨著深度的增加,深度神經(jīng)網(wǎng)絡(luò)很難訓(xùn)練,甚至準(zhǔn)確性還開(kāi)始下降.那么為了解決這一問(wèn)題,ResNet[13]應(yīng)運(yùn)而生.在ILSVRC 2015和COCO 2015的比賽中,ResNet都以很大的優(yōu)勢(shì)獲勝.ResNet主要特點(diǎn)在于殘差網(wǎng)絡(luò)結(jié)構(gòu)的引用,殘差塊能夠?qū)W習(xí)真實(shí)輸出的殘差.
目前對(duì)電影海報(bào)特征處理的方式從傳統(tǒng)的基于像素灰度的算法轉(zhuǎn)變?yōu)榱嘶谏疃染W(wǎng)絡(luò)模型進(jìn)行特征提取和分類(lèi)的方式.然而,對(duì)電影海報(bào)特征提取的深度模型普遍存在以下問(wèn)題:深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練特征的過(guò)程僅僅是將海報(bào)輸入到卷積層中通過(guò)映射的方式再逐一傳遞到下一層中,忽略了訓(xùn)練過(guò)程中對(duì)權(quán)重高的局部區(qū)域的關(guān)注,導(dǎo)致最終提取出來(lái)特征缺乏精細(xì)化的表示能力,進(jìn)而影響提取出來(lái)的海報(bào)特征.本文重點(diǎn)是解決當(dāng)前電影海報(bào)特征提取過(guò)程中如何著重關(guān)注到帶有更豐富的含義且權(quán)重較高的局部區(qū)域.
注意力模塊主要目的是增強(qiáng)電影海報(bào)影響力大的區(qū)域權(quán)重,從而大大增強(qiáng)神經(jīng)網(wǎng)絡(luò)對(duì)于局部重點(diǎn)區(qū)域的判別,提高海報(bào)分類(lèi)和特征提取的性能.其主要流程是將卷積神經(jīng)網(wǎng)絡(luò)中的各層中提取出來(lái)的海報(bào)特征圖作為原始特征圖,然后在不同維度方向上學(xué)習(xí)出針對(duì)海報(bào)不同區(qū)域的不同的權(quán)重值,將這些學(xué)習(xí)到的權(quán)重值與原始特征圖融合后,替代原始的特征圖,進(jìn)而得到表征性更強(qiáng)的特征,分為2個(gè)模塊:通道注意力模塊和空間注意力模塊.
通道注意力模塊的設(shè)計(jì)主要是以SENet模塊為基礎(chǔ)搭建的.首先在此定義從卷積層中的某層提取出來(lái)的海報(bào)原始特征圖為.其中W×H表示特征圖F在空間維度上的大小,C表示特征圖F在通道域上的維度.對(duì)在SENet通道注意力模塊的基礎(chǔ)上進(jìn)行改進(jìn),選擇一種性能更高效的通道注意力模塊,其模塊的結(jié)構(gòu)圖如圖1所示:
由圖1可知,在該通道注意力模塊首先采用多尺度池化的方式,分別使用平均池化和最大池化的方式,將原始特征圖F在空間維度上降維為兩個(gè)大小為1×1×C的和其中FA是平局池化的到的特征圖,F(xiàn)M是全局池化得到的特征圖.這里采用兩路池化的方式,相比SE模塊是為了能夠在空間維度上提取到帶有更多信息的特征圖.然后分別把這兩個(gè)池化的結(jié)果輸入到兩個(gè)1×1的卷積層f和f′中,去學(xué)得共享卷積層后的重新分配的權(quán)重后得到的特征和.最后將X1和X2對(duì)應(yīng)元素加和并通過(guò)sigmoid函數(shù)合并后映射,生成該通道注意力模塊在空間域上的注意力權(quán)重,再將其與原始特征圖F按照點(diǎn)乘的方式得到新的注意力特征圖F,去替換原始特征圖F
設(shè)計(jì)的空間注意力模塊的過(guò)程如下,如圖2所示:
圖2 改進(jìn)的空間注意力模塊Fig.2 Modified spatial attention module
1)采用多尺度池化的方式,分別使用平均池化和最大池化的方式,將原始特征圖G∈RW*H*C在通道維度降維,得到兩個(gè)大小為H*W*1的GA∈RH*W*1和GM∈RH*W*1.
2)將GA和GM并行處理.其中,GA沿著通道維度方向進(jìn)行求和得到特征圖As1∈RH*W*1,GM將兩個(gè)池化結(jié)果沿著通道維度方向進(jìn)行連接操作(concatenation)拼接得到特征圖As2∈RH*W*1,并通過(guò)concatenation的方式沿著通道維度將As1和As2組合得到As3∈RH*W*1.
3)使用一個(gè)7×7的卷積核f對(duì)As3卷積,將維度壓縮為H*W*1,并通過(guò)Sigmoid函數(shù)激活,生成該空間注意力模塊在通道域上的注意力權(quán)重As∈RH*W*1,再將其與原始特征圖G按照點(diǎn)乘的方式得到新的注意力特征圖Gs∈RH*W*C,去替換原始特征圖G.
4)由于Gs是在G的基礎(chǔ)上,在空間域上學(xué)習(xí)過(guò)權(quán)重分配得到的,那么用Gs來(lái)替換G能夠加強(qiáng)在空間域上對(duì)海報(bào)的關(guān)鍵局部特征的識(shí)別能力.對(duì)空間域上注意力模塊的添加注意力機(jī)制,其模塊結(jié)構(gòu)如圖3所示:
圖3 混合注意力模塊Fig.3 Hybrid attention module
將上述兩個(gè)改進(jìn)后的注意力模塊串聯(lián)起來(lái)得到 一個(gè)混合注意力模塊,該模塊能同時(shí)從通道維度和空間維度上學(xué)習(xí)到整體的特征權(quán)重,進(jìn)一步提升對(duì)海報(bào)的關(guān)鍵局部特征的識(shí)別能力.其混合注意力模塊結(jié)構(gòu)如圖4所示.
圖4 ARN網(wǎng)絡(luò)模型Fig.4 ARN network modle
由上圖可以看出,混合注意力模塊首先將原始特征圖F輸入到改進(jìn)的通道注意力模塊中得到通道注意力特征圖FC,再將FC輸入到改進(jìn)的空間注意力模塊得到空間注意力特征圖FS,同時(shí)這個(gè)FS就是該混合模型最終想要的兼顧通道維度和空間維度的注意力特征圖.
將上文設(shè)計(jì)的混合注意力模型與ResNet50結(jié)合,設(shè)計(jì)了ARN網(wǎng)絡(luò)模型,主要是用來(lái)證明ARN在電影海報(bào)處理方面與傳統(tǒng)的海報(bào)處理方法相比具有更好的效果.
ARN模型首先將預(yù)處理好的海報(bào)送入網(wǎng)絡(luò)中,從各卷積層中提取出特征圖,將其送入混合注意力模塊分別學(xué)習(xí)中通道域和空間域中帶注意力的特征圖,之后再通過(guò)將其按照多標(biāo)簽分類(lèi)的策略,輸入到改進(jìn)后的全連接層中,用sigmoid函數(shù)去獨(dú)立預(yù)測(cè)每個(gè)類(lèi)別的概率.ARN網(wǎng)絡(luò)模型結(jié)構(gòu)如圖5所示,模型首先對(duì)電影海報(bào)數(shù)據(jù)進(jìn)行處理;接著針對(duì)電影海報(bào)局部細(xì)節(jié)特點(diǎn),將混合注意力機(jī)制模塊融入改進(jìn)后的Res-Net50網(wǎng)絡(luò)模型中,讓其能夠在重要的局部信息處分配更大的學(xué)習(xí)權(quán)重;最后針對(duì)電影海報(bào)的多標(biāo)簽分類(lèi)任務(wù)設(shè)計(jì)分類(lèi)器和損失函數(shù),達(dá)到分類(lèi)效果,提高預(yù)測(cè)電影類(lèi)型的準(zhǔn)確率.
圖5 NeuralCF模型Fig.5 NeuralCF Model
ARN模型結(jié)構(gòu)主要是由混合注意力模塊和Res-Net50組成,并將混合注意力模塊嵌入到ResNet中的每一個(gè)殘差塊中.為了去控制網(wǎng)絡(luò)的輸出,就需要利用損失函數(shù)的作用,用預(yù)測(cè)值與輸出值計(jì)算出來(lái)的損失值大小去判斷模型性能的好壞.針對(duì)電影海報(bào)多標(biāo)簽分類(lèi)任務(wù),由于本文選用的多標(biāo)簽分類(lèi)方法是Binary Relevance,因此將ResNet50模型使用的softmax層改為sigmoid層,并將損失函數(shù)從交叉損失熵改為二分類(lèi)交叉熵(binary cross-entropy)作為訓(xùn)練過(guò)程的損失函數(shù),其過(guò)程先單獨(dú)計(jì)算每個(gè)電影類(lèi)型的損失值,再根據(jù)每一種類(lèi)型計(jì)算出來(lái)的損失值加和求平均,其損失函數(shù)表示如下.
經(jīng)過(guò)通道注意力模塊能夠得到通道注意力特征圖Fc,再經(jīng)過(guò)空間注意力模塊能夠得到空間注意力特征圖Gs,此時(shí)的特征圖也是混合注意力特征圖.接下來(lái)再通過(guò)與殘差塊的直接映射部分對(duì)應(yīng)元素相加(addition)操作得到,通過(guò)ReLu激活函數(shù),就能夠得到此殘差塊的輸出值為:
繼續(xù)在ARN上反復(fù)地做這樣的操作,最終將對(duì)于ARN網(wǎng)絡(luò)提取出的電影海報(bào)特征可以表示為:
其中XL表示最終提取到的海報(bào)特征向量,L表示融入混合注意力模塊的殘差塊的累加次數(shù),Wi表示每個(gè)殘差模塊的權(quán)重矩陣.
本節(jié)設(shè)計(jì)的結(jié)合多源信息的深度推薦模型,主要將深度學(xué)習(xí)技術(shù)中學(xué)習(xí)和提取特征的能力結(jié)合到推薦模型中,針對(duì)不同類(lèi)型的用戶、電影數(shù)據(jù)信息采用專(zhuān)門(mén)的網(wǎng)絡(luò)模型將低緯稀疏的特征轉(zhuǎn)變?yōu)楦呔S稠密的特征,再將提取出來(lái)的用戶、電影特征向量采用非線性的手段去得到它們的交互信息,實(shí)現(xiàn)更準(zhǔn)確的預(yù)測(cè).最后再利用神經(jīng)同過(guò)濾模型NeuralCF的思想,將用戶特征向量和電影特征向量通過(guò)MLP的方式,去解決僅僅使用矩陣分解中的簡(jiǎn)單的內(nèi)積操作導(dǎo)致學(xué)習(xí)性能不足的問(wèn)題,達(dá)到理想的推薦效果.
在本節(jié)設(shè)計(jì)的結(jié)合多源信息的深度推薦模型使用來(lái)進(jìn)行評(píng)分預(yù)測(cè)任務(wù),因此利用逐點(diǎn)損失,使得預(yù)測(cè)出來(lái)評(píng)分值與真實(shí)評(píng)分值誤差最小,選用的損失函數(shù)的目標(biāo)公式如(6):
最后通過(guò)反向傳播算法,使U或者V固定,交替更新變量,就能夠求解到Loss的局部最優(yōu).結(jié)合多源信息的深度推薦模型的描述為:
算法1 結(jié)合多源信息的深度推薦模型Input:用戶信息、電影信息Output:推薦模型的預(yù)測(cè)值images/BZ_87_724_1487_768_1539.png1初始化W、b;提取用戶屬性信息images/BZ_87_879_1547_914_1594.png、電影屬性信息images/BZ_87_230_1602_264_1650.png;通過(guò)ARN訓(xùn)練電影海報(bào)信息XL;2通過(guò)結(jié)合多源信息的深度推薦模型將電影屬性信息images/BZ_87_230_1703_264_1751.png直接映射為用戶特征向量U,再將U、V通過(guò)MLP進(jìn)行特征融合得到預(yù)測(cè)值.3通過(guò)公式(6)計(jì)算損失函數(shù).5重復(fù)步驟3、4,直到算法收斂.6輸出推薦模型的預(yù)測(cè)值images/BZ_87_708_1896_749_1945.png.
本文使用均方誤差RMSE作為評(píng)判推薦模型指標(biāo)的好壞,判斷推薦模型的評(píng)分的擬合能力,RMSE值越小表示預(yù)測(cè)值和真實(shí)值之間偏差越小即模型的推薦效果越好,其公式如(22)所示,其中表示模型中用戶i對(duì)電影j的預(yù)測(cè)評(píng)分,ri,j表示用戶i對(duì)電影j的真實(shí)評(píng)分,N表示測(cè)試集中所有用戶i對(duì)電影j已評(píng)過(guò)分的集合:
4.2.1 數(shù)據(jù)集
本文首先對(duì)各種能夠獲取電影海報(bào)的網(wǎng)站進(jìn)行了瀏覽,國(guó)內(nèi)的各種視頻網(wǎng)站中海報(bào)大小各有不同,國(guó)外的IMDB提供的電影海報(bào)的大小為182×268像素,雖然各種網(wǎng)站海報(bào)的像素大小有一定的區(qū)別,但是這不影響對(duì)于海報(bào)的使用,但由于國(guó)內(nèi)的一些視頻網(wǎng)站中的一些電影存在版權(quán)問(wèn)題,若使用來(lái)自多個(gè)網(wǎng)站上的不同海報(bào)數(shù)據(jù),則會(huì)存在因數(shù)據(jù)格式不同而導(dǎo)致海報(bào)不方便處理的問(wèn)題.因此本文使用的是IMDB資料庫(kù)提供的電影海報(bào)圖像.本實(shí)驗(yàn)中使用了kaggle上公開(kāi)的IMDB的數(shù)據(jù)集,其中部分?jǐn)?shù)據(jù)如圖6所示,其中包括了IMDB ID,標(biāo)題,類(lèi)別以及下載電影海報(bào)的鏈接等.
圖6 IMDB部分?jǐn)?shù)據(jù)格式Fig.6 IMDB partial data format
電影海報(bào)數(shù)據(jù)是按照MovieLens數(shù)據(jù)集中的電影數(shù)據(jù)通過(guò)爬蟲(chóng)工具收集到與電影對(duì)應(yīng)的海報(bào)信息,數(shù)據(jù)集中的links.csv中有IMDB網(wǎng)站中海報(bào)的下載鏈接和標(biāo)識(shí)符.其中movieId是對(duì)應(yīng)每個(gè)電影的標(biāo)簽號(hào),imdbId即為每部電影所在的鏈接地址.例如:電影標(biāo)簽號(hào)為1的電影是,則海報(bào)所在頁(yè)面的鏈接地址為http://www.imdb.com/title/tt0114709/.為了對(duì)爬取的海報(bào)進(jìn)行訓(xùn)練,需要對(duì)爬取的海報(bào)進(jìn)行處理,使之能夠與其對(duì)應(yīng)的MovieID相匹配,對(duì)電影海報(bào)進(jìn)行重命名.如圖7所示.
圖7 電影海報(bào)數(shù)據(jù)Fig.7 Movie poster data
同時(shí),由于電影海報(bào)的多標(biāo)簽的特性,在這里采用Binary-Relevance分類(lèi)的方式,利用獨(dú)熱編碼將多分類(lèi)標(biāo)簽轉(zhuǎn)化為二進(jìn)制值的向量.將一個(gè)電影多標(biāo)簽分類(lèi)問(wèn)題轉(zhuǎn)化成m個(gè)二元分類(lèi).若電影屬于某一類(lèi)別,則值為1,否則為0,最后再針對(duì)每一列電影類(lèi)別分別進(jìn)行訓(xùn)練,提取對(duì)應(yīng)特征向量.處理后的數(shù)據(jù)如圖8所示.
圖8 Binary Relevance分類(lèi)的部分結(jié)果Fig.8 Some results of Binary Relevance classification
4.2.2 環(huán)境配置
實(shí)驗(yàn)是在編程環(huán)境為python3.5實(shí)現(xiàn)的推薦模型效果,深度學(xué)習(xí)計(jì)算框架為T(mén)ensorFlow 1.3,系統(tǒng)為64位Windows10,具體的實(shí)驗(yàn)環(huán)境如表1所示:
表1 具體實(shí)驗(yàn)環(huán)境Table 1 Specific experimental environment
為了驗(yàn)證結(jié)合多源信息的深度推薦模型的預(yù)測(cè)的準(zhǔn)確性,本節(jié)選取以下中模型作為基線模型進(jìn)行對(duì)比實(shí)驗(yàn).
1)MLP:此模型是NeuralCF模型中的一種形式,它采用了多層神經(jīng)網(wǎng)絡(luò)的形式,去替代用戶、項(xiàng)目特征向量之前通過(guò)簡(jiǎn)單內(nèi)積的組合方式,實(shí)驗(yàn)證明了MLP在數(shù)據(jù)集上表現(xiàn)出來(lái)的比較好的推薦效果.
2)CDL:此模型是協(xié)同深度學(xué)習(xí)模型,其特點(diǎn)在于能夠提取文本信息中深層含義,將概率分解模型與深度模型結(jié)合起來(lái),能夠起到很好的推薦效果.
3)ConvMF:此模型被稱(chēng)作卷積矩陣因子分解模型,其模型在推薦效果中能夠起到比較好的效果.其特點(diǎn)是將用來(lái)提取文本特征的CNN[14]用概率的思想融入到了PMF中,很好地處理了因?yàn)槲谋鞠∈瓒鴮?dǎo)致的預(yù)測(cè)效果欠佳的問(wèn)題.
為了驗(yàn)證融入多源信息的有效性,這里使用本文模型與僅使用用戶、電影的交互信息進(jìn)行對(duì)比,測(cè)試在不同的迭代次數(shù)在數(shù)據(jù)集ML-100k、ML-1m下對(duì)實(shí)驗(yàn)結(jié)果的影響.結(jié)合多源信息的本文模型,epoch的次數(shù)與RMSE的關(guān)系,如表2所示:
表2 epoch對(duì)RMSE的影響(融入多源信息)Table 2 The influence of epoch on RMSE(integrating multi-source information)
僅使用評(píng)分信息的模型,epoch的次數(shù)與RMSE的關(guān)系,如表3所示.通過(guò)表中看出,在相同數(shù)據(jù)集下,隨著迭代次數(shù)的增多,RMSE的值會(huì)逐漸減少,并且達(dá)到一定的次數(shù)后,RMSE會(huì)趨于穩(wěn)定,這說(shuō)明了在保證了預(yù)測(cè)準(zhǔn)確率的前提下,隨著迭代次數(shù)增多,會(huì)導(dǎo)致模型耗時(shí)過(guò)久,效率低下.從表中還能看出,在迭代次數(shù)相同的情況下,本文結(jié)合多源信息特點(diǎn)推薦模型的RMSE的值始終要低于僅使用用戶電影的評(píng)分信息的單一模型,預(yù)測(cè)的值越接近真實(shí)值,證明了本模型中結(jié)合多源信息的有效性.
表3 epoch對(duì)RMSE的影響(未融入多源信息)Table 3 The influence of epoch on RMSE(without multi-source information)
在數(shù)據(jù)集MovieLens-1M中,隨機(jī)劃分為不同比例的數(shù)據(jù)集對(duì)本文的深度推薦模型和以上基線模型進(jìn)行對(duì)比.這里設(shè)置提取出來(lái)的用戶、電影向量維度為200.通過(guò)設(shè)置不同訓(xùn)練集比例,分別為20%、40%、60%、80%在數(shù)據(jù)集上隨機(jī)抽取數(shù)據(jù)作為訓(xùn)練集.在這四個(gè)比例的分配中,本文所提出的模型一直優(yōu)于其他三個(gè)基線模型,并且隨著數(shù)據(jù)量的增多,推薦的效果也越來(lái)越好,說(shuō)明本文的推薦模型在融入多模信息后的推薦能力有了一定的提升.
由圖9可以得知,隨著訓(xùn)練集規(guī)模越大,實(shí)驗(yàn)中得到的推薦模型的準(zhǔn)確度就越高,每個(gè)算法的RMSE都在減小.選取80%的訓(xùn)練數(shù)據(jù)列可以看到,本文模型相比MLP有7.3%的提升,相比CDL有4.7%的提升,相比ConvMF有1%的提升.本文提出的結(jié)合多源信息的深度推薦模型,與三個(gè)基準(zhǔn)模型相比,在不同的訓(xùn)練比例中,都能夠達(dá)到一個(gè)最好的推薦效果,說(shuō)明即使在數(shù)據(jù)量比較稀少、訓(xùn)練不充分的情況下,本文的模型也能較好地提取到用戶、電影特征向量,達(dá)到推薦目的.
圖9 各模型在ML-1M不同比例的訓(xùn)練集比較Fig.9 Comparison of training sets with different proportions of each model in ML-1M
接下來(lái)實(shí)驗(yàn)將數(shù)據(jù)集分類(lèi)成80%訓(xùn)練集以及20%對(duì)比測(cè)試集,同時(shí)為了驗(yàn)證算法的有效性,將本文模型與MLP、CDL、ConvMF在數(shù)據(jù)集ML-100k、ML-1m中進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4所示.
表4 各模型在不同數(shù)據(jù)集上的對(duì)比Table 4 Comparison of Models on Different Datasets
上表可看出,本文的推薦模型與三個(gè)基準(zhǔn)模型相比,在ML-100k、ML-1m數(shù)據(jù)集中的精度都能有較為理想的提升.在ML-100K上RMSE值下降了6.6%,這說(shuō)明預(yù)測(cè)值和真實(shí)值之間的誤差有所下降,推薦效果得到了提升.同樣在ML-1m數(shù)據(jù)集上RMSE值下降了7.3%.因此,本文模型在ML-1m上的精度提升了6.6%,而在ML-100k上推薦精度提升了7%,說(shuō)明當(dāng)數(shù)據(jù)集的稀疏度越小,表現(xiàn)出的推薦效果越好.
通過(guò)以上實(shí)驗(yàn)證明了本文提出的融入多源信息的電影深度推薦模型,為不同數(shù)據(jù)類(lèi)型設(shè)計(jì)的數(shù)據(jù)處理模塊以及將多源信息與深度神經(jīng)網(wǎng)絡(luò)模型結(jié)合的方式,能夠充分地提取和處理出用戶、電影中內(nèi)容更準(zhǔn)確、更豐富的特征矩陣,一定程度上緩解了數(shù)據(jù)集的稀疏性的問(wèn)題,提升了深度推薦模型的推薦性能.
本文針對(duì)多源數(shù)據(jù)信息分別設(shè)計(jì)不同的處理模型.提出了融入注意力模塊的殘差網(wǎng)絡(luò)模型(ARN)來(lái)處理電影海報(bào),分別對(duì)通道域和空間域的注意力模塊進(jìn)行改進(jìn),并融合成為混合注意模塊;接著將混合注意力模塊融入改進(jìn)后的ResNet50中,設(shè)計(jì)了ARN網(wǎng)絡(luò)模型.設(shè)計(jì)了一種結(jié)合多源信息的深度推薦模型.通過(guò)與MLP、CDL、ConvMF在數(shù)據(jù)集ML-100k、ML-1m上的性能指標(biāo)的對(duì)比實(shí)驗(yàn),通過(guò)均方誤差RMSE能夠證明了模型中的有效性.