DeepFM (Neural Scoring)
Description
The DeepFM (Deep Factorization Machine) policy combines a Factorization Machine (FM) component and a deep neural network (DNN) component, sharing input feature embeddings.
- FM Component: Models low-order interactions (linear features and pairwise/2nd-order interactions) efficiently using the dot product of feature embeddings.
- Deep Component: An MLP that learns high-order, non-linear feature interactions implicitly from the shared embeddings.
This avoids the need for manual feature crossing (unlike the wide part of Wide & Deep) and captures a spectrum of interactions. Outputs from both components are combined for the final prediction.
Policy Type: deepfm
Supports: scoring_policy
Configuration Example
scoring_policy_deepfm.yaml
policy_configs:
scoring_policy:
policy_type: deepfm
# Architecture
embedding_dim: 16 # Dimensionality of feature embeddings (shared)
deep_hidden_units: [128, 64, 32] # Layer sizes for the deep MLP component
activation_fn: "relu" # Activation for deep layers
dropout: 0.2 # Dropout rate for deep layers
# Training Control
learning_rate: 0.001 # Optimizer learning rate
References
- Guo, H., et al. (2017). DeepFM: A Factorization-Machine based Neural Network for CTR Prediction. IJCAI.
- Wang, R., et al. (2021). DLRM: An advanced open source deep learning recommendation model. arXiv. (Provides context on DLRM-style models).