FM與DNN的組合——FNN模型

origin paper: https://arxiv.org/pdf/1601.02376.pdf

解決痛點

特徵學習和模型泛化的能力有限。

網絡結構

在這裏插入圖片描述
top-down視角

CTR層

y^=sigmoid(W3l2+b3)\hat{y}=\operatorname{sigmoid}\left(\boldsymbol{W}_{3} \boldsymbol{l}_{2}+b_{3}\right)W3R1×Lb3R and l2RL\boldsymbol{W}_{3} \in \mathbb{R}^{1 \times L},b_{3} \in \mathbb{R} \text { and } l_{2} \in \mathbb{R}^{L}sigmoid(x)=1/(1+ex)\operatorname{sigmoid}(x)=1 /\left(1+e^{-x}\right)

l2l_2

l2=tanh(W2l1+b2)l_{2}=\tanh \left(\boldsymbol{W}_{2} \boldsymbol{l}_{1}+\boldsymbol{b}_{2}\right)W2RL×M,b2RL and l1RM\boldsymbol{W}_{2} \in \mathbb{R}^{L \times M}, \boldsymbol{b}_{2} \in \mathbb{R}^{L} \text { and } \boldsymbol{l}_{1} \in \mathbb{R}^{M}tanh(x)=(1e2x)/(1+e2x)\tanh (x)=\left(1-e^{-2 x}\right) /\left(1+e^{-2 x}\right)

l1l_1

l1=tanh(W1z+b1)\boldsymbol{l}_{1}=\tanh \left(\boldsymbol{W}_{1} \boldsymbol{z}+\boldsymbol{b}_{1}\right)W1RM×J,b1RM and zRJ\boldsymbol{W}_{1} \in \mathbb{R}^{M \times J}, \boldsymbol{b}_{1} \in \mathbb{R}^{M} \text { and } \boldsymbol{z} \in \mathbb{R}^{J}z=(w0,z1,z2,zi,,zn)\boldsymbol{z}=\left(w_{0}, \boldsymbol{z}_{1}, \boldsymbol{z}_{2}, \ldots \boldsymbol{z}_{i}, \ldots, \boldsymbol{z}_{n}\right)

zz的生成

ziz_{i}表示每個特徵的向量,由:zi=W0ix[ start i:endi]=(wi,vi1,vi2,,viK)\boldsymbol{z}_{i}=\boldsymbol{W}_{0}^{i} \cdot \boldsymbol{x}\left[\text { start }_{i}: \mathrm{end}_{i}\right]=\left(w_{i}, v_{i}^{1}, v_{i}^{2}, \ldots, v_{i}^{K}\right)得到。
其中W0iR(K+1)×(endistarti+1)\boldsymbol{W}_{0}^{i} \in \mathbb{R}^{(K+1) \times\left(\mathrm{end}_{i}-\operatorname{start}_{i}+1\right)}

這裏xx表示輸入的所特徵組合得到的一維向量,x[ start i:endi]\boldsymbol{x}\left[\text { start }_{i}: \mathrm{end}_{i}\right]表示,第 i個filed的特徵,W0iW_{0}^{i}表示第ii個filed的embedding矩陣,將特徵轉化爲對應的dense向量。在生成WW矩陣時,wiw_{i}爲常數項,vi1..viKv_{i}^{1}..v_{i}^{K}由FM模型學習得到。

W0iW_{0}^{i}embedding矩陣的初始化生成

該部分即爲FM模型,目標函數爲:
yFM(x):=sigmoid(w0+i=1Nwixi+i=1Nj=i+1Nvi,vjxixj)y_{\mathrm{FM}}(\boldsymbol{x}):=\operatorname{sigmoid}\left(w_{0}+\sum_{i=1}^{N} w_{i} x_{i}+\sum_{i=1}^{N} \sum_{j=i+1}^{N}\left\langle\boldsymbol{v}_{i}, \boldsymbol{v}_{j}\right\rangle x_{i} x_{j}\right)
損失函數爲:
L(y,y^)=ylogy^(1y)log(1y^)L(y, \hat{y})=-y \log \hat{y}-(1-y) \log (1-\hat{y})
學到的vv組合起來就是WW

總結

from down-top視角

  • 首先在最底層學到每次filed的embedding矩陣
  • 將所有特徵進行embedding並組合層zz
  • 經過l1,l2l_{1},l_2兩層變換
  • 最終將將結果用sigmoid轉化爲概率
  • FM生成僅作爲初始化W使用

FNN的亮點在於將FM的結果矩陣的初始化向量,上層是個DNN,創新點在模型融合上。

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