AFM: Learning the Weight of Feature Interactions via Attention Networks, IJCAI 2017
這是NUS的何向南博士基於Neural Attention Network改進FM的工作,發表在IJCAI』17上。通過attention網路學習組合特徵的權重,改進了所有組合特徵的權重都相同的傳統FM方法,在兩個數據集Frappe和MovieLens上以更少的模型參數,取得比SOTA方法(Wide & Deep Learning)更好的效果。
研究背景
FM演算法本身通過引入二階feature interactions來提高線性回歸模型的泛化表達能力,但它以相同的權重來對所有的特徵組合進行建模。事實上很多無用特徵的組合會引入雜訊從而影響效果。基於這個背景下,論文提出Attentional Factorization Machine(AFM),通過neural attention network來學習每個特徵組合的重要性,從而discriminate不同特徵組合的權重來提升FM。
AFM模型
圖1是整個AFM模型的框架。Input層和Embedding層和FM相同,採用稀疏表示作為特徵輸入,然後把每個非零特徵嵌入稠密向量。AFM的主要貢獻是後面兩層:Pair-wise Interaction Layer和Attention-based Pooling。
Pair-wise Interaction Layer
FM採用內積來表達每對特徵的組合,因此提出Pair-wise Interaction Layer,把m個向量擴展成m(m-1)/2個組合向量,每個組合向量都是兩個不同(distinct)向量的element-wise product(這不就是inner product嗎?)
用求和池化(sum pooling)對得到的 進行壓縮,然後用一個全連接層來project到預測分數:
(註:把p置為1,b設為0,就得到原來的FM模型)
Attention-based Pooling Layer
Attention機制廣泛應用在神經網路建模中,主要思想是在壓縮不同部分到一個single representation時,允許不同部分貢獻不同。結合FM同等權重地處理特徵組合的缺陷,在特徵組合上使用attention機制(加權求和):
為了估計aij,可以通過最小化預測代價求得。但對於訓練數據中沒有共現過的特徵們,它們組合的attention分數無法估計。因此論文進一步提出attention network,用多層感知器MLP來參數化attention分數。
Attention network的輸入是兩個特徵的組合向量(在嵌入空間中編碼了它們的組合信息),最後通過softmax函數來歸一化attention分數。
整個Attention-based Pooling Layer的輸出是一個k維向量,區分不同特徵組合的重要性地壓縮所有特徵組合到一個嵌入空間。最後project到預測分數:
模型訓練學習
AFM可以用於各種預測任務:回歸、分類、排序,不同的任務決定用不同的目標函數來訓練模型。對於回歸,目標函數用平方誤差函數。對於二分類或者帶有隱式反饋的推薦任務,目標函數用logloss函數。優化目標函數採用SGD,關鍵在於求模型的導數,DL常用的工具包(theano或者tensorflow)都提供了自動求導的功能。
AFM比FM更容易過擬合,因此考慮dropout和L2正則化防止過擬合:
- 對於Pair-wise Interaction Layer使用dropout避免co-adaptation:AFM對所有特徵組合進行建模,但不是所有的組合都有用,PIL的神經元容易彼此之間co-adapt,然後導致過擬合。
- 對於Attention network(一層MLP)加入權重矩陣W的L2正則化項阻止過擬合:這裡不用dropout,實驗發現PIL和AN同時用dropout帶來問題性的問題,降低效果。
用求和池化(sum pooling)對得到的 進行壓縮,然後用一個全連接層來project到預測分數:
實驗驗證
數據集:Frappe,9萬條app使用日誌,常用於context-aware推薦,上下文變數都是類別變數,天氣、城市、時間等。獨熱編碼得到5382特徵。MovieLens,66萬電影的tag,用於標籤推薦。UserID、movieID和tag轉化得到90445特徵。
評價指標:RMSE
對比baseline:LibFM、HOFM、W&D、DeepCross
總結
引入DNN中的Attention機制到FM模型。提出AFM通過用attention network學習特徵組合的重要性,從而提升FM,不僅提升了特徵表達能力,也提高了FM模型的可解釋性。
個人看法
基於DNN和FM結合的改進論文已經很多了,光是IJCAI相關track就有三篇,本質上都是利用DNN的泛化能力解決FM高階特徵組合的表達能力問題,思路基本都是Google W&D模型的延續。同時,Attention機制在各種DNN中已經大量使用,和DNN以及FM結合做一個微創新也很自然想到,但並沒有能給出一個相對insight的解釋,為什麼在推薦系統中用attention機制也有效果?印象中有長期依賴問題的RNN模型,引入attention機制可以有效改善效果已達成一定共識。
對於這篇論文,給特徵組合學習權重的idea並不是一個很新的想法,加權最小二乘WLS、加權線性回歸、加權SVM都是這類思想。我一直覺得像FM這類線性模型,學習的模型參數本質上就是體現特徵的重要性程度,在學習之前就引入一個權重,是否多此一舉呢?不能否認會讓原來就重要的特徵更加重要,原來無用的特徵得到懲罰,的確能加強特徵表達能力。但,能否在模型層面進行修正而達到這樣的效果呢?
目前看來,用DNN改進FM的文章已經有點多了,AUC或者logloss等指標也已經越來越好。對於推薦系統而言,可以更加關注在線訓練學習效率、系統工程實現等問題,這樣才能將這些演算法更好的落地應用。
推薦閱讀:
※Factorization Meets the Item Embedding: Regularizing MF with Item Co-occurrence, RecSys 2016
※論文投稿系列之Cover Letter寫法(一)
※蘭德公司推薦的經典論文
※ACM CCS 2017 會議每日報道:Day 3 & 4
※論文大燜鍋:NBER論文速遞 種族偏見真的存在么? By Edward Miguel等
TAG:学术论文 |