본문 바로가기

Paper

[논문-WIP] DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

Introduction 

CTR은 추천 시스템에서 중요한 지표고, 추천시스템 모델은 CTR을 최대화하는 것을 목표로 한다. CTR의 signal이 되는 feature interaction을 효과적으로 모델링하는게 핵심이고 대부분의 feature interaction은 숨겨져 있기에 머신러닝으로 detection 해야 한다.

*논문에서 얘기하는 order는 interaction하는 feature 수를 의미한다.

FTRL 과 같은 GLM 은 선형 모델이라 feature interaction을 반영하지 못하는 한계가 있다. Factorization Machine(이후 FM)은 feature의 latent 벡터간의 내적으로 pairwise feature interaction을 표현했고 괜찮을 결과를 냈다(cost 때문에 2 order까지만 씀).

이 논문은 Feature Engineering 필요없는 end-to-end feature interaction 모델인 DeepFM 제안

contribution

1. FM(low-order) + DNN(high order) = DeepFM,  wide&deep과 다르게 FE 없이 end-to-end로 학습가능

2. FM과 Deep 모델의 인풋이 동일해서 학습이 효율적

 

2. our approach

인풋 feature를 m개 field로 나눠서 다음과 같이 x로 정의한다. x는 user, item에 대한 정보가 pair로 들어간다. 일반적으로 one-hot vector로 들어가므로 상당히 차원이 크고 sparse 하다.

우리가 예측하려는 y는 '클릭했냐 안 했냐'를 의미한다.

CTR_model은 x를 받아 y를 예측한다. 즉 주어진 상황(x)에서 클릭할 확률을 추정한다. 

 

2.1 Deep FM

DeepFM은 같은 input을 공유하는 FM component(low-order feature interaction 학습) 부분과 Deep component(high-order feature interaction 학습) 부분으로 구성.

low feature를 잡는 FM과 high feature를 잡는 Deep component를 한번에 포워딩 백프로파해서 학습

wide&deep

wide&deep 모델과의 차이는 wide 파트에 FM을 썼고, 모든 인풋을 한번에 포워딩 한다는 점이다. 

 

1. FM component

FM component는 factorization machine으로 1, 2-order feature interaction 포착

인풋이 sparse 하므로 직접 interaction을 구하지 않고 V로 poly weights를 factorization해 latent space에서 구함

2. Deep component

FC 쓴다, 근데 추천 도메인 데이터는 이미지나 오디오 같은 데이터와 다르게 매우 고차원이고 sparse, categorical-continuous-mixed, and grouped in fields -> 그래서 embedding layer 사용

1. 가변길이의 인풋을 동일 차원의 임배딩 할 수 있다.

2. 임배딩 layer 가중치로 FM component의 V 사용, 즉 FM component와 임배딩 공유하고, 해당 임배딩 벡터를 FM과 Deep 쪽으로 각각 포워딩 시킨다.

-> raw feature로 부터 low, high-order feature 모두 뽑을 수 있음, wide&deep 처럼 FE 할 필요 없음