포스팅 개요
이번 포스팅은 추천 시스템(recommender system, recsys) 논문 중 DeepFM : A Factorization Machine based Neural NEtwork for CTR Prediction 이라는 논문을 리뷰하는 포스팅입니다. DeepFM은 추천 시스템 분야에서 굉장히 유명한 논문이고 잘 알려진 모델인데요. 이 DeepFM을 시작을 해서 추천 시스템 논문들을 쭉 리뷰하는 시리즈 형식으로 글을 작성해보려고 합니다. 오늘은 그 추천 시스템 논문 리뷰 시리즈 글 첫 번째 글입니다.
추천 시스템 논문 리뷰는 아래와 같은 순서로 진행할 예정입니다. 오늘은 그 첫번째 글인 DeepFM입니다.
- DeepFM
- MAML (https://lsjsj92.tistory.com/637)
- VECF (https://lsjsj92.tistory.com/638)
- FDSA (https://lsjsj92.tistory.com/639)
- PMN (https://lsjsj92.tistory.com/640)
- GAU (https://lsjsj92.tistory.com/641)
- A3NCF (https://lsjsj92.tistory.com/642)
- MIAN (https://lsjsj92.tistory.com/643)
- CCANN (https://lsjsj92.tistory.com/644)
참고한 자료는 다음과 같습니다.
- DeepFM 논문
- FM 논문
포스팅 본문
DeepFM 논문 리뷰는 아래와 같은 순서로 진행합니다.
1. DeepFM 핵심 요약
2. DeepFM 논문 리뷰
DeepFM 핵심 요약
• FM Component와 Deep Component 구조를 가지고 있음
• 기존 모델들의 단점을 극복하고 장점을 결합
• CTR을 예측하는 모델
• Low 및 high-order interaction을 반영할 수 있음
• Feature engineering이 필요하지 않음
• Pre-training이 필요하지 않음
와 같이 DeepFM을 간단히 요약해볼 수 있습니다.
이제 논문을 하나하나 리뷰해봅니다.
DeepFM 논문 리뷰
Introduction
• 많은 recommender system의 목표가 maximize the number of clicks임
• 사용자에게 return 되는 item들은 ranked by estimated CTR 될 수 있음
• App category와 time-stamp와 관계 ( 2-order interaction )
• 사용자들은 food delivery app을 meal-time에 다운로드 함
• 이 2개의 feature가 signal for CTR임
• App category, user gender, age와 관계 ( 3-order )
• 남자 10대 청소년들은 RPG와 shooting game을 좋아함
• Low 및 high-order interaction을 고려해야 함
• Biased to low or high order feature interaction
• Rely on feature engineering
• All orders의 feature interaction을 배울 수 있는 모델 제안
• Without feature engineering
• DeepFM을 제안
• FM part와 Deep Part를 integrate
• FM part에서는 low feature interactions
• Deep Part에서는 high-order feature interaction
• Share the same input 하며 embedding vector도 마찬가지로 공유
Approach
• n개의 instances를 가진 (χ, y) training set이 있음
• χ : m개의 fields를 가지고 있음
• Categorical fields(gender, location 등)
• One-hot으로 표현
• Continuous fields(age 등)
• 그 값 자체나 discretization를 하고 one-hot
• y : 0과 1 의 값
• 1은 clicked the item
• (x, y)로 표현할 수 있음
• x :[x_field1,x_field2,…x_filedm]으로 표현할 수 있음
• 각각의 x_filedj는 χ에서의 j 번째 field vector representation
• y^= CTR_model(x)
• 클릭할 확률을 추정
• Low and high order feature interaction을 배우는 것
• 따라서 FM component와 Deep component 2개로 나누어짐
• Same input을 공유함
• For feature i에 대해서
• Scalar w_i는 1차원 중요도를 측정함
• Latent vector V_i는 other features간의 interaction의 영향을 측정
• V_i는 FM에 들어가서 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
• [Randle, 2010]이 제안한 Factorization Machine
• Feature 간의 linear interaction외에도 pairwise feature interaction도 고려
• Inner product of respective feature latent vectors를 활용
• 2-order feature interaction을 dataset이 sparse할 때에도 효과적으로 포착함
• Product의 latent vector v_i, v_j 를 Inner product해서 측정하기 때문
• 〖(<w, x>)〗 는 importance of order-1 feature를 반영
• Feed-forward neural network
• 2가지 interesting한 feature가 있음
• y_DNN = σ(W^l a^l+b^l)
• FM과 Deep은 same feature embedding을 공유함으로써 2개의 이득을 취함
• 1. low and high order feature interaction from raw data
• 2. no need for expertise feature engineering of the input
Experiment
• 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
• AUC
• Logloss(cross entropy)
• LR(does not consider feature interaction), FM, FNN, PNN, Wide & Deep, DeepFM
• Dropout 0.5, network structure : 400-400-400
• Optimizer : Adam
• Activation function : tanh, relu
• 등 각 모델마다 다르게
• Feature interaction을 학습하는 것은 CTR prediction model의 향상을 이끌어 냄
• LR은 다른 model보다 성능이 떨어짐
• DeepFM은 다른 모델보다 좋은 성능
• Learning low and high order feature interaction은 CTR prediction 향상
• Only low feature interaction : FM
• high-order feature interaction : FNN, IPNN, OPNN, PNN
• DeepFM이 이들보다 더 좋은 성능을 보여 줌
• With sharing the same feature embedding은 CTR 성능 향상에 도움을 이끌어 냄
• Low 및 high order feature interaction using separate feature embedding
• LR & DNN, FM & DNN
• DeepFM은 이들보다 좋은 성능이 나옴
Conclusions
• Factorization-Machine based Neural Network for CTR Prediction
• Deep component와 FM component를 jointly train
• 1) not need any pre-training
• 2) learn high and low order feature interaction
• 3) sharing strategy of feature embedding으로 feature engineering을 피함
• AUC와 Logloss에서 SOTA 달성
• Efficiency of DeepFM을 확인할 수 있었음
마무리
이번 포스팅은 추천 시스템 논문 중 하나인 DeepFM 논문을 리뷰해보았습니다.
다음 포스팅에서도 추천 시스템 글로 찾아뵙겠습니다.
도움이 되시길 바랍니다.
감사합니다.