DeepCTR学习小组精华内容摘要(01.13-01.20)

本文为DeepCTR学习交流小组在0113-0120期间的部分讨论内容的记录,本期整理的主题包括图算法的应用,推荐冷启动,多任务学习,召回模型以及面试求职刷题等方面。由于时间和原因并不能完整记录所有讨论内容,请大家谅解~ 

Node2Vec得到embedding后计算出的距离不符合逻辑

  • 提问者:想请教大家一个问题,Node2Vec嵌入以后计算的距离有点不符合逻辑,有的点直接连接算出来的距离却比path为3或者4的点对距离还要大,有人遇到过这个问题吗?

  • 大佬A: 图中的边是否有权重?

  • 提问者:有的,感觉和边权有关。刚刚和同学讨论,他提到了网络里的聚类效应,也可能影响了这个距离。

  • 大佬A:另外,还可能是游走的时候,采样的问题,因为边你也加了权重。

  • 大佬B: 我觉得是权重的问题吧,你提到的相邻的边,权重是不是比较大呢

  • 提问者:都不大,边权为1或者是2

  • 大佬B:如果权重差不多,我觉得应该是图结构问题吧。因为随机采样的时候,跳转概率会受到权重的影响,所以生成的序列也会受到影响,我猜测出现你这种情况可能恰好是path=3或4的节点刚好与近邻节点是邻居,也就是受到了结构的影响

  • 提问者:path=3或4的节点刚好与近邻节点是邻居,能否再解释一下?

  • 大佬B:图里a,b是直连的,path=1,ac的path=3,但是算上边权的话ab的权重是2,ac之间权重是3。这样很可能得到的结果是ab的距离比ac要大。

关于图网络在推荐场景的应用

  • 大佬A:昨天我问了下知识图谱做embedding特征的可行性,记得有人问我GNN上线了没?DeepWalk GraphSAGE作为与训练的方式上线了,GAT等试了没效果,估计和GraphSAGE重复了。

  • 大佬B:实体节点里除了ID类特征还有别的吗

  • 大佬A:没有的,纯ID类特征。

  • 大佬B:不是hin?就是一个id类的graph?

  • 大佬A:嗯 只加id就够了

关于推荐系统冷启动的问题

  • 提问者:关于推荐系统冷启动都有什么好的算法和技术吗?之前一直topk和onboarding label容易出现马太效应

  • 大佬A:业内有在用多臂老虎机解决冷启动问题的吗?

  • 大佬B: e-greedy最简单好用

  • 大佬C:我们目前用的汤普森采样

  • 大佬B:楼上怎么和召回排序算法结合起来的?

  • 大佬C:EE是独立的链路,每天给一定比例的流量曝光,不参与其他内容的排序。

  • 大佬D:上了EE点击率等指标应该会掉,你们怎么权衡这个事情呢

  • 大佬C:掉指标是正常的,但是对生态有帮助

  • 大佬D:你们生态的指标大概有哪几类?

  • 大佬C:基尼系数,新增优质内容占比等

  • 大佬B:你们现在基尼系数多少?

  • 大佬C:这个不方便透露~

  • 大佬E:你们有基尼系数的实现代码吗或者原理解释

  • 大佬F:李航统计学习方法那本里有,一般在决策树章节

关于多任务学习模型ESMM的若干问题讨论

  • 讨论一

esmm 训练模型的时候 最小化pctr和  pctcvr的loss  最后出来俩模型,pctr和pcvr,其中pcvr模型是间接得到的。我的理解是,训练的时候pctr和pcvr可以使用相同的模型结构和特征,不知道理解的对不对?

回答:对的

  • 讨论二

最近看了esmm论文,有点问题,请教各位:

1.ctcvr 模型就是用避免直接学习点击--》购买的 model,直接从 曝光-点击(ctr), 曝光-购买(ctcvr)来估计 ctr ,这样理解对么?

2.既然能够得到ctcvr(我理解就是曝光到最终转化的概率),那么需要求cvr点击到购买的转化么?我们业务主要就是推荐转化,我理解为就是从曝光到转化。是不是广告领域需要在不同阶段的转化,不同计费?

3.如果曝光-点击,曝光-购买,建立个模型ctcvr,那如果有更多个阶段的转化,理论每个转化路径都可以建模了?

回答:

1.是这样
2.确实是click和转化是两个定价
3.也就是其他行为比如电商里面收藏啊这些都可以用类似esmm的办法去建模,可以看下ESM^2 《Conversion Rate Prediction via Post-Click Behaviour Modeling》(https://arxiv.org/abs/1910.07099)

  • 讨论三

ESMM的损失函数对于曝光未点击样本当作了cvr任务的负样本,实际上未点击样本我们并不知道是否可能发生转化。
另外就是对于点击且转化样本 相当于是给ctr任务的样本加权了 更新的 2*ctr_loss +cvr_loss。这个感觉说的过去,因为既然转化了那用户对其点击的兴趣可能比点击未转化的高

关于双塔模型的来由

  • 提问者:各位大佬,双塔的网络结构是为了解决啥问题啊?

  • 大佬A:双塔当初不为了解决啥,是从微软文本匹配问题得到的思路,把推荐问题看做user和item的匹配问题。不过双塔有一个独特的优势是两个塔互相独立,可以各自缓存,线上infer就飞快

关于Transormer中的masked multi head attention

  • 提问同学:请教一下这个masked multi head attention的masked的意义不,专门画了图记忆,网上说是masked是已经产出sequence的,应该如何理解

  • 大佬A: 在训练的过程中 为了加快收敛一般会采用teacher forcing策略 也就是会把待解码的序列一次性的输入给解码器。
    因为self-attetion是并行的,不像RNN那样有天然的顺序,所以他会看到待解码词未来时刻的词,而这样解码是不符合现实的,所以把待解码词未来时刻的词mask掉,来模拟解码时逐个时刻的求解过程
    举个例子,
    i am vegetable  ---> 我贼菜
    正常情况的解码,应该是
    [go] ---> 我
    [go],我 ----> 贼
    [go],我 ,贼 ---> 菜
    为了加快收敛,解码的时候会把   我 贼 菜 全都输入给解码器,但是你解“贼”的时候,“菜”还是未知的,不能让模型提前获取到“菜”的信息,所以把“菜”mask掉

  • 提问同学B:
    这句为了加快收敛是什么意思呀?为什么一起输入就会加快收敛,一个个进去就不加快呀?
    我好像知道了,这里采用了并行,然后就会快,比那个lstm不能并行只能按顺序一个个输入运算要快,大佬,您觉着我说的对吗?所以收敛换成并行是不是更合适?

  • 大佬A:
    不是。因为如果你按照经典的解码方式,可能会出现误差传导的问题。
    还拿“我贼菜”做例子,经典解码是
    [go] ---> 我
    然后你要把上一时刻的输出“我”当作下一时刻的输入,但如果你这一时刻的输出错了,比如输出变成了 [go] ---> 贼
    那你后面就全错了
    后面就得迭代更多的轮次来试图修正这种错误 所以为了防止这种错误 会在训练阶段直接输入正确答案,而不用输入上一时刻的输出,这样就能保证解码的时候尽可能都是正确的了 从而加速了收敛

  • 提问同学B:
    那transformer的encoder端输入的时候,把整个句子输入进去,此时这个multihead attention的优势是并行对吗

  • 大佬A:
    一方面是并行,另一方面 有些实际应用上发现 像LSTM这种网络 当句子太长的时候 会偏向于记住靠后时刻都信息 transformer采用self attention 一定程度上也能缓解这个问题

背包九讲

  • 大佬A:背包九讲看前面三张感觉面试就够了

  • 大佬B:和剑指比怎么样??

  • 大佬C:可以理解为背包九讲是专门讲有深度的 dp。

  • 大佬D:背包九讲就那么几页,但是我从来都看不完

  • 大佬A:找工作而已,不用看完

  • 大佬D:acwing上背包九讲各种背包问题的题,看完可以刷一刷

  • 大佬E:推荐一本书 算法笔记 胡凡写的

  • 大佬F:https://www.zhihu.com/people/wang-jian-25-7/posts 这里面记录了面试遇到的leetcode的题

  • 大佬C:分享一下存的干货。https://www.cnblogs.com/grandyang/p/4606334.html


完)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值