DeepFM: A Factorization Machine based Neural Network for CTR Prediction - penny4860/study-note GitHub Wiki

1. 정리

요약

  • 특정 User가 특정 Item의 click확률을 예측하는 DeepFM모델을 제안
    • Input
      • user에 대한 feature
      • item에 대한 feature
    • Output
      • 클릭확률
  • 모델 구조
    • feature interaction
      1. order-1 feature interaction
        • sparse feature의 linear combination
        • FM layer의 Addition(+) 부분
      2. order-2 feature interaction
        • 임베딩 vector의 내적으로 모델링
          • 모든 조합의 내적을 연산
        • FM layer의 Inner Product(x) 부분
      3. higher order
        • 임베딩 vector를 concat & MLP
    • 출력
      • 3개 feature interaction unit을 모두 summation 하고 sigmoid

질문

2. 내용

1. Intro

  • Feature Interaction을 모델링하는 방법
    • 기존의 방식
      • Manually include pairwise feature interactions
      • Feature engineering 필요한 단점이 있음.
    • Factorization Machine
      • Feature 끼리의 latent vector를 내적하는 방식
      • 성능이 좋으나 high order modeling이 안되는 문제가 있음.
    • Wide & Deep learning
      • low order interaction은 wide part로 , high order interaction은 deep part로 모델링
      • wide part의 구현에는 여전이 feature engineering에 의존
  • DeepFM의 contributions
    1. low order, high order의 feature interaction을 1개의 network로 모델링
    2. 효율적인 학습
      • wide/deep part가 같은 input을 공유
    3. 성능

2. Approach

  • Data 구성
    • X : (user/item) 에 대한 data record
      • item에 대한 feature
      • user에 대한 feature
    • y
      • user가 item을 click했는지 여부
  • 모델 : y = f(x)
    • user/item에 대한 feature로 user가 item을 클릭할 확률을 예측하는 문제

2.1. DeepFM

  • y_hat = sigmoid(y_FM + y_DNN)
    • y_hat : user가 item을 클릭할 확률
    • y_FM : scalar
    • y_DNN : scalar
  • Feature interaction 모델링 order
    • order-1
      • 여러 feature의 linear combination으로 모델링
      • w1*x1 + w2*x2 + ...
    • order-2
      • 임베딩 vector의 내적으로 모델링
    • higher order
      • feature vector를 concat & MLP

2.1.1. FM Component

  • y_FM = (Addition unit) + (Inner Product unit)
    • Addition unit
      • order 1 feature interaction을 반영
      • raw feature의 linear combination
    • Inner Product unit
      • order 2 feature interaction을 반영
      • 임베딩 vector끼리의 내적을 모든 feature 조합에 대해서 연산

2.1.2. Deep Component

  • 임베딩 vector를 모두 concat -> MLP