韓佳良,韓宇棟,劉譞哲,趙耀帥,馮迪*
基于云?端融合的個性化推薦服務系統
韓佳良1,韓宇棟1,劉譞哲1,趙耀帥2,3,馮迪2,3*
(1.高可信軟件技術教育部重點實驗室(北京大學),北京 100871; 2.中國民航信息網絡股份有限公司,北京 101318; 3.中國民用航空局 民航旅客服務智能化應用技術重點實驗室,北京 101318)(?通信作者電子郵箱fengdi@travelsky.com.cn)
主流個性化推薦服務系統通常利用部署在云端的模型進行推薦,因此需要將用戶交互行為等隱私數據上傳到云端,這會造成隱私泄露的隱患。為了保護用戶隱私,可以在客戶端處理用戶敏感數據,然而,客戶端存在通信瓶頸和計算資源瓶頸。針對上述挑戰,設計了一個基于云?端融合的個性化推薦服務系統。該系統將傳統的云端推薦模型拆分成用戶表征模型和排序模型,在云端預訓練用戶表征模型后,將其部署到客戶端,排序模型則部署到云端;同時,采用小規模的循環神經網絡(RNN)抽取用戶交互日志中的時序信息來訓練用戶表征,并通過Lasso算法對用戶表征進行壓縮,從而在降低云端和客戶端之間的通信量以及客戶端的計算開銷的同時防止推薦準確率的下跌。基于RecSys Challenge 2015數據集進行了實驗,結果表明,所設計系統的推薦準確率和GRU4REC模型相當,而壓縮后的用戶表征體積僅為壓縮前的34.8%,計算開銷較低。
個性化推薦服務系統;云?端融合;用戶表征模型;隱私保護;循環神經網絡
隨著基于信息流的應用程序不斷增多,互聯網信息的數量和種類快速增長,用戶通常需要花費大量時間和精力才能找到自己偏好的內容,而這種瀏覽大量無關信息的過程會加重用戶的信息過載負擔。為了解決這個問題,個性化推薦服務系統應運而生。個性化推薦服務系統是一種信息過濾系統,它可以根據用戶畫像或歷史行為挖掘用戶的興趣愛好,從而預測用戶對推薦項目的偏好或評分,并有針對性地為用戶推薦內容。
如圖1所示,目前主流的個性化推薦服務系統整體上基于云端服務器,將推薦項目特征、用戶特征、用戶交互日志等信息輸入到部署在云端的模型中進行推薦。基于云端的推薦服務系統有泛化性能好、容易部署、支持絕大多數推薦算法等優點,但存在如下缺陷:需要將用戶交互行為等隱私數據上傳到云端,存在隱私泄露的隱患。此外,隨著以歐盟通用數據保護條例(General Data Protection Regulation, GDPR)為代表的相關法律法規的出臺,上傳用戶數據到云端來進行個性化推薦還可能帶來法律方面的風險。
圖1 主流個性化推薦服務系統的結構
1992年,Goldberg等[1]提出了基于用戶的協同過濾算法,其核心思想是歷史行為相似的用戶更傾向于購買同一商品;2001年,Sarwar等[2]提出了基于項目的協同過濾算法,其核心思想是用戶購買歷史相似的商品更容易被同一個用戶購買。協同過濾算法的優點是不需要利用推薦項目的內容特征,能有效利用其他相似用戶的反饋信息,有推薦新內容(與用戶歷史記錄有差異的內容)的能力,可以發現用戶潛在的偏好;但協同過濾算法存在冷啟動問題、稀疏性問題和延展性問題。
另一種典型的推薦方法是基于內容的推薦,其核心思想是根據物品的特征挖掘物品的相似性,從而基于用戶的歷史記錄推薦給用戶相似的物品。基于內容的推薦算法優點在于用戶之間的獨立性以及推薦項目的可解釋性,解決了物品冷啟動問題;但基于內容的推薦算法的缺點在于物品特征有限或難以抽取、無法挖掘用戶的潛在偏好、無法解決用戶冷啟動等問題。
隨著深度學習的興起,研究者著力于將深度學習相關技術應用于推薦系統中,以提升推薦系統的性能。盡管如此,多數基于深度學習的方法仍然是協同過濾和(或)基于內容的推薦算法的變種和(或)混合。
2016年,來自Google的Cheng等[3]提出了用于推薦系統的Wide & Deep Learning算法。Wide模型輸入獨熱編碼后的二值特征,從歷史信息中發現推薦項目或特征之間的相關性,推薦結果往往是和歷史記錄中的項目直接相關的項目;Deep模型輸入連續特征和可以產生低維稠密表征的連續特征,學習新的特征組合,可以推薦歷史記錄中從未出現過相似的項目。聯合訓練Wide模型和Deep模型,就可以讓推薦算法同時具有記憶能力和泛化能力。為了端到端地學習高階和低階的交叉特征,Guo等[4]提出了DeepFM模型。DeepFM模型用分解機(Factorization Machine, FM)模型替代Wide & Deep模型中的Wide模型,FM模型和Deep模型共享高維稀疏特征輸入和低維稠密表征,FM模型自動提取二階交叉特征,Deep模型自動提取高階交叉特征。
主流推薦系統平臺使用的用戶數據往往是時序數據,而傳統的基于內容的推薦算法和協同過濾算法在刻畫時序數據時存在明顯的缺陷:每個推薦項目相互獨立,不能建模一段時間內用戶對內容的連續偏好信息。2016年,Hidasi等[5]提出了GRU4REC模型,首次將循環神經網絡(Recurrent Neural Network, RNN)應用于推薦系統,用于抽取用戶對內容的偏好時序信息。將一段時間內的點擊序列作為模型輸入,每一個推薦項目被點擊的預測概率作為模型輸出。模型損失函數有逐點排序損失(交叉熵)、逐對排序損失(基于矩陣分解的貝葉斯個性化排序(Bayesian Personalized Ranking ,BPR)和基于正則估計的TOP1)。
近年來,研究者著力于改進GRU4REC模型,以達到更好的時序推薦性能。例如,Hidasi等[6]將圖像和文本等非結構化信息作為特征,Bogina等[7]考慮到了用戶在推薦項目上的停留時間,Jannach等[8]將K近鄰算法和RNN模型的推薦結果進行結合,他們都實現了超過原本GRU4REC模型的推薦效果。
為了實現保護用戶隱私的需求,本文將云端推薦模型中處理用戶敏感數據的部分拆分成獨立的模塊,且該模塊的輸出不包含敏感的用戶隱私信息。其中,敏感的隱私信息指包含用戶元信息、瀏覽行為、點擊行為、收藏行為、加購物車行為等數據。將這個獨立處理用戶敏感數據的模塊遷移到客戶端運行。將客戶端的用戶數據處理模塊輸出的結果傳輸到云端,與云端推薦模型協同完成推薦。
然而,這樣的做法面臨兩點挑戰:首先,由于客戶端的帶寬有限,客戶端與云端之間不能進行大規模的數據通信;其次,由于客戶端的計算資源有限,客戶端處理用戶數據的過程不能太復雜,以避免造成過大的計算負載。
針對上述需求和挑戰,受輸入法詞預測領域的DeepType[9]啟發,本文設計了一個基于云?端融合的個性化推薦服務系統,在客戶端處理用戶敏感數據,并與云端協同完成推薦。該系統將傳統的云端推薦模型拆分成用戶表征模型和排序模型,在云端預訓練用戶表征模型后,將其部署到客戶端,排序模型則部署到云端。本文采用小規模的RNN抽取用戶交互日志中的時序信息來訓練用戶表征,并通過Lasso算法對用戶表征進行壓縮,從而在推薦準確率同現有基于云的模型相當的前提下,減少云端和客戶端之間的通信量,降低客戶端的計算開銷。
本文的主要工作包括:
1)設計了一個基于云?端融合的個性化推薦服務系統,緩解了現有方法存在的用戶隱私泄露問題。
2)在不降低推薦準確率的前提下,通過對用戶表征的稀疏化壓縮和減小RNN規模,降低了云端與客戶端之間的通信成本和客戶端模型的計算資源占用。
3)在RecSys Challenge 2015數據集對實現的系統進行了性能評估,驗證了系統的有效性。
本文將用戶與基于云?端融合的個性化推薦服務系統之間的交互分為三階段:用戶首次使用推薦服務、用戶產生交互和用戶請求推薦內容。其中,第一階段對于每個用戶而言只需進行一次,第二階段在用戶每次產生一定量的交互記錄后便運行一次,第三階段在用戶每次請求推薦時運行一次。
在用戶首次使用推薦服務時:在云端,利用公共的用戶交互記錄(不涉及用戶隱私)預訓練隨機初始化的用戶表征模型,得到全局的用戶表征模型;在客戶端,下載全局的用戶表征模型。
在用戶產生交互記錄時:在客戶端,請求訪問內容的同時,從云端下載訪問的項目對應表征,用于訓練(微調)預訓練過的全局的用戶表征模型,得到個性化的用戶表征模型,從用戶表征模型的輸出中提取用戶表征。注意微調時使用的是本地的隱私數據,因為使用用戶實時產生的行為數據有利于提高模型預測準確率,且此數據只在客戶端存儲和使用,隱私泄露風險低。
在用戶請求推薦內容時:在客戶端,上傳最近更新的用戶表征,接收推薦結果;在云端,將用戶表征、推薦項目表征庫輸入到推薦模型,得到推薦結果。
基于云?端融合的個性化推薦服務系統的整體結構如圖2所示。
圖2 基于云?端融合的個性化推薦服務系統的結構
受GRU4REC[5]啟發,本文采用一種RNN的變種——門控循環單元(Gated Recurrent Unit, GRU),建模一次會話過程中用戶的行為特征,進而提取用戶表征,作為部署在客戶端的個性化的用戶表征模型。因此,用戶表征模型是面向推薦調整過的GRU網絡,其輸出為用戶表征。
如圖3,用戶表征模型輸入為一段會話中的項目(如商品)序列,在嵌入層將項目ID轉化為低維稠密表征,在GRU神經元層挖掘序列信息,將最后一個項目對應的GRU輸出作為用戶表征輸出,其含義為GRU網絡預測的每一個項目是下一個項目的概率。若使用多個GRU層,那么下一層GRU的輸入是上一層GRU的隱含狀態。由于GRU最初不是用來建模推薦系統用戶行為的,且在客戶端訓練GRU需要保證用戶體驗不受影響,本文對訓練策略進行會話并行的最小批次、負樣本采樣、用于排序的損失函數、減小GRU規模等優化,以適應推薦任務并提高訓練效率。
圖3 用戶表征模型的結構
1.2.1會話并行的最小批次
1.2.2負樣本采樣
主流推薦系統包含的推薦項目都是海量的,數據集中用戶點擊的項目為正樣本,那么全部項目集合中的其他項目均為負樣本,顯然,在訓練GRU時,不能對全部負樣本進行打分,而是需要對負樣本進行合理的采樣。一個基線的取樣方法是隨機取樣,即假設用戶沒有點擊某個項目是因為他沒有發現這個項目,但同樣存在用戶因為不喜歡這個項目而故意不去點擊它的可能。為了減小這種違背取樣假設的可能性,可以采用按項目流行度采樣,即負樣本采樣概率與其流行度成正比。一個取巧的方法是將一次訓練批次中的其他項目作為負樣本,這樣做的好處在于:沒有單獨的采樣步驟,節省計算時間;實現方便,便于矩陣加速;同時該方法也符合基于流行度采樣,因為下一個產品是同一個批次中其他項目的概率正比于它的流行度。
1.2.3用于排序的損失函數
常見的排序問題損失函數有基于點的(pointwise)、基于對的(pairwise)和基于列表的(listwise)。基于點的方法為每個項目獨立打分,并保證相關項目的得分盡量高。基于對的方法需要對比正負樣本的排名,并保證正樣本的得分高于負樣本。基于列表的方法將全部項目的得分和正確排序的列表進行對比,并保證全部正樣本的得分高于負樣本。由于基于列表的排序方法涉及排序,計算復雜性更高,且由于本文的推薦系統場景下只存在一個正樣本,基于列表的方法會退化為基于對的方法,因此本文只實現了基于點的排序損失函數和基于對的排序損失函數。
基于點的排序損失函數為交叉熵(Cross Entropy, CE)函數:
其中:正樣本為1,負樣本為0。
基于對的排序損失函數:
BPR[10]:
TOP1[5]:
其中:前項表示對相關項目的相對排名的正則化近似,后項是正則化項,保證負樣本的得分接近于0。
為了解決客戶端上處理用戶數據的過程不能占用過多計算資源的問題,本文使用1層100個隱藏單元的GRU網絡作為用戶表征模型。第2章中的實驗結果表明,即使只使用單層GRU網絡,且限制GRU隱藏狀態維數遠小于輸入層維數,GRU仍然能夠勝任挖掘用戶訪問歷史中的時序信息、提取用戶表征的任務,并達到接近包含更多層或更多隱藏單元的GRU網絡的推薦準確率。
本文將部署在云端的排序模型實現為用戶表征和推薦項目表征的內積運算,并將內積結果排序,估計項目和用戶之間的相關性,返回得分最高的若干個項目作為推薦結果。
用內積運算作為排序模型主要考慮到以下兩點因素:
一是真實環境下的實時推薦系統的性能要求。推薦系統不能提前計算全部用戶和全部項目之間的相關性,因為用戶和項目都在不斷更新和替換,而且云端服務器并沒有足夠的空間為每一組(用戶,項目)對存儲其相關性。這就要求推薦系統在很短的時間內計算用戶和項目之間的相關性得分,而內積運算滿足這樣的需求[11]。
二是保護用戶隱私的要求。提出基于云?端融合的個性化推薦系統的動機是避免用戶隱私泄露,這要求推薦系統不能上傳用戶ID,只能上傳用戶表征。進一步地,云端無法根據用戶ID恢復出每個用戶點擊項目的歷史記錄,故云端不支持訓練基于用戶ID的推薦算法或排序算法,如協同過濾算法[1-2]、矩陣低秩分解的相關算法[4]、LambdaMART[12]等基于機器學習的排序算法,都由于用戶ID的缺失而不支持云端訓練。
由于客戶端的帶寬有限,客戶端與云端之間不能進行大規模的數據通信,同時要避免因降低通信量導致的推薦系統準確率下降。本文通過稀疏編碼(sparse encoding)的方式來保留用戶表征中的主要信息,利用Lasso算法對用戶表征進行稀疏化。
“哪能由著你?”賽十娘又笑出聲,“還是順著他們,少吃點兒虧。莫像河浦那個女孩兒,烈得很。越烈越吃虧。”
然后,在損失函數中加入Lasso懲罰項,限制用戶表征的大小和稠密度:
為了測試基于云?端融合的個性化推薦服務系統的性能,本文針對推薦準確率、用戶表征的壓縮效果、客戶端模型的運行時性能這三個內容的多個指標對該系統進行評測。實驗數據集為RecSys Challenge 2015,該數據集是電商網站大量用戶長時間的點擊流數據。
2.1.1數據集
RecSys Challenge 2015數據集是電商網站在不同時間段(即會話)內連續發生的用戶點擊流時序數據,本文只用了點擊流的訓練數據。該數據集的域包括會話ID、項目ID、時間戳、項目類別。由于同一次會話只對應一個用戶,本文將會話ID看成用戶ID,即不同的會話對應不同的用戶。
2.1.2數據預處理
由于任務設定為在時序數據上的推薦,本文首先過濾掉了長度為1的會話。將會話按時間排序,先用前6個月的7 966 124個會話對應的在37 386個項目上的31 636 669次點擊進行訓練,然后用后續的數據進行測試。本文不會把一個會話從中間分成訓練集和測試集,即每個會話一定會完整地屬于訓練集或者完整地屬于測試集。過濾掉只在測試集中出現而沒有在訓練集中出現的項目。在上述過濾之后,再次過濾掉長度為1的會話。這樣就得到了包含15 188個會話對應的70 826次點擊的測試集。
2.1.3實驗配置
本文在GPU服務器環境下評測推薦準確率和用戶表征壓縮效果,在個人筆記本電腦的瀏覽器環境下評測客戶端模型的運行時性能。服務器和人筆記本電腦(Hasee T97E筆記本)的配置如表1所示。上述實驗環境的分配符合基于云?端融合的個性化推薦系統在真實環境下的使用場景,因此評測實驗可以反映該系統在真實環境下的性能表現。
表1 服務器與個人計算機的配置
2.2.1評測指標
考慮到用戶感興趣的項目在推薦列表中的排名,可以使用MRR@20作為評測指標,即用戶感興趣的項目在推薦列表中的倒數排名的平均值。若用戶感興趣的項目排名超過20,MRR置為0。MRR比較貼合排名靠后的項目需要滾動屏幕才能看到、絕對排名比較重要的場景。
2.2.2基線模型
本文把基于云?端融合的個性化推薦服務系統和一系列常用的基線模型進行對比:
1)POP:總是推薦訓練集中最流行(即點擊次數最多)的項目。
2)S?POP:總是推薦當前會話中最流行的項目。
3)Item?KNN[13]:推薦和當前會話中最后一個項目最相似的項目。相似度定義為兩個項目出現在不同會話中的余弦相似度,即兩個項目共同出現的會話數除以單獨出現的會話數的乘積的平方根,且加入了正則化項。
4)BPR?MF[10]:BPR?MF通過隨機梯度下降優化基于對的(pairwise)排序損失函數。由于新的會話尚未預先計算特征向量,矩陣分解算法不能直接用于基于會話的推薦場景。可以把當前會話中已經點擊的項目特征向量的平均值作為用戶特征向量,來讓該算法重新適用。
5)GRU4REC[5]:GRU4REC將RNN應用于推薦系統,用于抽取用戶對內容的偏好時序信息。模型輸入一段時間內的點擊序列,輸出每一個推薦項目被點擊的預測概率。模型損失函數有逐點排序損失(交叉熵)和逐對排序損失(基于矩陣分解的BPR和基于正則估計的TOP1)。
如表2,基于RNN的GRU4REC模型的推薦準確率顯著高于其他方法,原因是RNN可以提取到用戶歷史行為數據中的時序信息,基于更多的信息量對未來行為進行推測。
2.2.3超參數設置
用戶表征GRU網絡的結構和超參數大部分參照了GRU4REC模型[5]中給出的最優組合:GRU層前面沒有嵌入層,GRU為1層,GRU單元數為100,GRU層后沒有前饋神經網絡層;批量大小(batch size)為50,優化算法為adagrad,學習率為0.01,momentum為0,dropout率為0.5,輸出層激活函數為tanh。
2.2.4實驗結果分析
如表3,在測試集上分別對3種損失函數的推薦準確率進行測試,其中:w/o表示without,即未進行Lasso處理的模型;w/表示with,即有Lasso處理的模型。可以發現,對于未進行Lasso處理的模型,采用TOP1損失函數的準確率最高;對于進行Lasso處理的模型,采用交叉熵損失函數的準確率最高。Lasso的加入對推薦算法的準確率影響很小,甚至對于交叉熵和BPR而言還會讓MRR@20小幅提升,這可能是Lasso帶來了一定程度的正則化效果,避免了模型過擬合。
表3 本文模型的推薦準確率
將本文模型和基線模型中推薦效果最好的以TOP1為損失函數的GRU4REC模型對比,結果如表4。可以看出,Lasso算法的加入對基于GRU的推薦模型的準確率影響較小,對于交叉熵損失函數甚至達到了和未進行Lasso處理的模型相當的準確率。
表4 本文模型和GRU4REC的準確率
綜上所述,基于云?端融合的個性化推薦系統可以達到和最優基線模型相當的推薦準確率。
2.3.1評測指標
為了衡量Lasso對用戶表征的稀疏化效果,本文定義稠密度作為評測指標:
為了衡量稀疏編碼對用戶表征的壓縮效果,本文定義壓縮率作為評測指標:
2.3.2實驗結果分析
如表5,在測試集上分別對3種損失函數的用戶表征的壓縮效果進行測試。可以看出,對于進行Lasso處理的模型,采用交叉熵損失函數的稀疏化效果和壓縮效果最好。同時,Lasso的加入會產生很好的用戶表征稀疏化效果和壓縮效果,對于交叉熵和BPR損失函數而言,用戶表征中值為0的維度的比例都超過了75%,用戶表征的體積壓縮都在65%左右。
綜上所述,基于云?端融合的個性化推薦系統可以產生很好的用戶表征稀疏化效果和壓縮效果,從而大幅降低客戶端和云端之間的通信成本。
表5 測試集上的用戶表征壓縮效果
2.4.1評測指標
為了從多角度評測客戶端模型運行時性能和刻畫用戶體驗,選取如下評測指標:CPU占用率、CPU內存占用、GPU內存占用和單次用戶表征更新時間。
2.4.2實驗結果分析
客戶端的用戶表征模型每收集一個批次(50條)用戶交互記錄,就對模型進行一次微調,并根據個性化的用戶表征模型更新稀疏化的用戶表征。將客戶端的用戶表征模型部署在個人筆記本電腦的瀏覽器上,評測用戶表征更新時的系統性能,實驗結果如表6所示。
從表6可以發現,CPU占用率并沒有達到在服務器上訓練模型時的100%,而只有62%,這可能是由于TensorFlow.js對瀏覽器上訓練模型的CPU占用率的某種限制,也可能是Chrome瀏覽器對單個網頁的CPU占用率的某種限制。
CPU內存占用為1 030.6 MB,而64-bit Chrome對單個網頁的內存限制為1.4~4 GB(取決于Chrome內核版本和配置文件),故客戶端模型的內存占用沒有超過瀏覽器對單個進程的內存限制。StackOverFlow建議前端開發者控制單個網頁內存到1.2 GB以下,故客戶端模型的內存占用沒有超過單個網頁占用內存的建議值。
GPU內存占用為661 MiB,相當于8.14%的GPU占用率,這對于用戶來說是可以接受的。但對于沒有獨立顯卡或獨立顯卡顯存低于661 MiB的個人筆記本電腦,無法使用GPU加速模型訓練,這會增加用戶表征更新所需時間。
一次用戶表征更新所需時間僅53 s,這一方面是由于本文減小了GRU網絡的規模,另一方面是由于單個客戶端用戶交互記錄相對較少。此外,在一個更新周期內的其他時間,系統不會訓練用戶表征模型,而只收集用戶交互記錄,直到湊滿1個更新批次,在此期間,客戶端模型的CPU/GPU占用大幅下降,幾乎不消耗系統資源。
表6 模型運行時性能的評測指標
綜上所述,基于云?端融合的個性化推薦系統的客戶端模型在更新用戶表征時,占用的計算資源在用戶可接受的范圍之內,且更新用戶表征消耗的時間很短,不會對用戶體驗造成顯著影響。
本文設計了一個基于云?端融合的個性化推薦服務系統,并基于TensorFlow.js和TensorFlow面向瀏覽器平臺進行了實現。客戶端利用用戶隱私數據微調用戶表征模型,然后將提取出的用戶表征上傳到云端。云端根據用戶表征和項目表征之間的相關性進行排序,將推薦結果返回到客戶端。本文采用1層100個隱藏單元的GRU網絡訓練用戶表征,并通過Lasso算法對其進行稀疏編碼,得到壓縮的用戶表征,從而降低了云端和客戶端之間的通信成本和客戶端的計算開銷。
本文基于RecSys Challenge 2015數據集進行實驗,從推薦準確率、用戶表征壓縮效果、客戶端模型運行時性能三個方面對實現的系統進行了性能評估。實驗結果表明,推薦準確率(Recall@20=0.618,MRR@20=0.266)與最佳基線模型相當,壓縮后的用戶表征體積僅為壓縮前的34.8%。客戶端負載方面,客戶端的用戶表征模型單次表征更新時間為53 s,在用戶表征更新期間,CPU占用率為62.0%,內存占用為1 030.6 MB,顯存占用為661 MiB,占用設備的計算資源在用戶可以接受的范圍之內。
未來可能的工作方向包括:
1)本文以基于RNN的推薦模型為例實現云?端融合,但云?端融合的思想和對于通信成本、資源占用等挑戰的解決方案是通用的。未來可以考慮在不同已有推薦系統中實現云?端融合,形成面向推薦系統的云?端融合通用解決方案。
2)考慮到在真實環境下實時推薦系統的性能和保護用戶隱私的要求,本文在云端的推薦排序模型只是對用戶表征和項目表征進行簡單的內積操作并排序。由于不能獲取用戶ID的限制,基于云?端融合的個性化推薦系統可能從根本上無法在云端部署基于機器學習的排序模型。未來可以考慮設計基于聯邦學習[14-15]等分布式機器學習系統的個性化推薦系統。
3)本文通過顯式減小RNN規模的方式來降低客戶端模型的計算資源占用,未來可以考慮嘗試成熟的模型壓縮算法[16-18]和訓練加速算法[19]。
4)本文采用將用戶表征上傳到云端的方式完成推薦,然而,攻擊者可能通過用戶表征推測出用戶的身份和興趣,增加了隱私泄露的風險。一種可行的解決方案是將推薦項目的集合下載到客戶端,只在客戶端完成推薦,然而推薦項目集合的大小遠大于用戶可以承受的通信開銷和存儲開銷。未來可以考慮通過過濾算法[1-2]縮小推薦項目集合,將候選集下載到客戶端,與用戶表征協同完成排序和推薦,進一步降低隱私泄露風險。
[1] GOLDBERG D, NICHOLS D, OKI B M, et al. Using collaborative filtering to weave an information tapestry[J]. Communications of the ACM, 1992, 35(12): 61-70.
[2] SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms[C]// Proceedings of the 10th International Conference on World Wide Web. New York: ACM, 2001: 285-295.
[3] CHENG H T, KOC L, HARMSEN J, et al. Wide & deep learning for recommender systems[C]// Proceedings of the 1st Workshop on Deep Learning for Recommender Systems. New York: ACM, 2016: 7-10.
[4] GUO H, TANG R, YE Y, et al. DeepFM: a factorization-machine based neural network for CTR prediction[C]// Proceedings of the 26th International Joint Conference on Artificial Intelligence. California: ijcai.org, 2017: 1725-1731.
[5] HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks[EB/OL]. (2016-03-29)[2021-09-08].https://arxiv.org/pdf/1511.06939.pdf.
[6] HIDASI B, QUADRANA M, KARATZOGLOU A, et al. Parallel recurrent neural network architectures for feature-rich session-based recommendations[C]// Proceedings of the 10th ACM Conference on Recommender Systems. New York: ACM, 2016: 241-248.
[7] BOGINA V, KUFLIK T. Incorporating dwell time in session-based recommendations with recurrent neural networks[C]// Proceedings of the 1st Workshop on Temporal Reasoning in Recommender Systems co-located with 11th International Conference on Recommender Systems. Aachen: CEUR-WS.org, 2017: 57-59.
[8] JANNACH D, LUDEWIG M. When recurrent neural networks meet the neighborhood for session-based recommendation[C]// Proceedings of the 11th ACM Conference on Recommender Systems. New York: ACM, 2017: 306-310.
[9] XU M W, QIAN F, MEI Q Z, et al. DeepType: on-device deep learning for input personalization service with minimal privacy concern[J]. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 2018, 2(4): No.197.
[10] RENDLE S, FREUDENTHALER C, GANTNER Z, et al. BPR: Bayesian personalized ranking from implicit feedback[C]// Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence. Arlington, VA: AUAI Press, 2009: 452-461.
[11] OKURA S, TAGAMI Y, ONO S, et al. Embedding-based news recommendation for millions of users[C]// Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2017: 1933-1942.
[12] BURGES C J C. From RankNet to LambdaRank to LambdaMART: an overview: MSR-TR-2010-82[R/OL]. (2010-06)[2021-09-08].https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/MSR-TR-2010-82.pdf.
[13] DAVIDSON J, LIEBALD B, LIU J N, et al. The YouTube video recommendation system[C]// Proceedings of the 4th ACM Conference on Recommender Systems. New York: ACM, 2010: 293-296.
[14] McMAHAN B, MOORE E, RAMAGE D, et al. Communication-efficient learning of deep networks from decentralized data[C]// Proceedings of the 20th International Conference on Artificial Intelligence and Statistics. New York: JMLR.org, 2017: 1273-1282.
[15] BONAWITZ K, EICHNER H, GRIESKAMP W, et al. Towards federated learning at scale: system design[C/OL]// Proceedings of the 2nd Machine Learning and Systems. [2021-11-01].https://proceedings.mlsys.org/paper/2019/file/bd686fd640be98efaae0091fa301e613-Paper.pdf.
[16] HAN S, MAO H Z, DALLY W J. Deep compression: compressing deep neural network with pruning, trained quantization and Huffman coding[EB/OL]. (2016-02-15)[2021-09-12].https://arxiv.org/pdf/1510.00149.pdf.
[17] HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[EB/OL]. (2015-03-09)[2021-10-16].https://arxiv.org/pdf/1503.02531.pdf.
[18] ZHU M H, GUPTA S. To prune, or not to prune: exploring the efficacy of pruning for model compression[EB/OL]. (2018-02-13)[2021-10-08].https://openreview.net/pdf?id=Sy1iIDkPM.
[19] CHEN T, SUN Y Z, SHI Y, et al. On sampling strategies for neural network-based collaborative filtering[C]// Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2017: 767-776.
Personalized recommendation service system based on cloud-client-convergence
HAN Jialiang1, HAN Yudong1, LIU Xuanzhe1, ZHAO Yaoshuai2,3, FENG Di2,3*
(1(),100871,;2,101318,;3,,101318,)
Mainstream personalized recommendation systems usually use models deployed in the cloud to perform recommendation, so the private data such as user interaction behaviors need to be uploaded to the cloud, which may cause potential risks of user privacy leakage. In order to protect user privacy, user-sensitive data can be processed on the client, however, there are communication bottleneck and computation resource bottleneck in clients. Aiming at the above challenges, a personalized recommendation service system based on cloud-client-convergence was proposed. In this system, the cloud-based recommendation model was divided into a user representation model and a sorting model. After being pre-trained on the cloud, the user representation model was deployed to the client, while the sorting model was deployed to the cloud. A small-scale Recurrent Neural Network (RNN) was used to model the user behavior characteristics by extracting temporal information from user interaction logs, and the Lasso (Least absolute shrinkage and selection operator) algorithm was used to compress user representations, thereby preventing a drop in recommendation accuracy while reducing the communication overhead between the cloud and the client as well as the computation overhead of the client. Experiments were conducted on RecSys Challenge 2015 dataset, and the results show that the recommendation accuracy of the proposed system is comparable to that of the GRU4REC model, while the volume of the compressed user representations is only 34.8% of that before compression, with a lower computational overhead.
personalized recommendation service system; cloud-client-convergence; user representation model; privacy-preserving; Recurrent Neural Network (RNN)
This work is partially supported by PKU-Baidu Fund (2020BD007).
HAN Jialiang, born in 1997, Ph. D. candidate. His research interests include distributed machine learning, federated learning, recommender system.
HAN Yudong, born in 2000, Ph. D. candidate. His research interests include distributed machine learning, Web system.
LIU Xuanzhe, born in 1980, Ph. D., associate professor. His research interests include service computing, system software.
ZHAO Yaoshuai, born in 1977, M. S., senior engineer. His research interests include big data, artificial intelligence.
FENG Di, born in 1981, M. S., engineer. Her research interests include civil aviation passenger behavior analysis, data analysis.
TP311
A
1001-9081(2022)11-3506-07
10.11772/j.issn.1001-9081.2021111992
2021?11?23;
2022?01?12;
2022?01?17。
北大百度基金資助項目(2020BD007)。
韓佳良(1997—),男,北京人,博士研究生,CCF會員,主要研究方向:分布式機器學習、聯邦學習、推薦系統;韓宇棟(2000—),男,山東東營人,博士研究生,主要研究方向:分布式機器學習、Web系統;劉譞哲(1980—),男,甘肅蘭州人,副教授,博士,CCF會員,主要研究方向:服務計算、系統軟件;趙耀帥(1977—),男,山東嘉祥人,高級工程師,碩士,主要研究方向:大數據、人工智能;馮迪(1981—),女,湖北潛江人,工程師,碩士,主要研究方向:民航旅客行為分析、數據分析。