前言:
本篇文章大纲如下:
- 这篇论文解决了什么问题?
- 创新点在哪里?具体是如何实现的?
- 实验结果怎么样?
- 代码复现
问题1:这篇论文解决了什么问题?
论文的落地应用场景是:
美团信用卡业务中,用户转化需要经过曝光->点击->申请->核卡->激活的过程。这个信用卡获客的过程比传统广告更加具有挑战性:
- 用户多步转化过程中的路径序列依赖更长。
- 在多步转化的长序列依赖中,正样本逐步稀疏,类别不平衡问题越来越严重。
在美团信用卡业务中,用户完成最后两个转化阶段(曝光->核卡,曝光->激活),才被认为是有效转化。因此,用前边任务的丰富的正样本信息,来缓解后续任务的类别不平衡问题是很有必要的。而在这个方向上,多任务学习是一个提高端到端获客转化率的典型解决方案。。AITM是该方向的其中一个解决方案。
问题2:创新点在哪里?是如何实现的?
1,创新点在哪里?
AITM 提出之前,在多任务学习中建模任务间关系的研究可以分成两大类:
1)专家底(Expert-Bottom)模式。控制多任务模型底部的专家模块在任务间参数共享,顶部的多塔模块分别处理每个任务。但是专家底模式只能在任务间传递浅层表示,但在靠近输出层的网络中往往包含更丰富,更有用的表示,并且这已经被证明能带来更多的增益。另外,专家底模式不是专门为具有序列依赖关系的任务设计的,因此具有专家底模式的模型不能显式的对序列依赖进行建模。
2)概率迁移(Probability-Transfer)模式。在不同任务的输出层中迁移概率。概率迁移模式只能通过标量乘积传递简单的概率信息,忽略了向量空间中更丰富,更有用的表示,从而导致信息的损失。如果其中任何一个概率没有被准确预测,多个任务将会受到影响。
AITM 这篇文章针对序列依赖任务,提出了一种自适应信息迁移多任务(Adaptive Information Transfer Multitask.AITM)框架,该框架通过自适应信息迁移(AIT)模块对用户多步转化之间的序列依赖进行建模。AIT模块可以自适应地学习在不同转化阶段需要迁移什么和迁移多少信息。此外,通过在损失函数中加入行为期望校准器,AITM可以更准确地识别端到端转化。
2,如何实现的?
上图©中即AITM的框架。该框架利用AIT模块来建模用户多步转化过程中的序列依赖。该模型图中显示了两个相邻的任务:t-1和t。
首先,输入特征x通过任务共享的Embedding分别输出到多个Tower网络中。通过共享Embedding模块,一方面可以用前面任务的丰富的正样本信息来学习Embedding表示,从而缓解后续任务的类别不平衡问题,另一方面可以减少模型参数。Tower网络可以根据自己需要定制,论文中使用了简单的MLP。然后AIT模块利用当前任务Tower输出的向量 q t q_{t} qt以及前一个任务传来的信息 p t − 1 p_{t-1} pt−1来学习任务间如何融合信息。AIT模块定义如下:
这里利用了特殊设计的注意力机制来自动为迁移信息 p t − 1 p_{t-1} pt−1和原始信息 q t q_{t} qt来分配权重。而迁移的信息 p t − 1