湯文兵 任正云 韓 芳
信息時(shí)代下的數(shù)據(jù)量快速膨脹,高滲透、高過載海量信息的沖擊過渡稀釋了用戶注意力,導(dǎo)致用戶們?cè)诹宅槤M目的產(chǎn)品面前難以抉擇.因此推薦系統(tǒng)作用日趨凸顯,它準(zhǔn)確而高效地跨接關(guān)系緊密的用戶群和物品集,放大長尾效應(yīng)來維持供需平衡,增大經(jīng)濟(jì)效益的同時(shí)提供智能化、專屬化的用戶服務(wù)體驗(yàn),實(shí)現(xiàn)從企業(yè)到客戶的雙贏.
特征的選擇和處理方式在整個(gè)推薦過程中扮演著極其重要的角色.根據(jù)特征處理方式的不同,可分為基于內(nèi)容、協(xié)同過濾和混合模型推薦系統(tǒng)[1?2].狹義的特征一般指能夠勾勒出用戶或物品個(gè)體的定量描述,是客觀存在的,多見于基于分解機(jī)[3?4]的推薦模型;而本文認(rèn)為特征在廣義上還應(yīng)包含用戶主觀對(duì)物品產(chǎn)生的歷史交互信息,這也是矩陣分解類模型[5?6]的主要處理對(duì)象.推薦系統(tǒng)在掌握這些特征規(guī)律后,預(yù)測(cè)用戶行為,提前替他們?cè)诒姸嗪蜻x物中篩選出“心儀”的產(chǎn)品.因而若能夠提取用戶?物品對(duì)的特征關(guān)系,并實(shí)時(shí)跟蹤用戶行為,豐富信息的結(jié)合無疑會(huì)使推薦結(jié)果更加準(zhǔn)確、更加個(gè)性化.
早期多是基于內(nèi)容的推薦系統(tǒng),它根據(jù)用戶頻繁瀏覽的物品類型給出推薦,推薦方式簡(jiǎn)便直接但推薦內(nèi)容單調(diào)乏味,常見于廣告和新聞平臺(tái)[7].而熱門至今的協(xié)同過濾算法思想大為不同.以基于用戶推薦為例[8],先圈定行為近似的用戶群,再將他們關(guān)注過的物品推薦給彼此.不少協(xié)同過濾模型通過用戶顯式反饋,如收藏、轉(zhuǎn)發(fā)和評(píng)價(jià)等,來決定物品是否值得推薦.而后更多平臺(tái)提供了評(píng)分系統(tǒng),便于用戶量化表達(dá)自己的喜好程度,推薦過程因而變成了回歸問題,根據(jù)用戶歷史反饋預(yù)測(cè)評(píng)分,并將可能得到高分的物品推薦出去.于是矩陣近似盛行起來,將高度稀疏的用戶? 物品評(píng)分矩陣分解為若干低階矩陣的聯(lián)合表示,實(shí)現(xiàn)基于少數(shù)觀測(cè)行為的評(píng)分預(yù)測(cè).其中以Koren 等[5?6]先后提出的SVD++(Singular value decomposition ++)、矩陣分解,Salakhutdinov 等[9]基于極大似然估計(jì)的PMF(Probabilistic matrix factorization) 和Lee 等[10]的局部低秩矩陣近似 (Local low-rank matrix approximation,LLORMA) 最為經(jīng)典.后來多用于圖像處理的自編碼器也能實(shí)現(xiàn)近似矩陣分解的功能,如AutoRec[11]通過編碼層獲得低維向量,解碼層借此還原出原有評(píng)分的同時(shí)“填補(bǔ)”未知評(píng)分.Strub 等[12]和Wu 等[13]對(duì)輸入添加掩膜、高斯等噪聲,得到了系統(tǒng)魯棒性更好的降噪自編碼器.這是自受限玻爾茲曼機(jī)[14?15]后多層感知器(Multi-layer perceptron,MLP)在該領(lǐng)域的又一應(yīng)用突破[16].
以矩陣近似為代表的回歸類推薦模型雖能在較準(zhǔn)確還原觀測(cè)數(shù)據(jù)的同時(shí)實(shí)現(xiàn)評(píng)分預(yù)測(cè),但往往因?yàn)槿狈蒙踔赁饤売脩艉臀锲诽卣鞫狈忉屝?且該類模型面對(duì)高稀疏性數(shù)據(jù)時(shí)通常表現(xiàn)不佳.而Rendle 提出的分解機(jī)(Factorization machine,FM)[3]著力分析不同特征間的關(guān)聯(lián)度,為指定用戶推薦更貼切的物品,同時(shí)還能緩解用戶冷啟動(dòng).近年來,深度神經(jīng)網(wǎng)絡(luò)(Deep neural networks,DNNs)在自然語言處理和計(jì)算機(jī)視覺的廣泛應(yīng)用也推動(dòng)了推薦模型向深層結(jié)構(gòu)的方向發(fā)展,結(jié)合了上述方法與DNNs 的混合模型在性能上表現(xiàn)更好.先有Strub 等于各層注入輔助特征優(yōu)化CDAE (Collaborative denoising autoencoders) 網(wǎng)絡(luò)[12,16?17],后有攜程團(tuán)隊(duì)結(jié)合用戶和物品雙自編碼器支線實(shí)現(xiàn)矩陣分解[18?19].He 等認(rèn)為低維向量級(jí)聯(lián)的效果比做內(nèi)積更好,并讓網(wǎng)絡(luò)學(xué)習(xí)不同維度的隱因子向量組合,提出了NCF[20](Neural collaborative filtering) 混合模型.特征處理方面,Google 團(tuán)隊(duì)認(rèn)為DNNs特征學(xué)習(xí)能力很強(qiáng)但是特征記憶力較差,提出了綜合能力更優(yōu)的深寬網(wǎng)絡(luò)[21];近年出現(xiàn)的DeepFM (Deep factorization machine) 能比傳統(tǒng)分解機(jī)學(xué)習(xí)更高階的特征交互[3,22].而隨著用戶和物品特征字段的增多,DNNs 會(huì)學(xué)習(xí)更多無意義的特征交互信息,Lian 等就該問題提出了xDeep-FM[23].
此外卷積神經(jīng)網(wǎng)絡(luò) (Convolutional neural networks,CNNs) 和循環(huán)神經(jīng)網(wǎng)絡(luò) (Recurrent neural networks,RNNs) 等深層架構(gòu)被移用到了各自擅長的推薦應(yīng)用中.Kim 等將CNNs 嵌入PMF 中實(shí)現(xiàn)基于評(píng)論文檔分析的推薦[9,24?25],Covington 等將DNNs 用于Youtobe 視頻推薦,成功接受千萬級(jí)特征和千億級(jí)訓(xùn)練樣本[26].而擅長處理時(shí)序任務(wù)的RNNs 多用于音樂、新聞等推薦情景[27?29].還不斷涌現(xiàn)出特征處理巧妙、性能優(yōu)良的模型變體,比如協(xié)同過濾生成式對(duì)抗網(wǎng)絡(luò),3D 卷積分解機(jī) (Convolutional factorization machines,CFM),協(xié)同記憶網(wǎng)絡(luò)和處理特征不確定性的卷積網(wǎng)絡(luò)等[30?37].
然而相關(guān)研究工作中鮮有模型同時(shí)關(guān)注用戶個(gè)體特征、行為習(xí)慣和物品屬性特點(diǎn)三方面實(shí)現(xiàn)推薦工作.因此本文提出了一種模型解釋性更強(qiáng)、信息綜合更多的基于注意力機(jī)制的協(xié)同卷積動(dòng)態(tài)推薦網(wǎng)絡(luò),具體工作和優(yōu)勢(shì)概括如下:
1) 提出了一種無參時(shí)間衰減的用戶興趣標(biāo)簽來量化用戶關(guān)注角度隨時(shí)間的變化,給推薦候選物加入與推薦時(shí)間節(jié)點(diǎn)相關(guān)的獎(jiǎng)懲機(jī)制,加強(qiáng)推薦動(dòng)態(tài)性;
2) 通過注意力機(jī)制實(shí)現(xiàn)用戶行為、用戶畫像和物品屬性的多重交互,分析不同特征組間相關(guān)性,更有效地捕捉有價(jià)值的高階交互信息;
3) 引入卷積網(wǎng)絡(luò)同時(shí)處理低階原始特征信息和高階特征交互信息,讓模型在盡可能多保留低階信息的同時(shí)學(xué)習(xí)更高階特征,加速訓(xùn)練收斂;
4) 使用兩個(gè)現(xiàn)實(shí)數(shù)據(jù)集來測(cè)試本文模型的推薦效果,并與其他性能優(yōu)良的推薦系統(tǒng)做橫向比較,結(jié)果顯示本文模型在推薦質(zhì)量和個(gè)性化上表現(xiàn)得更好.
物品類型越符合用戶的口味,用戶就越容易對(duì)其產(chǎn)生興趣.而物品往往會(huì)被貼上若干標(biāo)簽,一類是本文關(guān)注的物品分類標(biāo)簽;另一類是用戶們?cè)u(píng)價(jià)留下的標(biāo)簽,并衍生出了基于標(biāo)簽的推薦系統(tǒng)[38?39].如今電商、視頻、新聞資訊等平臺(tái)都建議用戶在注冊(cè)時(shí)選擇偏好類型以供推薦參考,這能有效地解決用戶冷啟動(dòng).
但值得注意的是,用戶的興趣會(huì)轉(zhuǎn)移、關(guān)注的內(nèi)容會(huì)變化,或快或慢,取決于情感、心理等主觀因素,也與時(shí)事熱點(diǎn)、親朋好友等客觀環(huán)境有關(guān).于是結(jié)合用戶注冊(cè)的偏好類型和他們歷史瀏覽的物品類型,本文提出了一種可行的時(shí)間衰減算法來跟蹤用戶興趣的變化.首先,規(guī)定用戶興趣和物品類別共享標(biāo)簽,圈定有限的標(biāo)簽集合記C={c1,c2,...,cn}.標(biāo)簽分類可借助聚類、關(guān)聯(lián)度分析等機(jī)器學(xué)習(xí)算法,而有的數(shù)據(jù)集直接給出了分類標(biāo)簽.
假定用戶u關(guān)于物品集的第一條歷史操作(評(píng)價(jià)、轉(zhuǎn)發(fā)、收藏等)的時(shí)間記為tu1,最新的一條歷史操作時(shí)間記為tu2,則他的活躍時(shí)間跨度為?Tu=tu2?tu1.推薦節(jié)點(diǎn)按月計(jì)整數(shù)更新,更新速率可按照具體推薦情景調(diào)整.接下來,指定用戶u遍歷物品集?,κ(u) 記錄用戶u留下歷史痕跡的物品索引,則記錄用戶u從未接觸過的物品,有κ(u)∪=?.而后記用戶興趣標(biāo)簽向量為pu=[pu,1,pu,2,...,pu,n],而物品的分類標(biāo)簽向量記為ci=[c1,c2,...,cn],且pu,ci∈Rn.則在用戶歷史行為遍歷過程中pu更新方法如下:
其中,tu,i表示用戶u對(duì)物品i產(chǎn)生操作的時(shí)間.若用戶于注冊(cè)時(shí)提供了偏好信息則pu,0為非零向量,為初期推薦提供了引導(dǎo)和基準(zhǔn),緩解了用戶冷啟動(dòng)問題;反之,若用戶不提供任何先驗(yàn)興趣信息時(shí)pu,0=0,則pu的更新將完全取決于注冊(cè)后的用戶行為.最后,在每個(gè)推薦節(jié)點(diǎn)按式(12)對(duì)pu元素歸一化到[0,1]區(qū)間,如此每個(gè)元素值就量化表示用戶對(duì)各類物品喜愛的熱度和概率,作為用戶畫像的一部分輸入網(wǎng)絡(luò).
圖1 為例,用雷達(dá)圖可視化某月某位用戶的興趣向量,通過 Norm(pu)· ci,i=1,2,3,4 計(jì)算用戶與4 部電影的向量?jī)?nèi)積值,依次為0.37,0.45,0.58,0.33,顯然電影3 可能更符合用戶的口味.
圖1 用戶興趣和物品(如電影)分類向量空間共享示意圖Fig.1 The demonstration of shared vector space between user's interests and item′s types (e.g.movies)
本節(jié)提出的用戶興趣標(biāo)簽更新法節(jié)省了傳統(tǒng)時(shí)間衰減法需要的超參調(diào)試,讓推薦系統(tǒng)考慮用戶興趣動(dòng)態(tài)變化的同時(shí)緩解冷啟動(dòng):若用戶不對(duì)新類別產(chǎn)生行為,則衰減不起效,維持原有愛好熱度;若用戶關(guān)注了不同以往的新類別,則增加新興趣的熱度,此增彼減.式(1)中的累加使pu記憶用戶興趣史,基于自然常數(shù)的平滑衰減使得推薦更具平穩(wěn)的動(dòng)態(tài)性.
分解機(jī)類的推薦模型[3?4,19,22?23,30?31]專注于處理用戶和物品特征的交互:這些特征以one-hot 或multi-hot 字段的形式輸入模型(示例見圖2),并通過嵌入層索引到各自對(duì)應(yīng)的稠密嵌入向量,它們才是分解機(jī)處理的真實(shí)對(duì)象.典型的分解機(jī)[3,22]逐對(duì)處理輸入特征,分析特征對(duì)xi和xj的關(guān)系,得到推薦依據(jù):
圖2 稀疏特征字段示例Fig.2 The example of sparse feature fields
其中,〈ei,ej〉是特征對(duì) 〈i,j〉 對(duì)應(yīng)的嵌入向量對(duì),而ω0和ω1分別是全局偏置和一階權(quán)重.
本文中注意力機(jī)制實(shí)現(xiàn)特征嵌入向量間的交互,注意力機(jī)制是機(jī)器翻譯的主要工具[40?41],它通過分析當(dāng)前單詞與上下文內(nèi)容的關(guān)聯(lián)程度,將當(dāng)前單詞的注意力以不同的權(quán)重分配到上下文詞句.Christakopoulou 等在[32]中提及同一件物品對(duì)于不同用戶意義不同,不同背景(職業(yè)、收入、學(xué)歷等)、人口統(tǒng)計(jì)信息(年齡、性別等)和心理(愛好、性格等).因此,本文認(rèn)為注意力機(jī)制的思想同樣適用于分析物品任一屬性與用戶個(gè)體的關(guān)系.
介紹完本文模型所需的動(dòng)態(tài)用戶興趣標(biāo)簽更新法和注意力機(jī)制特征交互后,下文將按照網(wǎng)絡(luò)輸入、注意力模塊、卷積層和用戶推薦等模塊順序介紹本文ACCDN 模型框架.
模型輸入由用戶、物品特征和用戶行為值(歷史評(píng)分)三部分組成.不同數(shù)據(jù)集支持的評(píng)分選項(xiàng)不統(tǒng)一,以本文實(shí)驗(yàn)所用數(shù)據(jù)集為例,MovieLens評(píng)分ru,i∈[1,2,3,4,5],而Niconico評(píng)分項(xiàng)多達(dá)10 個(gè),更有推薦數(shù)據(jù)集支持小數(shù)評(píng)分,這不利于模型學(xué)習(xí)用戶在不同評(píng)分系統(tǒng)中的習(xí)慣.因此評(píng)分需按式(6)做均值歸一化,作為用戶u對(duì)物品i歷史行為的量化值∈[?1,1].
圖3 基于注意力機(jī)制的用戶?物品屬性交互Fig.3 Attentive interactions between the user′s profile and item′s attribute
之所以這么做是考慮了不同用戶給分的嚴(yán)苛度是不一樣的,以兩種給分極端的人為例(評(píng)分范圍1~5 分):第一種人給分嚴(yán)苛且平均評(píng)分為2.3,那么預(yù)測(cè)得到4 分的物品很可能被列入推薦列表內(nèi);第二種人給分很寬松且平均評(píng)分為4.2,而這時(shí)4分的物品就不建議納入推薦范疇,模型需要尋找更多能夠得到5 分的物品作為推薦.而這正是那些依賴于特征做預(yù)測(cè)的分解機(jī)類推薦系統(tǒng)所忽視的重要的個(gè)性化問題,畢竟起初符合口味的物品在用戶體驗(yàn)了解后也不一定能獲得好評(píng).
本文設(shè)計(jì)的注意力層重在實(shí)現(xiàn)用戶歷史行為(如評(píng)分)、用戶畫像和物品屬性的交互融合.由于one-hot 特征與嵌入向量是一對(duì)一的關(guān)系,而multihot 特征與嵌入向量是一對(duì)多的關(guān)系,因而對(duì)于不確定的一對(duì)多關(guān)系按式(7)加權(quán)融合為一個(gè)向量,這種情況多出現(xiàn)于影視作品的主演、配音和風(fēng)格等字段的特征.
這樣能保證N個(gè)特征字段在通過嵌入層后仍對(duì)應(yīng)到N個(gè)嵌入向量,式(7)中的權(quán)重ωn,k將由網(wǎng)絡(luò)學(xué)習(xí).會(huì)在特征交互中起到輔助作用,因∈[?1,1],當(dāng)為正值時(shí)將增大用戶、物品特征對(duì)之間的注意力系數(shù),反之將反向削弱,于是
圖4 基于注意力機(jī)制的協(xié)同卷積動(dòng)態(tài)推薦網(wǎng)絡(luò)(ACCDN)Fig.4 Attention-based collaborative convolutional dynamic network (ACCDN)
式(4)和式(5)改寫如下:
通過第3.2 節(jié)式(9)得到的注意力交互矩陣記錄了用戶物品特征組間關(guān)系的高階信息,同時(shí)也是卷積層的輸入.考慮到式(8)是對(duì)用戶特征向量分配注意力系數(shù)后融合的結(jié)果,在一定程度上會(huì)丟失關(guān)于物品屬性的原始信息,因此最直接有效的做法就是將物品屬性矩陣也作為卷積層輸入的一部分.這能讓卷積提取高階特征的同時(shí)考慮低階信息.
相對(duì)高階的特征矩陣Au,和低階特征iEiN因維度相同,可疊成卷積層的輸入交互塊,而二維卷積層的輸入和輸出可抽象為:
本文構(gòu)造了類似于傳統(tǒng)卷積層處理的圖像特征圖,但圖5 中使用的是1×K×2 的行卷積核,這不同于感知野中常見的矩形塊狀卷積核,行卷積適合理解類似文本形式的特征并提取精簡(jiǎn)且有效的信息,文獻(xiàn)[9,25]也提及了相關(guān)性質(zhì)的分析.行卷積核將低階和高階信息聯(lián)系起來并減少冗余信息,卷積層的輸出將進(jìn)入下一個(gè)注意力模塊與用戶畫像交互,輸出的副本直接級(jí)聯(lián)到全連接層,避免相對(duì)低階的信息隨著網(wǎng)絡(luò)的加深而丟失.
圖5 卷積層示意圖Fig.5 The demonstration of the convolutional layer
本文模型最后一個(gè)模塊是由多層全連接層組成的MLP,它的輸入層是一個(gè)由原始用戶畫像、物品屬性和每個(gè)卷積層輸出平鋪級(jí)聯(lián)而成的全連接層[22?23,25,30?31].這借鑒了NCF[19]中向量級(jí)聯(lián)比內(nèi)積效果更好,將不同嵌入向量間的高階關(guān)系交予多層隱藏神經(jīng)元來處理.而且將最低階的特征嵌入向量直接跨接至最后網(wǎng)絡(luò)部分,有利于加快卷積層數(shù)增多時(shí)整個(gè)網(wǎng)絡(luò)的訓(xùn)練收斂速度.
模型通過Softmax 層輸出用戶對(duì)指定物品給出不同評(píng)分的概率,相當(dāng)于多分類問題,但不同于直接預(yù)測(cè)評(píng)分的回歸模型和推薦與否的二分類模型.假設(shè)評(píng)分選項(xiàng)為ru,i∈{r1,r2,...,rn},模型預(yù)測(cè)概率結(jié)果為yu,i=[y1,y2,...,yn],且滿足.值最大的yi對(duì)應(yīng)的ri項(xiàng)就是用戶最有可能給出的評(píng)分.在最后的推薦表排名中,可按下式計(jì)算用戶u對(duì)于物品i的評(píng)分期望值:
按照以下規(guī)定評(píng)測(cè)本文模型的推薦準(zhǔn)確率和質(zhì)量:1)遍歷每一位用戶的所有歷史行為按照8∶1∶1隨機(jī)抽樣添加到訓(xùn)練集、驗(yàn)證集和測(cè)試集中;2)在訓(xùn)練和測(cè)試模型時(shí)使用均值歸一化后的評(píng)分作為ui行為值,而在推薦階段會(huì)涉及到用戶從未接觸過的物品故不存在對(duì)應(yīng)評(píng)分,使用=Norm(pu·ci)作為u-i行為值,依舊滿足∈[?1,1] 的要求;3)對(duì)于multi-hot 字段特征按照30%比例隨機(jī)掩膜去特征,加入噪聲來提高訓(xùn)練后推薦系統(tǒng)的魯棒性;4) 實(shí)驗(yàn)使用了兩種數(shù)據(jù)集MovieLens-1M 和Niconico,前者學(xué)習(xí)率設(shè)定為0.01,MLP 各層隱藏神經(jīng)元數(shù)為[128,64,32,5],后者學(xué)習(xí)率設(shè)定為0.1,MLP 各層隱藏神經(jīng)元數(shù)為[256,128,64,10];5)整個(gè)模型基于深度學(xué)習(xí)框架Tensorflow 實(shí)現(xiàn),使用Adagrad 優(yōu)化器,MLP 使用tanh 激活函數(shù),交叉熵式(13)作為損失函數(shù).
本文使用兩個(gè)現(xiàn)實(shí)數(shù)據(jù)集來評(píng)估模型,主要信息概述見表1.
表1 數(shù)據(jù)集概述表Table 1 Statistics of the evaluation datasets
1) MovieLens-1M:這是推薦系統(tǒng)領(lǐng)域非常經(jīng)典的一個(gè)開源電影評(píng)分?jǐn)?shù)據(jù)集,現(xiàn)已由推薦系統(tǒng)概念的提出團(tuán)隊(duì)GroupLens 匯總整理.它提供了有關(guān)用戶的人口統(tǒng)計(jì)數(shù)據(jù)和電影名稱、風(fēng)格等信息,其中有177 部電影無人評(píng)價(jià).
鏈接:https://grouplens.org/datasets/movielens/
2) Niconico:這是在日本一個(gè)熱門的日漫網(wǎng)絡(luò)通過爬蟲后整理得到的數(shù)據(jù)集.它讓推薦種類擴(kuò)展到電影、電視劇、動(dòng)漫連載等,有著更為充足的用戶樣本和豐富的物品列表,以及更高的稀疏度,共3 784部作品無人評(píng)價(jià).由于許多用戶觀看過后未留下評(píng)價(jià)信息,本文過濾掉數(shù)據(jù)損失率達(dá)97%以上的用戶,剩余用戶的缺失值用隨機(jī)方法填補(bǔ),作為適量的數(shù)據(jù)噪聲.鏈接:https://sp.nicovideo.jp/
基于矩陣分解的模型:
CFN[17]:為降噪自編碼器網(wǎng)絡(luò)的每一個(gè)隱藏層注入用戶或物品的特征輔助信息.
基于分解機(jī)的模型:
FM[3]:最經(jīng)典的分解機(jī)推薦模型,分析特征組間的關(guān)系.
DeepFM[22]:提取多階特征信息,用更深的網(wǎng)絡(luò)學(xué)習(xí)特征組對(duì)間的高階關(guān)系.
混合模型:
NCF[19]:基于DNNs 實(shí)現(xiàn)的協(xié)同過濾模型,通過多組不同緯度的用戶? 物品隱因子向量豐富信息融合的方式.
xDeepFM[23]:獨(dú)特的壓縮交互網(wǎng)絡(luò)結(jié)構(gòu)來學(xué)習(xí)顯隱式輸入的高階關(guān)系,并能有效剔除冗余信息.
CFM[30]:通過3D 卷積處理特征交互塊,以外積形式提取向量二階信息.
評(píng)分預(yù)測(cè)準(zhǔn)確率可分析注意力?卷積層層數(shù)L、特征嵌入向量維度K和每層卷積核個(gè)數(shù)T三個(gè)超參對(duì)本文模型性能的影響.實(shí)驗(yàn)著重于比較Top-N推薦列表的質(zhì)量,以HR 和NDCG[42]作為評(píng)價(jià)標(biāo)準(zhǔn)來比較ACCDN 與上述模型的系統(tǒng)召回率和推薦列表正則化排名累積增益.用每個(gè)用戶推薦列表分析后的均值來分析模型,HR 和NDCG 的值越高說明推薦質(zhì)量越好,此處N取5,10,20,30.
本文的ACCDN 推薦模型涉及三個(gè)關(guān)鍵的超參:注意力-卷積層層數(shù)L、特征嵌入向量維度K和每層卷積核個(gè)數(shù)T.其中K是第4.3 節(jié)中每個(gè)基準(zhǔn)模型所需的超參,而T也是CFM 的參數(shù).由于三個(gè)超參值的組合很多,為了更好地體現(xiàn)單個(gè)超參對(duì)模型推薦的影響,本文在固定兩個(gè)超參為最佳值的情況下調(diào)節(jié)另一個(gè)參數(shù),以Niconico 數(shù)據(jù)集為例見表2.L的增加能夠讓模型提取用戶和物品特征交互的更高階信息;K的增大能夠?qū)⑻卣饔成涞礁呔S的稠密向量來豐富信息傳輸,同時(shí)提高全連接層的寬度;而T的增大可以讓卷積層提煉更多模式的信息.權(quán)衡模型性能和訓(xùn)練代價(jià)后選擇L=3,K=16,T=32 作為Niconico 推薦時(shí)的最佳參數(shù)組合.
表2 超參對(duì) ACCDN Top -30 推薦效果的影響(Niconico 數(shù)據(jù)集)Table 2 ACCDN′s hyper-parameters′ infulence on the Top-30 recommendation for Niconico
使用GPU 訓(xùn)練所有模型,考慮到模型在不同硬件條件下具體的收斂時(shí)間存在明顯變化,但是它們收斂的先后順序是基本不變的,故給出圖6 (a)作為訓(xùn)練時(shí)間參考,其中以ACCDN 收斂時(shí)間作為基準(zhǔn)值1.0.CFN 因其隱藏層眾多的神經(jīng)單元明顯收斂得最慢,FM 因只分析低階特征收斂得最快,而DeepFM 則次之.ACCDN 的收斂速度與NCF、xDeepFM 相當(dāng),處于中等水平.基于3D 卷積網(wǎng)絡(luò)的CFM 運(yùn)算過程最為復(fù)雜,它在兩個(gè)數(shù)據(jù)集上的訓(xùn)練代價(jià)是最高的,所需時(shí)間比ACCDN 多了約19%.
圖6 模型訓(xùn)練時(shí)間比較以及ACCDN 各模塊對(duì)推薦的影響Fig.6 The comparison of the training costs among models and the impacts of the modules in ACCDN
關(guān)于圖6 (b)~(d)中模型標(biāo)記的說明:ACCDN(--h)是在ACCDN 的基礎(chǔ)上不再輸入用戶歷史行為值;ACCDN(--f)是指不在全連接層額外輸入原始的用戶/物品特征向量信息;ACCDN(--c)則是直接去除卷積層的模型.通過分析圖5 (b)~(d)可知,記錄了用戶最主觀的評(píng)分習(xí)慣,屏蔽它對(duì)削弱推薦質(zhì)量的影響最大,準(zhǔn)確率損失了約11%,有利于提高推薦的個(gè)性化和準(zhǔn)確性.而移除卷積層雖可以簡(jiǎn)化模型結(jié)構(gòu),讓模型訓(xùn)練收斂大幅加速,但是卷積層是提煉壓縮和提取高階信息的關(guān)鍵模塊,缺少它會(huì)使推薦效果(質(zhì)量以及準(zhǔn)確率等)出現(xiàn)顯著下降.雖然不為全連接層輸入原始特征信息不會(huì)明顯影響模型的推薦性能,但是顯然沒有原始數(shù)據(jù)的跨接不利于網(wǎng)絡(luò)訓(xùn)練的收斂,導(dǎo)致所需時(shí)間提高了27%.所以各個(gè)模塊的協(xié)同工作才能綜合優(yōu)化模型的運(yùn)作性能.
表3 展示了ACCDN 與基準(zhǔn)模型在兩個(gè)實(shí)驗(yàn)數(shù)據(jù)集上推薦質(zhì)量的表現(xiàn).其中CFN 在樣本量極大且高度稀疏的Niconico 數(shù)據(jù)集面前表現(xiàn)較差,即使它額外接受了特征輔助信息.FM、DeepFM 和NCF 的推薦表現(xiàn)處于相近的中等水平,而xDeep-FM、CFM 和本文模型ACCDN 的推薦質(zhì)量更好.當(dāng)N∈[5,10]較小時(shí),xDeepFM 和CFM 在Top-N推薦列表上的整體召回率HR@N 比ACCDN 略高,而推薦排名質(zhì)量NDCG@N 旗鼓相當(dāng).但隨著推薦列表內(nèi)容的豐富,本文模型在指標(biāo)上與其他基準(zhǔn)模型的差距逐漸擴(kuò)大,意味著注意力機(jī)制與卷積層的組合能夠高效處理特征關(guān)系,即使在高稀疏度數(shù)據(jù)集下依舊能提供質(zhì)量較好的推薦.而就推薦排名質(zhì)量而言,ACCDN 在Top-N 推薦中是全體表現(xiàn)最佳的.
表3 推薦列表評(píng)析結(jié)果Table 3 The evaluation results of recommendation lists between baselines and ACCDN
此外,ACCDN 由于基于時(shí)間用戶興趣標(biāo)簽的輸入而善于跟蹤用戶興趣的變化,能在少量用戶行為后快速響應(yīng)出動(dòng)態(tài)推薦,以3 次用戶行為前后的Top-5 推薦列表變化為例,與同樣性能優(yōu)良的和CFM 模型作比較的結(jié)果見表4.
表4 Top-5 動(dòng)態(tài)推薦對(duì)比示例Table 4 The examples of the dynamic Top-5 recommendation
本文提出了一種新式的推薦模型,它通過注意力機(jī)制將用戶行為值評(píng)分、用戶畫像和物品屬性在特征向量空間中交互融合,并借助2D 卷積信息提煉和特征提取的能力逐層挖掘交互信息與特征向量的更高階信息.此外為了提高推薦動(dòng)態(tài)性,本文還提出了一種無參時(shí)間衰減用戶興趣標(biāo)簽賦予模型動(dòng)態(tài)跟蹤用戶興趣變化的能力.ACCDN 還將初始特征、低階到高階交互信息級(jí)聯(lián)在一起實(shí)現(xiàn)用戶青睞評(píng)分的預(yù)測(cè),豐富模型輸入信息的同時(shí)有效降低模型訓(xùn)練成本.最后通過兩個(gè)現(xiàn)實(shí)數(shù)據(jù)集將它與性能先進(jìn)且具有代表性的模型做比較實(shí)驗(yàn),本文的ACCDN 表現(xiàn)出更好的Top-N 推薦質(zhì)量.之后我們還將繼續(xù)研究學(xué)習(xí)先進(jìn)的推薦算法和網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)一步提高本文推薦模型的性能和推薦的可解釋性.