请选择 进入手机版 | 继续访问电脑版

严格冷启动问题的再次尝试AGNN及代码

[复制链接]
黎平 发表于 2020-12-31 20:21:51 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
hi各位大佬好,我是百变大魔王探花小明哥GBM.问题泉源:向导说,这里要当成严格冷启动问题,不能用预热的行为数据,看来之前的LCE是肯定不行的,现在主要办理的是item冷启动的问题,而对这些cold item的点击行为也是冷的用户,卧槽,这是真的冷啊。冰冷的梦里,无法跟你相聚。
For Recommendation in Deep learning QQ Group 277356808
For Visual in deep learning QQ Group 629530787
I'm here waiting for you
不继承这个网页的私聊/私信!!!

开始——

MF是CF中最盛行的方法(效果好呗)。给定一个M*N的点击行为(user M个,item N个),首先学习到低纬的user大概item隐向量,然后采取一个评分函数生成矩阵中缺失的分数。其中稀疏性和冷启动问题则是比较困难的。传统的方法比方inductive learning,meta learning及HIN都不符合严格冷启动,因为他们都需要user/item在测试会合有行为。当缺乏偏好信息,好比,当一个新的影戏上映,它就是个新的(冷的)item,那么是不知道bob对它的评分的,幸运的是,item的属性信息,比方导演和种类,可以代表这个item,因而,当影戏有同样的属性就可以形成图,这样就能通报邻节点偏好信息,好比从美队到复仇者。但是仍旧有两个问题摆在面前,1,如何转化属性表达为偏好表达;2,如何有效地聚合差别形式的属性(文字和图像)。AGNN中首先采取一个扩展的变分自编码器(VAE)产生偏好embedding(从重构的属性分布中),别的也设计了一个gated-gnn聚合复杂的节点embedding,这样模子有一个跳跃本领,因为可以指定节点embedding每个维度的差别重要性。
问题界说

,M 和N是个数,分别是用户和item,除此之外,每个用户和item都有一系列差别范畴的属性。每个属性都有离散编码,所有的属性拼接成multi-hot属性编码,示例
分别是性别,年龄,职业。令R是交互矩阵(也就是行为矩阵),可以是分数大概点击与否。这就是典范的热启动评分预测问题,目标是预测未知的评分。而一般的冷启动问题是,在训练会合没有user大概item,而在测试会合有交互。如下示例:

图a和图b差别之处是NV和NU在测试会合无有评分(一般冷启动的图a有交互行为),而图b则没有,测试会合也没有交互行为,也就是预测NV大概NU的交互。
模子概览

一个输入层,一个交互层,一个gated-gnn层,一个预测层。gnn用来处理惩罚严格冷启动中的user或item的属性,VAE结构用来从属性近似用户的偏好,gnn则是用于信息过滤大概聚合。如下所示,整体架构

按照向导的思路,他肯定会问,U-U 图和I-I图是怎么构建的,卧槽,paper作者也没给出个详细先容,代码也有些繁杂,我还是提个issue吧.
模子结构

差别于两部门的user-item 图,模子是在现有的同样属性图上,这样使得模子可以或许摆脱稀疏交互。属性的质量是关键,在本文采取一个很自然的近似方法构建属性图,也会对比差别图构建方法的影响。首先界说两种近似:偏好近似,属性近似。1)偏好近似度量两个节点汗青偏好的相似性。如果两个users有相似的评分记录(大概两个items有相同的评分表),那么他们将有一个高的偏好近似。注意,对严格冷启动节点,因为没有汗青评分,所以不能盘算偏好近似。2)属性近似度量两个节点的属性的相似度。如果两个users有相似的用户画像(性别,职业,种别),那么他们将有高的属性近似。近似的盘算方法:

w和v是两个节点的偏好表达大概multi-hot属性编码。两种范例的近似经min-max norm后得到最终的近似,然后sum。因近似是在多种属性上举行的,有必要保存多样性邻居。
大数据量下的one-hot表达维度高,而multi-hot仅仅是拼接在一起(像极了相亲)而没有考虑交互关系。交互的目标就是淘汰one-hot维度,为multi-hot学习到高阶属性交互。为了这个目标,首先创建一个查询表,将节点的one-hot表达降低到dense向量。查表层对应两个参数矩阵M,N,每个输入
编码用户的偏好和item的属性。注意,
对严格冷启动是无意义的,因为没有交互训练他们的偏好embedding,稍后再说。通过双向交互pooling操纵捕捉高阶属性交互,除此之外也有线性团结操纵。令
分别为第i和j个范例的属性embedding向量,a是multi-hot属性编码。

 然后有一个FC,得到user或item的embedding

 

 然后融合偏好embedding和属性embedding得到节点embedding,这样每个节点都有汗青偏好和自己的属性。分号是拼接操纵

 对于严格冷启动问题,节点没有交互,那么就是偏好缺失问题,则直接从属性embedding重构偏好embedding。一类用户喜欢的item是类似的,好比,十几岁的少年可能感兴趣的是动画片。这就说明,属性和偏好embedding不就在隐空间相近,而且有类似的分布。因此,采取VAE结构重构偏好。提出的扩展VAE如上Fig3b,有三部门,推断,产生,近似,前两部门是标准的VAE,第三个是扩展的,在产生部门,u给定一隐变量
通过MLP生成。这部门略过(主要是 有点困了)
直接看gnn部门,a是聚合,f是过滤。给定用户的节点u,其节点embedding为
,其邻集为Nu,节点embedding 
是Nu中第i个邻居


12式就是最终得到的user的embedding,同样可以得到item的最终embedding。
预测层,有user和item的embedding,可以得到user对item的评分

loss部门采取预测评分损失和重构损失(VAE那部门的),前者就是差的平方。评价指标是均方根误差和MAE。1问题是我这里的都是隐式反馈,就是点击与否,没有评分,是不是都是换个loss就好了???不得而知啊,先看代码吧,又是torch的。想起了蹩脚的英语,沟通就是费劲。2问题是我这里的情况是真的冷用户啊,完全不知道他的属性啥的(职业性别没有的,人家一来你让人家填这个玩意,人家都走了),这个实际应用还是有点难度啊。
代码上面已经附过了。挖个坑,下次再填吧。欠好整。

来源:https://blog.csdn.net/SPESEG/article/details/111871464
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )