A Tensorflow implementation of Collaborative Metric Learning (CML):
Cheng-Kang Hsieh, Longqi Yang, Yin Cui, Tsung-Yi Lin, Serge Belongie, and Deborah Estrin. 2017. Collaborative Metric Learning. In Proceedings of the 26th International Conference on World Wide Web (WWW '17) (perm_link, pdf)
** Note: the original Theano implementation is deprecated and is kept in the old_experiment_code branch
- Produces embedding that accurately captures the user-item, user-user, and item-item similarity.
- Allows the exploitation of item features (e.g. tags, text, image features).
- Outperforms state-of-the-art recommendation algorithms on a wide range of tasks
- Enjoys an extremely efficient Top-K search using Fast KNN algorithms.
- Parallel negative sampler that can sample the user-item pairs when the model is being trained on GPU
- Fast recall evaluation based on Tensorflow
# install requirements pip3 install -r requirements.txt # run demo tensorflow model python3 CML.py
- AdaGrad does not seem to work on GPU. Try using AdamOptimizer instead
the WithFeature version does not seems to perform as well as the Theano version. It is being investigated.(The performance is actually slightly better (with AdamOptimizer) than the number reported in the paper now!)
An illustration of embbeding learning procedue of CML
Flickr photo recommendation embedding produced by CML (compared to original ImageNet features)
- Model Comparison.
- TensorBoard visualization