BERT等Transformer模型在自然语言处理领域大放异彩之后,将Transformer应用在各个领域变成了一种潮流,包括之前文章中介绍的 Image Transformer 和本文要介绍的,在搜索推荐领域排序算法阶段,利用高阶特征组合的AutoInt、对用户行为序列建模的BST、Transformer在工业界中的应用和Transformer在数据算法竞赛(2020年腾讯广告算法大赛)中惊人表现等。
CTR预估领域面临着诸多挑战,输入特征的稀疏高维问题,高阶特征的计算复杂度问题等本文将数值特征和类别特征映射到同一个低维空间,利用带残差连接的多头注意力机制显式的进行交叉特征获取,提出了一种能够自学习特征高阶交叉的方法。Interacting Layer是本篇论文中最核心的创新点,借鉴了NLP问题中的Multi-head Self-Attention方法,利用Key-Value Attention,每个Attention Head对应三个转换矩阵,Query、Key、Value。本文利用內积的方式计算每个特征与其他特征的相似度,然后通过计算softmax归一化注意力分布后,加权得到新特征。以上步骤为一层Attention,作者简单的拼接多个Attention head的输出,引入标准的残差连接作为最终输出,构造更高阶的组合特征。在之前的文章中,我们多次聊到了阿里团队在用户行为序列上的工作。由于用户行为序列(User Behavior Sequence)所蕴含的丰富信息,同时随着 Transformer 在 自然语言处理相关任务中的表现超过RNN模型,利用Transformer替代RNN捕捉 序列信息中深层含义变得水到渠成。Behavior Sequence Transformer 模型从模型网络结构图中我们可以发现,非常符合CTR预估模型中Embeding&MLP的典型结构,而其创新点在于如何使用Transformer Layer 对用户行为序列进行建模。“Other Features”部分将用户、物品、上下文和交叉信息加入模型。Transformer层引入位置相关的Position embedding,将带时序、位置信息的多头注意力机制Multi-Head Self-Attention用在用户历史点击Item序列上。
- Point-wise Feed-Forward Networks
- Stacking the self-attention bloc
以上3个模块通过捕捉行为序列中Item之间的关系来完成深层次的学习。Transformer 在美团搜索排序上的实践主要分三个部分:特征工程,行为序列建模,重排序。特征工程部分借鉴 AutoInt的方法,使用Transformer Layer进行特征的高阶组合。模型结构参考 AutoInt结构,但在实践中根据美团搜索的数据特点,对模型结构做了一些调整。行为序列建模在Transformer 行为序列建模基础上进行了模型优化。
- 保留将稠密特征和离散特征的 Embedding 送入到 MLP 网络,以隐式的方式学习其非线性表达。
- Transformer Layer 部分,不是送入所有特征的 Embedding,而是基于人工经验选择了部分特征的 Embedding。
- 考虑到 MLP 具有很强的隐式交叉能力,将所有特征的 Embedding 表示 concat 一起输入到 MLP。
- 特征向量生成部分和重排序模型是一个整体,联合端到端训练。
- 训练和预测阶段固定选择 TopK 进行重排,遇到某些请求曝光 item 集不够 TopK 的情况下,在末尾补零向量进行对齐。
在2020年腾讯广告算法大赛中,冠军团队利用Transformer模型赢得了最后的胜利,让人眼前一亮。本届算法大赛的题目来源于一个重要且有趣的问题。众所周知,像用户年龄和性别这样的人口统计学特征是各类推荐系统的重要输入特征,其中自然也包括了广告平台。这背后的假设是,用户对广告的偏好会随着其年龄和性别的不同而有所区别。许多行业的实践者已经多次验证了这一假设。然而,大多数验证所采用的方式都是以人口统计学属性作为输入来产生推荐结果,然后离线或者在线地对比用与不用这些输入的情况下的推荐性能。本届大赛的题目尝试从另一个方向来验证这个假设,即以用户在广告系统中的交互行为作为输入来预测用户的人口统计学属性。赛题的“逆向思考”本身具有其研究价值和趣味性,此外也有实用价值和挑战性。预训练Masked Language Modeling
鉴于以上问题,冠军们对Masked Language Modeling(MLM)进行改进,原始的MLM是直接mask掉整个广告包括属性,但只mask广告的一部分(广告id或者属性)。具体地,随机mask掉20%的token,mask后的位置使用0向量来代替,或者采样一个属性id来替换。使用改进的MLM预测这些广告的时候,不仅可以使用最近点击的广告,也可以用它的属性去预测,使得不同属性的embedding能够在语义空间上对齐。同时,也采用了一个很关键的策略,把词表缩小到10万(提取top10w,其余为unk),这样使得bert能跑起来。对于原始的MLM,我们也尝试过,虽然有提高但提高不是很大。最后预测这些id的时候,不仅可以使用之前之后点击的广告,也可以用它的属性去预测。1、Behavior Sequence Transformer for E-commerce Recommendation in Alibaba. https://arxiv.org/pdf/1905.06874v1.pdf2、S 3 -Rec: Self-Supervised Learning for Sequential Recommendation with Mutual Information Maximization. https://arxiv.org/pdf/2008.07873.pdf3、https://zhuanlan.zhihu.com/p/1315903904、https://zhuanlan.zhihu.com/p/1667105325、AutoInt:Automatic Feature Interaction Learning via Self-Attentive Neural Networks