标题: UFIN: Universal Feature Interaction Network for Multi-Domain Click-Through Rate Prediction 地址:https://arxiv.org/pdf/2311.15493.pdf 学校,公司:人大,华为 代码:https://github.com/RUCAIBox/UFIN
本文是针对多场景CTR预估中的特征交互提出的相关改进方法,利用LLM构建通用特征交互网络。常规的方法在迁移到新的推荐域会存在一定的问题,因为它们依赖于ID特征(例如,item ID)的建模。本文提出了用于CTR预测的通用特征交互网络(UFIN)方法,利用文本数据来学习可以在不同domain有效迁移的通用特征交互。总体框架分为两部分:通用特征学习和基于通用特征的通用特征交互学习。
Alt text
如图所示,主要是两部分,通用特征表征学习和通用特征交互学习。
以往的方法依赖于embedding table来表征ID特征,它忽略了特征固有的语义信息,削弱了模型的可迁移性。其次,这些模型不能迁移到拥有不同特征的平台上(例如,从Amazon过渡到MovieLens,这两个数据集的ID特征和表示方式是不同的)。
为了学习可迁移特征表征,采用文本作为通用数据形式,通过prompt将特征转变为文本,使用MoE增强的LLM作为编码器得到对应的emb,使用解码器将emb映射到特征模态,从而生成通用特征表征(通用特征)。可以表示为“raw feature -> text -> universal features”。
这部分主要是设计prompt,将原始特征转变为自然语言文本。在本文中,作者采用的方式是,分别将用户画像,item画像和上下文信息分别表达成三句话,例子如下图所示
基于上述方案得到特征对应的自然语言文本后,可以通过LLM对其进行编码。令文本包含的词为
,则编码过程如下,v为LLM最后一层隐藏层的emb,通过sum pooling和layernorm得到编码后的emb。这部分过程,只需要用到LLM的编码能力,不需要进行学习,也就是不需要进行梯度回传等,所以可以和后面的流程分开执行。
以往的研究发现PLM的原始语义空间并不适合推荐任务,常用的方法是使用NN来学习用于增强表征的语义空间。由于不同的domain通常对应于不同的语义上下文,因此仅仅学习所有domain的共享语义空间就会出现domain跷跷板现象。
对应的解决办法就是可以为每个domain学习一个独立的语义空间,并根据语义上下文自适应地组合它们。使用单层感知(SLP)来学习每个domain的合适语义空间,并用MoE模型融合各domain信息。给定L个domain,引入L个专家,每个专家在不同的子空间中学习,并通过门控路由将它们组合起来 ,公式如下,
2.1.2.3 融合匿名特征
这里的匿名特征的含义是,没有具体语义信息的特征,比如用户id,item id等。对于这些ID特征,不会放到输入LLM的本文中。但是这些特征可能会发挥重要作用,特别是在语义特征有限或没有的情况下。本文采用ID-文本融合的方案,对每个匿名特征采用不同的emb,并将它们与文本表示合并,h是匿名特征的emb。(个人理解是,这里有一个和常规推荐类似的ID的emb table)
通过上述过程,可以得到编码后的emb
,解码器需要能够生成在各个domain特征之上的通用特征,从而能反映共性和通用模式。举个例子,假设电影和书籍推荐领域内,从文本表达“这部电影很搞笑”和“这本书很异想天开”中产生通用的属性“有趣”。基于这一思路,将文本数据的潜在表征映射到通用特征模态,如下所示
通过一组映射矩阵V将编码器得到的emb映射到不同的表征子空间
, 表示不同的通用特征
学习通用特征交互获取跨域通用协作交互信息。基于上面生成的通用特征, 进行特征交互建模捕捉协作交互模式。为了促进特征交互学习,引入知识蒸馏来指导模型的学习过程,从而提高其性能。
本文主要采用EulerNet(EulerNet)进行自适应特征交互建模, 相比于传统的FM类方法, 它的优势在于自适应, 从数据中自动学习交互形式, 可以任意阶数的交互. 给定数据特征
, EulerNet的自适应特征交互学习可以表示为下式,
其中α是可学习的阶数. 对于给定的domain,从α自动学习潜在的特征交互形式。利用EulerNet自适应地学习每个给定domain中潜在的真实特征交互阶数/形式。
如何获得包含不同domain的共享协作模式的通用特征交互的知识? 引入多组交互阶数(
),每个交互阶数学习单个领域的特征交互阶数,并在不同domain共享其中一些交互阶数,以获取常见协作模式的知识。采用MoE来实现上述思路, 对于L个domain,引入L个专家,每个专家j由EulerNet实现,具有可学习的阶参数
。所有专家共享输入
,由编码后的emb
的门控路由将他们组合起来
topK是指只保留最大的K个权重, 其他的置0, 得到的权重g表示的是不同domain的权重, 则K表示的是当前参与训练的domain的个数, 共享的个数的多少会影响最终的效果.
, 以此确保对于任意两个domain, 都有会至少一个专家网络来学习共享信息. 最终的预测为
对于多场景方法, 可以在每个场景的预测过程中加入场景信息, 因此预测值可以表示为
对于每个domain,预训练一个特征交互模型作为引导网络,以学习特定领域的协作模式。不同domain的引导网络作为教师模型,监督训练过程。这个教师模型可以灵活选择, 与整体框架无关, 本文作者使用EulerNet作为教师模型, 使用MSE损失来约束,
和
分别表示引导模型和UFIN对属于domain p的样本i的估计logit
最后结合交叉熵损失函数构建多任务损失
Alt text
不同K值的影响