p2 Why l like it: Multi-task Learning for Recommendation and Explanation

Network Embedding

 

继续学习文章 Why I like it: Multi-task learning for Recommendation and explanation

 

3 一个多任务学习方法

这部分,我们详细展示推荐系统的细节,这个推荐系统集合了学习预测某个用户对于一个物品的排名,以及生成一条评论(?)作为用户物品以及用户物品对的解释。

首先,我们描述了一个序列到序列的对抗学习模型,(be capable of)它能够生成每个用户或者item的评价,帮助提高潜在特征模型的可解释性。接着,展示我们怎样扩展基本模型来生成个性化用户对某个item的评价的。接着,我们介绍一个上下文相关的概率矩阵因式分解模型的扩展,它可以将review document合并成一个texual feature(是embedding吗?还是只是利用矩阵操作,矩阵因式分解是啥?矩阵分解,目前主要应用于推荐系统领域,用于实现隐含语义模型 latent factor Model,作用减少运算量,解决矩阵稀疏。对,就是一种embedding,哈哈,基本原理,一个矩阵能分解成两个矩阵的乘积)最后,我们提出一个多任务学习模型,同步进行学习提高预测率和生成评价,还有一个计算框架来优化参数。

3.1 序列到序列的对抗学习

和encode-decoder结构有关系。我们实现了一个编码解码架构,他能通过观察到的评价文档来生成各种相关评价。我们需要定义review document ,(评价文档,应是从网络中爬取到的?d(u,i)是所有用户i写出的评价,d(v,j)是所有写给item j的评价,整两个文档应该是有重合的 be indicative of 指明)对于物品的评价偏向于质量,人给出的评价偏向于感觉,为了捕捉这些不同,我们用同样的网络结构来为这两类数据建模,只是涉及到各自不同的细节问题转换一下就行了。

传统的优化seq2seq模型方法主要作用在训练过程中每一个时间步长里都喂进去真实标注(ground-truth真实的)会导致bias爆炸,例如在测试中,model在自己做的错误预测中会越陷越深不能自拔(中间偏置出错导致全局错误,再加上上一步的错误会一直待到最后?),为了克服这些,我们部署了对抗训练进程,我们你能同步训练生成和识别网络,生成学着去产生假的观点篇识别,识别能检测这些假的samples。

  3.1.1 循环评论生成器(Recurrent Review Generator)这个生成器作用就是生成看起来是用户ui写的评价。(to this end 为了达到这个目的)部署了一个基于循环神经网络的对抗学习框架,包括以下两大主要部分:(1)用户观点文档编码器:把此文档投射到d维向量Ui~相当于特征抽取了(2)用户观点解码器:根据上一步的特征向量,生成一个风格连贯一致的观点。注意,这两个coder都是用GRU,因为它在也能克服序列的长期依赖问题(一个简化了的LSTM,只有更新门和重置门)。

下面阐述一些RRG的细节问题:

下面这一段是描述generator的,使用encoder-decoder结构:

(suppose 假设)假设,我们有了上述那些文档,对于dui文档里的内容,我们首先将每个word组成的一大长串的东西通过embedding lookup 操作映射成k维向量。edbedding矩阵依据提前训练好的词向量(从word2vec中得到)初始化,然后通过bp调参。这个词向量,就是word vectors 就被feed 进上面的双向GRU中,前向forwardGRU是读取惯用序列,backword是倒序读取,这样减小信息熵。我们连接两向中的最后一步得到的activation,得到一个vector hT=[hT->,hT<-],(这些都是隐层activation)这个向量就是评论文档向量代表,Ui~for user i就可以通过平均所有的变量生成了,输入到decoder中(Ui~ 在decoder里和每个时序都有过,都作为其输入的一部分。)。decoder中是逐个词生成的。在时间步t时,解码器GRU首先把t-1时步的输出单词yi ,t-1嵌入到对应时步的xi,t-1中去,接着把这个嵌入好的量和用户文档向量粘合在一起,x'i,t=xi,t-1,Ui~ ; 这个新生的x't就作为decoder的输入,以此来获得ht( 隐层activation)再把ht和映射矩阵相乘后通过一个驾在整个词表之上的softmax层,如此来得到由当前context下给出的每个词语的概率(context是用户自己的评论,算的是在当前congtext下每个词出现的概率。endeavor to do sth 努力去做某件事)在t时序的输出Yi,t是由softmax层生成的多项分布里采样得到的。

3.1.2下面这一段是描述discriminator的,用的是convolutional相关:

当用户评论生成器努力to模仿用户生成仿照评论的时候,识别器也正在根据真实的评论来学习鉴别这些adversary adversarial reviews authentic对抗仿照评论。给一个候选评价和目标用户,识别器就会用二分法标准来决定是不是真的由目标用户写的。第一步,也是最重要的,识别器会判定给定的候选评论在多大程度和用户相似就判定它为真人写的,假设连人类最基本的风格都不像,那就直接pass;第二,识别器要判定相似度,likehood,这是要确保生成器不仅要生成用户类似语言风格,还要更加限制生成内容和user review doc的主题相关性。整个识别器卷积网络设定是一个轻量级参数的比较普遍的文本分类器。首先,每个review里的词映射成词向量word vector,和上面一样,把它和用户specific vector(表示用户信息的,应该是从user textual fearture来的吧?文中说也是从训练中和其他参数一起习得的,哪一步训练?)拼接一起,拼接好之后,进入卷积神经网络进行处理,最后跟着一个最大池化层和全连接投影层。最终的输出单元是sigmoid非线性单元,为的是把最后得出的概率squashes into the [0,1] interval,(只有一层卷积层吗,也就是说最后只得到一个概率值,即多大可能性是真的)

 

3.1.3 为了生成评价的基于强化学习机制的对抗训练


虚拟代理Gθ,它的目的是在每一次实验训练中累计尽可能多的奖励。这种奖励机制中的奖励积分,是由识别器打出的分数决定的,所以这个Gθ目的是为了尽可能生成与用户自己的评论相似的评论。识别器的虚拟网络是用随机梯度升高的方法进行训练,至此,公式还和典型GAN推理的一致,max公式。接着,他提到了这个模型的一个问题点:原文:Due to the fact that sequence generation is carried out through a discrete sampling process, the gradient cannot be directly back-propagated from the discriminator to the generator. 事实上,序列生成器是由离散抽样方法实现的(encoder-decoder生成的),所以迭代中梯度不能直接从判别器里反馈到生成器。为了解决这个不可微问题(indifferentiability不可微分 differentiablity),我们提出了一个策略梯度算法,列出关于生成器的参数θ的梯度目标函数Jθ(variance 方差 rationale 基本原理 例句 But that rationale raises the question of whether any relief should be available at all.  coefficient matrix 系数矩阵,coefficient 系数)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

转载于:https://www.cnblogs.com/rita2008/p/10651933.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值