SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS笔记

一、这篇论文解决什么问题

session-based recommendation:用户未登录状态下, 仅仅依赖匿名会话进行用户下一个行为预测的一种算法(session-based recommendation

作者认为此论文发表前其他方法的不足:没有充分利用session信息

作者如何利用session信息:GRU(考虑隐含信息,考虑事件次序)

二、作者提出的模型架构

input layer + GRU layer + feed-forward layer + output layer

三、作者对GRU模型的几点改进

session-parallel mini-batches

这里的核心问题:如何处理变长序列

作者的做法,其实就是把无意义的padding(padding本身不包含语义信息)优化为有意义的padding(用其他session的事件来padding)


实际上,现在可以通过pack操作处理变长序列

sampling on the output

理想情况下,可以计算所有item的分数。但是在实践中,需要对负样本采样,作者的做法也很简单,同一个mini-batch的其他样本就是负样本。

ranking loss

pointwise and pairwise的ranking loss作者都试过了,发现pairwise ranking loss表现更好,作者用了BPR和TOP1

BPR(Bayesian Personalized Ranking):


TOP1: 


四、论文中对模型的优化结论

1. 输入加了embedding层后,效果变差

2. 在多层GRU层的情况下,输入层直接连越深的GRU层,效果会变好

3. 一层的GRU比多层的效果好

4. 增加GRU的大小,也就是增加hidden size,也会使效果变好

5. 一层feed-forward层足够,多了效果也不会变好

6. pairwise ranking loss优于pointwise ranking loss

五、对这篇论文的感受

现在看貌似很简单,但是这篇论文在2016年就把GRU很好地应用到session-based recommendation中,已经很有意义了。

另外,我对session-parallel mini-batches这部分的理解不是很有把握。

PS:本文的所有公式和图表都来自于论文:SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS,有理解不对的地方,欢迎指正

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容