논문 리뷰 및 구현

DeepFM 논문 리뷰

판교데싸 2023. 4. 2. 01:53

DeepFM : A Factorization - Machine based Neural network for CTR Prediction

 

Abstract

  • CTR(Click Through Rate)를 예측하는 모델로 Low와 High - order interactions 모두 학습 가능
  • Factorization Machine의 장점과 Deep Learning의 장점을 모두 합친 모델이 DeepFM
  • 추가 featrue engineering 없이 raw featrue를 그대로 사용할 수 있음(fe가 없어서 도메인지식이 필요X)
    • 이 부분이 wide&deep 과 deepfm의 중요한 차이점
  • deepfm의 최종 목표는 CTR을 높이는 것이고 CTR을 높이는 item을 최종적으로 추천하는 것

 

Introduction

1. CTR : user가 추천된 항목을 click할 확률을 예측하는 문제

  • CTR(estimated probability)에 의해 user가 선호할 item 랭킹을 부여

2. Learn Implicit Featrue Interaction

  • 예시
    • ex1) App category와 Timestamp 관계 :음식 배달 어플은 식사시간 근처에 다운로드가 많다
    • ex2) User gender age 관계 : 남자 청소년들은 슈팅과 Rpg게임을 선호 한다
    • ex3) 숨겨진 관계 : 맥주와 기저귀를 함께 구매하는 사람들이 많다.
  • low와 high - order feature interaction을 모두 고려해야한다
  • Explicit과 Implicit featrues를 모두 모델링 할 수 있다.

 

Contributions

  • DeepFm이라는 모델 구조를 제안
    • Low-order(FM)와 High-order(DNN)의 interaction을 모두 포함, END-to END 학습 가능
      • 엔드투엔드 학습이 가능하므로 pre-trained 모델이 필요하지 않음
    • DeepFM은 다른 비슷한 모델 보다 더 효율적으로 학습 할 수 있음
      • Input과 embedding vector를 share 한다
    • DeepFM은 benchmark와 커머셜데이터의 CTR prediction에서 의미있는 성능향상을 이뤘음

 

Our Approach

  • Input (sparse featrue) 및 Dense Embeddings을 모두 공유함
  • share한 embedding을 바탕으로 하나는 FM layer(wide) 하나는 Hidden layer(deep)로 만듦
    • FM , Hidden을 동시에 활용하여 최종적인 output을 만드는 구조

 

DeepFM

  • sparse feature의 field들 중에 노란색 부분이 embedding vector에 해당되는 부분
  • 최종 목표는 Y^을 예측하는 것 (CTR MODEL -> 0과 1을 prediction하는 확률 값)
    • y^ 은 FM에서 나온 y값과 DNN에서나온 y값을 합치고 concat해서  시그모이드 취한 값

 

FM Component

  • embedding vector의 내적을 order-2의 가중치로 사용
  • (1) sparse feature가 들어오고 (2) embedding값이 넘어와서 dense embedding이 만들어지고 그 dense embedding을 통해서 embedding끼리 내적을 하는 것이 위 수식의 내용이자 FM componenet의 핵심

 

Deep Component

  • 모든 sparse feature들을 모두 합쳐서 하나의 a0라는 것을 만들고 a0를 hidden layer에 태운다
    • 한마디로 dense embedding을 전부합쳐서 activation function을 통과해서 sigmoid를 취해줌

 

Relationship with the other Neural Networks

 

  • FNN ,PNN, Wide & Deep의 장점을 모두 합친 것이 Deep FM

 

결론 및 정리

1. Deep FM

  • deep component와 FM component를 합쳐서 학습한다
  • Pre - training이 필요하지 않다
  • High와 low - order feature interactions 둘 다 모델링 한다.
  • Input과 embedding vector를 share한다

2. From experiments

  • CTR task에서 더 좋은 성능을 얻을 수 있다
  • 비교적 다른 sota 모델에 비해 학습시간이 덜 걸린다
  • 다른 SOTA모델보다 AUC와 LogLoss에서 성능이 뛰어나다
  • DeepFM이 가장 efficient한 모델이다


 

 

 


Reference 

1) Deep FM 논문 : https://arxiv.org/pdf/1703.04247.pdf

 

반응형

'논문 리뷰 및 구현' 카테고리의 다른 글

Factorization Machine 논문 리뷰  (0) 2023.03.27
반응형