基於隨機遊走的推薦系統託攻擊抵禦

2020-10-27 12:00:39

論文:A DeepWalk-Based Approach to Defend Profile Injection Attack

這篇文章重點研究了一種基於深度使用者行為分析的推薦演演算法,以便找到與線上使用者檔案相似的使用者群,從而產生推薦。該演演算法對所有使用者資料資訊進行建模和分析,對資料進行抽象,並比較同一user behavior之間的相似性,剔除掉受到攻擊影響的user behavior,以此消除了偏向攻擊概要檔案的大部分影響。
比如這是使用者的購買行為記錄。
在這裡插入圖片描述
首先將使用者購買行為當作節點,並構建節點之間的網路,在構建網路時,使用一階相似度和二階相似度,前者是相鄰節點之間的相似度,後者是使用中間節點連線的節點之間的條件概率。ui和uj表示使用者行為的embedding。
在這裡插入圖片描述
之前的網路構建的方式都是因為使用者1先後購買了A和B,所以A和B有一條邊,但這篇文章中構建網路是通過結點與結點之間的一階相似度和二階相似度構建的。下圖就是構建好的網路。然後就開始隨機遊走,這個過程就是從任意一個節點出發,形成一條遊走序列,文中序列長度是固定的。隨機遊走保證了網路的「同質性」和「結構性」,前者是指距離相近節點的embedding應該儘量近似(比如u和s1、s2、s3、s4),後者指結構上相似的節點embedding應該儘量近似(u和s6)。
在這裡插入圖片描述

之後將形成的使用者行為序列輸送到skip-gram模型,這是一個word2vec的模型,就是給定當前的word,它能夠推理出周圍環境中的其他word(本文中,word就是user behavior)。在本文中,就是給一個當前節點的特徵,它能夠通過模型得到前後節點的特徵。
隨機遊走+skip-gram
經過了隨機遊走和skip-gram,我們就得到了每個節點的特徵,也就是得到了每個使用者的行為序列特徵,然後開始分析使用者在一定時間內的影象行為序列,特徵包括時間、觀看風格和相應的分數,這個過程首先將序列特徵向量轉化為二維影象,然後用深度學習模型去學習其中的特徵,這樣我們就得到了包含使用者行為以及周圍關係的user特徵,最後用一個深度學習模型計算user profile之間的相似度,並且去除掉相似度不高的節點,這裡也就是剔除掉受攻擊影響較大的特徵。如下圖:
在這裡插入圖片描述
最後通過保證使用者行為特徵可信來抵禦推薦系統中的託攻擊,通過上圖得到可信的特徵之後再使用一個深度學習模型形成推薦列表:
在這裡插入圖片描述