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,關鍵設計是,一個基於外積的交互立方體。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章