「Attentional Factorization Machines」- 論文摘要

娃哈哈店長發表於2020-02-28

前言

FM能夠發現二階組合特徵,但是所有特徵的權重都是一樣的,這會阻礙FM的效果,因為不是所有的特徵都是有用的,例如有些無用的特徵進行組合會引入噪聲,降低FM的效果。本文提出了AFM模型,通過引入attention機制,學習互動特徵的重要程度。

Introduction

為了平衡特徵之間的互動,可以利用polynomial regression(多項式迴歸)來學習互動特徵的權重,但是會存在一個主要的問題(與Wide&Deep中的Wide部分一樣):在稀疏資料集中僅能觀察到少量互動特徵,對於樣本中沒出現這個組合特徵,Poly2學習不到權重,樣本的不充分也會導致學習的引數不準確,Poly2中對於每個組合特徵的權重是獨立的,你無法從A特徵的權重中得到關於B的任何資訊。

為了解決ploy2這個問題,提出了FM模型。FM中組合特徵的權重不再是獨立的。對於一些無用的特徵,應該設定很低的權重,但是FM缺少這個作用。本文引入attention機制來解決這個問題。自動學習組合特徵的不同的權重。

Attentional Factorization Machines

FM

\hat{y} \cdot FM(x) =\underbrace{w_{0} + \sum_{i=1}^{n}w_{i}x_{i}}{linear regression} + \underbrace{\sum{i=1}^{n}\sum_{j=i+1}^{n} \hat w_{ij}x_{i}x_{j}}_{pair-wise feature interactions}

其中W0為偏差,Wi為第i個特徵的權重,Wi,j為組合特徵xixj的權重。

\hat{w}{ij} = v{i}^{T}v_{j}

,vi∈ Rk,且對應第i個特徵的embedding vector。FM會賦給所有可能存在的互動特徵以相同的權重,即使這個特徵是無用的。

AFM

結構圖:

「Attentional Factorization Machines」- 論文摘要

Input Layer&Embedding Layer

輸入的特徵向量X,去掉0值,經過Embedding Layer得到

\varepsilon = ( v_{i} x_{i} )_{i \in x}

Pair-wise Interaction Layer

受到FM的啟發,使用內積得到組合特徵(each pair of features),現在提出Pair-wise Interaction Layer,如果特徵向量大小為m,通過這一層後會得到 大小為m(m − 1)/2的組合特徵向量。把embedding後的向量進行兩兩組合,得到:

f_{PI}(\varepsilon) = [(v_{i} \bigodot v_{j})x_ix_j]_{(i,j)\in R_x}

然後經過sum pooling -> fc層得到最後的預測結果,表示式為:

\hat{y} = P^{T} \sum_{(i,j)\in R_x} (v_i \bigodot v_j)x_ix_j + b

其中p為權重,b為偏差,若p全為1,即所有特徵的權重為1,b為0,則此模型變成FM模型。

Attention-based Pooling Layer

引入attention機制,給每組互動特徵賦予權重,表示式為:

f_Att(f_PI(\varepsilon)) = \sum {(i,j)\in R_x} a{ij}(v_i \bigodot v_j)x_i x_j

其中ai,j的值是通過最小化損失函式得到的,所以還需要加入MLP,將此層稱為attention network,現定義為:
score:

{a_{ij}}’ = h^{T}ReLU(W(v_{i}\bigodot v_j)x_i x_j + b)

對score進行 softmax 的歸一化:

a_{ij} = \frac{exp({a_{ij}}’)}{\sum_{i,j}\in R_x exp({a_ij}’)}

最後AFM模型的輸出:

\hat y_{AFM}(x) = w_{0} + \sum_{i=1}^{n}w_{i}x_{i} + p^T \sum^n_{i=1}\sum^n_{j=i+1} a_{ij} (v_i \bigodot v_j) x_i x_j

AFM = LR + Embedding + Attention + MLP

LR:

\sum ^n _{i=1} w_i x_i

AFM目標函式
迴歸任務:使用平方損失函式

L_r = \sum {x\in \tau }(\hat{y}{AFM}(x) - y(x))^2

二分類任務:logloss

使用SGD進行引數優化,加入L2正則項或者dropout來防止過擬合的情況。

歡AFM的做法:

在pair-wise interaction layer使用dropout正則化
在attention network使用L2正則化,不採用dropout正則化的原因,是因為當把dropout加入attention network後會出現問題,使效果降低。

L = \sum_{x\in \tau} (\hat(y)_{AFM}(x) - y{x})^2 +\lambda \left || W \right ||^2

總結

AFM是在FM的基礎上進行優化,加入了attention Network,通過attention機制建立權重矩陣來學習兩兩向量組合時不同的權重,該權重矩陣將會作用到最後的二階項中,進而得到最終的結果。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

文章!!首發於我的部落格Stray_Camel(^U^)ノ~YO

相關文章