推薦系統FM系列文章(三)-- NFM模型
0. 寫在前面
繼上次介紹了DeepFM模型後,本文我們介紹將FM模型思想結合神經網路的又一工作 – NFM(Neural Factorization Machine),一起來看看NFM相比於FM模型及DeepFM模型有哪些不同之處以及優化點。
個人心得:
- bi-interaction pooling layer,一種element-wise product的特徵交叉層
論文地址:
https://arxiv.org/pdf/1708.05027.pdf
1. 背景
DeepFM將神經網路成功引入了FM模型當中,並取得了較為理想的效果。此外,推薦領域研究學者也提出了NFM模型,同樣是將特徵顯式交叉的思想引入神經網路,與DeepFM相似,NFM模型的結構依然遵循類似的two-part結構,包括shallow-part(淺層)以及dnn-part(深層)。下面詳細介紹NFM中的dnn-part。
2. 模型架構
NFM模型架構如圖所示。上面說到,NFM分為兩部分,分別為線性部分及神經網路部分。線性部分具備樣本記憶的能力,神經網路部分負責複雜的特徵抽取、特徵交叉等工作,具體樣本泛化能力。我們重點來看dnn這一部分。
NFM神經網路部分對輸入樣本的處理方式完全一致,類別特徵onehot後進行embedding,連續特徵直接embedding,兩類特徵的embedding維度保持一致,等價於FM模型二階特徵交叉項中隱向量的維度。每個特徵field的embedding向量經過一層bi-interaction pooling layer後,輸出與embedding向量維度一致的新向量,最後送入全連線層。由此可見,除了剛剛提到的bi-interaction pooling layer以外,NFM其他部分均平平無奇,下面我們就來看看bi-interaction pooling layer作為獨立的一層,到底實現了什麼功能。
3. bi-interaction pooling layer
之前我們說到DeepFM通過特徵embedding的向量兩兩內積實現特徵交叉,重點就在於“特徵交叉”。在NFM中,bi-interaction layer就是那個實現特徵交叉的關鍵一層。bi-interaction pooling layer實現特徵交叉的方式如下式所示。
其中,
x
i
x_{i}
xi表示特徵取值,
v
i
v_{i}
vi表示特徵
x
i
x_{i}
xi對應的embedding向量,
@
@
@運算子號表示element-wise product,即兩個向量對應元素相乘,得到的向量維數與每個特徵域embedding向量維數相同。通過對所有特徵域進行兩兩交叉後,可以得到一系列特徵交叉後的結果,最後將所有結果進行sum pooling操作,得到最終特徵交叉後特徵向量表示。
對比DeepFM的特徵交叉方式,我們可以發現bi-interaction pooling layer:
- 採用特徵pooling的方式代替DeepFM中二階特徵向量橫向連線操作,得到的結果向量由 n ∗ k n*k n∗k維優化為k維,大大減少訓練引數數目。( n n n為特徵域個數, k k k為embedding向量維度)
- 採用sum pooling的方式綜合二階特徵資訊,可能會有資訊損失
4. 總結
NFM是第一個將bi-interaction layer引入神經網路的工作,在特徵交叉方面提出了相應的優化點,推薦領域中後續很多工作均借鑑了NFM中bi-interaction pooling的思想,從另一方面也說明NFM在推薦演算法發展過程中所起到的代表性。
相關文章
- 推薦系統召回四模型之全能的FM模型模型
- 聊聊推薦系統,FM模型效果好在哪裡?模型
- 推薦系統實踐 0x0c FM系列
- 【推薦系統篇】--推薦系統之訓練模型模型
- 推薦系統實踐學習系列(三)推薦系統冷啟動問題
- 《推薦系統》-DIN模型模型
- 《推薦系統》-PNN模型模型
- 萬字長文,詳解推薦系統領域經典模型FM因子分解機模型
- 推薦系統----2020會議文章集錦
- 探索將大語言模型用作推薦系統模型
- DDD文章推薦
- 零基礎入門推薦系統-【排序模型+模型融合】排序模型
- 【轉】推薦系統演算法總結(二)——協同過濾(CF) MF FM FFM演算法
- 【推薦系統篇】--推薦系統之測試資料
- 搜狐:新聞推薦系統的CTR預估模型模型
- 推薦系統概述
- python 推薦系統Python
- 《推薦系統實踐》筆記 01 推薦系統簡介筆記
- 推薦系統論文之序列推薦:KERL
- 推薦系統一——深入理解YouTube推薦系統演算法演算法
- 【推薦系統篇】--推薦系統介紹和基本架構流程架構
- 推薦系統公平性論文閱讀(三)
- 推薦系統概念篇
- 設計模式-推薦文章設計模式
- 雲音樂推薦系統(二):推薦系統的核心演算法演算法
- Mahout的taste推薦系統引擎(影片推薦案例)AST
- 【推薦演算法】推薦系統的評估演算法
- (讀論文)推薦系統之ctr預估-DeepFM模型解析模型
- 巨經典論文!推薦系統經典模型Wide & Deep模型IDE
- 網易雲音樂推薦系統簡單實現系列
- 推薦系統工程架構架構
- 《推薦系統》-Wide&DeepIDE
- 推薦系統 task 1 @datawhale
- 【推薦系統】GBDT+LR
- 如何構建推薦系統
- Spark推薦系統實踐Spark
- 推薦系統實踐 0x09 基於圖的模型模型
- 推薦系統技術之文字相似性計算(三)