博客地址:http://www.cnblogs.com/daniel-D/p/5602254.html

新浪微博:http://weibo.com/u/2786597434

欢迎多多交流~

Main Idea

这篇论文的工作是讲 RNN 应用到推荐系统中,想法在于把一个 session 点击一系列 item 的行为看做一个序列,用来训练一个 RNN 模型。在预测阶段,把 session 已知的点击序列作为输入,用 softmax 预测该session下一个最有可能点击的item。论文想法虽然很朴素很直白,但是目前这类直接用deep learning的结构来做推荐的论文非常少(RBM除外),因此值得仔细研读。

Architecture

论文采用了 RNN 中的 GRU 单元作为基本结构,组建了一个深层的神经网络来预测该session下一个点击的item 的概率。比如item拥有 2w 个,那么通过 1-of-N coding 的方式(one hot encoding),神经网络的第一层就有2w个节点,然后通过第二层embedding层压缩为低维连续向量(假设200维),当然最开始这些向量都是随机初始化的。embedding这一层实际上是一个 2w * 200的矩阵字典,每一行 200 维的向量就是一个item的presentation。这200维向量可作为 stacked GRU 的输入,得到低维连续的输出(200维),然后通过与 一个 200 * 2w 的矩阵相乘,得到了下一个点击的item在 2w 个节点中的预测概率,整体而言,这是一个 sequence to sequence 的预测问题。

为了更好的并行计算,论文采用了mini-batch的处理,即把不同的session拼接起来,同一个sequence遇到下一个Session时,要注意将 GRU 中的一些向量重新初始化。因为item的维度非常高,每次要预测 2w 个item 的概率会导致计算量庞大,因此原则上只选取当前的正样本(即下一个点击的item)加上随机抽取的负样本。论文采用了取巧的方法来减少采样需要的计算量,即选取了同一个 mini-batch 中其他sequence下一个点击的item作为负样本,用这些正负样本来训练整个神经网络。

Loss Function

作者尝试了 常见的 point-wise rank loss,即认为负样本为 0, 正样本为 1 的loss function,发现训练出来的模型并不稳定,原因可能因为在推荐里面,并不存在绝对的正样本和负样本。在同一个情景里面,用户只能点击一个最偏好的item,对其他item可能也存在偏好,这并不是一个非黑即白的classification问题。然后作者尝试了 pair-wise rank loss,并且对于负样本的分数进行了近0约束,防止训练过程中分数相互“攀比”的情形下所有的预测分数都越来越高。实际上,我认为这种约束方法近似于对 权重进行了 L2 约束。

Results

论文在 recSys2015 竞赛的数据集上进行了点击item的预测评比,对比的方法有 pop 、s-pop 、item-knn以及 BPR-MF,评测标准有 MRR@20 和 Recall@20,貌似都取得了不错的效果。

Deep Learning 论文解读——Session-based Recommendations with Recurrent Neural Networks的更多相关文章

  1. 论文解读 - Composition Based Multi Relational Graph Convolutional Networks

    1 简介 随着图卷积神经网络在近年来的不断发展,其对于图结构数据的建模能力愈发强大.然而现阶段的工作大多针对简单无向图或者异质图的表示学习,对图中边存在方向和类型的特殊图----多关系图(Multi- ...

  2. Deep Learning 16:用自编码器对数据进行降维_读论文“Reducing the Dimensionality of Data with Neural Networks”的笔记

    前言 论文“Reducing the Dimensionality of Data with Neural Networks”是深度学习鼻祖hinton于2006年发表于<SCIENCE > ...

  3. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  4. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  5. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  6. Deep Learning论文笔记之(一)K-means特征学习

    Deep Learning论文笔记之(一)K-means特征学习 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感 ...

  7. Deep Learning论文笔记之(三)单层非监督学习网络分析

    Deep Learning论文笔记之(三)单层非监督学习网络分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感 ...

  8. Spectral Norm Regularization for Improving the Generalizability of Deep Learning论文笔记

    Spectral Norm Regularization for Improving the Generalizability of Deep Learning论文笔记 2018年12月03日 00: ...

  9. 论文翻译:2020_Lightweight Online Noise Reduction on Embedded Devices using Hierarchical Recurrent Neural Networks

    论文地址:基于分层递归神经网络的嵌入式设备轻量化在线降噪 引用格式:Schröter H, Rosenkranz T, Zobel P, et al. Lightweight Online Noise ...

随机推荐

  1. 用VB实现点名程序

    用vb实现点名程序主要是随机变量的产生和数据的读取和存储以及计时器程序的设计,读取的文件命名为data.txt,书写格式为第一行为总人数下面的每行为一个人名,在应用时最好把data文件和程序文件放在一 ...

  2. Ajax与用户交互的存储格式JSON

    数据存储是JavaScript的核心功能,这是一个在学习前期的一个容易让人迷惑的问题.它并不是那种像页面滑动.幻灯片展示.淡入淡出等吸引人眼球的特效.适当的存放好数据,就有利于我们组织起结构,又能使应 ...

  3. 【ASP.NET 进阶】根据IP地址进行百度地图定位

    昨天有完成一个[ASP.NET 进阶]根据IP返回对应位置信息 的小Demo,既然可以通过IP获得位置信息,那当然可以通过位置信息的经纬度获取IP的当前定位了,虽然与实际地址偏移较大,毕竟不是GPRS ...

  4. AOJ 740 求和

      链接:http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=740   Description 对于正整数n,k,我们定义这样一个函数f,它满足如下规律f(n,k=1 ...

  5. javascript判断回文数

    "回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这样的特征,成为回文数(pa ...

  6. 在A*寻路中使用二叉堆

    接上篇:A*寻路初探 GameDev.net 在A*寻路中使用二叉堆 作者:Patrick Lester(2003年4月11日更新) 译者:Panic 2005年3月28日 译者序 这一篇文章,是&q ...

  7. Studio 从入门到精通 (一)

    目标:Android Studio新手–>下载安装配置–>零基础入门–>基本使用–>调试技能–>构建项目基础–>使用AS应对常规应用开发 AS简介 经过2年时间的研 ...

  8. 基于 URL 的权限控制

    先不用框架,自己实现一下 数据库 /* SQLyog v10.2 MySQL - 5.1.72-community : Database - shiro *********************** ...

  9. P1195 口袋的天空

    P1195 口袋的天空 题目背景 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空. 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖. 题目描述 给你云朵的个数N,再给你M个关 ...

  10. C语言 百炼成钢14

    //题目40:输入3个数a,b,c,按大小顺序输出.(使用指针完成) #include<stdio.h> #include<stdlib.h> //分析:用指针完成,说明不可以 ...