黃大巧,朱健軍,曹俊卓
(1.浙江通信服務網絡科技分公司,浙江 杭州 310000;2.浙江工業大學信息學院,浙江 杭州 310000)
因特網的廣泛應用帶來了爆炸式增長的信息冗余,雖然搜索引擎是當前人們獲取目標信息的有效手段,但是仍然無法滿足不同用戶不同時間的個性化信息需求服務。推薦系統[1]可以通過分析用戶的歷史購買行為,基于挖掘用戶、產品之間的特征相似性,向用戶推薦其感興趣的產品,刺激用戶產生新的購買需求。其中,個性化推薦融合了數據處理、特征挖掘和機器學習等多種技術,成為當前數據挖掘和商業應用系統的熱點研究領域之一[2]。
目前,通過神經網絡進行圖像分析和特征分類是推薦系統的重要環節,然而最新的研究發現,當對圖像添加微小的擾動后,可能導致神經網絡模型輸出完全不同的分類結果,即微小的輸入或噪聲擾動都可能造成生成的推薦結果完全不同,這代表推薦系統的魯棒性較差。
為了解決此問題,本文提出一種基于對抗性訓練改進模型魯棒性的協同過濾推薦算法。通過構建微小擾動并添加到推薦模型進行對抗性訓練,從而調整網絡結構參數,增強推薦模型的魯棒性,算法通過亞馬遜數據集進行了有效性驗證。
基于用戶的協同過濾[3]是根據用戶的購買歷史數據,根據特征嵌入將相似用戶形成用戶偏好組,即相似用戶具有同類購買偏好,從而向其他用戶預測和推薦物品。
基于用戶協同過濾的推薦如圖1所示,圖1中的用戶1和用戶2都對物品A和B感興趣,因此可以將用戶1和用戶2放入相似偏好的用戶組;當發現用戶1又喜歡物品C時,推薦算法可將物品C也推薦給用戶2。

圖1 基于用戶協同過濾的推薦Fig.1 Recommendation based on user collaborative filtering
研究人員采用皮爾森相似性表示用戶相似度關系,其計算公式如下:

CP分解算法[4](圖2)是目前數據分析領域常用的高維張量分解方法之一,可以降低參數維度,并且在計算復雜度上低于Tucker分解等方法。

圖2 CP分解算法Fig.2 Candecomp decomposition algorithm
CP分解算法模型結構,計算如式(2)所示:

其中,U∈RM×r,V∈RN×r,W∈RK×r。λ是長度為r的向量,符合0<λr≤…≤λ1。向量λ在通常情況下往往被省略,從而得到式(4):

商品的推薦通常與其時間屬性相關,比如季節不同,人們對衣服的色調偏好會有不同。因此,時間屬性作為推薦模型中一種時間序列上的感知參量,對精細化和個性化推薦有重要的意義。動態協同過濾(Dynamic Collaborative Filtering,DCF)[5]模型采用時間因子刻畫時間尺度上的用戶偏好,可以較好地提高推薦質量。

在DCF模型的基礎上,研究人員進一步添加對抗性學習機制,提出了基于對抗性擾動的動態協同過濾(Adversarial Dynamic Collaborative Filtering,ADCF)模型(圖3)。

圖3 ADCF模型框架圖Fig.3 ADCF model framework

基于隨機梯度下降法(Stochastic Gradient Descent,SGD)[7]訓練模型到收斂狀態,同時通過添加不同對抗性擾動,使得模型性能和穩定性降低,即該擾動目的就是最大化地降低模型性能,公式如下:

通過訓練減弱算法模型對微小擾動的敏感性,從而最終得到在對抗性擾動下具有較高魯棒性的模型,模型優化目標如式(14)所示:

因此,ADCF模型所進行的對抗性訓練類似于進行極大值-極小值的零和博弈,如式(15)所示:

本文采用亞馬遜購物網站的鞋子數據集進行算法驗證,并與五個常用的基線算法進行性能對比。
表1是數據集的統計特性,數據集被隨機分成訓練集(80%)、驗證集(10%)和測試集(10%),分別用于模型參數訓練、超參數驗證調整和性能測試。

表1 亞馬遜數據集統計特性表Tab.1 Table of statistics characteristics of Amazon dataset
實驗驗證的硬件環境包括Inteli7-8700的CPU,RTX2080的計算顯卡,32 GB的內存;軟件環境操作系統為Win10,算法框架為Tensorflow。
本文使用NDCG作為性能評估指標,如式(16)所示:

NDCG表示將推薦結果的Top-K列表中產品i相關度與理想列表相比的排序準確性,該值越大,則表示推薦列表中物品位置順序越準確。
研究人員對實驗結果進行以下分析:(1)推薦準確度性能對比;(2)模型魯棒性對比;(3)擾動超參數ε的影響。
表2是和基線算法的對比結果,表明個性化推薦方法可以提高推薦準確度。比如,相比非個性化的POP排序方法,MF、AMR、VBPR、DCF和ADCF等基于隱式反饋算法可以挖掘交易過程隱含的互動特征,超過了簡單的產品時間流行度特征排序,從而使針對不同用戶的推薦更具個性化,因此總體效果更為好。

表2 NDCG指標下的性能對比Tab.2 Performance comparison based on NDCG index
同時,對抗性訓練過后的模型性能都有較大的提升。比如,AMR、ADCF相比MF、DCF的性能提升充分說明對抗性學習可以挖掘更全面的數據特征,從而達到了更顯著的推薦效果;進一步,通過橫向比較可以發現所有模型隨著K的增加都呈下降趨勢,但增加了對抗性擾動的ADCF模型的推薦效果更穩定。
為了進行魯棒性驗證,研究人員首先對DCF模型進行迭代訓練直至達到收斂狀態,然后在該收斂模型參數上進行對抗性擾動,用于破壞當前模型的穩定狀態,并且再次通過網絡參數的迭代和更新適應不同擾動,從而實現新的收斂狀態。
表3中的數據是魯棒性實驗結果對比。表3首先記錄了DCF和ADCF模型在加入相同大小擾動后的性能變化幅度,也記錄了加入不同大小擾動后的性能下降情況。比如,當ε=0.05時,DCF和ADCF的性能對比無擾動狀態,分別下降了10.5%和4.64%,DCF性能的下降幅度遠大于ADCF,即表明添加擾動訓練后的ADCF模型相比DCF,對于不同程度的擾動和噪聲的穩定性更強,即網絡參數可以更好地適應外界的微小干擾,從而有效增強了系統的魯棒性。
表3 NDCG指標下不同的魯棒性對比Tab.3 Robustness comparison under differentbased on NDCG index

表3 NDCG指標下不同的魯棒性對比Tab.3 Robustness comparison under differentbased on NDCG index
圖4是超參數對模型性能影響的結果圖。為了研究控制擾動幅度的超參數ε對模型的影響,研究人員先將另一個正則化超參數λ固定為1,計算了不同ε取值(即不同大小的擾動)情況下對NDCG@5推薦效果的影響。當ε在0.001—1時,模型性能呈顯著下降趨勢,隨后性能呈小幅度變化。

圖4 ε對ADCF模型性能的影響Fig.4 Effect of ε on the performance of ADCF model
本文針對改進推薦系統的魯棒性問題,提出了一種基于對抗性訓練的動態協同過濾算法,通過在模型上加入微小擾動并通過對抗性訓練方式改進模型參數,從而增強推薦系統的魯棒性。通過在亞馬遜數據集上實驗并與基線模型對比,結果表明經過對抗訓練的改進算法,相比原始算法可減少推薦性能下降15%以上,即有效改進了模型的魯棒性,同時有效提升了推薦準確度。接下來可以進一步考慮融入商品視覺和序列交互特征等提升推薦算法的準確度,還可以研究顯示反饋對推薦算法的影響。