黃大巧,朱健軍,曹俊卓
(1.浙江通信服務(wù)網(wǎng)絡(luò)科技分公司,浙江 杭州 310000;2.浙江工業(yè)大學(xué)信息學(xué)院,浙江 杭州 310000)
因特網(wǎng)的廣泛應(yīng)用帶來(lái)了爆炸式增長(zhǎng)的信息冗余,雖然搜索引擎是當(dāng)前人們獲取目標(biāo)信息的有效手段,但是仍然無(wú)法滿足不同用戶不同時(shí)間的個(gè)性化信息需求服務(wù)。推薦系統(tǒng)[1]可以通過(guò)分析用戶的歷史購(gòu)買行為,基于挖掘用戶、產(chǎn)品之間的特征相似性,向用戶推薦其感興趣的產(chǎn)品,刺激用戶產(chǎn)生新的購(gòu)買需求。其中,個(gè)性化推薦融合了數(shù)據(jù)處理、特征挖掘和機(jī)器學(xué)習(xí)等多種技術(shù),成為當(dāng)前數(shù)據(jù)挖掘和商業(yè)應(yīng)用系統(tǒng)的熱點(diǎn)研究領(lǐng)域之一[2]。
目前,通過(guò)神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像分析和特征分類是推薦系統(tǒng)的重要環(huán)節(jié),然而最新的研究發(fā)現(xiàn),當(dāng)對(duì)圖像添加微小的擾動(dòng)后,可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)模型輸出完全不同的分類結(jié)果,即微小的輸入或噪聲擾動(dòng)都可能造成生成的推薦結(jié)果完全不同,這代表推薦系統(tǒng)的魯棒性較差。
為了解決此問(wèn)題,本文提出一種基于對(duì)抗性訓(xùn)練改進(jìn)模型魯棒性的協(xié)同過(guò)濾推薦算法。通過(guò)構(gòu)建微小擾動(dòng)并添加到推薦模型進(jìn)行對(duì)抗性訓(xùn)練,從而調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),增強(qiáng)推薦模型的魯棒性,算法通過(guò)亞馬遜數(shù)據(jù)集進(jìn)行了有效性驗(yàn)證。
基于用戶的協(xié)同過(guò)濾[3]是根據(jù)用戶的購(gòu)買歷史數(shù)據(jù),根據(jù)特征嵌入將相似用戶形成用戶偏好組,即相似用戶具有同類購(gòu)買偏好,從而向其他用戶預(yù)測(cè)和推薦物品。
基于用戶協(xié)同過(guò)濾的推薦如圖1所示,圖1中的用戶1和用戶2都對(duì)物品A和B感興趣,因此可以將用戶1和用戶2放入相似偏好的用戶組;當(dāng)發(fā)現(xiàn)用戶1又喜歡物品C時(shí),推薦算法可將物品C也推薦給用戶2。
圖1 基于用戶協(xié)同過(guò)濾的推薦Fig.1 Recommendation based on user collaborative filtering
研究人員采用皮爾森相似性表示用戶相似度關(guān)系,其計(jì)算公式如下:
CP分解算法[4](圖2)是目前數(shù)據(jù)分析領(lǐng)域常用的高維張量分解方法之一,可以降低參數(shù)維度,并且在計(jì)算復(fù)雜度上低于Tucker分解等方法。
圖2 CP分解算法Fig.2 Candecomp decomposition algorithm
CP分解算法模型結(jié)構(gòu),計(jì)算如式(2)所示:
其中,U∈RM×r,V∈RN×r,W∈RK×r。λ是長(zhǎng)度為r的向量,符合0<λr≤…≤λ1。向量λ在通常情況下往往被省略,從而得到式(4):
商品的推薦通常與其時(shí)間屬性相關(guān),比如季節(jié)不同,人們對(duì)衣服的色調(diào)偏好會(huì)有不同。因此,時(shí)間屬性作為推薦模型中一種時(shí)間序列上的感知參量,對(duì)精細(xì)化和個(gè)性化推薦有重要的意義。動(dòng)態(tài)協(xié)同過(guò)濾(Dynamic Collaborative Filtering,DCF)[5]模型采用時(shí)間因子刻畫時(shí)間尺度上的用戶偏好,可以較好地提高推薦質(zhì)量。
在DCF模型的基礎(chǔ)上,研究人員進(jìn)一步添加對(duì)抗性學(xué)習(xí)機(jī)制,提出了基于對(duì)抗性擾動(dòng)的動(dòng)態(tài)協(xié)同過(guò)濾(Adversarial Dynamic Collaborative Filtering,ADCF)模型(圖3)。
圖3 ADCF模型框架圖Fig.3 ADCF model framework
基于隨機(jī)梯度下降法(Stochastic Gradient Descent,SGD)[7]訓(xùn)練模型到收斂狀態(tài),同時(shí)通過(guò)添加不同對(duì)抗性擾動(dòng),使得模型性能和穩(wěn)定性降低,即該擾動(dòng)目的就是最大化地降低模型性能,公式如下:
通過(guò)訓(xùn)練減弱算法模型對(duì)微小擾動(dòng)的敏感性,從而最終得到在對(duì)抗性擾動(dòng)下具有較高魯棒性的模型,模型優(yōu)化目標(biāo)如式(14)所示:
因此,ADCF模型所進(jìn)行的對(duì)抗性訓(xùn)練類似于進(jìn)行極大值-極小值的零和博弈,如式(15)所示:
本文采用亞馬遜購(gòu)物網(wǎng)站的鞋子數(shù)據(jù)集進(jìn)行算法驗(yàn)證,并與五個(gè)常用的基線算法進(jìn)行性能對(duì)比。
表1是數(shù)據(jù)集的統(tǒng)計(jì)特性,數(shù)據(jù)集被隨機(jī)分成訓(xùn)練集(80%)、驗(yàn)證集(10%)和測(cè)試集(10%),分別用于模型參數(shù)訓(xùn)練、超參數(shù)驗(yàn)證調(diào)整和性能測(cè)試。
表1 亞馬遜數(shù)據(jù)集統(tǒng)計(jì)特性表Tab.1 Table of statistics characteristics of Amazon dataset
實(shí)驗(yàn)驗(yàn)證的硬件環(huán)境包括Inteli7-8700的CPU,RTX2080的計(jì)算顯卡,32 GB的內(nèi)存;軟件環(huán)境操作系統(tǒng)為Win10,算法框架為Tensorflow。
本文使用NDCG作為性能評(píng)估指標(biāo),如式(16)所示:
NDCG表示將推薦結(jié)果的Top-K列表中產(chǎn)品i相關(guān)度與理想列表相比的排序準(zhǔn)確性,該值越大,則表示推薦列表中物品位置順序越準(zhǔn)確。
研究人員對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行以下分析:(1)推薦準(zhǔn)確度性能對(duì)比;(2)模型魯棒性對(duì)比;(3)擾動(dòng)超參數(shù)ε的影響。
表2是和基線算法的對(duì)比結(jié)果,表明個(gè)性化推薦方法可以提高推薦準(zhǔn)確度。比如,相比非個(gè)性化的POP排序方法,MF、AMR、VBPR、DCF和ADCF等基于隱式反饋算法可以挖掘交易過(guò)程隱含的互動(dòng)特征,超過(guò)了簡(jiǎn)單的產(chǎn)品時(shí)間流行度特征排序,從而使針對(duì)不同用戶的推薦更具個(gè)性化,因此總體效果更為好。
表2 NDCG指標(biāo)下的性能對(duì)比Tab.2 Performance comparison based on NDCG index
同時(shí),對(duì)抗性訓(xùn)練過(guò)后的模型性能都有較大的提升。比如,AMR、ADCF相比MF、DCF的性能提升充分說(shuō)明對(duì)抗性學(xué)習(xí)可以挖掘更全面的數(shù)據(jù)特征,從而達(dá)到了更顯著的推薦效果;進(jìn)一步,通過(guò)橫向比較可以發(fā)現(xiàn)所有模型隨著K的增加都呈下降趨勢(shì),但增加了對(duì)抗性擾動(dòng)的ADCF模型的推薦效果更穩(wěn)定。
為了進(jìn)行魯棒性驗(yàn)證,研究人員首先對(duì)DCF模型進(jìn)行迭代訓(xùn)練直至達(dá)到收斂狀態(tài),然后在該收斂模型參數(shù)上進(jìn)行對(duì)抗性擾動(dòng),用于破壞當(dāng)前模型的穩(wěn)定狀態(tài),并且再次通過(guò)網(wǎng)絡(luò)參數(shù)的迭代和更新適應(yīng)不同擾動(dòng),從而實(shí)現(xiàn)新的收斂狀態(tài)。
表3中的數(shù)據(jù)是魯棒性實(shí)驗(yàn)結(jié)果對(duì)比。表3首先記錄了DCF和ADCF模型在加入相同大小擾動(dòng)后的性能變化幅度,也記錄了加入不同大小擾動(dòng)后的性能下降情況。比如,當(dāng)ε=0.05時(shí),DCF和ADCF的性能對(duì)比無(wú)擾動(dòng)狀態(tài),分別下降了10.5%和4.64%,DCF性能的下降幅度遠(yuǎn)大于ADCF,即表明添加擾動(dòng)訓(xùn)練后的ADCF模型相比DCF,對(duì)于不同程度的擾動(dòng)和噪聲的穩(wěn)定性更強(qiáng),即網(wǎng)絡(luò)參數(shù)可以更好地適應(yīng)外界的微小干擾,從而有效增強(qiáng)了系統(tǒng)的魯棒性。
表3 NDCG指標(biāo)下不同的魯棒性對(duì)比Tab.3 Robustness comparison under differentbased on NDCG index
表3 NDCG指標(biāo)下不同的魯棒性對(duì)比Tab.3 Robustness comparison under differentbased on NDCG index
圖4是超參數(shù)對(duì)模型性能影響的結(jié)果圖。為了研究控制擾動(dòng)幅度的超參數(shù)ε對(duì)模型的影響,研究人員先將另一個(gè)正則化超參數(shù)λ固定為1,計(jì)算了不同ε取值(即不同大小的擾動(dòng))情況下對(duì)NDCG@5推薦效果的影響。當(dāng)ε在0.001—1時(shí),模型性能呈顯著下降趨勢(shì),隨后性能呈小幅度變化。
圖4 ε對(duì)ADCF模型性能的影響Fig.4 Effect of ε on the performance of ADCF model
本文針對(duì)改進(jìn)推薦系統(tǒng)的魯棒性問(wèn)題,提出了一種基于對(duì)抗性訓(xùn)練的動(dòng)態(tài)協(xié)同過(guò)濾算法,通過(guò)在模型上加入微小擾動(dòng)并通過(guò)對(duì)抗性訓(xùn)練方式改進(jìn)模型參數(shù),從而增強(qiáng)推薦系統(tǒng)的魯棒性。通過(guò)在亞馬遜數(shù)據(jù)集上實(shí)驗(yàn)并與基線模型對(duì)比,結(jié)果表明經(jīng)過(guò)對(duì)抗訓(xùn)練的改進(jìn)算法,相比原始算法可減少推薦性能下降15%以上,即有效改進(jìn)了模型的魯棒性,同時(shí)有效提升了推薦準(zhǔn)確度。接下來(lái)可以進(jìn)一步考慮融入商品視覺(jué)和序列交互特征等提升推薦算法的準(zhǔn)確度,還可以研究顯示反饋對(duì)推薦算法的影響。