白话Attenction机制

attention机制最初是在 rnn 中引入的用于解决机器翻译问题,此前机器翻译问题通过使用 RNN 解决,先基于输入编码一个隐语义向量,然后通过解码器基于该隐语义向量进行解码。但是这样存在一个问题,就是解码严重依赖于同一个隐语义向量。仔细思考下这样是不合理的。因为对于不同的输出 $y_i$,其和输入$X=\lbrace x_1, x_2,.., x_n \rbrace$有着不同的相关性,例如将“我爱你”翻译成“I love you”,显然输入“我“,”爱“,”你”对输出 $I$的贡献是不同的。attention就是为了解决这个问题,总结就是为了解决信息传递过程中的信息量不同的情况。

阅读更多

记录一下接下来要做的

有一些需要做的,先记录一下。

阅读更多

《ACM MM2021 Contrastive Learning for Cold-Start Recommendation》阅读笔记

本论文发表于ACM MM2021,针对推荐系统的冷启动问题进行了研究。论文设计了基于图结构的user-item的相关性框架得到user embedding和item embeding,但是对于冷启动item则无能为力,为此又设计了基于内容的item表征和基于图结构的item表征的对比学习任务。其实这个思维框架和Google的《Self-supervised Learning for Large-scale Item Recommendations》很像,也是解决长尾冷启动问题的。

具体来说,论文提出了基于对比学习的冷启动推荐框架CLCRec,其由三部分组成:Contrastive Pair Organization,Contrastive Embedding Network和Contrasitve Optimization modules。

阅读更多

《KDD2018 Perceive Your Users in Depth Learning Universal User Representations from Multiple E-commerce Tasks》阅读笔记

DUPN(深度用户感知网络)是阿里在KDD2018发表的一篇文章。

阅读更多

《Parameter-Efficient Transfer from Sequential Behaviors for User Modeling and Recommendation》论文阅读

归纳迁移学习对计算机视觉和 NLP 领域产生了重大影响,但尚未用于推荐系统领域。虽然已经有大量基于建模user-item交互序列做推荐任务的研究,但很少有人尝试表征和迁移这些模型到仅存在有限数据的下游任务。本文深入研究了如何有效地学习单个用户表征,并将该表征应用于各种任务,从跨域推荐到用户属性预测。微调大型预训练网络并使其适应下游任务是解决此类任务的有效方法。但是考虑到每个新任务都需要重新训练整个模型,微调的参数效率很低。为了克服这个问题,论文提出了一种参数有效的迁移学习架构,称为 PeterRec,它可以动态配置到各种下游任务。具体来说,PeterRec 通过注入一系列重新学习的神经网络,允许预训练的参数在微调期间保持不变,这些神经网络虽小但与学习整个网络一样具有表现力。论文通过一系列消融实验展示了用户表征在五个下游任务中的有效性。此外,作者证明了 PeterRec在多个领域迁移学习的有效性,与微调整个模型参数相比,PeterRec实现了相当或更好的性能。代码和数据集可在 https://github.com/fajieyuan/sigir2020_peterrec 获得。

阅读更多

《Towards Universal Sequence Representation Learning for Recommender Systems》论文阅读笔记

该论文是人大和阿里合作的一个序列表征相关的工作,发表于KDD2022。目前大多数序列表征工作基于itemid建模,导致其无法很好地迁移到其它场景中。该论文提出了一种通用的序列表征学习方法(UniSRec,Universal Sequence representation learning approach for Recommendation, named as UniSRec),首先通过item的描述文本学习到跨域的item表征,然后基于跨域的item表征学习到通用的序列表征。具体地,其提出了一种基于参数白化和混合专家增强适配器的item编码架构。为了使得学习到的序列表征更通用,论文通过多域负采样构造了两个对比学习任务。论文在使用Amazon数据集和英国在线零售平台的数据集进行了评测,并且开源了代码

阅读更多

NLP相关资料整理

本帖整理下NLP的相关资料,有空的时候学习下。

阅读更多

hexo博客链接在微信被屏蔽的解决办法

众所周知,微信对于外链管理是出了名的严格,动不动就屏蔽,但是hexo博客被屏蔽就难以理解了,提示说涉及色情。。朋友说可能是dom里面涉及到sex等关键词触发了相应规则,不知真假,不过还真有代码centerx: mousex - screen.width / 2命中了sex关键字。奇奇怪怪,还是说下怎么解决吧。

阅读更多

TensorFlow的自动求导具体是在哪部分代码里实现的?

最近在构建nn的时候,发现使用内积导致了输出全0,所以研究下tf的自动求导机制。题目来自于知乎的一个问题《(34 封私信 / 77 条消息) TensorFlow的自动求导具体是在哪部分代码里实现的? - 知乎》,这个答案讲的很好,但是对其中log函数求导先求复共轭的逻辑有点疑惑,所以研究下复数求导相关机制。先从实数域的多元函数导数讲起,再讲复数域的多元函数导数机制。

阅读更多

tf中如何修改tensor的值

在搞深度学习的工作时,经常遇到修改tensor值的需求。除此之外,之前还发现tf1.x中使用tf.scatter_update()更新tensor的值会报错,疑似不能反向传播。基于这些原因,本帖旨在整理一些修改tensor值的技巧,持续更新。

阅读更多