[Paper Review] (2017, Huifeng Guo) DeepFM : A Factorization-Machine based Neural Network for CTR Prediction

ohyeon·2021년 5월 18일
0
post-thumbnail

작성자 : 권오현

Abstract


- 추천 시스템에서 CTR을 최대화 하기 위해서는 유저 행동에 숨겨진 복잡한 상호관계(feature interaction)을 학습하는 것이 중요하다.
  • 기존의 방법론은 낮은 차원의 상호관계(low-order interactions)나 높은 차원의 상호관계(High-order interactions)에 치우쳐 학습을 하거나, 전문가의 feature engineering이 필요하다.

  • 논문 저자는 낮은 차원(low-order), 고차원(high-order)의 feature interactions을 End-to-End 모델로 학습할 수 있음을 보여준다.

  • DeepFM은 Factorization machines이 가지는 장점과 Deep Learning이 가지는 장점을 결합한 새로운 Neural Network 구조이다.

[참고]

  • CTR (Click-Through Rate) 이란

    클릭률(CTR)은 광고를 본 사용자가 해당 광고를 클릭하는 빈도의 비율입니다. 클릭률(CTR)을 사용하면 키워드와 광고, 무료 제품 목록의 실적을 파악할 수 있습니다.(클릭수 ÷ 노출수 = CTR) -Google Ads

  • Factorization Machines :

input dataLinear Regression : 유저와 아이템에 대한 평가를 예측하는 문제라고 생각하면 추천시스템은 선형 회귀식에서 시작 되었다.

lr Polynomial Model : 추천 시스템의 데이터는 categorical type 변수가 많고 one-hot-encoding 값이 많아 데이터의 차원이 크고 Sparse하다. 이를 위해 각 변수 간의 interaction을 고려한 모델이 제안되었다.

pm

이러한 모델링은 Linear Regression의 한계를 극복 가능 하지만 Parameter 수가 증가 하기 때문에 연산이 복잡, Factorization Machines는 feature interaction vector를 저차원으로 factorize하여 이를 해결함

Factorization Machines : Polynomial model에서 interaction weight인 wijw_{ij} 가 두 벡터 (vivj)(\vec{v_{i}} \cdot \vec{v_{j}})의 내적으로 factorize 되었다. 이 두 벡터는 interaction의 latent vector로 표현함으로써 latent space내에서 interaction을 보다 더 잘 잡아낼 수 있다.

fm

Introduction


Click-Through Rate Prediction for recommendation

  • The task of predicting the likelihood that something to website(such as an advisement) will be checked

  • CTR Prediction은 User가 추천 아이템을 클릭할 확률을 추정하는 것으로 유저에게 추천될 아이템의 순위를 매길 수 있다. 또한 온라인 광고 같은 시나리오에서도 수입을 증가시킬 수 있다.
    \Rightarrow CTR을 정확하게 추정하는 것이 핵심이다.

  • CTR Prediction은 User click 행동에 존재하는 implicit feature interactions를 학습하는 것이 중요하다.

  • 일반적으로 User click 행동의 interactions는 매우 복잡하고 low-order, high-order interaction이 중요한 역할을 한다.

    Example

    1. 식사시간에 배달앱 다운로드 하는 경우 많음 -> "app category"와 "time-stamp"의 interaction (order-2)
    2. 10대 남자들은 Shooting games & RPG games 좋아함 -> "app category"와 "gender", "age"의 interaction (order-3)
    3. Association rule에 의해 발견된 '기저기와 맥주'의 interaction (order-2)
  • 예시 1,2 와 같이 쉽게 어떠한 feature interactions는 쉽게 이해할 수 있지만, 대부분의 feature interactions는 데이터 속에 숨겨 있고 prior 정보 만으로 알기 어려워 machine learning에 의해 auto-matically하게 포착되어야 한다.(예시 3)

Previous Approaches

  • Generalized Linear Model FTRL [McMahan et al. 2013] :

    선형 모델은 feature interaction을 학습하기에 부족하며 pairwise feature interactions을 직접 feature vector로 넣어준다.

    이러한 방법은 High-order feature interactions 학습하기 어렵고 cold start 문제가 존재함.

  • Factorization Machine (FM) [Rendle, 2010] :

    pairwise feature interactions을 feature 간의 inner product를 통해 모델링 하였다.

    High-order feature interaction을 모델링 할 수 있지만 High Complexity로 인해 order-2 feature interaction만 고려한다.

  • Factorization-machine supported Neural Network (FNN) [Zhang et al., 2016] :

    Deep Neural Network에 적용하기 전에 FM으로 pre-trains 하여 feature embeddings의 가중치를 초기화 하여 학습을 한다.

    DNN에 적용하기 전에 FM을 pre-train 하기 때문에 FM에 의해 성능이 제한된다.

  • Product-based Neural Network (PNN) [Qu et al., 2016] :

    Feature interactions에 대해 Embedding layer와 fully-connected 사이에 product layer를 도입하였다.

    FNN과 PNN은 다른 DNN 처럼 CTR Prediction에 필수적인 low-order feature interactions를 거의 포착하지 못한다.

  • Wide & Deep learning for Recommender Systems (Wide & Deep) [Cheng et al., 2016] :

    low order & high-order interactions를 모델링하기 위해 linear("wide") model과 DNN ("deep") 을 결합한 Wide & Deep 모델을 제시하였다.

    Wide & Deep은 두 개의 다른 input(wide part, deep part)을 필요로 하는데 wide part input은 feature engineering이 필요함

    wide part input은 designed pairwise feature interaction이기 때문에 입력 vector가 굉장히 커져 Complexity를 증가시킨다.

Problem

  • low-order or high-order feature interaction, feature engineering을 모델링 하는데 치우쳐 저 있다.
  • feature engineering 없이 low order, high-order feature interactions를 End-to-End 방식의 모델을 제안함

Model Structure

  • Factorization Machines(FM)과 Deep Neural Network(DNN)의 구조를 결합한 새로운 NN모델인 DeepFM을 제시한다.
  • Wide & Deep 모델과 다르게 같은 input, embedding layer를 공유하기 때문에 효율적으로 학습할 수 있다.
  • Benchmark data와 commercial data에 평가한 결과 다른 CTR Prediction 모델 보다 일관적으로 향상된 결과를 보였다.

Our Approach


Traning Dataset

Traindata
x=[xfield1,xfield2,,xfieldj,,xfieldm]x=[x_{field_{1}},x_{field_{2}},\cdots,x_{field_{j}},\cdots, x_{field_{m}}]

y={1user  clicked  the  item0otherwisey=\left\{ \begin{matrix} 1 & user\; clicked\; the\; item \\ 0 & {otherwise} \end{matrix} \right .

  • n개의 (χ,y)(\chi, y) 데이터가 구성되어 있다. χ\chi는 User, Item pair m-fields 구성되어 있다.

    χ\chi
    Categorical fields (e.g., gender, location): one-hot encoding
    Continuous fields (e.g., age) : value, Discretization & one-hot encoding

  • CTR Prediction 모델의 목적은 context가 주어졌을 때 특정 앱을 클릭할 확률을 추정하는 모델을 만드는 것이다.

    model

DeepFM

deepfm

  • DeepFM은 같은 input을 통해 FM Component(low-order feature interaction)와 Deep Component(high-order feature interaction)을 학습하는 것을 목표로 한다.

  • FM Component와 Deep Componet가 같은 Embedding 벡터를 공유한다. 이러한 구조는 두 가지 장점을 가진다.
    emb
    1) Field  vectorField\; vector의 크기가 다를 수 있지만 EmbeddingLayerEmbedding \,Layer로 인해 같은 크기(k=5)를 가진다.

    Gender의 경우 크기가 2인 VgenderV_{gender} 이지만 국적이나 나이의 경우 Gender보다 더 큰 벡터를 가지게 된다. 하지만 결과적으로 kdimensionk-dimension으로 Embedding된다.

    2) (FNN) [Zhang et al., 2016] 에서는 VV 가 FM에 의해 pre-trained 한 feature embeddings의 가중치를 초기화하여 학습하지만 DeepFM은 pre-trained할 필요가 없고 End-to-End로 학습을 할 수 있게 된다.

  • 결과적으로 y^\hat{y}는 FM, DNN의 예측값의 합을 sigmoidsigmoid를 적용한다.
    predict

FM Component

fm componet

  • FM Component는 (FNN) [Zhang et al., 2016] 에서 제안된 feature interaction을 학습하기 위한 Factorization machines 이다.
  • FM은 각각 feature latent vector의 inner product (order-2)로 feature interaction을 모델링한다.
  • FM의 Output은 Addition Unit과 Inner Product Unit의 합으로 다음과 같이 표현된다.

    function

Deep Component

deep component

  • Deep Component는 high-order feature interaction을 학습하기 위한 Feed-Forward Neural Network이다.
  • CTR prediction 모델의 Input data는 굉장히 Sparse하고 super high-demensional하다.
    Embeddinglayer\Rightarrow Embedding layer를 통해 Input vector를 low-order dense한 vector로 압축되어 NN에 입력된다.

    dnn

Relationshop with the other Neural Networks


  • FNN [Zhang et al., 2016] : feature embeddings의 가중치를 FM에 의해 pre-trained 값을 initialization하기 때문에 두 가지 제한점을 가진다.

    1) Embedding 파라미터가 FM의 영향을 받을 수 있다.

    2) Pre_trained에서 도입된 Overhead로 효율성이 저하된다.

    High-order feature interaction은 학습할 수 있지만 low order feature interaction은 학습 불가능 하다
    DeepFM의 경우 사전 훈련이 불 필요하며, low & high order feature interaction 학습 가능하다.

  • PNN [Qu et al., 2016] :
    High order feature interaction을 포착하기 위해 EmbeddingLayerEmbedding\, LayerFirst  Hidden  LayerFirst\; Hidden \; Layer 사이에 ProductProduct를 추가한 모델이다. IPNNIPNN(내적), OPNNOPNN(외적), PNNPNN(내적 ,외적)

    계산을 효율적으로 하기 위해 IPIP(내적)을 할 경우 뉴런을 제거하고 OPOP(외적)을 할 때 차원을 압축하여 근사적으로 계산한다.

    1) IPIP(내적)을 할 경우 reliable하지만 ProductLayerProduct\,Layer이후에 HiddenLayerHidden\,Layer의 모든 neuron에 연결도기 때문에 High Computational Complexity가 요구된다.

    2) OPOP(외적)을 할 경우 unstable하고 feature의 정보를 잃어 버린다.

    3) 저차원 feature interaction이 무시된다.

    DeepFM의 FM Component는 마지막 OutputLayer(1  neuron)Output\, Layer(1\; neuron)에만 연결된다.

  • Wide & Deep [Cheng et al., 2016] :
    DeepFM과 다르게 Wide Part의 Input을 직접 feature engineering 해야한다.

    이 모델의 Linear Regression(LR)을 FM으로 바꾸면 DeepFM과 비슷하지만 DeepFM은 Feature Embedding을 share한다.

    Embedding share 하는 방식은 low & high-order feature interaction을 표현하는 feature representation에 영향을 미쳐 더욱 정교하게 학습을 한다.(back-propagate manner)

    DeepFM은 사전 훈련과 Feature engineering 없이 low & high-order feature interaction을 포착할 수 있다.

Experiments


Experiment Setup

DataSets :

1) Criteo DataSet : 4,500만 명의 유저 클릭을 포함한, 13개의 continuous feature과 26개의 categorical feature가 있다.

2) Company Dataset(아마 Huawei) :

  • 실제 산업의 CTR prediction을 평가하기 위해 회사 데이터에서 실험을 해 보았다. 회사의 App store에서 연속된 7일의 유저 클릭 기록을 사용하여 다음 하루치를 evaluate 하였다.
  • 10억개 가량의 기록, app과 관련된 feature(identification, category and etc)와 user feature(유저가 다운로드한 앱), context feature(operation time and etc)가 있다.

Evaluation Metrics :

1) Logloss

2) AUC Score

Model Comparison

  • 9개의 모델 실험 비교
    • LR, FM, FNN, PNN, Wide & Deep (Wide - LR & FM) , DeepFM

Performance Evaluation

Effciency Comparison

  • LR 대비 학습시간에 걸린 시간을 나타내는 그래프
  • FNN은 DeepFM에 비해 오래 걸린다. Pre-training에 시간을 많이 씀
  • IPNN, PNN의 경우 Inner Product의 학습 속도가 굉장히 느려지는 걸 확인할 수 있다.
  • Wide & Deep 모델보다는 살짝 느리지만 준수함

Effectiveness Comparison

effect

  • Feature interaction이 표현되지 않은 LR보다 interaction을 표현하는 다른 모델들이 성능이 더 좋다.

  • Low-order & High-order feature interaction을 같이 학습하는 모델인 DeepFM과 Wide & Deep 모델이 다른 모델보다 성능이 좋다.

  • Feature embedding을 share하는 DeepFM이 성능이 더 좋다.

    결과적으로 Wide & Deep 보다 AUC와 LogLoss 측면에서 각각 0.37% point, 0.42% point 성능이 좋아 졌다. 근소한 차이지만 Wide & Deep 논문에 의하면 Offline에서 0.275% 포인트 차이가 Online CTR에서는 3.9% point 차이로 이어졌다. 회사 AppStore에서 일일 전환율이 수백만 달러이기 때문에 작은 비율 상승은 년간 수 백만 달러의 추가 이익을 가져온다. 성능 향상이 효과적임을 확인할 수 있다. -Wide & Deep [Cheng et al., 2016]

Conclusions


  • 이번 논문에서는 기존의 CTR예측 SOTA 모델의 단점을 극복하고 더 좋은 성능을 보인 모델인 FM기반 신경망 모델 DeepFM을 제시했다. DeepFM은 Deep Component와 FM Component를 jointly 학습한다. 이런 방식은 세 가지 장점이 있다.

    1) pre-training이 필요하지 않다.

    2) 높은 차원과 낮은 차원의 피쳐 상호작용을 같이 학습한다.

    3) Feature Engineering이 필요 없도록 feature embedding을 공유하는 전략을 사용한다.

    두 개의 real-word datasets 상에서 effectiveness측면이나 efficiency 측면을 다른 SOTA 모델과 비교했다. 실험 결과는 1) DeepFM이 AUC와 Logloss 지표에서 SOTA모델을 앞질렀고 2) 제일 efficient한 모델과 비교할 만큼 성능이 좋았다.

  • 두 가지 후속 연구 방향이 있다. 하나는 높은 차원의 피쳐 상호작용을 강화하는 방법(예를 들면 pooling layer를 도입)을 탐색해보는 것이고 다른 하나는 GPU cluster상에서 large-scale problem을 DeepFM에서 학습하는 것이다.

참고 자료

0개의 댓글