学习笔记1707.07435基于深度学习的推荐系统:调查与新视角(中文提纲)

Posted 囚生CY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记1707.07435基于深度学习的推荐系统:调查与新视角(中文提纲)相关的知识,希望对你有一定的参考价值。

最近在看论文,看到一篇关于推荐系统方面不错的一篇入门综述,CSDN博客上也有几个人做了译文,大都只翻译了很少的一部分。笔者虽然没有进行翻译,但是在阅读的过程中对全文做了提纲以及进行要点记录,各位朋友觉得可以也可以参考一二,但是就一些好论文还是自己一个字一个字去看比较好。

附官网下载链接 https://arxiv.org/pdf/1707.07435

由于是在Notepad++中编辑,这边就直接复制粘贴了,格式不太好可能。提纲中穿插了目录。觉得有帮助可以去下原文看。

1【介绍】P1
· 推荐算法基于用户偏好,物品特征,用户物品之间的历史交互信息,其他如时间(序列感知推荐器)与空间(POI兴趣点推荐器);
· 推荐模型一般分为协同过滤模型,基于内容的推荐系统,混合推荐系统;
· 本文主要为综述,与对未来的展望;

2【推荐系统与深度学习的概述】P3
    2.1【推荐系统】P3
    · 协同过滤模型利用直接(评分)与间接(浏览历史)反馈;
    · 基于内容的推荐系统利用比较用户与物品的辅助信息(文本,图像,视频)
    · 混合推荐系统利用至少两种推荐模型
    · 问题模型抽象:
      M个用户与N件物品,R表示实际交互矩阵,R’表示预测交互矩阵;
      r(u,i)表示用户u对物品i的评分,r’(u,i)表示预测的得分;
      同时我们使用一个部分观测向量(R矩阵的行)r_(u)=r_(u,1),r_(u,2),...,r_(u,N)代表每个用户u;
      以及我们使用一个部分观测向量(R矩阵的列)_r(i)=_r(1,i),_r(2,i),...,_r(u,N)代表每件物品i;
      O与O_表示已观测的与未观测的交互集合;
      我们使用U∈R(M×k)与V∈R(N×k)代表用户与用户与物品的潜在因素,k为潜在因素的维度;
      另外,比如时间印章的序列信息可以被考虑用于制作序列感知的推荐;
    2.2【深度学习技术】P4
    · MLP多层感知机:就是常规的多层神经网络;
    · AE自编码器:无监督模型,重构输入数据;
      DAE去噪自编码器,MDAE边缘去噪自编码器,SAE稀疏自编码器,CAE收缩自编码器,VAE变异自编码器;
    · CNN卷积神经网络:适合处理具有网格状的拓扑结构数据,提高效率与精度;
    · RNN循环神经网络:适合对序列性数据建模;
      与前馈不同,RNN中含有循环与存储来记住之前的计算操作;
      LSTM、GRU是RNN的变体,用于解决梯度消失的问题;
      LSTM:输入门,遗忘门,输出门;
      GRU:更新门,重置门;
    · RBM受限玻尔兹曼机:两层结构,包含一个显层与一个隐层;
      所谓受限指层内无数据交流;
    · NADE神经自回归分布估计:无监督的神经网络;
      在自回归模型与前馈神经网络之上搭建;
      对于数据分布、数据密度建模是一个易处理、有效率的估计量
    · AN对抗网络:生成式的神经网络;
      由一个discrimiator与一个generator构成;
      两个神经网络同时训练,通过互相竞争在一个min-max博弈框架中;
    · AM注意力模型:可微的神经架构,对序列或图像;
    · DRL深度强化学习:强化学习试错架构;
      组成成分:代理,环境,状态,决策,收益;
      将强化学习与深度神经网络结合;
      深度神经网络使得代理从原数据得出有效的知识而不需要手动特征与领域启发法;
    2.3【推荐系统为什么选择深度神经网络】P5
    · 会话的序列结构或者点击记录适合与RNN与CNN;
    · 关键优势在于处理基于内容的推荐(如推特内容);
    · 深度学习的一些技巧如Adam, Dropout, Batch Normalization
    · 总的来说四个优势:
      · 非线性转换(relu, sigmoid, tanh):处理复杂的问题;
      · 表现学习:深度神经网络可以学习到更深层次的因素;
      · 序列建模:CNN与RNN对于序列性信息的处理有优势;
      · 灵活性:有很多深度学习框架(Tensorflow, Keras, Caffe, PyTorch);
    2.4【潜在的局限性】P7
    · 可解释性;
    · 数据需求;
    · 大量调参;

3【基于深度学习的推荐系统:最前端的技术】P7
    3.1【基于深度学习推荐系统的种类】P7
    · Neural Building Blocks 的推荐模型:MLP, AE, CNNs, RNNs, RBM, NADE, AM, AN, DRL;
    · Deep Hybrid Models 的推荐模型:RNN+CNN, AE+CNN, RNN+AE, etc;
    · 数据类别:
      · 序列信息:会话,POI;
      · 文本:哈希标记,新闻,评论,引用;
      · 图像:可见的特征;
      · 音频:音乐;
      · 视频:视频;
      · 网络:引用网络,社交网络,交叉领域;
      · 其他:冷启动,多任务,可解释性;
    3.2【基于MLP多层感知器的推荐系统】P9
    · 许多普通的推荐系统都是线性模型,MLP提供了非线性因素;
    ·【神经协同过滤】:P9
      · 很多时候都是用户与物品之间的交互:矩阵因子分解将高维矩阵化为低维用户物品的潜在因素;
      · 构造对偶神经网络来对用户物品之间的二路交互建模;
      · NNMF神经网络矩阵因子化、NCF神经协同过滤是两种代表方法;
      · NCF神经协同过滤:(图P10,感觉关键在于神经CF层)
        · 令S_user(u)与S_item(i)表示两边的数据(如用户简介与物品特征),
        · 得分函数r(u,i)=f(U'*S_user(u),V'*S_item(i)|U,V,θ);
        · f(·)表示MLP,同时利用了MF的线性与MLP的非线性来提高推荐质量;
        · 用加权平方损失或二元交叉熵损失(对于间接反馈)来优化;
        · 也可以用one-hot编码来改进;
      · DeepFM深度因子化机:(两个并行的层——FM层与MLP的隐层)
        · end-to-end 模型
        · 通过DNN来对高级特征交互建模,通过FM对低级特征交互建模;
        · y_FM(x)与y_MLP(x)分别表示FM与MLP的输出,则预测得分r(u,i)=sigmoid(y_FM(x)+y_MLP(x))
        · 模型优化(见93与54两个论文);
    ·【利用MLP学习特征表示】P10
      · WDL宽度与深度学习:(图P12,一堆直接从input到output的输入结点,另外还有一些是深度网络一层层搞上去的)
        · 可以解决分类与回归问题;
        · 宽度学习是一个单层感知器(生成线性模型),深度学习是MLP;
        · 结合的原理在于使得推荐系统采集记忆与概况;
          记忆由宽度学习获得,代表从历时数据中获取直接特征的能力;
          概况由深度学习获得,生成更抽象与概括性的表示;
        · 可以提高精度与推荐的多样性;
        · 数学模型抽象:
          y = W_wide'*x,f(x)+b,其中W_wide, b为模型参数;
          x,f(x)是将原输入特征与转化后的特征(如向量积)拼接得到的;
          P(r(u,i)==1|x) = sigmoid(W_wide'*x,f(x) + W_deep'*a_lf + bias);
      · CML协同度量学习:
        · 将MF中的点积变成欧氏距离,因为点积不满足三角不等式;
          用户物品的嵌入层是通过最大化用户与他们不喜欢的物品以及最小化与他们喜欢的物品的距离得到;
    ·【基于深度结构语义模型的推荐系统DSSM】P11
      · 用于连续语义空间中的学习语义表示以及语义相似度;
      · 广泛应用于检索领域以及适用于"Top-N Rec"问题;
      · DSSM将不同实体投射得到低维空间,利用余弦相似度计算距离
      · DSPR基于个性化推荐的深度语义相似度:
        · 标签感知的个性化推荐系统;
        · 每个用户与物品被用标签注释然后映射到一个普通的标签空间?
        · similarity(u,i) = dot(u,i)/(|u|*|i|)
        · 损失函数:L = -∑[log(exp(similarity(u,i*)))-log(∑[exp(similarity(u,i-))])]
          第一个∑对(u,i*)累和,第二个∑对(u,i-)∈D-累和;
          (u,i-)是从消极的“用户-物品”对中采集的消极样本;
      · MV-DNN多视图的深度神经网络:(图P12,输入是多个视图,如用户视图,物品1视图,物品2视图...)
        · 适用于跨领域的推荐;
        · 将用户视为一个视图,多领域各为一个视图;
        · Z个“用户-领域”对得到Z个得分;
        · 损失函数有点像softmax,见P12,较长;
    3.3【基于自编码器的推荐系统】P12
    · 自编码器在推荐系统中两种常见的应用:
      (1)在瓶颈层利用自编码器学习低维特征表示;
      (2)在重建层中直接填写交互矩阵;
    ·【基于自编码器的协同过滤】P12
      · AutoRec:
        · 输入:用户部分向量r_u与物品部分向量r_i,并在输出层中重构他们;
        · 分为基于物品的自编码推荐I-AR、基于用户的自编码推荐U-AR;
        · I-AR的结构:h(r_i;θ)=f(W*g(V*r_i+μ)+b)(图P13)
        · 四个总结的点:
          (1)I-AR比U-AR表现得好,可能是因为用户部分观测向量的方差很大;
          (2)不同的激活函数f(·),g(·)对结果的影响很大;
          (3)增加隐层单元数量对结果影响较小;
          (4)增加层数同样对结果影响较小;
      · CFN:AutoRec的一种变体;
        · 利用去噪技术,增加鲁棒性;
        · 利用物品简介与用户简介等边缘信息缓和了交互矩阵的稀疏以及冷启动问题;
      · CDAE协同去噪自编码器:(图P13)
        · 主要用于用于排名;
        · 使用SGD;
        · 具体公式P14,比较复杂;
      · MVAE&MDAE两种多层自编码器:
        · 对于间接数据时使用的方法,效果比CDAE好;
    ·【用自编码器学习特征表示】P14
      · CDL协同深度学习:
        · 贝叶斯体系模型;
        · 算法表述在P14~15;
      · CDR协同深度排名:"Top-N Rec"问题;
      · DCFF深度协同过滤框架:看不懂;
      · AutoSVD++:利用收缩性的自编码器;
        · 可以得到极小的输入变量;
        · 对于间接反馈更加深度的建模,提高精确度;
      · HRCD:一种基于自编码器与timeSVD++的混合协同模型;
        · 利用了SDAE从原特征中学习物品表示的时间感知型模型;
        · 意欲解决冷物品问题;
    3.4【基于CNN的推荐系统】P16
    · CNN适用于处理非结构化的多媒体数据(卷积及池化);
    · 大多数基于CNN的推荐系统都利用CNN来进行特征挖掘;
    ·【基于CNN的特征表示学习】P16
      · CNN挖掘图像特征;
      · CNN挖掘文本特征;
      · CNN挖掘音频及视频;
    ·【基于CNN的协同过滤】P17
      · reference[143]是关于CNN处理序列推荐系统的论文(使用了两种CNN,hierarchical&vertical);
    ·【基于图像CNN的推荐系统】P17
      · GCNN用于非欧氏数据:社交网络、知识图谱、蛋白质交互网络;
      · 综述里主要都是引用了别人的论文reference;
    3.5【基于RNN的推荐系统】P17
    · RNN极其适合于序列性数据的处理:如动态交互,序列性的用户行为模式,边缘信息如序列性的信号(文本,声音);
    ·【基于会话的推荐系统(无用户标识符)】P17:
      · 没有用户长期的习惯及兴趣信息,但是cookie可以让系统获得短期偏好;
      · GRU4Rec:
        · 基于会话与GRU的推荐模型;
        · 输入:会话的真实状态(1-of-N编码,N为物品数量);
        · 输出:每个物品在会话里下一个的似然可能;
        · 损失函数:L(S)=(1/S)*∑_j=1~S[sigmoid(r(s,j)-r(s,i))+sigmoid(r(s,j)*r(s,j))], S为样本数量;
        · 优化模型手短:
          (1)通过序列预处理与dropout正则化来增强点击序列;
          (2)用更多的最近点击序列来预训练(为了适应世俗变化);
          (3)过滤掉特殊信息用一个教师模型;
          (4)用物品嵌入层来减少参数;
        · reference[176]是与ACMRec2019非常像的一篇论文;
    ·【基于会话的推荐系统(有用户标识符)】P18
      · RRN循环推荐网络:(图P19)
        · 无参数的推荐模型,使用了两个LSTM网络(一个用户关于时间的序列,一个物品关于时间的序列,共同得出评分);
    ·【基于RNN的特征表示学习】P19
      · 对于具有序列模式的边缘信息,推荐使用RNN进行特征挖掘;
      · reference[5]:提出使用GRU来对文本序列进行编码,解决暖启动与冷启动问题;
      · reference[87]:一种多任务学习框架NRT,用于预测评分以及同时为用户生成文本提议;
      · reference[135]:将RNN整合进DSSM来进行推荐;
    3.6【基于RBM受限贝尔兹曼机的推荐系统】感觉没什么P用,意思不太好处理;P20
    3.7【基于神经注意力的推荐系统】P21
    · 分为普通注意力、协同注意力;
    ·【基于普通注意力的推荐系统】P21
    ·【基于协同注意力的推荐系统】P22
    · 这边综述写得比较简洁,总之就是能提高CNN与RNN的效果就完事了;
    3.8【基于NAR神经自回归的推荐系统】不懂不看P22
    3.9【基于DRL深度强化学习的推荐系统】P23
    · 认为推荐过程不是一个静态过程,尝试使用动态思想来解决推荐问题;
    3.10【基于IRGAN对抗网络的推荐系统】P23
    · 用于推荐物品;
    · 一个discriminator、一个generator;
    · 感觉像是处理查询方面的推荐问题?
    3.11【基于DHM深度混合模型的推荐系统】P24
    · CNN&AE:处理图像,reference[192], reference[96];
    · CNN&RN:各种诡异的推荐——
      · reference[82]:quotes推荐;
      · reference[193]:hashtag推荐;
      · reference[38]:citation推荐;
      · reference[17]:个性化的关键帧推荐;
    · RNN&AE:主要用于去噪;
    · RNN&DRL:reference[163]——treatment推荐;
4【未来研究方向与开放性问题】P25
    4.1【从用户与物品内容信息中学习联合表示】P25
    4.2【基于深度学习的可解释性的推荐系统】P26
    4.3【更深的推荐系统】P26
    · 一般的神经协同过滤网络是3~4层;
    · 是否可以用更深的RS来推荐?
    4.4【推荐系统的机器解释】P26
    4.5【基于深度神经网络的跨领域推荐问题】P27
    4.6【对推荐系统的深度多任务学习】P27
    4.7【基于深度神经网络的推荐系统的可测量性】P27
    4.8【该领域需要更好,更统一的,更努力的评价】P28
5【总结】P28
6【参考文献】P28
      
      
     

以上是关于学习笔记1707.07435基于深度学习的推荐系统:调查与新视角(中文提纲)的主要内容,如果未能解决你的问题,请参考以下文章

基于深度学习的音乐推荐系统

Merlin:基于深度学习的推荐系统框架

基于任意深度学习+树状全库搜索的新一代推荐系统

基于实时深度学习的推荐系统架构设计和技术演进

基于实时深度学习的推荐系统架构设计和技术演进

工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM