IJCAI2019-Convolutional Factorization Machines for Context-Aware Recommendation翻譯,何向南大佬19年論文,結合FM,注意力機制,卷積


CFM: Convolutional Factorization Machines for Context-Aware Recommendation

摘要

因子分解機是一種基於內積的感知推薦系統,通過內積建模二階交互特征。但是,它仍然不足以捕獲高階非線性信號。最近很多工作都用神經網絡增強FM性能。這些方案假設嵌入層彼此獨立,並以隱式的方式建模高階交互。這篇論文,提出卷積因子分解機模型解決上述問題。CFM通過外積建模二階交互,產生圖像類數據,捕捉嵌入層之間的相關性。然后,所有生成圖像數據被堆疊起來,形成交互矩陣集合,在此基礎上,應用卷積學習高階交互信號。此外,論文還利用自我關注機制執行特征(pooling)池化,減少時間復雜度,論文在三個數據集進行了實驗證明了方法有顯著改進。

介紹

描述用戶行為數據時,除了用戶/項目ID,還提供了豐富的上下文信息。包括但不限於,人口描述,項目屬性,時間/地點信息,歷史記錄和最近交易信息。通用的方法是將他們轉化為高維特征向量,在特征輸入上建立模型。

不同於圖像和音頻中自然發現的連續實值特征,感知推薦系統輸入大多是離散的,就導致高維且稀疏的特征向量。

現有特征建模分為兩類:

1手動構造交叉特征。2自動學習特征交互,將特征學習為嵌入,將特征交互表示為嵌入之上的函數。

論文為了減少構造交叉特征的工作量,提出CMF自動學習特征交互。專業來說,特征嵌入首先被送入self-attention池化(pooling)層,可以大大降低計算量,削弱了噪音特征的影響,然后,用外積建模二階交互模型,生成了一個二維矩陣set.和內積相比,更容易捕獲嵌入層之間相關性,將生成的矩陣堆疊起來,得到一個三維矩陣---編碼了所有二階交互。為了顯式學習高階信號。論文在三維矩陣上使用卷積,並疊加多層卷積神經網絡。

論文利用self-attention對特征池化操作,降低計算量和時間復雜度。

Convolutional Factorization Machine

原始FM模型僅僅以線性方式,通過內積建模二階交互。CMF:

 

最后一項是核心交互組件,下面會介紹如何學習。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

輸入和嵌入層

輸入感知向量x,包括用戶ID,歷史項目multi-hot features,然后,每個特征,通過嵌入層映射到D維密集向量表示 。

 

Self-Attention Pooling Layer

對特征進行池化(Pooling)操作對每一個field學習單個嵌入。以往的池化操作包括最大池化和平均池化,但是這樣不能有效捕獲不同特征重要性。故論文提出注意力機制(通過MLP映射)

 

將隱藏層映射到注意力得分。

的重要性通過歸一化注意力得分函數實現:

 

上式計算的,就作為的池化核函數(核函數代表特征重要度):

 

 

 

 

 

Interaction Cube

池化層之后,論文使用交互矩陣集(3D立方)表示特征交互,和由外積進行交互。

 

總結:

1MLP多層感知機獲取重要度矩陣(作為池化基進行第一步池化)

2對特征矩陣進行池化,獲得(多通道矩陣)

3和外積(特征交互),作為卷積操作。

 

 

 

多維數據交互的優點:

1外積更能捕獲維度相關性

2顯式方案模擬高階交互-立方體不同層之間交互。代表層,后的下標,代表層內元素。

3.卷積核是多維矩陣,故能將層數降維。

 

卷積操作:

1.卷積(3維卷積核)

2.偏差,激活函數RELU

3.第一層   卷積核形狀:[2,2,14]   步長[2,2,1] (對應寬高深) 

后序卷積核和步長 形狀:[2,2,2]

三維卷積輸出的是一維向量,然后采用全連接層進行映射:

 

損失函數:

Top-k推薦

 

是對應的負采樣樣本,是激活函數。

首先采集 正樣本,(通過mini-batch),包括用戶上下文感知和項目屬性。然后對每一個特定的用戶,隨機采集負樣本。然后結合負樣本特征建立負樣本和用戶的交互。最后,正的交互和負的交互都fed to訓練,得到損失。

 

Data

Dataset

#users

#items

#transactions

#fields

Frappe

957

4,082

96,203

10

Last.fm

1,000

20,301

214,574

4

MovieLens

6,040

3,665

939,809

4

Experiments

RQ1 Does CFM model outperform state-of-the-art methods
for CARS top-k recommendation?
RQ2 How do the special designs of CFM (i.e., interaction
cube and 3DCNN) affect the model performance?
RQ3 What’s the effect of the attention-based feature pooling?

Experimental Settings

Frappe

app推薦數據

數據包含96203app使用日志,每個日志包含10個上下文特征域,包含用戶ID,項目ID,時間,其他信息。

Last.fm

音樂推薦數據集

提取了最新的1000用戶聽歌記錄

用戶上下文描述為:用戶ID,用戶90分鍾內聽的音樂ID,項目屬性包括,音樂ID,藝術家ID(歌手)

MovieLens

 

評價指標

leave-one-out

對於last.fm和movielens數據,用戶最新交互取出做測試,剩下的做訓練集。對frappe,因為沒時間戳信息,故任意選擇一個交互做測試,推薦性能指標HR、NDCG(它將更高的分數分配給排名靠前的項目)

參數設置

性能對比

Interaction Cube的性能評價(特征外積)

為證明立方有效性,論文將交互三維矩陣轉化為二維矩陣/或在深度方向執行最大池化操作,結果不如CMF好。

CFM>平鋪>最大池化>FM                         證明了CNN外積學習的有效性

Study of Feature Pooling(注意力部分)

自我關注機制執行池化。替換為最大池化和均值池化進行對比。注意力池會為不同特征分配不同的重要性。保留了豐富的特征信息,削弱了噪音的影響。

 

CMF和沒有特征池的模型比較。發現:特征池可以減少訓練時間,帶來好的推薦質量。

 

總結

新的上下文感知推薦算法,結合了FM和CNN,關鍵設計是,一個基於外積的交互立方體。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM