用于冷启动推荐的用户偏好跨域转移框架

2024-02-15 01:53刘玉芳王绍卿郑顺张丽杰孙福振
关键词:冷启动跨域源域

刘玉芳,王绍卿,郑顺,张丽杰,孙福振

(山东理工大学 计算机科学与技术学院,山东 淄博 255049)

在Web和移动应用程序中,个性化推荐系统(RS)在缓解信息过载,促进用户体验方面扮演着越来越重要的角色。近年来,深度学习在RS中得到了广泛的应用,以克服传统推荐技术的障碍。其中,跨领域推荐(CDR)[1-2]和冷启动推荐[3]问题引起了广泛关注。跨域推荐系统的目标是将其他领域(称为源域)中可用的知识转移到用户交互数据稀疏的目标领域(称为目标域)。通常选择重叠用户来学习两个域之间的映射关系,以便将源域中的模式应用于目标域[2]的冷启动用户。CDR的核心任务是连接用户在源域和目标域中的偏好,也称为偏好转移。现有的CDR方法大都是将目标域中用户(或项目)的特性利用学习到的映射函数直接替换为源域中相似用户(或项目)的特性,然而这种方法假设所有用户在源域和目标域之间共享相同的关系,并学习所有用户共享的映射函数。

在实际场景中,源域和目标域的用户偏好之间的关系复杂多变,单个映射函数很难准确地捕获所有的用户关系。为了缓解这一缺点,本文使用个性化的映射函数来建模不同域中用户偏好之间的复杂关系。也就是说,用户偏好的转移应该是个性化的。此外,在冷启动场景下,重叠用户的数量非常少。因此,有限的重叠用户严重影响了用户的偏好转移,导致泛化能力不足,降低了模型在目标域冷启动用户上的性能。

近年来,元学习在推荐系统中的应用得到快速发展[4-6]。元学习[6]主要针对小样本学习问题,通过在大量的训练任务上对模型进行训练及参数更新,能够很好地解决传统神经网络模型泛化能力不足、对新任务适应性较差的问题。元学习训练和测试过程以任务为基本单元,每个任务都有训练数据集和测试数据集,又称为支持集和查询集。元学习中要准备许多任务来进行学习,第一层训练单位是任务,第二层训练单位是每个任务对应的数据。本文提出了一个用于冷启动推荐的用户偏好跨域转移框架(UPCTFCR)。首先,设计了一个自注意力编码器来有效提取用户偏好,考虑对不同的项目施加不同的权重,计算注意力分数,对项目加权求和。然后,学习一个元学习器,即元网络,用户在源域中的特征嵌入作为该网络的输入,为每个用户生成个性化映射函数,该函数能够捕获不同域之间的每个用户之间的偏好关系。经过训练后,将元学习器得到的参数和用户在源域中的嵌入进行矩阵相乘,得到转换后的嵌入。最后,将该嵌入作为用户在目标域的初始嵌入,对用户偏好的项目进行预测。

在实践中,元网络的优化是另一个挑战。现有的面向映射的优化过程,直接最小化源域中转换后的用户嵌入和目标域中用户嵌入之间的距离。然而,这样的优化过程容易导致映射函数对用户嵌入不准确。而在实际的推荐系统中,很难学习到用户准确的嵌入,这就限制了学习到的映射函数的性能。此外,面向映射的优化方法难以训练元学习器。因此,本文采用面向任务的优化方法来训练元学习器,利用用户对项目的评分任务作为优化目标。

1 相关概念

1.1 跨域推荐

在传统的推荐系统中,通过分析单一域内的用户历史交互行为来进行用户兴趣的预测,从而进行推荐,比如说通过用户在抖音App上的历史观看记录来为用户进行后续的视频推荐。而跨域推荐旨在结合多个领域的数据,利用其他领域(源域)的丰富信息,使得在目标域上能进行更好推荐。跨域推荐能够实施的假设是:用户的兴趣偏好或项目特征在领域之间存在一致性或相关性。跨域推荐利用的正是领域间的一致性或相关性,如用户或项目的交集,用户兴趣或项目特征的相似程度,潜在因子的相互关系等进行知识迁移,从而弥补目标域所面临的信息不足的问题,改善推荐性能。近年来,研究者提出了许多基于深度学习的模型来增强知识迁移。CoNet通过使用前馈神经网络之间的交叉连接来转移知识。MINDTL将目标域的CF信息和源域中的评分矩阵结合起来。DDTCDR开发了一种新的潜在正交映射来提取用户在多个域上的偏好,同时保留了在不同潜在空间上用户之间的关系。与多任务方法类似,这些方法侧重于提出一个设计良好的深层结构。本文设计了一个能够显式地建模不同域之间知识迁移的框架,而不是采用特殊的深层结构来隐式地转移知识。

1.2 冷启动推荐

为新用户或新项目提供推荐具有极大的挑战,也称为冷启动问题[7]。以协同过滤的推荐系统为例,假设每个用户(或项目)都有评分,可以推断出相似用户(或项目)的评分。但是,对于新注册的用户(或项目)难以实现,因为没有相关的浏览、点击或下载等数据,也就没办法使用矩阵分解技术进行推荐。解决冷启动问题的方法主要有两种:第一种方法通过设计决策策略来解决冷启动问题,例如使用上下文赌博机[8],通过向用户推荐感兴趣的物品来探索用户偏好;第二种是利用辅助信息来缓解冷启动问题,常用的辅助信息包括用户属性[3]、项目属性[9-10]、知识图[11]、辅助域[12]的样本等。本文提出的框架属于第二种,在辅助域样本的帮助下,CDR方法能够得到更好的结果。

1.3 冷启动推荐中的元学习

元学习(meta-learning),含义为学会学习(learn to learn),旨在训练一个参数化模型,能够快速适应在训练中没有使用的新任务。元学习希望模型获取一种“学会学习”的能力,使其可以在获取已有知识的基础上快速学习新的任务。近年来,元学习已经引起了推荐系统领域研究者的关注。这些工作大多集中在很少有训练样本的推荐场景上[13]。例如,MLRS-CCE提出了一种动态元学习模型,利用历史和当前的用户-项目交互,将用户的偏好动态地分解为特定时间和时间演变的表示来预测用户的评分[14]。LLAE将冷启动推荐制定为具有用户信息的少样本学习任务[3]。PTUPCDR通过使用元网络来生成个性化的桥函数,实现用户的偏好转移[15]。本文提出的UPCTFCR利用元学习器来学习映射函数的参数,将用户的交互序列划分为支持集和查询集来训练模型,通过在大量任务上进行训练,来提高模型的泛化能力。

1.4 自注意力机制

自注意力机制是注意力机制的变体,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。在深度学习推荐模型中,注意力机制能够帮助模型抓住最具信息量的特征,推荐最具代表性的物品。自注意力机制能够为用户历史序列数据分配不同的权重,以动态捕捉重点信息,反映了用户反馈数据之间的相互依赖,并且自注意力机制在长序列的数据上表现出色。

2 UPCTFCR模型

2.1 符号定义

本文研究的CDR问题,包含一个源域和一个目标域。每个域都有一个用户集U={u1,u2,…},一个项目集V={v1,v2,…}和一个评分矩阵R。rij∈R表示用户ui和项目vj之间的交互。为了区分这两个域,将源域的用户集、项目集和评分矩阵分别表示为Us、Vs、Rs,目标域的表示为Ut、Vt、Rt。将这两个域之间的重叠用户定义为Uo=Us∩Ut。对于项目而言,Vs和Vt是不相交的,这意味着这两个域之间没有重叠项目。

2.2 自注意力编码器

生成映射函数的第一步是从交互的项目中获取用户的个性化可转移特征。但是,在目标域中冷启动用户没有交互项,因此,利用源域中的交互序列S找到有助于知识迁移的可转移特征是非常有必要的。直觉上,不同的项目对知识转移有不同的贡献。自注意力机制能够捕捉输入序列中不同项目之间的相关性,并为它们分配不同的权重。通过加权和来获得用户的可转移特征:

(1)

(2)

式中:Q,K,V由单层线性网络生成;dk等于隐藏层的维数除以注意力的头数,本文取5;pui∈k为用户ui的可转移特征嵌入;αj为vj项的注意力得分,可以解释为vj在预测用户个性化偏好中的重要性。

2.3 元学习器

不同域的用户偏好之间的关系因用户而异,因此,偏好转移的过程需要是个性化的。直觉上,偏好关系和用户特征之间存在一定的联系。基于这种直觉,提出了一个元学习器,它以用户的可转移特征作为输入,然后根据源域和目标域中的用户嵌入训练一个因用户而异的个性化参数。所提出的元学习器的表述为

θ=g(pui;φ),

(3)

式中g(·)是一种两层前馈网络的元学习器,它是由φ参数化的网络。将训练得到的个性化参数θ作为映射函数f(·)的初始参数,映射函数可以定义为任何结构。本文使用简单的矩阵相乘函数作为映射函数,并将θ作为映射函数的参数而不是输入。生成的映射函数因用户而异,并取决于用户的特征。

将用户在源域中的嵌入表示输入映射函数中,得到转换后的用户嵌入表示。将转换后的嵌入表示看作用户在目标域中的初始嵌入。通过映射函数,可以得到转换后的个性化用户嵌入:

(4)

2.4 面向任务的元网络优化

受基于优化的元学习概念的启发,将这个概念放入UPCTFCR中,以反映只有少量交互的个性化用户偏好。本文的模型考虑了用户的项目消费历史记录,构建M(M>10)组训练任务,随机选取序列中的10个项目作为查询集,其余为支持集。为了反映用户的兴趣,该模型会根据用户唯一的项目消费历史来更新元学习器中的参数。此外,与MAML[13]不同,本文扩展了匹配网络的思想,不限制项目消费历史的长度(即支持集的长度不是固定的)。

为了训练元学习器,面向任务的训练过程直接利用最终推荐任务的评分作为优化目标。具体可以表述为

(5)

与面向映射的过程相比,面向任务的优化过程有两个优势:

1)面向任务的优化过程可以减轻不合理嵌入的影响。它直接使用真实的评分数据,而不是利用近似的中间结果优化模型。

算法1 元学习器的伪代码

输入: 超参数α,β,元学习器g·()输出: 模型参数θ1.初始化参数θ2.while not converge do3.Sampling a batch of users B~p(B)4.For user i in B do5.计算θlifθ()6.θ'i=θ-αθlifθ()7.End for8.Update θ←θ-βθ∑i∈Blifθ'i()9.End while

2.5 整体程序

UPCTFCR的模型框架如图1所示。训练过程可分为4个阶段:预训练阶段、自注意力编码阶段、元学习阶段和测试阶段。

图1 UPCTFCR的模型框架

预训练阶段:分别学习源域和目标域的用户和项目的隐式向量。损失函数表示为

(6)

式中|R|表示评分数量,经过预训练步骤后,可以得到预训练的嵌入数据us、ut、vs、vt。

自注意力编码阶段:从源域的交互序列中提取有助于知识迁移的可转移特征是非常关键的。自注意力机制能够为用户交互项目分配不同的权重,以捕捉序列中不同项目之间的相关性,从而获得用户可转移特征pui。

元学习阶段:现有的方法直接训练一个共同的映射函数,而UPCTFCR训练自编码器和元学习器。利用式(5)对特征编码器和元网络进行优化。

3 实验

3.1 实验设置

3.1.1 数据集概述

亚马逊评论数据集是使用最广泛的电子商务推荐公共数据集之一,本文使用Amazon-5核心数据集,每个用户或项目至少有5个评分。该数据集包含24个不同的项目域。本文选择了3个流行的类别:movies_and_tv(电影)、cds_and_vinyl(音乐)、books(书籍)。然后,将3个CDR任务定义为任务1:电影→音乐,任务2:书籍→电影,任务3:书籍→音乐。由表 1可知,源域的评分数量明显大于目标域中的评分数量。不同于许多现有的工作只选择了数据集的一部分来进行评估,本文直接使用所有数据来模拟真实世界的应用程序。

3.1.2 评估指标

Amazon审查数据集包含评分数据(0分—5分)。采用平均绝对误差(MAE)和均方根误差(RMSE)作为评价指标。

3.1.3 基线模型

基线模型可以分为单域和跨域两组。在第一组中,将源域和目标域分别视为单域,并利用MF方法训练单域模型。第二组包括针对冷启动用户的最先进的CDR方法,由于UPCTFCR属于基于映射的CDR方法,本文主要将UPCTFCR与基于映射的方法进行比较。因此,选择以下方法作为比较的基线。

表1 跨域任务信息

单域:

1)TGT,TGT[16]是MF模型,仅使用目标域数据进行训练。

2)CMF,CMF是MF的延伸。在CMF中,用户的嵌入向量可以跨源域和目标域进行共享。

跨域:

1)SSCDR,SSCDR[17]是一种基于半监督的桥接的方法。

2)DCDCSR,DCDCSR[18]属于基于桥的方法,它考虑了个体用户在不同领域的评分稀疏程度。

3)EMCDR,EMCDR[12]是一种常用的冷启动CDR方法。首先采用矩阵分解(MF)学习嵌入,然后利用网络将用户嵌入从辅助域连接到目标域。

4)PTUPCDR,PTUPCDR[15]属于基于桥的冷启动CDR方法,它通过使用用户特征嵌入的元网络来生成个性化的桥接功能,以实现每个用户的个性化偏好转移。

3.1.4 实施细节

使用PyTorch实现本文提出的框架。对于每个任务和方法,Adam优化器初始学习率通过在{0.001、0.005、0.01、0.02、0.1}范围内的网格搜索进行调整。另外,将嵌入的维度设置为10。对于所有的方法,将小批量大小设置为512。采用了相同的全连接层,以方便比较EMCDR、DCDCSR、SSCDR、PTUPCDR和UPCTFCR。其中,UPCTFCR的映射函数是由元学习器生成的。该元学习器是一个隐藏单元为2×k的两层线性模型,其中k表示嵌入维数,该元学习器的输出维数为k×k。

为了评估本文UPCTFCR的性能,在目标域中随机删除一部分重叠用户,把他们作为测试用户,其他的重叠用户样本用来训练元学习器。实验中,将测试(冷启动)用户β的比例设置为总重叠用户的20%。在训练数据中筛选项目消费历史长度在13到100之间的重叠用户。对于训练数据中的每个重叠用户,使用项目序列中的10个随机项目作为查询集,其余的项目作为支持集,即项目消费历史长度在3到90之间,即使支持集的长度(即项目消费历史的长度)不是固定的,也能够表现出良好的性能。

3.2 对比实验

表2显示了UPCTFCR在3个跨域推荐任务上的性能,从实验结果可以观察到以下几点:

表2 不同模型在3个跨域任务上的性能比较

1)TGT性能并不理想。与GT相比,所有其他跨域方法都可以利用来自源域的数据,从而获得更好的效果。因此,利用来自辅助域的数据是缓解数据稀疏性、提高目标域推荐性能的有效方法。

2)CDR方法在大多数任务中性能都可以优于CMF。这是因为CMF通过将来自两个域的数据看作是相同的而忽略了潜在的域转移。相反,映射函数可以将源嵌入转换到目标特征空间中,有效地减轻了域位移的影响。因此,通过更有效地利用辅助域来研究CDR是非常必要的。

3)通过观察置信度为95%的t检验的结果,可以发现UPCTFCR在大多数情况下都能显著优于PTUPCDR,这表明UPCTFCR是冷启动推荐的有效解决方案。

3.3 消融实验

消融实验进一步探索所提出的UPCTFCR模型的各个组成部分对性能的影响。

1)UPCTFCR-1:将模型中自编码器去掉,保留元学习部分。

2)UPCTFCR-2:将模型中元学习器和基于参数优化的元学习去掉,仅保留2.2节中自注意力编码器。

3)UPCTFCR-3:去掉模型中的参数优化部分,在自编码器中引入2.3节中介绍的元学习器。

4)UPCTFCR:本文提出的模型框架。

表3显示了引入的变体在3个跨域推荐任务上的消融测试结果。在之前的模型上逐步增加新的子模块或特征时,可以观察到整体推荐性能的改善,这说明元学习对于冷启动跨域推荐的有效性。

表3 在3个跨域任务上的消融测试结果

3.4 泛化实验

对比实验主要将其方法应用于MF进行实验评价。然而,MF是一个非神经网络模型,在基于用户行为的推荐算法里,矩阵分解算法是效果较好方法之一。因此,为了证明UPCTFCR和其他基于映射的方法的兼容性,将EMCDR、PTUPCDR和UPCTFCR应用到两个更复杂的神经网络模型:GMF和YouTube DNN。GMF在点积预测函数中为不同的维度分配不同的权值,这可以看作是普通MF的一种推广。YouTube DNN是一个双塔模型。对于GMF,通过元学习训练的参数可以直接将用户嵌入映射到目标域。对于YouTube DNN,映射函数将转换用户塔的输出。在非神经网络模型(MF)和神经网络模型(GMF,YouTube DNN)上进行了泛化实验。从图2所示的结果,可以得到以下结论:

(a)MF

1)基于映射的CDR方法可以应用于各种基础模型。对于不同的基线模型,EMCDR、PTUPCDR和UPCTFCR都有效地提高了在目标域中对冷启动用户的推荐性能。由于GMF和YouTube DNN是两种在大规模的现实世界推荐中流行且设计良好的模型,它们实现了比普通MF更好的性能。

2)广义的UPCTFCR可以达到令人满意的性能。一方面,通过各种基础模型,广义的UPCTFCR可以不断地取得较好的结果;另一方面,冷启动问题具有很高的挑战性,MAE的结果足以证明广义UPCTFCR在冷启动场景中的有效性。

4 结束语

为了更好地将用户偏好从源域转移到目标域,将元学习引入冷启动跨域推荐中,针对每个用户的历史交互项目,使用元网络为每个用户训练一个元学习参数,从而实现用户的个性化推荐。具体来说,学习了一个包含用户特征嵌入的元网络,得到因用户而异的个性化参数,通过映射函数来初始化用户嵌入,以实现用户偏好的个性化转移。在真实数据集上进行了实验来评估所提出的模型,结果验证了所提出的模型在冷启动跨域推荐的有效性。在未来,可以将更多的内容信息集成到本文的框架中,以进一步缓解冷启动问题。

猜你喜欢
冷启动跨域源域
跨域异构体系对抗联合仿真试验平台
基于多标签协同学习的跨域行人重识别
轻型汽油车实际行驶排放试验中冷启动排放的评估
为群众办实事,崂山区打出“跨域通办”组合拳
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
基于学习兴趣的冷启动推荐模型
G-SRv6 Policy在跨域端到端组网中的应用
基于参数字典的多源域自适应学习算法
可迁移测度准则下的协变量偏移修正多源集成方法
军事技能“冷启动”式训练理念初探