Très bien

(Paper Review) A Factorization-Machine based Neural Network for CTR Prediction 본문

Study/RecSys

(Paper Review) A Factorization-Machine based Neural Network for CTR Prediction

LemonSoda 2022. 3. 22. 23:01

1. Overview

논문은 Factorization machines와 neural network를 합친 형태의 Deep FM(Factorization Mode)을 소개합니다. Uver-Item간 복잡한 상호작용을 학습하는 것은 추천 시스템의 CTR(Click-through rate, 클릭률)을 높이기 위한 좋은 성능입니다. 본 연구는특별한 feature engineering을 하지 않아도 편향되지 않게  user-item 상호작용의 nonlinear한 특성을 학습하기 위한 DeepFM(Factorizatino Machin)을 제안했습니다. 추천 시스템의 FM구조를 Deep learning에 적용하여 feature를 학습한 본 논문의 architecture는 Google 의 Wide & Deep 모델과 비교했을 때, wide term과 deep term의 입력값을 공통으로 적용할 수 있다는 장점이 있습니다. 

2. Approaches 

2.1. Terminology

$(\chi, y)$ : n dimensional dataset, where $\chi$ is $m$-fields data records usually a pair of user-item and $y$ is associated labeling {0, 1} . (y = 1 is the user clicked the item, and y =0 otherwise)  $\chi$ 는 성별, 지역 등의 범주형 정보를 포함할 수 있으며, 나이와 같은 연속형 필드도 포함할 수 있습니다. 각각의 범주형 입력값은 one-hot 인코딩 형태로 표현되어집니다. 각각의 인스턴스는 (x,y) 형태로 전환되며, x는 다음과 같은 형태의 d차원 벡터입니다. 여기서 xfield_j는 $chi$의 j 번째 필드의 벡터 표현입니다. 일반적으로, x는 고차원으로 매우 sparse한 데이터입니다. CTR예측은 \hat{y}=model_{CTR}(x) 형태의 예측 모델을 만들어서 각 유저가 주어진 context에서 특정 아이템을 클릭할 확률값을 예측하는 문제입니다. 

2.2 DeepFM (Factorizaion Machine)

사용자-아이템 간 저차원 & 고차원 특성을 학습하기 위해, Factorization-Machine에 Deep Neural-Network를 적용한 DeepFM 구조를 제안했습니다. DeepFM은 크게 FM component와 Deep Component의 두 개의 구조로 구성되어 있으며, 두 컴포넌트는 공통된 입력 feature를 적용합니다. i번째 feature에 대해 $\omega_i$ 는 1차원 가중치가 적용되고, latent vector $V_i$는 서로 다른 feature 간 상호작용 효과를 측정하기 위해 적용됩니다. $V_i$는 2차원의 feature 상호작용을 모델링하기 위한 FM 컴포넌트에 입력되며, deep component가 고차원 특성 간 상호작용을 하기 위한 모델에 적용됩니다. 모든 파라미터들은 결합되어 학습되고, 예측 모델과 통합되어집니다.

Deep FM architecture

 

2.3 FM Component

FM Component는 추천시스템의 feature간 상호작용을 위한 factorization machine입니다. feature들 간의 선형적 상호작용(1st order) 뿐 아니라, 2차원의 pairwised feature interaction 도 latent vector를 각각 inner product를 적용해 모델링합니다. 각 feature에 대한 latent vector V_i, V_j를 inner prouct함으로써 feature간의 2nd order feature relationship을 모델링에 반영했습니다. 

FM Part and Deep Part

2.4. Deep Component 

한편, Deep Component는 고차원의 feature interaction을 모델링하기 위한 Feed-forward Neural Network의 구조입니다.  아래 수식에서 $e_i$는 i번째 필드에 대한 임베딩이며, m은 필드의 개수입니다. m개의 임베딩, ${a}^{(0)}$은 DNN에 입력되고 

m개의 임베딩, ${a}^{(0)}$은 DNN에 입력되어 forward process가 적용됩니다. 여기서 $l$은 레이어의 depth이며 $sigma$는 activation function입니다. {a}^{(l)}, {W}^{(l)}, {b}^{(l)} 각각은 $l$번째 layer의 출력, 가중치, 그리고 바이어스를 나타냅니다.

${a}^{(l+1)} = \sigma ({W}^{(l)}{a}^{(l)}+{b}^{(l)})$

 각 embedding들이 layer를 거치면 dense한 실제 값의 feature vector가 생성되며, 이것은 최종적으로 sigmoid function에 입력되어 CTR을 예측하는데 적용됩니다. 

$y_{DNN}=sigma({W}^{(\left|H\right|+1)}\cdot{a}^{(\left|H\right|)}+{b}^{(\left|H\right|+1)})$

 

N. References

 

 

 

 

 

Comments