Wide And Deep 論文簡介:快思慢想的神經網路版

簡介

Wide And Deep 模型由簡單的Wide模型和複雜的Deep模型組成

  • Wide
    • Memorization(記憶)
      • Generalized linear model(e.g., Linear Regression Model)
      • 適合學習稀疏、簡單的規則
        • 看了 A 電影的使用者經常喜歡看電影 B,這種「因為 A 所以 B」式的規則
    • 從歷史資料學習規則(exploit)
    • 讓模型記住大量的直接且重要的規則,這正是單層的線性模型所擅長的
  • Deep
    • Generalization(泛化)
      • Embedding-based models(e.g., Deep Neural Network)
      • 適合學習通用、深層的規則
    • 學習新的特徵組合(explore)
  • 合併 Wide and Deep(Jointly Training)
    • 既能快速處理和記憶大量歷史行為特徵,又具有強大的表達能力
    • 和 Deep-only 比: 準確率高
    • 和 Wide-only 比: 更好的泛化規則
  • 當user-item matrix非常稀疏時,例如有獨特愛好的users以及很小眾的items,NN很難為users和items學習到有效的embedding。導致over-generalize,並推薦不怎麼相關的物品。此時Memorization就展示了優勢,它可以「記住」這些特殊的特徵組合

實作

Wide

  • $y = w^Tx+b$
  • Cross product transformation
  • Optimizer: Follow-the-regularized-leader (FTRL) + L1 regularization
    • FTRL with L1非常注重模型的稀疏性。採用L1 FTRL是想讓Wide部分變得更加稀疏
      • 但是兩個id類特徵向量進行組合,在維度爆炸的同時,會讓原本已經非常稀疏的multihot特徵向量,變得更加稀疏。正因如此,wide部分的權重數量其實是海量的。為了不把數量如此之巨的權重都搬到線上進行model serving,採用FTRL過濾掉哪些稀疏特徵無疑是非常好的工程經驗
  • Wide的輸入特徵較少
    • 只有已安裝app和瀏覽過的app
    • 希望能充份發揮Wide記憶能力強的優勢

Deep

  • 特徵(節錄)
    • 用戶特徵
      • 年齡、國家、語言
      • 行為特徵
        • 已安裝App個數
        • 已安裝的App
    • 情境特徵
      • 使用裝置
      • 目前時間(星期,小時)
    • App特徵
      • 發佈時間
      • 下載數
    • 候選App
    • 部份特徵有做embedding(Wide完全沒有)
      • 32 dimension
  • Optimizer: AdaGrad

Jointly Training

  • 同時更新Wide和Deep的權重
  • 結構圖

結果

實際用於 Google Play Store App 推薦

  • Deep雖然離線結果較差,但實際結果仍比Wide好
    • 深層模型有學習到使用者的隱含喜好,而非直接記憶規則

心得

這就是快思慢想的神經網路版

Wide處理簡單的規則且省力,Deep處理複雜的規則但費力

和純粹的deep learning相比,適合需要記憶大量簡易規則的情境。如App推薦中,有安裝A就推薦B

Wide and Deep是一個架構,代表Wide模型和Deep模型可以為任意實作,所以衍生出許多變形,如DeepFM, Deep and Cross等

Reference

  • Cheng, Heng-Tze, et al. "Wide & deep learning for recommender systems." Proceedings of the 1st workshop on deep learning for recommender systems. 2016.
  • https://medium.com/data-scientists-playground/wide-deep模型-推薦系統-原理-8badacf777f3
  • https://zhuanlan.zhihu.com/p/142958834
  • https://zhuanlan.zhihu.com/p/53361519