- IJCAI2018
- 微軟研究院出品
- 本文為自己的論文閱讀筆記火邓,如有錯誤歡迎指正丹弱,轉載請注明鏈接及作者
- 不得不承認,公司做推薦研究更加有優(yōu)勢铲咨,其有實際應用場景和數(shù)據(jù)躲胳,能夠直接發(fā)現(xiàn)實際問題和解決方案;原文鏈接:https://www.ijcai.org/proceedings/2018/0529.pdf
摘要
每天都有數(shù)以百萬計的新聞文章出現(xiàn)纤勒。如何提供個性化的新聞推薦已成為服務提供商的關鍵任務坯苹。在過去的幾十年中,潛在因子模型(LF)已廣泛用于構建推薦系統(tǒng)踊东。越來越多的研究人員一直在嘗試利用深度神經網絡來學習高級RS的潛在表示北滥。繼主流的基于深度學習的RS以來刚操,我們提出了一種新穎的深度融合模型(Deep Fusion Model,DFM),旨在提高深度RS中的表示學習能力再芋,可用于候選檢索和項目重新排序菊霜。
DFM方法有兩個關鍵組成部分,即inception module 和attention 注意機制济赎。
inception module通過同時利用各種級別的交互來改善普通的多層網絡(GoogleNet)鉴逞,而注意力機制則以定制的方式合并從不同渠道學到的潛在表示。
問題
- 協(xié)同過濾CF主要瓶頸是數(shù)據(jù)稀疏性問題和冷啟動問題司训,對于新聞閱讀場景而言尤其如此构捡。
- 新聞文章具有高度的時間敏感性,新聞服務中90%的文章在兩天內不會再推薦給用戶壳猜。
- 基于內容的過濾(CBF)可以作為CF補充勾徽,可減少冷啟動問題。
因此綜上统扳,作者認為:對于新聞推薦喘帚,在統(tǒng)一模型中同時使用CF和CBF是比使用純CF模型更好的選擇。
物品表示建模
受著名的ResNet和GoogleNet架構的啟發(fā)咒钟,作者發(fā)現(xiàn)可以通過更改多層架構的結構來改善純全連接網絡吹由。 因此,提出了從內容中學習物品表示的inception module 朱嘴。 基本上倾鲫,inception module并行學習具有不同深度的多個網絡,并根據(jù)不同的網絡結構為最終激活層提供不同級別的功能組合萍嬉。
用戶表示建模
商業(yè)系統(tǒng)中的常見做法是從多個渠道/服務收集數(shù)據(jù)以豐富用戶功能乌昔。我們認為,簡單地平等對待來自不同渠道的特征并通過針對所有用戶的相同靜態(tài)神經模型獲取用戶向量并不是最佳解決方案帚湘。
一方面玫荣,不同的用戶在不同的渠道/服務上具有不同的參與分布。當用戶在新聞閱讀渠道中更加活躍時大诸,我們更有信心僅從新聞閱讀渠道推斷出他的新聞閱讀興趣捅厂,從而可以減輕其他渠道的功能權重;相應地资柔,對于新加入的用戶焙贷,我們更多地依賴于輔助渠道的數(shù)據(jù)。
另一方面贿堰,可能存在域差異(domain discrepancy)辙芍,我們需要根據(jù)特征內容選擇有用的信號。因此,我們建議使用上述inception module 在不同的通道上學習不同的用戶表示故硅,并通過關注網絡動態(tài)融合它們庶灿。
DFM模型介紹
典型的商業(yè)推薦系統(tǒng)中常包含候選物品檢索/召回層及排序/推薦層,DFM可用于召回和排序
inception module
使用field-wise格式存儲特征信息吃衅,如下所示往踢,假設有m個不同field的特征
,第i個領域特征可以是連續(xù)的或者離散的
- 離散特征可以進一步分為兩種類型:單一變量(univalent 例如用戶ID或索引)和多變量(multivalent 例如用戶已跟蹤的主題集)徘层。 每個字段都映射到一個D維向量峻呕,我們稱其為字段嵌入。
-
連續(xù)特征趣效,嵌入是通過完全連接的層進行的瘦癌;對于多價字段,我們在查找每個變量的嵌入后使用平均池跷敬,以使字段嵌入的長度固定讯私。
嵌入層輸出結果為:大小為
輸入全連接層,激活層函數(shù)為ReLU
在此基礎上干花,利用更先進的框架對模型進行改造:
GoogleNet2015引入了inception module妄帘,其并行使用各種卷積,然后將所生成的特征圖進行級聯(lián)池凄,然后轉到下一層。 這樣鬼廓,模型可以自動選擇最佳卷積大小肿仑,并同時恢復較小卷積的局部特征和較大卷積的高抽象特征。
除了卷積大小碎税,網絡深度對于學習潛在特征也至關重要尤慰。 但是,堆疊更多的層可能會導致精度降低問題,網絡訓練難度增大雷蹂。
因此伟端,提出了ResNet [2016],讓某些層適合殘差映射匪煌,而不是直接適合所需映射责蝠。 受inception和ResNet框架的啟發(fā),提出了用于學習潛在表示的inception模塊:知識補充【GoogleNet與ResNet】
資料引用 https://my.oschina.net/u/876354/blog/1637819
https://www.bilibili.com/video/av16195031/?spm_id_from=333.788.videocard.1
http://www.reibang.com/p/93990a641066
https://my.oschina.net/u/876354/blog/1622896
一般來說萎庭,提升網絡性能最直接的辦法就是增加網絡深度和寬度霜医,深度指網絡層次數(shù)量、寬度指神經元數(shù)量驳规。但這種方式存在以下問題:
(1)參數(shù)太多肴敛,如果訓練數(shù)據(jù)集有限,很容易產生過擬合;
(2)網絡越大医男、參數(shù)越多砸狞,計算復雜度越大,難以應用镀梭;
(3)網絡越深趾代,容易出現(xiàn)梯度彌散問題(梯度越往后傳遞容易消失),難以優(yōu)化模型丰辣。
解決這些問題的方法是在增加網絡深度和寬度的同時減少參數(shù)撒强,為了減少參數(shù),自然就想到將全連接變成稀疏連接笙什。但在實現(xiàn)上飘哨,全連接變成稀疏連接后計算量并不會有質的提升,因為大部分硬件是針對密集矩陣計算優(yōu)化的琐凭,稀疏矩陣雖然數(shù)據(jù)量少芽隆,但是計算所消耗的時間卻很難減少。
那么统屈,有沒有一種方法既能保持網絡結構的稀疏性胚吁,又能利用密集矩陣的高計算性能。大量的文獻表明可以將稀疏矩陣聚類為較為密集的子矩陣來提高計算性能愁憔,就如人類的大腦是可以看做是神經元的重復堆積腕扶,因此,GoogLeNet團隊提出了Inception網絡結構吨掌,就是構造一種“基礎神經元”結構半抱,來搭建一個稀疏性、高計算性能的網絡結構
Inception架構的主要思想是找出如何用密集成分來近似最優(yōu)的局部稀疏解
1x1的卷積核有什么用呢膜宋?
1x1卷積的主要目的是為了減少維度窿侈,還用于修正線性激活(ReLU)。比如秋茫,上一層的輸出為100x100x128史简,經過具有256個通道的5x5卷積層之后(stride=1,pad=2)肛著,輸出數(shù)據(jù)為100x100x256圆兵,其中,卷積層的參數(shù)為128x5x5x256= 819200策泣。而假如上一層輸出先經過具有32個通道的1x1卷積層衙傀,再經過具有256個輸出的5x5卷積層,那么輸出數(shù)據(jù)仍為為100x100x256萨咕,但卷積參數(shù)量已經減少為128x1x1x32 + 32x5x5x256= 204800统抬,大約減少了4倍。
ResNet,Deep Residual Network深度殘差網絡
在上圖的殘差網絡結構圖中,通過“shortcut connections(捷徑連接)”的方式聪建,直接把輸入x傳到輸出作為初始結果钙畔,輸出結果為H(x)=F(x)+x,當F(x)=0時金麸,那么H(x)=x擎析,也就是上面所提到的恒等映射。于是挥下,ResNet相當于將學習目標改變了揍魂,不再是學習一個完整的輸出,而是目標值H(X)和x的差值棚瘟,也就是所謂的殘差F(x) := H(x)-x现斋,因此,后面的訓練目標就是要將殘差結果逼近于0偎蘸,使到隨著網絡加深庄蹋,準確率不下降。
這種殘差跳躍式的結構迷雪,打破了傳統(tǒng)的神經網絡n-1層的輸出只能給n層作為輸入的慣例限书,使某一層的輸出可以直接跨過幾層作為后面某一層的輸入,其意義在于為疊加多層網絡而使得整個學習模型的錯誤率不降反升的難題提供了新的方向章咧。
至此倦西,神經網絡的層數(shù)可以超越之前的約束,達到幾十層慧邮、上百層甚至千層调限,為高級語義特征提取和分類提供了可行性
注意力機制
為了更好地進行用戶建模,我們利用不同來源/渠道的數(shù)據(jù)來豐富功能误澳。
一種常見的方法是,平等地對待來自不同領域的所有功能秦躯,并將其直接饋送到模型中以學習最終的用戶嵌入忆谓。這種方法在表征學習中缺乏靈活性。用戶在不同來源/渠道的使用情況不同踱承,信息分布不同倡缠。對于新聞領域的新/冷門用戶而言,借鑒其在其他領域的數(shù)據(jù)具有重要意義茎活。但是昙沦,對于常用新聞的用戶,已經從新聞系統(tǒng)中積累了一定數(shù)量的數(shù)據(jù)载荔,因此不必過多依賴其他領域的數(shù)據(jù)盾饮。
另外,合并依賴于域的知識可能會為目標域產生噪聲,需要考慮偏差丘损。
我們利用注意力機制來減輕上述因素普办,并使模型動態(tài)地組合來自不同領域的知識。
注意分數(shù)是通過softmax獲得
一個小技巧是舆驶,我們將所有通道中的數(shù)據(jù)合并在一起,然后將此假通道命名為合并通道而钞。
與用戶建模不同沙廉,對于物品,我們沒有多個域的數(shù)據(jù)笨忌。 這意味著沒有相應的物品融合過程蓝仲,我們直接使用初始模塊的輸出向量;
召回策略
召回通過LF等基本模型官疲,使用ANN近似最近鄰搜索初步得到候選物品集
排序
召回完成之后袱结,與目標用戶相關的物品被縮小為一小組。
排序的目的是通過更復雜的模型以及更多功能(例如上下文感知功能)來提供詳盡的個性化推薦途凫。 一些最新的深度模型垢夹,例如Deep&Wide [2016]揭示了結合記憶和泛化大大改善推薦系統(tǒng)。
通過 添加異構組件维费,例如線性模型和深度神經模型果元。如上圖所示渡讼,將線性模型和深度模型相結合烦味,最后用于預測的形式如下:
總結
本文主要是新聞推薦中的一篇論文萍桌,具有一定的使用價值街夭,在特征表示方面使用inception module和attention機制栖榨;其針對的問題比較新柄慰,針對應用中用戶在不同渠道/系統(tǒng)的使用情況不同踢械,提出的特征融合以服務于新聞推薦奸晴。
用于推薦排序的具體框架中贱枣,同樣借鑒了DeepWide框架的設計监署,此外注意力機制設計方面也有一定的創(chuàng)新性∨Ω纾總體而言钠乏,模型創(chuàng)新性一般,但問題新春塌,有工業(yè)特點晓避。