RecSys提前看 | 深度學習在推薦系統中的最新應用

wujiy發表於2019-09-12

2019 年 9 月 16 日至 20 日,第 13 屆 ACM Conference on Recommender System(RecSys)在丹麥哥本哈根召開。作為推薦系統的頂會,RecSys 一如既往受到了業界的廣泛關注。與其他機器學習會議相比,RecSys 一向重視解決實際的問題,即結合在實際應用場景中推薦系統效能提升、效果提高等問題提出設計策略和演算法解決方案等。隨著深度學習研究的進一步深入,深度學習推薦系統中的應用依然是研究熱點之一,本次會議中神經網路(Graph Neural Network,GNN)、經典深度學習模型都有所應用及改進。本文從中選取三篇,進行針對性的分析:

  • Addressing Delayed Feedback for Continuous Training with Neural Networks in CTR prediction,提出一種基於損失函式神經網路模型,用於解決連續學習過程中的延遲反饋問題。

  • Tripartite Heterogeneous Graph Propagation for Large-scale Social Recommendation,提出一種應用於社會化推薦系統的異構圖傳播結構。

  • On Gossip-based Information Dissemination in Pervasive Recommender Systems,提出一種離線手機端與鄰近區域內其他裝置之間推薦評分資料交換問題的普適推薦系統策略。

Addressing Delayed Feedback for Continuous Training with Neural Networks in CTR prediction

RecSys提前看 | 深度學習在推薦系統中的最新應用

原文地址:https://arxiv.org/abs/1907.06558?context=stat.ML

應用於廣告展示的推薦系統面臨的一個重要難點是,由於季節性、廣告活動的變化和其他因素,廣告特徵分佈和點選率(click through rate,CTR)會隨著時間而發生巨大的變化。解決這一問題的主要策略是不斷地基於新資料連續訓練預測模型。然而一些應用場景中資料標籤僅存在一段時間且會出現一定的隨機延遲,這些延遲的反饋標籤對連續訓練中的資料新鮮度提出了挑戰:新資料在被訓練演算法接收時可能沒有完整的標籤資訊。一個簡單的解決這個問題的方案是除非使用者給資料打正標籤,否則任何一個資料點都是一個負樣本。這種方案往往帶來較低的 CTR,從而導致使用者體驗差和效能差。

本文的重點是找到推薦系統損失函式深度學習模型的最佳組合,使其在存在標籤延遲反饋的情況下,能夠從連續資料流中進行有效的大規模學習。本文考慮兩種模型:一是簡單 Logistic 迴歸模型,該模型應用簡單、效能良好以及易於接收和處理線上訓練的新訓練樣本,在展示廣告中得到了廣泛的應用。二是廣度-深度(wide-deep)模型,該模型能夠有效解決推薦系統的特徵複雜性和多樣性問題。此外,本文考慮五種損失函式:對數損失、假陰性(fake negative,FN)加權損失、FN 校準、正未標記損失和延遲反饋損失。

本文是首次使用深度學習模型來評估展示廣告中的機率 CTR(pCTR),同時解決資料標籤延遲反饋問題。考慮到由於時間成本較高,深度神經網路很難在線上訓練中應用,本文在不增加工程成本的情況下,對延遲反饋問題進行基準測試並提出時間成本可行的解決方案。

模型分析

本文提出了一種連續訓練機制,假設前提是等待有限長的時間能夠得到廣告的正向參與標籤。針對這一類問題,傳統方法一般是預先給定樣本資料負標籤,直到使用者標記後改為正標籤。有偏資料分佈,即觀測到的分佈情況,包含了標記為負的實際資料分佈的所有樣本。

本文考慮兩種學習模型,簡單 Logistic 迴歸模型和廣度-深度(wide-deep)模型。

(1)簡單 Logistic 迴歸模型

本文使用標準 Logistic 迴歸模型,該模型在展示廣告領域得到了廣泛的應用。

RecSys提前看 | 深度學習在推薦系統中的最新應用

其中 sigma(.) 表示 sigmoid 函式,輸入 x 是與特定請求的使用者和候選廣告相關的數千個特徵的稀疏表示。

(2)廣度-深度模型

廣度-深度模型包含兩個組成部分:廣度模組(廣義線性模型)和深度模組(標準前向-後向神經網路)。廣度模組處理原始輸入特徵和轉換後的特徵,例如交叉產品特徵,將非線性特徵新增到廣義線性模型中。而深度模組主要是將高維稀疏特徵轉化為嵌入向量,從而將分類特徵轉換為密集的低維表示。廣度-深度模型對 CTR 的預測如下:

RecSys提前看 | 深度學習在推薦系統中的最新應用

其中,w_wide 表示廣度模組的權重,w_deep 表示深度模組的權重,phi(x) 表示交叉產品變換,alpha 為深支末級啟用。

損失函式分析

(1)延遲反饋損失(delayed feedback loss)

在延遲反饋損失函式中,假定時滯服從指數分佈,並將此模型與 Logistic 迴歸或深度模型聯合訓練。引數θ和 w_d 的正則對數似然最佳化為:

RecSys提前看 | 深度學習在推薦系統中的最新應用

其中 alpha 為正則化引數,L_DF 表示為:

RecSys提前看 | 深度學習在推薦系統中的最新應用

f_θ(x)對應 pCTR 模型的輸出,d 對應於點選一個正樣本的時間,而 e 代表自廣告播放以來經過的時間。延遲反饋損失函式的數值計算格式為:

RecSys提前看 | 深度學習在推薦系統中的最新應用

(2)正未標記損失(positive-unlabeled loss, PU 損失)

本文在 FN 設定下使用正未標記(positive unlabeled,PU) 損失,將有偏訓練資料中的所有負樣本視為未標記。損失函式為:

RecSys提前看 | 深度學習在推薦系統中的最新應用

損失函式可以看作是對正樣本和負樣本的傳統對數損失。此外,只要觀察到一個正樣本,就向負梯度的相反方向遞進。這個假設是合理的,因為對於每個正樣本,都有基於假負樣本梯度的引數更新。

(3)假陰性加權損失(fake negative weighted,FN 加權損失)

這種損失依賴於重要性抽樣。在本文的訓練設定中,樣本被標記為負後進入訓練佇列,一旦使用者參與後立即使用正標籤進行復制。給定下面的假設:

RecSys提前看 | 深度學習在推薦系統中的最新應用

RecSys提前看 | 深度學習在推薦系統中的最新應用

其中 b 為偏移觀測分佈,p 為真實資料分佈。由於所有樣本資料初始標籤都為負,所以有:

RecSys提前看 | 深度學習在推薦系統中的最新應用

假陰性加權損失函式為:

RecSys提前看 | 深度學習在推薦系統中的最新應用

L_IS 對於 f_θ的梯度為:

RecSys提前看 | 深度學習在推薦系統中的最新應用

當∂L_IS/∂f_θ = 0 時,f_θ (x) = p(y = 1|x)

(4)FN 校準(fake negative calibration)

FN 校準中,模型估計偏移分佈 b,L_IS(θ) 中 p(y=1|x) 改為:

RecSys提前看 | 深度學習在推薦系統中的最新應用

由於對於偏移分佈中的每一個正分佈都能觀察到 FN,即 b(y=1|x)≤0.5 和 p)y=1|x≤1,該分佈始終有效。

實驗設定

(1)離線指標

實驗目的:離線指標實驗目的是驗證所提出的損失函式是否適用於 CTR 預測問題,並用兩個不同的資料集(一個內部資料集和一個公共資料集)對模型進行了訓練和測試。

評價指標:Log 損失(Log loss)、相對交叉熵(relative cross entropy,RCE),精確召回曲線下面積(area under precision-recall curve, PR-AUC)。

(2)線上指標

實驗目的:線上指標實驗目的是對離線情況下效果最優的模型和損失函式進行進一步評估。線上指標反映了不同方法解決延遲反饋問題的實際效能。

資料庫:以 Twitter 資料的延遲評估資料集執行評估,比較「控制」和「處理」(在 A/B 測試框架中)之間的效能。評估結束後 9 小時內刪除假負樣本標籤。

評價指標:集合相對交叉熵(pooled RCE)、每千個請求收益(revenue per thousand requests,RPMq)。

(3)引數

本文在線上和離線實驗中均使用隨機梯度下降最佳化運算元(stochastic gradient descent,SGD),學習速率為 0.02,衰退速率 0.000001,批處理大小為 128,延遲反饋損失學習速率為 0.005,延遲反饋模型的 L_2 正則化引數為 2。廣度-深度模型中 4 層模型大小為 [400,300,200,100],中間層使用 ReLu 啟用函式權重引數使用 Glorot 最佳化。

(4)資料

離線實驗中使用 Criteo 公開資料庫。此資料庫描述單擊後的轉換,因此與 CTR 預測相比,時間延遲通常更長。每個樣本由一組雜湊分類特徵和幾個連續特徵描述。訓練樣本總數為 1550 萬個,測試樣本為 350 萬個。為了從原始的公共資料集中建立偽負資料,執行以下過程:使用最新的轉換時間或單擊時間作為快照時間,並在單擊所有正樣本時引入偽負樣本。原始資料集用於驗證 Logistic 和延遲反饋損失函式估計的實驗,而包含單擊時 FN 樣本的資料庫則用於評估 PU、FN 加權和 FN 校準損失函式

對於離線指標實驗中的內部資料,使用線下 Twitter 4 天的資料。評估過程是基於第二天的資料進行的。由於僅有一小部分廣告提供了使用者點選功能,資料標籤的嚴重不平衡給演算法帶來了很大難度。為解決這一問題,本文的訓練設定中將負樣本減少到原始資料集的 5%,並且在損失函式中對負樣本採用更高的權重。經過上述處理,訓練樣本約為 6.68 億條影片廣告,而測試資料為 700 萬條廣告。

線上指標中使用 Twitter 線上庫,在線上實驗中,所有的模型都在一個連續的資料流上進行訓練,這個資料流是由回撥資料實時生成的。將每個訓練樣本釋出到模型的訓練服務訂閱的資料流中。連續訓練過程每 10 分鐘輸出一個模型,然後由預測服務提取這些模型以服務於線上場景。

實驗結果

(1)離線評估

基於 Criteo 公開資料庫的離線實驗結果在表 1 中。使用延遲反饋損失函式產生的 RCE 最高(17.32),其次是 FN 校準損失函式(RCE 為 17.29),與 Log 損失的 RCE 持平。使用 PU 損失函式的結果最差,且在不同迴圈輪次實驗中效果也最不穩定。實驗結果表明,延遲反饋損失函式更適合於簡單的 pCTR 模型(例如 Logistic 迴歸)和較少的訓練樣本。對於複雜的廣度-深度模型則需要更穩健的解決方案,例如應用重要樣本抽樣策略等。

RecSys提前看 | 深度學習在推薦系統中的最新應用

表 1. 基於公共 Criteo 資料的線性模型的離線結果。

使用離線 Twitter 資料的實驗結果在表 2 和表 3 中,分別用的是 Logistic 迴歸模型和廣度-深度模型。由實驗結果可知,廣度-深度模型在應用不同損失函式的情況下,效果都優於 Logsitc 迴歸模型。

RecSys提前看 | 深度學習在推薦系統中的最新應用

表 2. Twitter 資料的 Logistic 迴歸模型離線結果

RecSys提前看 | 深度學習在推薦系統中的最新應用

表 3. Twitter 資料的廣度-深度模型離線結果

(2)線上評估

表 4 給出使用最優損失函式的廣度-深度模型結果。應用 FN 加權損失函式和 FN 校正損失函式的 RPMq 值均高於傳統的對數損失函式(分別提升了 55.10% 和 54.37%)。

RecSys提前看 | 深度學習在推薦系統中的最新應用

表 4. 廣度-深度模型以及效能最佳的損失函式(Twitter 資料)的線上結果

總結與分析

本文重點研究具有損失函式神經網路模型在連續學習過程中的延遲反饋問題。由本文的分析可知,對於損失函式的選擇需重點考慮梯度的時間依賴性,即基於偽負樣本的引數更新先於來自正樣本的更新。基於本文工作,後續考慮將重要樣本抽樣策略與時滯建模相結合,為訓練樣本分配與時間相關的權重。此外,還將繼續研究連續學習中的其他問題,例如災難性遺忘和過度擬合,以及研究更系統的方法來處理資料集偏差。

Tripartite Heterogeneous Graph Propagation for Large-scale Social Recommendation

RecSys提前看 | 深度學習在推薦系統中的最新應用

原文地址:https://arxiv.org/abs/1908.02569?context=stat

神經網路(GNN)是一種有效的關係表示方法。應用於推薦系統 GNN 還存在一些難點,例如複雜的噪聲連線和高度的異構性、過平滑等。本文提出了一種新的圖嵌入方法——異構圖傳播(Heterogeneous Graph Propagation, HGP)來解決這些問題。HCP 使用 組-使用者-專案(group-user-item)三部分圖作為輸入,以減少大規模社會化推薦系統圖中的邊緣數和路徑複雜性。為了解決過平滑問題,HCP 將節點嵌入到一個基於 PageRank 的個性化傳播方案中,分別用於組-使用者圖和使用者-專案圖。每個圖中的節點嵌入使用注意力機制進行整合。

模型分析

GNN 有多重不同的架構,本文基於圖卷積神經網路(Graph convolutional networks)結構的 GNN 來處理屬性化的多重異構網路,同時利用了個性化的 PageRank 方案。對於社會化推薦系統來說,專案、使用者和社會關係構成了節點和邊型別多樣的複雜網路。單純地將傳播方案直接應用到異構圖中,可能會導致對具有優勢的邊緣的偏差訓練。本文提出的 HCP 能夠獨立地傳播每種邊型別的鄰域,然後將最終的節點表示與注意力模型相結合。

對於一個異構圖 G,節點對映函式為ϕ : V → O,邊對映函式為ψ : E → R。Ar 表示包含型別為 r 的邊的鄰域矩陣。Aˆr 表示 Ar 的對稱規範化鄰接矩陣。將節點劃分為不同種類:X1,X2, ...,X|O|,分別應用預測神經網路 Hi=f_i(Xi),將結果連線起來得到:H =[H1,H2, ...,H|O |]。HGP 使用具有附加可學習權重的非線性傳播來學習深度節點表示:

RecSys提前看 | 深度學習在推薦系統中的最新應用

將最終的節點表示矩陣與注意力模型(attention model)相結合。在保持通用性的前提下,我們從 z(k)_r 中為每種邊緣型別選擇第 i 個節點(行)。將這些向量疊加形成一個矩陣 Y_i,使用單層感測器的注意力模型:

RecSys提前看 | 深度學習在推薦系統中的最新應用

其中,d_k 表示輸入查詢和鍵的維度。利用該模型,HCP 對 Y_i 進行注意力計算如下:

RecSys提前看 | 深度學習在推薦系統中的最新應用

其中,查詢、鍵和值是相同的,只是基於不同的權重矩陣相乘。然後,HGP 將 Y′_i 的所有行連線起來,並將其傳遞給線性層,生成第 i 個節點的表示向量 z_i。在本文提出的社會化推薦系統的應用中,計算使用者和專案表示之間的點積相似性來預測 CTR

RecSys提前看 | 深度學習在推薦系統中的最新應用

其中 X_i 是特徵矩陣 X 的第 i 行向量。本文利用隨機梯度下降演算法,透過降低交叉熵損失來最佳化模型。遞迴的跨層鄰域擴充套件需要消耗大量的時間和較高記憶體來訓練大而密集的圖,本文透過調整取樣機率使其與每種型別的節點數成比例來解決這個問題。為了減小近似方差,取樣機率與節點的階數成正比。HGP 完整的模型架構見圖 1。

RecSys提前看 | 深度學習在推薦系統中的最新應用

圖 1. 應用於社會化推薦系統的 HGP 的示意結構。HGP 為每種邊緣型別獨立地傳播鄰域,然後將最終的節點表示與注意力模型相結合。本文計算使用者和專案表示之間的點積相似度來預測 CTR。

實驗分析

資料庫:本文使用從大型社交網路收集的資料庫,包含組、使用者和專案三種節點型別。當使用者屬於同一組,則組和使用者節點相連。與傳統圖中組所有使用者都連線的方式比較,組節點有效地減少了邊的數量和路徑的複雜性。當使用者與專案有互動行為時,專案和使用者節點相連線。資料庫中共有 1645279 個節點連線 4711208 個邊。使用 BERT 和 VGG16 提取視覺語言屬性的高階特徵。利用線性嵌入層將分類屬性轉化為密集特徵。最後,聚合所有特徵來表示節點。使用前 11 天的資料作為訓練集,隨後 2 天的資料作為驗證集,最後 4 天的資料作為測試集。

對比模型:metapath2vec、metapath2vec+EGES、MNE+EGES、FastGCN、HGP。

驗證指標:ROC-AUC、PR-AUC、F1 score。

實驗平臺:NAVER Smart 機器學習平臺(NSML)。

RecSys提前看 | 深度學習在推薦系統中的最新應用

表 1. 對比模型的效能比較。連字元「-」表示由於結果存在較大方差,無法得到穩定的效能。

對比實驗結果見表 1,由實驗可知,PR-AUC 和 F1 值與 ROC-AUC 成正比。不使用節點屬性的 metapath2vec 無法完成 CTR 預測。HGP 的效能優於 FastGCN,這是由於 FastGCN 存在過平滑問題,不適用於異構圖。HGP 效能優於其他異構圖網絡模型。此外,HGP 的驗證損失能夠在半天內收斂,因而能夠滿足實際應用場景中推薦系統所需的服務模型日常更新的要求。

RecSys提前看 | 深度學習在推薦系統中的最新應用

圖 2. 不同傳播步驟下的 HGP 效能比較

圖 2 給出不同傳播步驟下 HGP 的效能。HGP 需要至少兩個步驟才能獲知統一組內其他節點的資訊(使用者節點→組節點→使用者節點)。如果傳播步驟為 4 步,則可以接近具有共同偏好的使用者的其他首選項(使用者節點→組節點→使用者節點→組節點)。傳統架構的效能隨著傳播步驟數目的增加而降低。而 HGP 在步驟為 10 時達到最佳效能,併成功地避免了過平滑現象。

總結與分析

本文提出了一種應用於社會化推薦系統的圖結構,即群-使用者-專案三方的多重異構網路。本文提出的圖形配置方案將計算時間和記憶體消耗減少為節點數的平方,組節點的屬性有助於挖掘使用者之間的社會關係。此外,本文還提出了一種基於圖的推薦方法,稱為異構圖傳播(HGP)機制。為了避免過平滑問題,HGP 使用個性化 PageRank 方案傳播鄰域資訊。HGP 能夠有效地處理圖的異構性。為解決擴充套件性問題,本文采用了適合於異構環境的取樣方法。後續可以透過新增其他社會屬性(如地址、教育背景和共同興趣)等來擴充套件圖表,從而有效提升社會化推薦系統的效果。

On Gossip-based Information Dissemination in Pervasive Recommender Systems

RecSys提前看 | 深度學習在推薦系統中的最新應用

原文地址:https://arxiv.org/abs/1908.05544

普適計算採用分散式和嵌入式裝置隨時隨地完成通訊和資料處理。隨著手機的推廣使用、手機效能的提升以及網路通訊能力的提升,普適計算的應用價值越來越高。本文重點研究離線手機端與鄰近區域內其他裝置之間推薦評分資料的交換問題。本文提出了一種傳播和過濾策略,將傳統的尋找相似的對等裝置和交換專案偏好的方法從分散領域轉化為普適推薦系統問題。同時本文還給出了一個移動應用程式原型,實現了所提出的裝置到裝置的資訊交換。

普適計算模型選擇

近年來,隨著資料獲取、儲存、處理的渠道越來越多,關於資料隱私保護的技術受到越來越多的關注。歐盟於 2018 年 5 月透過了《通用資料保護條例》,針對資料處理、獲取等提出了嚴格的限制,但是這些限制僅停留在使用者規則的層面,並不涉及技術層面的約束。

目前,解決大規模授權資料池隱私問題的推薦系統架構主要有三種:一是,聯邦學習(Federated Learning),基於分佈在客戶端中的資料,透過中央伺服器和客戶端之間的通訊生成集中的推薦模型。二是,分散推薦系統,在沒有中央伺服器的情況下,分散式客戶端直接對等通訊互動。它們通常建立在使用八卦機制(Gossip)的檔案共享對等網路的基礎上,在對等節點加入或網路擾動的情況下,建立起用於快速網路搜尋和網路恢復的邏輯覆蓋網路。三是,基於位置感知推薦的普適系統,無需將本地資料傳輸到中央伺服器進行推薦。

在這三種方法中,本文認為普適推薦系統效果最好。一是,由於智慧手機本身的資料和移動計算能力提升,使得在智慧手機端訓練和生成推薦模型變得更加可行。二是,普適系統中推薦模型構建過程僅在裝置上完成,因此對網路連通的情況沒有任何要求。本文提出了一種基於 Gossip 機制的普適推薦系統資料傳播和過濾策略,利用 Google 的 Nearby Connection API,透過安卓手機應用程式的方式實現了傳播過程。

策略分析

本文提出一種基於運動中的人攜帶的移動裝置的推薦資料傳播策略。當裝置物理空間位置靠近時,裝置之間會進行後臺資料交換,之後進行裝置內的定製過濾過程。作者將此方法稱為傳播(Propagate)和過濾(Filter)。

RecSys提前看 | 深度學習在推薦系統中的最新應用

圖 1:Propagate 和 Filter 提出的四種資料型別及其在傳播中的應用

整個傳播和過濾機制的設計流程如下:

a. 資料型別定義

規定每個裝置攜帶四種型別的資料(參見圖 1),基於四種型別的資料生成本地個性化推薦。

  1. 對等首選項列表(Peer Preference List):對等裝置中評定的專案列表,資料格式為二進位制數或標量等級。在本文的原型實現中,對等裝置中實現對電影的分級打分,其中每個電影都由公共可用的網路電影資料庫(Internet Movie Database,IMDb)提供的唯一識別符號進行標識。對等首選項列表資料儲存在裝置上。

  2. 鄰域首選項列表(Neighborhood Preference List):每一個節點將之前從 k 個最相似的節點收集到的打分資料整合到一個專案評分列表中。因此,它是未知對等裝置中資料子集的首選項列表。鄰域首選項列表能夠傳播給其他對等裝置,同時每個對等裝置也能夠控制將自己的哪些對等首選項列表傳播到附近對等裝置中。

  3. 相似資料(Similarity Data):任何型別的資料都可用於計算對等相似度。相似資料能夠傳播給附近的對等裝置,因此必須保證其隱私性。隱私保護相似性比較可以在專案向量和文字資料上進行。

  4. 上下文資料(Context Data):用於描述特徵的資料,如位置、時間、天氣或對等活動(跑步、吃飯、通勤)等,能夠被感知(例如透過感測器)或檢索(例如透過網路)。

b. 傳播

當兩個或多個對等裝置在物理空間上相互靠近時,智慧手機建立快速和安全的配對連線,並交換他們的鄰域首選項列表和相似資料。在上述傳播過程中,接收到的資料包含上下文資料,例如描述相遇的時間或位置。

c. 過

傳播過程中收集到的資料包含大量未過濾的原始資料。為了得到有用資訊,需要透過相似性進行資料過濾。從對等裝置接收到資料後,裝置開始執行過濾過程。首先,基於相似資料對比傳送方和接收方的相似度;第二,如果對等相似度高於 k-最高值,則基於 k-最相似對等裝置的對等首選項列表和鄰域首選項列表對鄰域首選項列表進行重新取樣;第三,基於本地可用的資料執行推薦演算法,以獲得新的或更新以前生成的推薦評級結果。

d. 透過斷開連線實現隱私保護

傳播和過濾的傳播過程透過特殊的方式在鄰近的智慧手機之間建立無線連線,交換相似資料和鄰域首選項列表,然後終止連線。此時網路拓撲結構基本上是斷開的,沒有可利用的對等關係資訊(例如,社交網路、推薦系統或車輛網路中的對等網路重疊情況等)。能夠訪問到的對等方的資料總量由連線時間和對等方公開的資料量所決定。

e. 增強本地可用的配置檔案資料

Gossip 協議需要一個連線的對等網路以便聚合相似的對等裝置,同時透過對等取樣保持網路連線。在傳統的分散推薦系統中,為了實現對等取樣,即使專案和對等裝置都不在鄰域空間內,即它們在網路中隨意移動,仍需要保證網路連線。當一個對等裝置從一個類似的對等裝置接收資料時,會重新取樣他/她的鄰域偏好列表;如果不是相似對等節點,則什麼也不做。因此,傳播和過濾會建立一個恆定的專案推薦清單,清單能夠在相似的對等裝置之間流轉,而不會在不同的對等裝置之間流轉。該屬性允許在從未在地理位置上彼此接近的對等裝置之間傳遞資訊,並避免不同對等節裝置間的資訊傳輸。從這個意義上講,傳播和過濾解決了普適推薦系統容易出現的資料稀缺性問題。

應用情況

基於本文的演算法已經開發完成了一個 Android 移動應用程式,且在 Google Play 商店中提供(https://play.google.com/store/apps/details?id=de.tub.affinity.android)。該應用程式的活動共享模式為廣播-發現,即裝置向其近鄰的其它裝置傳送廣播,同時偵聽其它裝置的廣播。共享過程由 Google Nearby Connetions API 處理 (https://developers.google.com/nearby/connections/overview),完全在後臺執行。當兩個手機端相互連通,迅速交換評分資料並將資料儲存在本地,值得注意的是,在評分資料交換的過程中手機並不需要聯網。

本文應用場景資料為在 IMDb 中註冊和唯一標識的電影。電影的評分結論為 1 到 5 星不等,並以格式如下格式儲存:(使用者 ID、電影 ID、評分資料)。電影分級列表實現了對等首選項列表。一旦使用者完成了評級打分,他/她就可以啟用共享。

實驗分析

本文進行了六個不同的實驗,裝置為 Nexus 5 智慧手機,手機具備最新的藍芽版本(包括 BLE)和 Wi-Fi 連線功能。

a. 大量評分資料共享:共享評分資料約為 1000 條,大小為 100KB。一旦建立連線,全部 1000 條資料同時立刻傳輸,且不會丟失任何資料。

b. 在多個裝置之間共享資料:在四個智慧手機之間共享評分資料,這四個手機的評分是獨立不相交的。評分資料得以正確和無損的傳輸。

c. 公共交通工具中的資料共享:我們成功地在柏林的公交車和地下鐵的三個裝置之間共享評分資料,這些裝置暴露在許多 WiFi 和藍芽干擾訊號下。實驗表明,瞬時的網路連線中斷並不會影響資料傳輸。一旦重新建立網路連線,共享的佔位推薦資訊被經由開放電影資料庫(http://www.omdbapi.com/)API 獲取得到的電影後設資料填充。

d. 有效傳輸範圍:在包含藍芽、BLE、Wifi 等通訊 API 條件下,二類裝置例如手機等一般有效的傳輸半徑為 10 米。本文在室內和戶外 3 至 12 米無障礙半徑範圍內進行實驗,實驗結果見表 1。實驗結論是,評分資料的有效傳播半徑在 3 到 6 米之間。

RecSys提前看 | 深度學習在推薦系統中的最新應用

表 1. 不同傳輸範圍的連線成功率

e. 平均初始連線延遲:測量兩個裝置的初始連線延遲,即在建立連線之前所需的時間。為保證成功連線,裝置之間距離為 1 米,連線是透過不同的應用程式實現的(待連線裝置的 ID 不在快取中)。平均連線延遲為 25.9 秒,最小連線延遲為 11 秒,最大連線延遲為 41 秒。

f. 電池耗盡:由於廣播和發現步驟(預連線)必須連續執行,因此透過實驗驗證長時間在後臺進行廣播、發現和共享資訊是否可行。由於無法模擬現實場景,因此只測量應用程式的預連線電池消耗量,這就為電池消耗量提供了一個下限。將兩個裝置重置為出廠設定。跟蹤三種不同情況下的電池電量:(1)在後臺執行並開啟共享的應用程式;(2)關閉共享的應用程式;(3)出廠設定條件下,在所有三種情況下,顯示器都關閉。實驗結果見表 2。

RecSys提前看 | 深度學習在推薦系統中的最新應用

表 2. 預連線的平均電池消耗(廣播和發現)

實驗結果表明,本文提出的傳播-過濾策略在大規模評分資料和多裝置互動的情況下,以及在諸如地鐵等沒有網際網路連線的地區,都可以可靠工作。當然,該策略目前還存在一定的侷限性。首先,資料的可靠傳輸半徑為 6 米,這一方面加強了隱私保護,另一方面卻限制了能夠共享資料的潛在對等裝置的數量。第二,平均初始連線延遲(25.9 秒)過長,這就造成了經過的行人之間,或在紅綠燈處等待、在咖啡館或餐廳中彼此相鄰或乘坐公共交通工具等場景中該策略都不適用。第三,電池的耗電量相對較高,每小時至少耗電 5%,這就造成無法持續廣播和發現。

總結與討論

後續工作重點是啟動移動應用程式來收集使用資料。本文中的策略對取樣過程和推薦演算法都採用保留佔位符的方式,一旦能夠收集使用資料,就可以測試取樣和推薦策略的不同組合。此外,還將繼續收集和評估使用者對應用程式的反饋,包括使用者介面和使用者體驗等。

作者介紹:仵冀穎,工學博士,畢業於北京交通大學,曾分別於香港中文大學和香港科技大學擔任助理研究員和研究助理,現從事電子政務領域資訊化新技術研究工作。主要研究方向為模式識別計算機視覺,愛好科研,希望能保持學習、不斷進步。

相關文章