李會芬,焦小剛,黃麗霞
(1.寧夏工商職業(yè)技術學院 信息技術學院,寧夏 銀川 750021;2.同濟大學 軟件學院,上海 200092) 3.寧夏大學 信息工程學院,寧夏 銀川 750021;4.北方民族大學 商學院,寧夏 銀川 750021)
互聯(lián)網(wǎng)資源量與用戶量均在與日俱增。用戶從海量數(shù)據(jù)中獲取個性化數(shù)據(jù)的難度明顯提升,這將極大降低用戶獲取在線有價值資源的體驗感。例如,學生在教學資源平臺中,需要花費大量的時間才能搜索到符合自己需求的在線課程。當前多個行業(yè)的服務平臺都給用戶提供了匹配度較高的個性化推薦服務。根據(jù)在線資源特征和用戶特征,通過對比同類型和同維度的特征距離[1],可以為用戶推薦與用戶特征更相近的資源。
當前,關于在線資源推薦的研究較多。覃忠臺等[2]采用協(xié)同過濾進行資源和用戶特征配對而完成推薦。宋菲菲等[3]采用廣義回歸神經(jīng)網(wǎng)絡進行智能學習資源推薦。兩者均建立了完整的在線資源推薦模型,但是參與推薦計算的特征量較少,導致資源推薦準確率不是特別高。雖然在線資源推薦的技術路線并不復雜,但是由于資源及用戶特征的復雜度及異構性,在特征距離比較時仍會出現(xiàn)特征匹配度不高,或者兩者特征難以轉換到同等維度的問題。因此,找到合適的特征提取及特征比較算法非常關鍵。
為了解決上述問題,本文采用雙注意力機制來實現(xiàn)資源特征和用戶特征的提取,并將深度學習CNN用于資源和用戶特征的分類。通過雙注意力機制的特征挖掘與提取,能夠有效提高卷積神經(jīng)網(wǎng)絡(Convutional neural network,CNN)算法的在線推薦性能。深度學習算法能夠較好實現(xiàn)復雜多維特征分類,并且能夠適應大規(guī)模樣本特征分析。而注意力機制在樣本特征提取及分析中優(yōu)勢明顯,兩者對在線資源推薦具備較高的適用性。
通道注意力本質(zhì)是對同一個輸入特征A分別進行重構和變換[4]。這種重構和變換的操作在結構圖中被稱為通道操作。通過不同通道的特征提取與矩陣相乘,經(jīng)過加權求和操作之后完成特征提取,從而獲得輸出特征E,其主要結構如圖1所示。
圖1 通道注意力機制結構
設通道總數(shù)為C,xji表示第j和第i個通道的相關性,其計算方法[5]為
(1)
計算所有通道的xji,然后構建矩陣X,最后得到輸出[6]為
(2)
式中:α表示權重常量。
空間注意力本質(zhì)是對同一個樣本的不同位置的輸入特征A分別進行不同規(guī)格的卷積運算,從而獲得新的輸入特征B、C和D[7]。通過對樣本不同位置的相關性分析,然后進行特征提取與矩陣相乘。經(jīng)過加權求和操作之后完成特征提取,從而獲得輸出特征E,主要結構如圖2所示。
圖2 空間注意力機制結構
圖3 基于雙注意力CNN的在線資源推薦流程
設經(jīng)過卷積運算的次數(shù)為N,yji表示第j和第i個空間位置的相關性,其計算方法[8]為
(3)
計算所有通道的yji,然后構建矩陣Y,最后得到輸出[9]為
(4)
式中:β表示權重常量。
設輸入集X=(x1,x2,…xn),n為樣本量,m為特征總量,第j個樣本特征經(jīng)過第l層卷積計算得[10]
(5)
式中:klj和bl,j分別是樣本j和第l層的連接權重及偏置,*是卷積運算。
映射函數(shù)f(·)為
(6)
設定卷積核大小為h×w,池化方法參照式(7)的均值池化或式(8)的最大值池化[11]
(7)
(8)
令M=n/(h×w),那么輸入集X=(x1,x2,…,xn)經(jīng)過卷積與池化后變?yōu)閄′=(x1,x2,…,xM)。
將X′進行映射轉換得到
(9)
式中:∑aij=1,0≤aij≤1。
將式(9)獲得的結果輸入分類器進行類別預測。
設輸入樣本xk的CNN輸出和實際值分別為yk和dk,則誤差δk為
δk=(dk-yk)yk(1-yk)
(10)
設第l和l+1層節(jié)點數(shù)為L和M,則l層神經(jīng)元j的δj為
(11)
式中:hj是輸出值,Wjk是節(jié)點j和l+1層節(jié)點k的連接權值。
權重與偏置的更新方式[12]是
(12)
(13)
式中:α和η為常量,一般0<η<0.2,α=1。
根據(jù)式(12)和(13),獲得新的權重和偏置分別為
wjk(n+1)=wjk(n)+Δwjk(n)
(14)
bk(n+1)=bk(n)+Δbk(n)
(15)
CNN在迭代時,以所有節(jié)點的誤差和作為判定條件,從而得到最終CNN穩(wěn)定結構模型,誤差和ζ計算方式[13]是
(16)
在獲得在線資源樣本之后,首先采用雙注意力機制進行樣本特征提取。通過對在線資源和在線用戶的雙注意力鎖定,選擇更有效的資源-用戶特征進行深度學習分析。接著,構建基于CNN的在線資源推薦模型,并以用戶-資源最小特征差為損失函數(shù)。將經(jīng)過雙注意力機制獲得的樣本特征輸入CNN網(wǎng)絡進行訓練,最終獲得符合用戶需求的推薦結果。
為了充分驗證雙注意力機制CNN算法在資源推薦中的性能,進行實例仿真,數(shù)據(jù)集源自騰訊在線教育平臺(ke.qq.com)、學堂在線課程學習平臺(www.xuetangx.com)等,具體如表1所示。為了全面驗證雙注意力機制CNN算法的在線資源推薦性能,首先分別采用CNN、通道注意力CNN、空間注意力CNN和雙注意力機制CNN算法進行推薦性能仿真,驗證注意力機制對在線資源推薦性能的影響,其次采用常用資源推薦算法和雙注意力CNN算法進行實例仿真。
為了驗證注意力機制對CNN算法在線資源推薦性能的影響,分別采用CNN、通道注意力CNN、空間注意力CNN和雙注意力CNN算法對表1中的4類樣本進行資源推薦仿真。
3.1.1 特征差異值性能
特征差異值是資源推薦的重要數(shù)據(jù)佐證,是候選推薦資源列表生成的數(shù)據(jù)支持。分別采用4種算法對資源和用戶的特征差異值進行性能比較。
從表2得,對于4類樣本集,基于雙注意力的CNN資源推薦算法的特征差異均值明顯(小于)優(yōu)于其他3種算法。由于沒有使用注意力機制進行特征提取,原始CNN算法的特征差異均值最大,因此基于CNN算法的資源推薦準確率會受到較大影響??v向比較發(fā)現(xiàn),在學堂在線樣本集中,4種算法獲得了最小特征差異均值,而騰訊在線樣本集中,4種算法的特征差異均值最大,這可能是由于不同樣本集之間在資源數(shù)量和特征復雜度的等方面存在一定差異造成的。
表2 4種算法的特征差異均值
表3 4種推薦算法的準確率
3.1.2 推薦準確率及RMSE
分別采用4種算法對表1中的4類樣本進行資源推薦仿真,驗證其推薦準確率及均方根誤差(Root mean squared error,RMSE)性能。
從圖4得,對于4類樣本集的推薦準確率,雙注意力CNN算法最高,均在0.9以上,而通道和空間注意力CNN在騰訊在線和學堂在線中較接近,CNN算法最差,均在0.84以下。下面比較4種算法的RMSE性能,仿真結果如表4。
圖4 4種算法推薦準確率
表4 4種推薦算法的RMSE值
從圖5得,相比于其他3種算法,基于雙注意力CNN推薦算法在RMSE性能方面具有絕對優(yōu)勢,4類集的RMSE值均在0.15以下,CNN算法RMSE性能最差,通道注意力CNN和空間注意力CNN性能相近,圍繞這1.17左右震蕩,在騰訊在線和學堂在線中空間注意力CNN表現(xiàn)更優(yōu),而在網(wǎng)易云課堂和51CTO學院集上通道注意力表現(xiàn)更佳。
圖5 4種算法RMSE
綜合而言,相比于CNN推薦算法,采用注意力機制進行資源和用戶特征提取后,對CNN在線資源推薦準確度影響顯著,這主要是因為在線資源特征和用戶特征變化頻率快而不容易實現(xiàn)精準資源推薦的緣故,引入雙注意力機制后,能夠較好地捕捉到資源和用戶特征的快速變化。
為了進一步驗證雙注意力機制CNN算法在資源推薦中的性能,分別采用協(xié)同過濾[14]、深度神經(jīng)網(wǎng)絡(Deep neural network,DNN)[15]、循環(huán)神經(jīng)網(wǎng)絡(Recurrent neural network,RNN)[16]和雙注意力CNN算法對表1中4類樣本進行仿真。
從表3得,在4類集的推薦準確率方面,雙注意力CNN算法最高,DNN和RNN相近,協(xié)同過濾最差,這表明了深度學習算法對4類樣本集的資源推薦適應度更高,而采用了雙注意力機制的特征提取后,CNN算法的推薦準確率超越了DNN和RNN,這說明雙注意力機制比較適合資源和用戶特征的挖掘與提取。
從表4得,在4類集的推薦RMSE性能上,雙注意力CNN算法最優(yōu),DNN和RNN相近,協(xié)同過濾最差,這表明了深度學習算法增強了4類樣本集的資源推薦穩(wěn)定性,而采用了雙注意力機制的特征提取后,CNN算法的推薦穩(wěn)定性遠超過DNN和RNN,這說明有效地資源和用戶特征提取對深度學習算法的分類穩(wěn)定性提升明顯。
從圖6得,雙注意力CNN算法在4類樣本集訓練時獲得了最高召回率,協(xié)同過濾最差,在網(wǎng)易云課堂集推薦時,DNN超過了RNN,而其他3類樣本集,RNN均略優(yōu)于DNN,這說明雙注意力CNN算法能夠匹配到更多適合于用戶的資源。從推薦效率方面來看,3種深度學習算法不如協(xié)同過濾,這主要是3種深度學習算法的網(wǎng)絡參數(shù)求解需要消耗較多時間。
圖6 4種算法的推薦召回率
本文采用深度卷積神經(jīng)網(wǎng)絡進行資源推薦,同時對資源-用戶特征進行雙注意力機制特征提取,以進一步提高推薦精準度。對資源-用戶特征進行編碼并初始化,并分別進行通道注意力機制運算和空間注意力機制運算。將兩個注意力機制的運算結果加權求和得到新的用戶-資源特征。相比常用資源推薦算法,雙注意力CNN算法表現(xiàn)出更優(yōu)的推薦準確率和穩(wěn)定性。后續(xù)研究將進一步差異化設置雙注意力機制的卷積核尺寸等參數(shù),提高在線推薦效率,從而進一步增強雙注意力機制CNN算法在在線資源推薦中的適用性。