deep learning to the rescue - solving long standing problems of recommender systems

17
Deep learning to the rescue solving long standing problems of recommender systems Balázs Hidasi @balazshidasi Budapest RecSys & Personalization meetup 12 May, 2016

Upload: balazs-hidasi

Post on 19-Jan-2017

11.870 views

Category:

Science


2 download

TRANSCRIPT

Page 1: Deep learning to the rescue - solving long standing problems of recommender systems

Deep learning to the rescuesolving long standing problems of recommender systems

Balázs Hidasi@balazshidasi

Budapest RecSys & Personalization meetup12 May, 2016

Page 2: Deep learning to the rescue - solving long standing problems of recommender systems

What is deep learning?

• A class of machine learning algorithms that use a cascade of multiple non-linear

processing layers and complex model structures to learn different representations of the

data in each layer where higher level features are derived

from lower level features to form a hierarchical representation.

• Key component of recent technologies Speech recognition Personal assistants (e.g. Siri, Cortana) Computer vision, object recognition Machine translation Chatbot technology Face recognition Self driving cars

• An efficient tool for certain complex problems

Pattern recognition Computer vision Natural language processing Speech recognition

• Deep learning is NOT the true AI

o it may be a component of it when and if AI is created

how the human brain works the best solution to every

machine learning tasks

Page 3: Deep learning to the rescue - solving long standing problems of recommender systems

Deep learning in the news

Page 4: Deep learning to the rescue - solving long standing problems of recommender systems

Why is deep learning happening now?

• Actually it is not first papers published in 1970s• Third resurgence of neural networks

Research breakthroughs

Increase in computational power GP GPUs

Problem SolutionVanishing gradients

Sigmoid type activation functions easily saturate. Gradients are small, in deeper layers updates become almost zero.

Earlier: layer-by-layer pretrainingRecently: non-saturating activation functions

Gradient descent

First order methods (e.g. SGD) are easily stuck.Second order methods are infeasible on larger data.

Adaptive training: adagrad, adam, adadelta, RMSPropNesterov momentum

Regularization

Networks easily overfit (even with L2 regularization).

Dropout

ETC...

Page 5: Deep learning to the rescue - solving long standing problems of recommender systems

Challenges in RecSys

• Recommender systems ≠ Netflix challenge Rating prediction Top-N recommendation (ranking) Explicit feedback Implicit feedback Long user histories Sessions Slowly changing taste Goal oriented browsing Item-to-user only Other scenarios

• Success of CF Human brain is a powerful feature extractor Cold-start

o CF can’t be usedo Decisions are rarely made on metadatao But rather on what the user sees: e.g. product image, content itself

Domain dependent

Page 6: Deep learning to the rescue - solving long standing problems of recommender systems

Session-based recommendations

• Permanent cold start User identification

o Possible but often not reliable Intent/theme

o What the user needs?o Theme of the session

Never/rarely returning users• Workaround in practice

Item-to-item recommendationso Similar itemso Co-occurring items

Non-personalized Not adaptive

Page 7: Deep learning to the rescue - solving long standing problems of recommender systems

Recurrent Neural Networks

• Hidden state Next hidden state depends on the input and the actual hidden state (recurrence)

• „Infinite depth”

• Backpropagation Through Time• Exploding gradients

Due to recurrence If the spectral radius of U > 1 (necessary)

• Lack of long term memory (vanishing gradients) Gradients of earlier states vanish If the spectral radius of U < 1 (sufficient)

h𝑥𝑡 h𝑡

hh𝑡 𝑥𝑡hh𝑡−1

𝑥𝑡 −1hh𝑡−2 𝑥𝑡 −2hh𝑡−3 𝑥𝑡 −3h𝑡− 4

Page 8: Deep learning to the rescue - solving long standing problems of recommender systems

Advanced RNN units

• Long Short-Term Memory (LSTM)

Memory cell () is the mix of o its previous value (governed by

the forget gate ())o the cell value candidate

(governed by the input gate ()) Cell value candidate () depends on

the input and the previous hidden state

Hidden state is the memory cell regulated by the output gate ()

No vanishing/exploding gradients

• Gated Recurrent Unit (GRU) Hidden state is the mix of

o the previous hidden stateo the hidden state candidate () o governed by the update gate ()

– merged input+forget gate Hidden state candidate depends

on the input and the previous hidden state through a reset gate ()

Similar performance Less calculations

hh 𝑥𝑡

h𝑡

𝑟

𝑧

h𝑐

��𝑜

𝑓

𝑖

𝑥𝑡

h𝑡

Page 9: Deep learning to the rescue - solving long standing problems of recommender systems

Powered by RNN

• Sequence labeling Document classification Speech recognition

• Sequence-to-sequence learning Machine translation Question answering Conversations

• Sequence generation Music Text

Page 10: Deep learning to the rescue - solving long standing problems of recommender systems

Session modeling with RNNs

• Input: actual item of session• Output: score on items for being the

next in the event stream• GRU based RNN

RNN is worse LSTM is slower (same accuracy)

• Optional embedding and feedforward layers

Better results without• Number of layers

1 gave the best performance Sessions span over short timeframes No need for modeling on multiple scales

• Requires some adaptation

Feedforward layers

Embedding layers

Output: scores on all items

GRU layer

GRU layer

GRU layer

Input: actual item, 1-of-N coding

(optional)

(optional)

Page 11: Deep learning to the rescue - solving long standing problems of recommender systems

Adaptation: session parallel mini-batches

• Motivation High variance in the length of the sessions (from 2 to 100s of

events) The goal is to capture how sessions evolve

• Minibatch Input: current evets Output: next events

𝑖1,1𝑖1,2𝑖1,3𝑖1,4𝑖2,1𝑖2,2𝑖2,3𝑖3,1𝑖3,2𝑖3,3𝑖3,4𝑖3,5𝑖3,6𝑖4,1𝑖4,2𝑖5,1𝑖5,2𝑖5,3

Session1

Session2

Session3

Session4

Session5

𝑖1,1𝑖1,2𝑖1,3𝑖2,1𝑖2,2𝑖3,1𝑖3,2𝑖3,3𝑖3,4𝑖3,5

𝑖4,1𝑖5,1𝑖5,2Input

(item of the actual event)

Desired output(next item in the event stream)

……

Min

i-bat

ch1

Min

i-bat

ch3

Min

i-bat

ch2

𝑖1,2𝑖1,3𝑖1,4𝑖2,2𝑖2,3𝑖3,2𝑖3,3𝑖3,4𝑖3,5𝑖3,6

𝑖4,2𝑖5,2𝑖5,3 …

……

• Active sessions First X Finished sessions

replaced by the next available

Page 12: Deep learning to the rescue - solving long standing problems of recommender systems

Adaptation: pairwise loss function

• Motivation Goal of recommender: ranking Pairwise and pointwise ranking (listwise costly) Pairwise often better

• Pairwise loss functions Positive items compared to negatives BPR

o Bayesian personalized ranking

TOP1o Regularized approximation of the relative rank of the positive item

Page 13: Deep learning to the rescue - solving long standing problems of recommender systems

Adaptation: sampling the output

• Motivation Number of items is high bottleneck Model needs to be trained frequently (should be quick)

• Sampling negative items Popularity based sampling

o Missing event on popular item more likely sign of negative feedbacko Pop items often get large scores faster learning

Negative items for an example: examples of other sessions in the minibatcho Technical benefitso Follows data distribution (pop sampling)

𝑖1𝑖5𝑖8Mini-batch(desired items)

�� 11�� 21�� 31�� 41�� 51�� 61�� 71�� 81

�� 13�� 23�� 33�� 43�� 53�� 63�� 73�� 83

�� 12�� 22�� 32�� 42�� 52�� 62�� 72�� 82

1 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1

0 0 0 0 1 0 0 0

Network output (scores)

Desired output scores

Positive item

Sampled negative items

Inactive outputs (not computed)

Page 14: Deep learning to the rescue - solving long standing problems of recommender systems

Offline experimentsData Description Items Train Test

Sessions

Events Sessions

Events

RSC15

RecSys Challenge 2015. Clickstream data of a webshop.

37,483 7,966,257

31,637,239 15,324 71,222

VIDEO

Video watch sequences. 327,929

2,954,816

13,180,128 48,746 178,63

7

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7+19.91%+19.82%+15.55%+14.06%

+24.82%+22.54%

RSC15 - Recall@20

0

0.1

0.2

0.3

+18.65%+17.54%+12.58%+5.16%+20.47%

+31.49%RSC15 - MRR@20

00.10.20.30.40.50.60.7 +15.69%

+8.92%+11.50%

N/A

+14.58%+20.27%

VIDEO - Recall@20

0

0.1

0.2

0.3

0.4 +10.04%-3.56%+3.84%

N/A

-7.23%

+15.08%VIDEO - MRR@20

Pop

Sess

ion

pop

Item

-kN

N

BPR-

MF

GRU

4Rec

(10

0, u

nits

c.-e

ntro

py)

GRU

4Rec

(10

0 un

its,

BPR

)

GRU

4Rec

(10

0 un

its,

TO

P1)

GRU

4Rec

(10

00 u

nits

, c.-

entr

opy)

GRU

4Rec

(10

00 u

nits

, BPR

)

GRU

4Rec

(10

00 u

nits

, TO

P1)

Pop

Sess

ion

pop

Item

-kN

N

BPR-

MF

GRU

4Rec

(10

0, u

nits

c.-e

ntro

py)

GRU

4Rec

(10

0 un

its,

BPR

)

GRU

4Rec

(10

0 un

its,

TO

P1)

GRU

4Rec

(10

00 u

nits

, c.-

entr

opy)

GRU

4Rec

(10

00 u

nits

, BPR

)

GRU

4Rec

(10

00 u

nits

, TO

P1)

Pop

Sess

ion

pop

Item

-kN

N

BPR-

MF

GRU

4Rec

(10

0, u

nits

c.-e

ntro

py)

GRU

4Rec

(10

0 un

its,

BPR

)

GRU

4Rec

(10

0 un

its,

TO

P1)

GRU

4Rec

(10

00 u

nits

, TO

P1)

GRU

4Rec

(10

00 u

nits

, BPR

)

Pop

Sess

ion

pop

Item

-kN

N

BPR-

MF

GRU

4Rec

(10

0, u

nits

c.-e

ntro

py)

GRU

4Rec

(10

0 un

its,

BPR

)

GRU

4Rec

(10

0 un

its,

TO

P1)

GRU

4Rec

(10

00 u

nits

, TO

P1)

GRU

4Rec

(10

00 u

nits

, BPR

)

Page 15: Deep learning to the rescue - solving long standing problems of recommender systems

Online experiments

0

0.2

0.4

0.6

0.8

1

1.2

1.4

+17.09% +16.10%+24.16% +23.69%

+5.52%-3.21%

+7.05% +6.29

RNN Item-kNN Item-kNN-B

Rel

ativ

e CT

R

Default setup RNN

CTR

• Default trains: on ~10x events more frequently

• Absolute CTR increase: +0.9%±0.5% (p=0.01)

Page 16: Deep learning to the rescue - solving long standing problems of recommender systems

The next step in recsys technology

• is deep learning• Besides session modelling

Incorporating content into the model directly Modeling complex context-states based on sensory data

(IoT) Optimizing recommendations through deep reinforcement

learning• Would you like to try something in this area?

Submit to DLRS 2016 dlrs-workshop.org

Page 17: Deep learning to the rescue - solving long standing problems of recommender systems

Thank you!

Detailed description of the RNN approach:• B. Hidasi, A. Karatzoglou, L. Baltrunas, D. Tikk: Session-based recommendations with recurrent neural networks. ICLR 2016.• http://arxiv.org/abs/1511.06939• Public code: https://github.com/hidasib/GRU4Rec