세로형
Recent Posts
Recent Comments
Link
11-22 00:00
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

추천 시스템(recsys) deepfm 논문 리뷰 - A Factorization Machine based Neural Network for CTR Prediction 본문

추천시스템

추천 시스템(recsys) deepfm 논문 리뷰 - A Factorization Machine based Neural Network for CTR Prediction

이수진의 블로그 2022. 5. 16. 09:29
반응형
728x170

포스팅 개요

이번 포스팅은 추천 시스템(recommender system, recsys) 논문 중 DeepFM : A Factorization Machine based Neural NEtwork for CTR Prediction 이라는 논문을 리뷰하는 포스팅입니다. DeepFM은 추천 시스템 분야에서 굉장히 유명한 논문이고 잘 알려진 모델인데요. 이 DeepFM을 시작을 해서 추천 시스템 논문들을 쭉 리뷰하는 시리즈 형식으로 글을 작성해보려고 합니다. 오늘은 그 추천 시스템 논문 리뷰 시리즈 글 첫 번째 글입니다. 

 

추천 시스템 논문 리뷰는 아래와 같은 순서로 진행할 예정입니다. 오늘은 그 첫번째 글인 DeepFM입니다.

 

  1. DeepFM
  2. MAML (https://lsjsj92.tistory.com/637)
  3. VECF (https://lsjsj92.tistory.com/638)
  4. FDSA (https://lsjsj92.tistory.com/639)
  5. PMN (https://lsjsj92.tistory.com/640)
  6. GAU (https://lsjsj92.tistory.com/641)
  7. A3NCF (https://lsjsj92.tistory.com/642)
  8. MIAN (https://lsjsj92.tistory.com/643)
  9. CCANN (https://lsjsj92.tistory.com/644)

참고한 자료는 다음과 같습니다.

포스팅 본문

 

DeepFM 논문 리뷰는 아래와 같은 순서로 진행합니다.

 

1. DeepFM 핵심 요약

2. DeepFM 논문 리뷰


DeepFM 핵심 요약

 

Wide-DeepFM의 장점을 합침

FM ComponentDeep Component 구조를 가지고 있음

기존 모델들의 단점을 극복하고 장점을 결합

 
DeepFM

CTR을 예측하는 모델

Low high-order interaction을 반영할 수 있음

Feature engineering이 필요하지 않음

Pre-training이 필요하지 않음

 

와 같이  DeepFM을 간단히 요약해볼 수 있습니다.

이제 논문을 하나하나 리뷰해봅니다.


DeepFM 논문 리뷰

Introduction

CTR(Click-Through Rate)의 중요성

많은 recommender system의 목표가 maximize the number of clicks

사용자에게 return 되는 item들은 ranked by estimated CTR 될 수 있음

 
CTR에는 implicit feature interaction이 있음

App categorytime-stamp와 관계 ( 2-order interaction )

    • 사용자들은 food delivery appmeal-time에 다운로드 함

    • 2개의 featuresignal for CTR

App category, user gender, age와 관계 ( 3-order )

    • 남자 10대 청소년들은 RPGshooting game을 좋아함

 
이러한 feature interaction을 고려해야 함

Low high-order interaction을 고려해야 함

 
Key challenge
 
효과적으로 feature interaction을 모델링하는 것
 
어떤 feature interaction은 이해하기 쉬워서 (이전 예처럼) 설계할 수 있음
    • 그러나, 많은 경우 feature interaction을 식별 또는 모델링하기 하기 어려움
    • 너무 많은 feature가 있어서 이들간의 관계를 살펴보는 것
 
전문가의 관찰이 아닌 data에서 발견되는 것들 ( Machine Learning을 통해 발견되는 것들 )
 

 
위 연구들의 특징은!

Biased to low or high order feature interaction

Rely on feature engineering

 
 
그래서 본 논문에서는!

All ordersfeature interaction을 배울 수 있는 모델 제안

Without feature engineering

DeepFM을 제안

    • FM partDeep Part integrate

    • FM part에서는 low feature interactions

    • Deep Part에서는 high-order feature interaction

    • Share the same input 하며 embedding vector도 마찬가지로 공유

 

Approach

Dataset 설정

n개의 instances 가진 (χ, y) training set이 있음

    • χ : m개의 fields 가지고 있음

        • Categorical fields(gender, location)

            • One-hot으로 표현

        • Continuous fields(age)

            • 그 값 자체나 discretization 하고 one-hot

    • y : 01 의 값

        • 1clicked the item

 

따라서 Data

(x, y)로 표현할 수 있음

    • x :[x_field1,x_field2,…x_filedm]으로 표현할 수 있음

    • 각각의 x_filedjχ에서의 j 번째 field vector representation

 
목적

•  y^= CTR_model(x)

클릭할 확률을 추정

 

DeepFM 파트의 목표

Low and high order feature interaction을 배우는 것

    • 따라서 FM componentDeep component 2개로 나누어짐

        • Same input을 공유함

    • For feature i에 대해서

        • Scalar w_i1차원 중요도를 측정함

        • Latent vector V_iother features간의 interaction의 영향을 측정

            • V_iFM에 들어가서 2차원 interaction을 모델링, deep component에서는 고차원 interaction 모델링

 

y^=sigmoid(y_FM+y_DNN)의 꼴로 됨

    • y^∈(0, 1) : predict ctr

    • y_FM: output of FM component

    • y_DNN : output of DNN component

 

FM Component

[Randle, 2010]이 제안한 Factorization Machine

 

Feature 간의 linear interaction외에도 pairwise feature interaction도 고려

    • Inner product of respective feature latent vectors 활용

 

2-order feature interactiondatasetsparse할 때에도 효과적으로 포착함

    • Productlatent vector v_i, v_j  Inner product해서 측정하기 때문

 

(<w, x>) importance of order-1 feature 반영

 

 
Deep Component
 

Feed-forward neural network

    • Embedding layer 도입해서 input vector low-dimensional로 압축
 
High-order interaction을 학습
 

2가지 interestingfeature가 있음

    • 서로 다른 input field vector의 길이가 다를 수 있지만 embedding은 동일한 크기
    • FMlatent feature vector (V)network weights 제공       
        • Input field vector embedding vector로 압축하는데도 사용
 

 

 
[Zhang, 2016]과 다른 부분
    • FMinitialization으로 사용하지 않고 FMoverall learning architecture 중 하나로 포함
    • , pre-training의 필요성을 제거하고 jointly train the overall network을 진행
 

y_DNN = σ(W^l a^l+b^l)

 
 
 
FMDeepsame feature embedding을 공유함으로써 2개의 이득을 취함
    • 1. low and high order feature interaction from raw data   
    • 2. no need for expertise feature engineering of the input

 

 
Other neural networks와의 관계
반응형

Experiment

Dataset

Creiteo dataset

Company Dataset

    • Verify the performance of DeepFM in real industrial CTR prediction

    • User click records from the game center o the Company App Store

 

 
Evaluation metrics

AUC

Logloss(cross entropy)

 
Model Comparison

LR(does not consider feature interaction), FM, FNN, PNN, Wide & Deep, DeepFM

 
Parameter Setting

Dropout 0.5, network structure : 400-400-400

Optimizer : Adam

Activation function : tanh, relu

등 각 모델마다 다르게

 
Efficiency Comparison
 
Training time of deep CTR model / Training time of LR
 
Results
    • Pre-training of FNNless efficient
    • IPNNPNNGPU에서 매우 빠른 속도로 동작하지만 여전히 computationally expensive
        • Inner product operations 때문
    • DeepFMefficient한 모습을 보여줌

 
Effectiveness Comparison

Feature interaction을 학습하는 것은 CTR prediction model의 향상을 이끌어 냄

    • LR은 다른 model보다 성능이 떨어짐

    • DeepFM은 다른 모델보다 좋은 성능

Learning low and high order feature interactionCTR prediction 향상

    • Only low feature interaction : FM

    • high-order feature interaction : FNN, IPNN, OPNN, PNN

    • DeepFM이 이들보다 더 좋은 성능을 보여 줌

With sharing the same feature embeddingCTR 성능 향상에 도움을 이끌어 냄

    • Low high order feature interaction using separate feature embedding

        • LR & DNN, FM & DNN

        • DeepFM은 이들보다 좋은 성능이 나옴

Activation Function
Dropout

300x250
 
Number of Neuron per Layer

 
Number of Hidden Layers
Network Shape

Conclusions

DeepFM을 제안

Factorization-Machine based Neural Network for CTR Prediction

Deep componentFM component jointly train

 
Advantage

1) not need any pre-training

2) learn high and low order feature interaction

3) sharing strategy of feature embedding으로 feature engineering을 피함

 
Experiment

AUCLogloss에서 SOTA 달성

Efficiency of DeepFM을 확인할 수 있었음

 

마무리

이번 포스팅은 추천 시스템 논문 중 하나인 DeepFM 논문을 리뷰해보았습니다.

다음 포스팅에서도 추천 시스템 글로 찾아뵙겠습니다.

도움이 되시길 바랍니다.

감사합니다.

반응형
그리드형
Comments