deep learning for recommender systems - budapest recsys meetup

59
Deep Learning for Recommender Systems Alexandros Karatzoglou Senior Research Scientist @ Telefonica Research [email protected] @alexk_z

Upload: alexandros-karatzoglou

Post on 21-Apr-2017

3.416 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Deep Learning forRecommender Systems

Alexandros KaratzoglouSenior Research Scientist @ Telefonica Research

[email protected]@alexk_z

Page 2: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Telefonica Research

Machine Learning

HCI

Network & Systems

Mobile Computing

http://www.tid.es

Page 3: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Why Deep?

ImageNet challenge error rates (red line = human performance)

Page 4: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Why Deep?

Page 5: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Inspiration for Neural Learning

Early aviationattempts aimed atimitating birds, bats

Page 6: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Neural Model

Page 7: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Neuron a.k.a. Unit

Page 8: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Feedforward Multilayered Network

Page 9: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Learning

Page 10: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Stochastic Gradient Descent

Generalization of (Stochastic) Gradient Descent

Page 11: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Stochastic Gradient Descent

Page 12: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Stochastic Gradient Descent

Page 13: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Stochastic Gradient Descent

Page 14: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Feedforward Multilayered Network

Page 15: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Backpropagation

Page 16: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Backpropagation

Does not work well in plain a “normal”multilayer deep network

Vanishing Gradients

Slow Learning

SVM’s easier to train

2nd Neural Winter

Page 17: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Modern Deep Networks

Ingredients:

Rectified Linear Activation function a.k.a. ReLu

Page 18: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Modern Deep Networks

Ingredients:

Dropout:

Page 19: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Modern Deep Networks

Ingredients:

Mini-batches:

Stochastic Gradient Descent

Compute gradient over many (50 -100)

data points (minibatch) and update.

Page 20: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Modern Deep Networks

Ingredients:

Softmax output:

Page 21: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Modern Deep Networks

Ingredients:

Categorical cross entropy loss

Page 22: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Modern Feedforward Networks

Ingredients:

Batch Normalization

Page 23: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Modern Feedforward Networks

Ingredients:

Adagrad a.k.a. adaptive learning rates

Page 24: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Restricted Boltzmann Machines

Page 25: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Restricted Boltzmann Machines

Page 26: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Page 27: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

[Krizhevsky 2012]

Page 28: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

[Faster R-CNN: Ren, He, Girshick, Sun 2015] [Farabet et al., 2012]

Page 29: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

[Faster R-CNN: Ren, He, Girshick, Sun 2015] [Farabet et al., 2012]

Page 30: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Self Driving Cars

Convolutional example slides from Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 6 75

Page 31: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Standford CS231n: Convolutional Neural Networks for Visual Recognition

Page 32: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Page 33: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Page 34: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Page 35: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Page 36: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Page 37: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

Page 38: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

AlexNet [Krizhevsky et al 2014]

Page 39: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

dd

D-tour → Matrix Factorization

2

5

4

5

4

4

1

5

5

4

1

2

5

2

4

1

Page 40: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks forenhancing Collaborative Filtering

VBPR: Visual Bayesian Personalized Ranking from Implicit Feedback He,etl AAAI 2015

Page 41: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks for Musicfeature extraction

Deep Learning can be used to learn item profiles e.g. music

Map audio to lower dimensional space where it can be useddirectly for recommendation

Useful in recommending music from the long tail (not popular)

A solution to the cold start problem

Page 42: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks for Musicfeature extraction

A. van den Oord, S. Dielmann, B. Schrauwen Deep content-based music recommendation NIPS 2014

Page 43: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Convolutional Networks

deepart.io

Page 44: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

Page 45: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

Long Short Term Memory

Page 46: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

Page 47: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

PANDARUS:Alas, I think he shall be come approached and the dayWhen little srain would be attain'd into being never fed,And who is but a chain and subjects of his death,I should not sleep.

Second Senator:They are away this miseries, produced upon my soul,Breaking and strongly should be buried, when I perishThe earth and thoughts of many states.

DUKE VINCENTIO:Well, your wit is in the care of side and that.

Second Lord:They would be ruled after this chamber, andmy fair nues begun out of the fact, to be conveyed,Whose noble souls I'll have the heart of the wars.

Clown:Come, sir, I will make did behold your worship.

VIOLA:I'll drink it.

Page 48: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

Page 49: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

Page 50: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

Page 51: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Recurrent Neural Networks

Page 52: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Session-based recommendationwith Recurrent Neural Networks

RNN (GRU) with ranking loss functionICLR 2016 [B. Hidasi, et.al.]

Treat each user session as sequence of clicks

Page 53: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Session-based recommendationwith Recurrent Neural Networks

RNN (GRU) with ranking loss functionICLR 2016 [B. Hidasi, et.al.]

Treat each user session as sequence of clicks

Page 54: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Autoencoders

Page 55: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Autoencoders

Page 56: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Autoencoders

Page 57: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Personalized Autoencoders

Collaborative Denoising Auto-Encoders for Top-N Recommender Systems Wuet.al. WSDM 2016

Page 58: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

(Some) Deep Learning Software

Theano: Python Library

TensorFlow: Python Library

Keras: High Level Python Library (Theano &TF)

MXNET: R, Python, Julia

Page 59: Deep Learning for Recommender Systems  - Budapest RecSys Meetup

Thanks

● Some slides or parts of slides are taken fromother excellent talks and papers on DeepLearning (e.g. Yan Lecun, Andrej Karpathy andother great deep learning researchers)