Gist; playlist generation using RNNs trained on within-track transitions

I released a gist that has model and dcg computation that are used in Towards Playlist Generation Algorithms Using RNNs Trained on Within-Track Transitions.

They are just pieces of code, so I don’t think I need a repo for this. But I got some questions from @subby_tech and decided to post some more info here.

I tested LSTM and vanila RNN. I found LSTM results in kinda more making sense playlist – I think I used to know the difference of the impressions I had, I forgot them now.

It’s on the gist – the model is 2 and 3-layer models with 128, 256, 512 hidden layers. I used a 50-dim dense layer as an output layer. I used layer-wise dropout of 0.3

I picked up DCG@n because only top-n prediction matters in the feature extraction method I used (which is the predicted tag values in Automatic tagging using deep convolutional neural networks).

The implementation of DCG is also in the gist.

I thought about it, but decided not to release the model. I don’t think it’s at the state to be reused 😉

It is actually a very good question. Cause the model only predict one state given the previous 50 time steps, many-to-one should be enough. In many-to-many, the n-1 (essentially unnecessary) outputs still add some back-propagation. They at the end will work as a regulariser. It’s kinda similar situation where a problem is combined with some other tasks (and becomes a multi-task problem at the end) just to regularise the network.

Well, after all the pre-processing it is just feeding the model with the data. You should of course shuffle them and feed them. Probably you want to split the data by artists or at least their albums.

And these are the codes at this gist.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s