Wide & deep learning for recommender systems

A recommender system with a wide & deep model (WDL).

Meta Info

Presented in arxiv:1606.07792. (Accepted in DLRS 2016)

Authors: Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, Glen Anderson, Greg Corrado, Wei Chai, Mustafa Ispir, Rohan Anil, Zakaria Haque, Lichan Hong, Vihan Jain, Xiaobing Liu, Hemal Shah (Google).

Understanding the paper

Background

  • A recommender system

    • A search ranking system

    • Input: a set of user and contextual information

    • Output: a ranked list of items

    • Workflow

      • Retrieval

        • The retrieval system returns a short list of items that best match the query using various signals, usually a combination of machine-learned models and human-defined rules.

      • Rank (this work focuses on the ranking model)

        • Rank all items by their scores.

Wide & Deep model structure

  • Wide component

    • Generalized linear model

    • Cross-product transformation

  • Deep component

    • Feed-forward NN

    • High-dimensional categorical features are converted into a low-dimensional and dense real-valued vector, often referred to as an embedding vector.

    • The dimensionality of the embeddings is usually on the order of O(10) to O(100).

Recommendation pipeline overview

  • Model Training

    • Warm-start: initialize a new model with the embeddings and the linear model weights from the previous model

    • Dry-run the model before loading the models into the servers

  • Model Serving

    • Each request includes a set of item candidates and user features

    • Use multithreading parallelism to run smaller batches in parallel, instead of scoring all candidate items in a single-batch inference

Last updated