# Wide and Deep Model

wide vs deep example wide_deep_generalization_vs_memorization

Wide Linear Model wide_deep_google_play_results

Wide Linear Model generalized wide_deep_google_play_generalized

# Features:

wide features: “user_installed_app=netflix”

cross-product transformations over sparse features, such as AND(user_installed_app=netflix, impres- sion_app=pandora”),

Generalization can be added by using features that are less granular, such as AND(user_installed_category=video, impression_category=music), but manual feature engineer- ing is often required.

# Model Architecture

Google Play App Recommendation wide_deep_google_play_model

During training, our input layer takes in training data and vocabularies and generate sparse and dense features together with a label.

wide component:

  • consists of the cross-product transformation of user installed apps and impression apps.

deep component:

  • A 32- dimensional embedding vector is learned for each categorical feature.
  • concatenate all the embeddings together with the dense features, resulting in a dense vector of approximately 1200 dimensions.

model: The concatenated vector is then fed into 3 ReLU layers, and finally the logistic output unit.

The Wide & Deep models are trained on over 500 billion examples.

Instead of training frequently from start, we implemented a warm-starting system which initializes a new model with the embeddings and the linear model weights from the previous model.

# Multi Objective

You might need recommender system to optimize multiple objectives.

Etsy optimmizes relevance and revenue.

# Code

wide vs deep tf code wide_deep_tf_code

# results

At peak traffic, our recommender servers score over 10 million apps per second.

wide_deep_google_play_results google_play_recommendation_results

# references

Wide & Deep Learning: Memorization + Generalization with TensorFlow (TensorFlow Dev Summit 2017) (opens new window)

Wide & Deep Learning for Recommender Systems paper (opens new window)