상세 컨텐츠

본문 제목

[논문 리뷰 스터디] DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

심화 스터디/논문 리뷰

by jihooo 2022. 11. 24. 19:55

본문

Introduction

Click-through rate(CTR), 유저가 추천 아이템을 클릭할 확률의 예측은 추천시스템에서 중요한 태스크이다. 많은 추천시스템이서 클릭의 수를 최대화하는 것이 목표이고 CTR 예측을 통해서 유저에게 추천할 아이템의 순위를 정할 수 있다.

CTR을 정확히 예측하기 위해서 변수 간의 interaction을 파악하는 것이 중요하다.

 

예시)

사람들은 식사시간에 배달앱을 다운로드하는 경향이 있다.

→ ‘앱 카테고리’와 ‘시간’간의 interaction 존재 (order-2 interaction)

10대 남자들은 rpg 게임을 선호한다.

→ ‘앱 카테고리’, ‘성별’ 와 ‘나이’간의 interaction 존재 (order-3 interaction)

 

저차원 그리고 고차원 상호작용 둘 중요한 역할을 한다.구글이 발표한 Wide & Deep Model 논문에 따르면 저차원, 고차원 상호작용을 동시에 고려하는 경우가 각각 하나씩 고려하는 경우보다 더 좋은 성능을 나타냈다.

이전의 연구들은 저차원 또는 고차원 둘 중 하나에 집중된 모델이거나 feature engineering에 의존한다. 본 논문에서는 feature engineering 없이 low-order와 high-order feature interaction을 모두 포착할 수 있는 end-to-end 방식의 모델을 제시한다.

  • FM과 DNN의 구조를 결합한 새로운 신경망 모델 DeepFM을 제시한다. 이 모델은 FM을 통해 낮은 차원의 변수 interaction을 학습하고 DNN을 통해서는 높은 차원의 interaction을 학습한다. Wide & Deep 모델과는 다르게 DeepFM은 end-to-end로 feature engineering이 필요 없이 학습할 수 있다.
  • DeepFM은 Wide & Deep과 다르게 같은 입력과 임베딩 레이어를 공유해 효율적으로 학습할 수 있다.
  • DeepFM을 benchmark data와 commercial data에 평가한 결과 기존 모델보다 일관적으로 향상된 결과를 보인다.

 

Our Approach

1) DeepFM

학습데이터 셋은 n개의 instance (X,y)로 이루어져 있고 이때 X는 m개의 필드로 이루어져있다. 예를 들어 user 필드에는 user의 id, 성별, 나이, item 필드에는 특정 item의 구매 정보 등이 포함된다. 범주형 자료는 one-hot-encoding으로 나타내고 연속형 자료는 해당 값을 그대로 사용한다. y는 0과 1로 클릭여부를 나타낸다. 보통 x는 고차원이고 sparse 하다. 각 instance는 x = [x_field1, x_field2, …, x_fieldj, … , x_fieldm]인 (x,y)로 표현된다.

CTR 예측의 태스크는 context가 주어졌을 때 특정 앱을 클릭할 확률을 예측하는 다음과 같은 모델이다.

FM component는 Low-order를, Deep component는 High-order를 모델링하기 위해 사용됩니다.DeepFM은 FM component와 deep component 두개로 구성되어 Input과 Embedding을 공유합니다.

 

Input

변수 i에 대응하는 상수 w_i는 order-1의 가중치로 사용된다. 잠재벡터 V_i는 다른 변수와의 상호작용의 영향을 측정하는데 사용한다. V_i가 order-1 interaction을 나타내기 위해 FM component로 입력되고, high-order interaction을 나타내기 위해 deep component로 입력된다. 모든 모수는 jontly하게 학습된다.

 

Output

FM component와 deep component의 값을 합한 값으로 CTR을 예측한다.

 

FM Component

FM Component은 factorization machine이다. order-1 interaction은 선형 모델로 나타내고, order-2 interaction은 각 변수의 잠재 벡터의 inner product로 나타낸다. 잠재벡터의 inner product를 사용해 변수 i, j가 같은 데이터에 저장되어 있지 않아도 잠재벡터 v_i, v_j를 통해 유연하게 학습될 수 있다.

FM의 출력은 Addition unit(<w, x>)과 Inner Product units의 합이다. addition unit은 order-1 변수의 중요성을 반영하고 Inner Product untis은 order-2 변수 interaction의 영향을 나타낸다.

 

Deep Component

deep component는 feed-forward neural network이다. 일반적인 DNN 입력과 다르게 sparse하고 고차원이고, 범주형과 연속형이 섞여있고 성별, 위치, 나이와 같이 field로 그룹지어 있다. 따라서 임베딩 레이어로 저차원의 dense한 벡터로 압축하여 첫 번째 hidden layer로 입력한다.

1) 각 field 마다 input vector의 길이는 다를 수 있지만 embedding의 크기는 k로 같다.

2)  FM에서의 latent feature vector(V)은 여기에서 이 network의 가중치로 사용되어 입력벡터를 압축하는 데 사용되고 학습되다.

이전에는 V가 FM에 의해 pre-trained되고 이 값을 초기값으로 사용했다. 이 논문에서는 FM모델을 DNN과 더불어 학습 구조에 포함한다. 이렇게 함으로써 FM의 사전학습을 할 필요가 없어지고 jointly하게 전체 네트워크를 end-to-end로 학습한다.

Embedding Layer의 output은 다음과 같이 표현된다. a(0)이 DNN으로 입력된다. 그리고 최종적으로 sigmoid에 입력되어 CTR의 확률을 구한다.

2) Relationship with the other Neural Networks

FNN는 FM을 미리 훈련시킨 후 이를 DNN 가중치 초기화 사용했다면, DeepFM은 FM을 DNN과 함께 훈련시키는 방식이므로 FM의 성능에 좌우되지 않는다. Wide & Deep은 Wide Part의 cross product 계산과 같이 input을 직접 feature engineering 해야 한다. 하지만 Deep FM은 feature engineering이 필요가 없이 raw input을 바로 사용한다.

Conclusion

본 논문은 FM기반 신경망 모델 DeepFM을 제시했다. DeepFM은 Deep Component와 FM Component를 jointly 학습한다. 다음과 같은 장점이 있다.

  1. 사전학습이 필요하지 않다.
  2. 고차원, 저차원의 interaction을 동시에 학습한다.
  3. Feature Engineering이 필요 없도록 feature embedding을 공유하는 전략을 사용한다.

DeepFM이 AUC와 Logloss 지표에서 SOTA모델보다 좋은 성능을 보여줬다.

 

관련글 더보기

댓글 영역