论文状态:已完成

FICLRec: Frequency enhanced intent contrastive learning for sequential recommendation

发表:2025/06/11
原文链接
价格:0.100000
已有 3 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种名为FICLRec的频率增强意图对比学习推荐模型,旨在解决现有序列推荐系统中低频意图偏好与高频意图捕获不足的问题。FICLRec通过利用用户潜在意图的频率信息和频率对比学习技术,显著提高了模型在五个真实数据集上的推荐性能,证明了其有效性。

摘要

User purchasing behavior is mainly driven by their intentions. However, existing methods typically favor low-frequency intents, leading to insufficient capability in capturing more expressive high-frequency intents. Moreover, like typical sequence recommendations, data sparsity remains a primary factor influencing recommendation performance. To address this issue, we propose a Frequency Enhanced Intent Contrastive Learning Recommendation model (FICLRec), which innovatively utilizes frequency information from users’ latent intentions to improve the recognition of high-frequency intents. Additionally, we introduce frequency contrastive learning to reduce the negative impact of data sparsity on model performance. To validate the effectiveness of the proposed method, extensive experiments were conducted on five real-world datasets: Beauty (0.19M interactions), Sports (0.29M interactions), Toys (0.16M interactions), Yelp (0.31M interactions), and LastFM (0.05M interactions). The experimental results indicate that, in comparison with baseline models, our method improves by 2.03%, 4.87%, 2.50%, 13.85%, and 16.93% on five datasets, proving the effectiveness of our method. Our implemented model is available via https://github.com/syf1844803351/FICLRec .

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

FICLRec: 频率增强意图对比学习的序列推荐模型 (FICLRec: Frequency enhanced intent contrastive learning for sequential recommendation)

1.2. 作者

  • Yifeng Su

  • Xiaodong Cai

  • Ting Li

    作者的隶属机构在论文原文中被省略,但在摘要中可见"oo uiUniverlecTecolui1a"字样,表明其可能来自某大学或技术学院。

1.3. 发表期刊/会议

发表于:2025-06-11 (UTC)。具体期刊或会议名称在摘要和原文中未明确给出,但根据论文的严谨性和结构,通常会是计算机科学、人工智能或信息检索领域的顶级期刊或会议。

1.4. 发表年份

2025年

1.5. 摘要

用户购买行为主要受其意图驱动。然而,现有方法通常偏向低频意图 (low-frequency intents),导致在捕获更具表达力的高频意图 (high-frequency intents) 方面的能力不足。此外,与典型的序列推荐 (sequential recommendations) 任务一样,数据稀疏性 (data sparsity) 仍然是影响推荐性能的主要因素。为了解决这些问题,本文提出了一种频率增强意图对比学习推荐模型 (Frequency Enhanced Intent Contrastive Learning Recommendation model, FICLRec)。该模型创新性地利用用户潜在意图的频率信息 (frequency information) 来改善高频意图的识别。此外,模型引入了频率对比学习 (frequency contrastive learning) 来降低数据稀疏性对模型性能的负面影响。为了验证所提方法的有效性,研究在五个真实世界数据集上进行了广泛的实验:Beauty(0.19M 交互)、Sports(0.29M 交互)、Toys(0.16M 交互)、Yelp(0.31M 交互)和 LastFM(0.05M 交互)。实验结果表明,与基线模型相比,FICLRec 在这五个数据集上的性能分别提升了 2.03%、4.87%、2.50%、13.85% 和 16.93%,证明了所提方法的有效性。该模型的实现代码已通过 GitHub 公开。

1.6. 原文链接

/files/papers/692bf9cf4114e99a4cde8763/paper.pdf (此链接为本地文件路径,非公开网络链接)

2. 整体概括

2.1. 研究背景与动机

核心问题: 序列推荐 (Sequential Recommendation, SR) 系统旨在根据用户历史交互序列预测用户下一个可能感兴趣的物品。用户的购买行为主要由其潜在意图 (latent intentions) 驱动。

现有研究的挑战或空白 (Gap):

  1. 低频意图偏好与高频意图捕获不足: 现有推荐方法通常偏重于学习和捕获用户行为中的低频意图(即长期、稳定的偏好),而对更具表达力、反映短期兴趣变化的高频意图 (high-frequency intents) 的识别能力不足。这导致模型难以捕捉用户快速变化的即时兴趣。
  2. 数据稀疏性问题: 像许多推荐系统一样,序列推荐也面临严重的数据稀疏性 (data sparsity) 问题,即用户与物品的交互数据量相对较少,难以训练出鲁棒且准确的模型。

本文的切入点或创新思路: 为了解决上述问题,本文提出了一种创新性的方法,从频率域 (frequency domain) 的角度来理解和处理用户意图。具体而言:

  • 利用频率信息来区分和增强对高频意图(短期、动态兴趣)的识别能力。
  • 引入频率对比学习 (frequency contrastive learning) 机制,以缓解数据稀疏性带来的负面影响。通过在频率域进行对比学习,模型能够从有限的交互数据中学习到更具判别性的用户意图表示。

2.2. 核心贡献/主要发现

论文最主要的贡献:

  1. 提出 FICLRec 模型: 设计了一个新颖的频率增强意图对比学习推荐模型 (FICLRec),该模型通过结合频率域分析和对比学习来解决序列推荐中的高频意图捕获不足和数据稀疏性问题。
  2. 创新性引入频率信息增强意图识别: FICLRec 创新地利用了用户潜在意图中的频率信息。它通过将用户行为序列转换到频率域,区分高频和低频分量,并设计了频率重分布结构 (Frequency Redistribution Structure) 来有选择地融合这些频率特征,从而更有效地捕获高频意图。
  3. 引入频率对比学习缓解数据稀疏性: 为了解决数据稀疏性问题,FICLRec 设计了一个多任务学习 (multi-task learning) 框架,其中包含高频意图对比学习 (High-frequency Intent Contrastive Learning)低频意图对比学习 (Low-frequency Intent Contrastive Learning)。前者通过频率对齐损失 (frequency alignment loss) 强化高频意图的相似性,后者通过意图原型 (intent prototypes) 捕获稳定偏好,共同增强了模型在稀疏数据下的鲁棒性和性能。
  4. 在多个真实世界数据集上的显著性能提升: 在 Beauty、Sports、Toys、Yelp 和 LastFM 五个真实世界数据集上的广泛实验表明,FICLRec 在各项评估指标上均显著优于一系列最先进的基线模型,平均性能提升达 9.46%,验证了其有效性和优越性。

论文得出的关键结论或发现:

  • 用户意图的频率信息对于区分短期和长期偏好至关重要,特别是在识别高频(短期)意图方面具有显著效果。
  • 将频率域分析与对比学习相结合,能够有效缓解序列推荐中的数据稀疏性问题,并学习到更具鲁棒性和判别性的用户表示。
  • 通过在高频和低频意图层面进行对比学习,模型能够同时捕获用户动态变化的短期兴趣和稳定的长期偏好,从而提供更准确的推荐。

3. 预备知识与相关工作

3.1. 基础概念

3.1.1. 序列推荐 (Sequential Recommendation, SR)

概念定义: 序列推荐系统旨在根据用户历史交互行为的顺序性,预测用户在下一个时间点最可能与哪个物品进行交互。它强调用户行为的时序模式,认为用户当前的兴趣和偏好受到其最近一系列交互行为的影响。这与传统的协同过滤或基于内容的推荐系统不同,后者通常不考虑交互的顺序。 在本文中的意义: 本文的目标就是提升序列推荐的性能,特别是针对用户意图的捕获和数据稀疏性问题。

3.1.2. 傅里叶变换 (Fourier Transform, FT)

概念定义: 傅里叶变换是一种数学工具,用于将一个信号(例如时间序列或空间数据)从其原始域(如时域)转换到频率域 (frequency domain)。在频率域中,信号被分解为不同频率的正弦和余弦波的叠加,每个频率分量代表了信号中某种周期性模式的强度。低频分量通常捕获信号的整体趋势和稳定特征,而高频分量则捕获信号的快速变化、细节或噪声。 数学公式 (离散傅里叶变换, DFT): 对于一个长度为 NN 的离散序列 {xn}n=0N1\{ x _ { n } \} _ { n = 0 } ^ { N - 1 },其频率域表示 XkX_k 通过以下公式计算: Xk=F[xn]=n=0N1xne2πiNkn,0kN1 X _ { k } = { \mathcal { F } } [ x _ { n } ] = \sum _ { n = 0 } ^ { N - 1 } x _ { n } e ^ { - { \frac { 2 \pi i } { N } } k n } , \quad 0 \leq k \leq N - 1 符号解释:

  • XkX_k: 序列在频率 kk 上的傅里叶系数,是一个复数。

  • xnx_n: 原始序列在时间(或位置) nn 上的值。

  • NN: 序列的总长度。

  • ee: 自然对数的底数。

  • ii: 虚数单位,满足 i2=1i^2 = -1

  • kk: 频率索引,范围从 0N-1

  • nn: 时间(或位置)索引,范围从 0N-1

  • F\mathcal{F}: 傅里叶变换操作符。

    数学公式 (逆离散傅里叶变换, IDFT): 可以通过以下公式将频率域表示 XkX_k 转换回原始时域序列 xnx_nxn=F1[Xk]=1Nn=0N1Xke2πiNkn,0nN1 x _ { n } = \mathcal { F } ^ { - 1 } [ X _ { k } ] = \frac { 1 } { N } \sum _ { n = 0 } ^ { N - 1 } X _ { k } e ^ { \frac { 2 \pi i } { N } k n } , \quad 0 \leq n \leq N - 1 符号解释:

  • xnx_n: 原始序列在时间(或位置) nn 上的值。

  • XkX_k: 序列在频率 kk 上的傅里叶系数。

  • F1\mathcal{F}^{-1}: 逆傅里叶变换操作符。

  • 其他符号与 DFT 公式中含义相同。

    在本文中的意义: 本文利用傅里叶变换将用户交互序列转换为频率域,从而区分和处理序列中的低频意图(长期偏好)和高频意图(短期偏好)。FFT (Fast Fourier Transform)IFFT (Inverse Fast Fourier Transform)DFTIDFT 的高效计算算法。

3.1.3. 对比学习 (Contrastive Learning, CL)

概念定义: 对比学习是一种自监督学习范式,旨在通过在学习到的表示空间中拉近相似样本(正样本对)的距离,同时推远不相似样本(负样本对)的距离来学习有效的数据表示。其核心思想是,如果两个数据样本经过某种数据增强后仍应被认为是相似的(例如,同一图像的不同裁剪),则它们的表示应该接近;而与随机抽样的其他样本(负样本)的表示应该远离。 常用损失函数 (InfoNCE Loss): 对比学习常使用 InfoNCE (Information Noise-Contrastive Estimation) 损失函数。 在本文中的意义: 本文引入对比学习来增强用户意图表示的学习,特别是在高频和低频意图层面进行对比,以解决数据稀疏性问题并提高意图识别能力。

3.1.4. 自注意力机制 (Self-Attention Mechanism)

概念定义: 自注意力机制是一种序列处理技术,允许模型在处理序列中的某个元素时,能够同时考虑序列中的所有其他元素,并根据它们之间的相关性来加权聚合信息。它通过计算查询(Query)、键(Key)和值(Value)向量之间的相似度,动态地为序列中的每个元素生成一个“上下文”表示,从而捕捉长距离依赖关系。 数学公式 (标准自注意力机制): Attention(Q,K,V)=softmax(QKTdk)V \mathrm{Attention}(Q, K, V) = \mathrm{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V 符号解释:

  • QQ (Query): 查询矩阵,由输入序列的每个元素通过线性变换得到。

  • KK (Key): 键矩阵,由输入序列的每个元素通过线性变换得到。

  • VV (Value): 值矩阵,由输入序列的每个元素通过线性变换得到。

  • dkd_k: 键向量的维度,用于缩放点积以防止梯度过大。

  • QKTQK^T: 查询和键的点积,表示查询与每个键的相似度。

  • softmax\mathrm{softmax}: 归一化函数,将相似度转换为概率分布。

  • VV: 值矩阵,加权求和后得到注意力输出。

    在本文中的意义: FICLRec 模型在其频率重分布编码器 (Frequency Redistribution Encoder) 中采用了多头自注意力 (Multi-head Self-Attention) 机制,用于捕获序列内部的复杂依赖关系。

3.2. 前人工作

论文将相关工作分为几个类别,FICLRec 结合了这些不同领域的思想。

3.2.1. 频率域学习 (Frequency Domain Learning)

  • FMLPRec (2022):首次将傅里叶变换引入序列推荐,通过捕获用户长期和短期兴趣的周期性模式来改善推荐。
  • BSARec (2024):在频率域对嵌入矩阵进行自适应滤波,以减少噪声。
  • FEARec (2023):通过傅里叶变换的自适应滤波,有效识别和管理周期性模式,增强用户行为序列的表示学习。
  • 本文的定位: FICLRec 在频率域学习的基础上进一步,不仅利用频率信息来区分长期/短期意图,还结合了对比学习,并设计了频率重分布结构进行特征融合,以更精细地处理频率信息。

3.2.2. 意图引导推荐系统 (Intent-Guided Recommender Systems)

  • ICLRec (2022):利用对比自监督学习目标来建模用户意图。
  • ELCRec (2024):通过引入意图原型,增强了稀疏数据环境下的性能并提高了模型的噪声鲁棒性。
  • ICSRec (2024):利用自监督对比学习来捕获用户意图。
  • IDCLRec (2025):旨在解决长尾效应和稀疏性问题,通过意图解耦和对比学习来提升推荐性能。
  • 本文的定位: FICLRec 进一步深化了意图引导的概念,特别是区分了高频(短期)和低频(长期)意图,并通过频率对比学习来分别增强它们的表示,从而更全面地理解用户意图。

3.2.3. 其他序列推荐方法 (Other Sequential Recommendation Methods)

  • 传统方法:
    • GRU4Rec (2015):利用门控循环单元 (Gated Recurrent Unit, GRU) 捕捉序列依赖,实现会话并行化。
    • SASRec (2018):引入自注意力机制 (Self-Attention) 建模序列,显著提升了序列推荐性能。
    • Caser:使用水平和垂直卷积技术建模序列数据。
  • 自监督学习方法:
    • ContrastVAE:通过 cloize task 在物品间建模过渡。
    • DuoRec (2022):采用双重增强和对比学习来学习鲁棒的序列表示。
    • CLRec:通过数据增强和对比学习解决数据稀疏性问题。
    • SRRec:解决物品嵌入退化问题。

3.3. 技术演进

序列推荐技术从最初的基于马尔可夫链和循环神经网络 (Recurrent Neural Networks, RNNs) 的方法(如 GRU4Rec),演进到基于自注意力机制的模型(如 SASRec),后者能够更好地捕捉长距离依赖。随着深度学习的发展,研究者开始关注更深层次的用户兴趣,如意图 (intent),催生了意图引导推荐系统。同时,为了应对数据稀疏性挑战,自监督学习 (Self-Supervised Learning, SSL) 和对比学习 (Contrastive Learning, CL) 范式被广泛引入,通过构建辅助任务来学习更好的表示。

近年来,一些研究开始探索将信号处理领域的概念,如傅里叶变换,引入推荐系统,以从频率域分析用户行为的周期性和模式(如 FMLPRec)。FICLRec 正是在这一技术脉络下,结合了意图学习和频率域分析的最新进展,并通过频率对比学习进一步提升了模型的性能。

3.4. 差异化分析

Table 1 对比了 FICLRec 与现有模型的组件。

以下是原文 Table 1 的内容:

ModelUser Behavior Semantic PerspectiveTechnical Analysis PerspectiveContrastive Learning
GeneralIntentTime-domainFrequency-domain
GRU4Rec (2015)XXX
SASRec (2018)XXX
FMLPRec (2022)XXX
BSARec (2024)XX
DuoRec (2022)XX
FEARec (2023)X
ICLRec (2022)X
ELCRec (2024)X
ICSRec (2024)X
IDCLRec (2025)X
FICLRec (Ours)

核心区别和创新点:

  • GRU4Rec, SASRec: 只能处理通用用户行为 (General User Behavior),在时域 (Time-domain) 进行分析,不涉及意图学习、频率域或对比学习。
  • FMLPRec: 首次引入频率域分析,但仍然只处理通用行为,且不包含对比学习。
  • BSARec: 在通用行为下结合了时域和频率域分析,但没有意图学习和对比学习。
  • DuoRec: 在通用行为下结合了时域分析和对比学习,但没有意图学习和频率域分析。
  • FEARec: 在通用行为下结合了时域、频率域分析和对比学习,但仍未明确区分和学习用户意图。
  • ICLRec, ELCRec, ICSRec, IDCLRec: 这些模型引入了意图学习 (Intent Learning) 和对比学习 (Contrastive Learning),并在时域进行分析,但它们没有利用频率域信息来更精细地处理意图。
  • FICLRec (本文模型): 是第一个同时结合了通用用户行为、意图学习、时域分析、频率域分析和对比学习的模型。其创新点在于:
    1. 全面性: 整合了目前序列推荐领域多个有效的技术方向。
    2. 意图与频率域结合: 创新性地在频率域中分析和增强用户意图的学习,特别是区分高频和低频意图。
    3. 频率对比学习: 引入了专门的频率对比学习任务,进一步利用频率域的特性来解决数据稀疏性问题,这是其他意图学习模型所不具备的。

4. 方法论

4.1. 方法原理

FICLRec 的核心思想是,用户的购买意图可以从其交互序列的频率信息中解耦出来,分为高频意图(短期、动态的偏好)和低频意图(长期、稳定的偏好)。现有方法倾向于低频意图,导致对高频意图的捕获不足,且数据稀疏性也限制了模型性能。FICLRec 通过以下方式解决这些问题:

  1. 频率域意图增强: 将用户交互序列转换到频率域,利用频率重分布结构 (Frequency Redistribution Structure) 有选择地融合高频和低频分量,以更好地识别和增强高频意图的表示。
  2. 意图对比学习: 引入一个多任务学习框架,包含高频意图对比学习和低频意图对比学习。高频意图对比学习通过频率对齐损失拉近相似序列的高频意图表示;低频意图对比学习则通过意图原型 (intent prototypes) 捕获和稳定长期偏好。这两种对比学习协同工作,不仅提升了意图表示的判别性,也缓解了数据稀疏性问题。

4.2. 核心方法详解 (逐层深入)

FICLRec 模型由四个主要部分组成:

  1. 嵌入层 (Embedding Layer)

  2. 频率重分布编码器 (Frequency Redistribution Encoder, FRE)

  3. 意图对比学习 (Intent Contrastive Learning, ICL)

  4. 预测层 (Prediction Layer)

    整体框架如下图 (原文 Figure 2) 所示,该框架首先通过嵌入层将用户历史交互序列转换为嵌入向量,然后送入频率重分布编码器进行特征提取和频率域意图增强。接着,意图对比学习模块通过自监督任务进一步优化意图表示。最后,预测层基于学习到的用户意图进行下一个物品推荐。

4.2.1. 嵌入层 (Embedding Layer)

在 FICLRec 模型中,首先将完整的物品集合 VV 中的每个物品嵌入到一个共享的低维空间中,生成物品嵌入矩阵 MRV×DM \in \mathbb { R } ^ { | V | \times D },其中 V|V| 是物品总数,DD 是嵌入维度。对于给定用户 uu 的历史交互序列 su=[v1u,v2u,,vNu]s^u = [v_1^u, v_2^u, \ldots, v_N^u],其中 viuv_i^u 是用户在第 ii 个位置交互的物品,NN 是序列的最大长度。 通过查询物品嵌入矩阵 MM,我们可以得到用户 uu 交互序列的嵌入表示: Eu=[e1u,e2u,,eNu]RN×D \boldsymbol { E } ^ { u } = [ e _ { 1 } ^ { u } , e _ { 2 } ^ { u } , \ldots , e _ { N } ^ { u } ] \in \mathbb { R } ^ { N \times D } 其中 eiue_i^u 是物品 viuv_i^u 的嵌入向量。由于自注意力机制本身不包含位置信息,为了捕获序列中物品的顺序关系,模型会注入额外的位置信息 (positional information)。这通常通过将位置嵌入 PP 添加到物品嵌入中来实现,然后进行 Layer NormalizationDropout 处理: Eu=Dropout(LayerNorm(Eu+P)) E ^ { u } = \mathrm { D r o p o u t } ( \mathrm { L a y e r N o r m } ( E ^ { u } + P ) ) 符号解释:

  • EuE^u: 用户 uu 的历史交互序列的嵌入表示矩阵,维度为 N×DN \times D
  • eiue_i^u: 序列中第 ii 个物品的嵌入向量。
  • V|V|: 物品总数。
  • DD: 物品嵌入的维度。
  • NN: 序列的最大长度。
  • PP: 位置嵌入矩阵,维度与 EuE^u 相同。
  • LayerNorm\mathrm{LayerNorm}: 层归一化操作,用于稳定训练。
  • Dropout\mathrm{Dropout}: 随机失活操作,用于防止过拟合。

4.2.2. 频率重分布编码器 (Frequency Redistribution Encoder, FRE)

频率重分布编码器是 FICLRec 的核心组件,它旨在通过频率域分析和自注意力机制来捕获用户意图。它由多个编码器块堆叠而成。 设第 ll 个编码器块的输入序列表示为 HlRN×DH^l \in \mathbb{R}^{N \times D},则 FRE 块可以描述为: Hl+1=FRE(Hl) \boldsymbol { H } ^ { l + 1 } = \mathrm { F R E } ( \boldsymbol { H } ^ { l } ) 其中 H0=EuH^0 = E^u 是嵌入层的输出。每个 FRE 块包含三个主要子层:频率重分布结构 (Frequency Redistribution Structure)多头自注意力 (Multi-head Self-Attention)点式前馈网络 (Point-wise Feed-Forward Network)

4.2.2.1. 频率重分布结构 (Frequency Redistribution Structure)

此结构负责将时域表示的序列转换为频率域,提取低频和高频分量,并进行自适应融合。 首先,将输入的时域序列表示 HlH^l 通过 FFT (Fast Fourier Transform) 转换到频率域,然后分离出低频和高频分量。 低频分量 (XLlX_L^l) 的提取: 通常对应于频率谱的起始部分,包含信号的整体趋势和长期模式。 XLl=F1(F(Hl)0:ωp)RN X _ { L } ^ { l } = \mathcal { F } ^ { - 1 } \left( \mathcal { F } \left( H ^ { l } \right) \big | _ { 0 : \omega _ { p } } \right) \in \mathbb { R } ^ { N } 高频分量 (XHlX_H^l) 的提取: 对应于频率谱的其余部分,包含信号的快速变化和短期模式。 XHl=F1(F(Hl)ωp+1:N1)RN X _ { H } ^ { l } = \mathcal { F } ^ { - 1 } \left( \mathcal { F } \left( H ^ { l } \right) \big | _ { \omega _ { p } + 1 : N - 1 } \right) \in \mathbb { R } ^ { N } 符号解释:

  • HlH^l: 第 ll 层编码器的输入,表示为时域序列。

  • F\mathcal{F}: 快速傅里叶变换 (FFT) 操作。

  • F1\mathcal{F}^{-1}: 逆快速傅里叶变换 (IFFT) 操作。

  • ωp=p/2+1\omega_p = p / 2 + 1: 边界频率索引,用于划分低频和高频部分。pp 是一个超参数。

  • 0:ωp\cdot | _{0:\omega_p}: 表示从频率谱的 0ωp\omega_p 截取低频部分。

  • ωp+1:N1\cdot | _{\omega_p+1:N-1}: 表示从频率谱的 ωp+1\omega_p+1N-1 截取高频部分。

  • XLlX_L^l: 经过逆傅里叶变换后的低频分量表示。

  • XHlX_H^l: 经过逆傅里叶变换后的高频分量表示。

  • NN: 序列长度。

    自适应融合: 为了有效地融合低频和高频信息,模型使用一个门控机制来动态调整两者的贡献: Z=sigmoid(XLlW1+XHlW2) { Z = sigmoid ( X _ { L } ^ { l } W _ { 1 } + X _ { H } ^ { l } W _ { 2 } ) } H~l=ZXLl+(1Z)XHl { { \tilde { H } ^ { l } = Z \odot X _ { L } ^ { l } + ( 1 - Z ) \odot X _ { H } ^ { l } } } 符号解释:

  • W1,W2W_1, W_2: 待学习的降维参数矩阵,用于线性变换。

  • sigmoid: Sigmoid 激活函数,将输出值压缩到 (0,1)(0, 1) 之间,作为门控信号。

  • ZZ: 门控信号,决定低频分量和高频分量的融合比例。

  • \odot: 元素级乘法。

  • H~l\tilde{H}^l: 融合后的序列表示,作为多头自注意力层的输入。 这个融合机制允许模型根据数据自适应地调整对长期稳定模式 (低频) 和短期动态模式 (高频) 的关注程度。

4.2.2.2. 多头自注意力 (Multi-head Self-Attention)

在频率重分布结构输出 H~l\tilde{H}^l 之后,模型采用多头自注意力机制来捕捉序列内部的复杂依赖关系,遵循 SASRec 的方法: HAttl=Softmax(H~lWQl(H~lWKl)TD)H~lWVl H _ { A t t } ^ { l } = \mathrm { S o f t m a x } \left( \frac { \tilde { H } ^ { l } W _ { Q } ^ { l } ( \tilde { H } ^ { l } W _ { K } ^ { l } ) ^ { T } } { \sqrt { D } } \right) \tilde { H } ^ { l } W _ { V } ^ { l } 符号解释:

  • H~l\tilde{H}^l: 频率重分布结构融合后的输出,作为自注意力层的输入。
  • WQl,WKl,WVlRD×DW_Q^l, W_K^l, W_V^l \in \mathbb{R}^{D \times D}: 第 ll 块的可学习投影矩阵,用于将输入 H~l\tilde{H}^l 投影到 Query (QQ)、Key (KK) 和 Value (VV) 空间。
  • Q=H~lWQlQ = \tilde{H}^l W_Q^l, K=H~lWKlK = \tilde{H}^l W_K^l, V=H~lWVlV = \tilde{H}^l W_V^l
  • DD: 嵌入维度。
  • Softmax\mathrm{Softmax}: 归一化函数。
  • HAttlH_{Att}^l: 多头自注意力层的输出。 通过多头机制(虽然公式只展示了单头,但通常会并行运行多个头并将结果拼接),模型可以从不同的表示子空间学习信息,增强其捕获复杂模式的能力。

4.2.2.3. 点式前馈网络 (Point-wise Feed-Forward Network)

在自注意力层之后,模型使用一个点式前馈网络 (Point-wise Feed-Forward Network, PFFN) 来捕捉非线性特征: Hl+1=(GELU(HAttlW1l+b1l))W2l+b2lRN×D \begin{array} { r } { H ^ { l + 1 } = \left( \mathrm { GELU } ( H _ { A t t } ^ { l } W _ { 1 } ^ { l } + b _ { 1 } ^ { l } ) \right) W _ { 2 } ^ { l } + b _ { 2 } ^ { l } \in \mathbb { R } ^ { N \times D } } \end{array} 符号解释:

  • HAttlH_{Att}^l: 多头自注意力层的输出。
  • W1l,W2lRD×DW_1^l, W_2^l \in \mathbb{R}^{D \times D}: 待学习的权重矩阵。
  • b1l,b2lR1×Db_1^l, b_2^l \in \mathbb{R}^{1 \times D}: 待学习的偏置向量。
  • GELU\mathrm{GELU}: 高斯误差线性单元 (Gaussian Error Linear Unit) 激活函数。
  • Hl+1H^{l+1}: 第 ll 层编码器块的最终输出。

4.2.2.4. 堆叠块 (Stacking Blocks)

为了构建深层模型,上述模块被重复堆叠,并且在每个子层之后都使用了 Layer NormalizationDropout,同时引入了残差连接 (residual connections) 来稳定训练: H~l=LayerNorm(Hl+Dropout(FR(Hl)))HAttl=LayerNorm(H~l+Dropout(MHA(H~l)))Hl+1=LayerNorm(HAttl+Dropout(PFFN(HAttl))) \begin{array} { r l } & { \tilde { H } ^ { l } = \mathrm { L a y e r N o r m } ( H ^ { l } + \mathrm { D r o p o u t } ( \mathrm { F R } ( H ^ { l } ) ) ) } \\ & { } \\ & { H _ { A t t } ^ { l } = \mathrm { L a y e r N o r m } ( \tilde { H } ^ { l } + \mathrm { D r o p o u t } ( \mathrm { M H A } ( \tilde { H } ^ { l } ) ) ) } \\ & { } \\ & { H ^ { l + 1 } = \mathrm { L a y e r N o r m } ( H _ { A t t } ^ { l } + \mathrm { D r o p o u t } ( \mathrm { P F F N } ( H _ { A t t } ^ { l } ) ) ) } \end{array} 符号解释:

  • FR(Hl)\mathrm{FR}(H^l): 频率重分布结构。
  • MHA(H~l)\mathrm{MHA}(\tilde{H}^l): 多头自注意力机制。
  • PFFN(HAttl)\mathrm{PFFN}(H_{Att}^l): 点式前馈网络。 这种堆叠结构使得模型能够学习到不同抽象层次的序列表示。

4.2.3. 预测层 (Prediction Layer)

经过频率重分布编码器处理后,我们得到最终的用户序列表示 huR1×Dh^u \in \mathbb{R}^{1 \times D}(通常取序列最后一个物品的表示)。为了预测下一个物品,将其与物品嵌入矩阵 MRV×DM \in \mathbb{R}^{|V| \times D} 的转置进行点积,并通过 softmax 函数将其转换为一个概率分布 y^RV\hat{y} \in \mathbb{R}^{|V|}y^=softmax(huMT) \hat { y } = s o f t m a x ( h ^ { u } M ^ { T } ) 符号解释:

  • huh^u: 编码器输出的用户最终序列表示。

  • MM: 物品嵌入矩阵。

  • MTM^T: 物品嵌入矩阵的转置。

  • softmax: 归一化函数,将得分转换为概率。

  • y^\hat{y}: 预测的下一个物品的概率分布。

    模型的训练目标是最小化推荐任务的损失函数,通常采用交叉熵损失或二元交叉熵损失。本文采用的是二元交叉熵损失,如下所示: LRec=i=1nyilog(yi^)+(1yi)log(1yi^) \mathcal { L } _ { R e c } = - \sum _ { i = 1 } ^ { n } y _ { i } l o g ( \widehat { y _ { i } } ) + ( 1 - y _ { i } ) l o g ( 1 - \widehat { y _ { i } } ) 符号解释:

  • LRec\mathcal{L}_{Rec}: 推荐任务的损失函数。

  • nn: 物品数量。

  • yiy_i: 真实标签,如果物品 ii 是下一个交互物品则为 1,否则为 0。

  • yi^\widehat{y_i}: 模型预测物品 ii 是下一个交互物品的概率。

4.2.4. 多任务学习 (Multi-task Learning)

为了增强用户意图表示的学习并解决数据稀疏性问题,FICLRec 引入了意图对比学习 (Intent Contrastive Learning, ICL),它是一个自监督任务,与推荐任务共同优化。ICL 旨在通过区分高频(短期)意图和低频(长期)意图来学习更精细的意图表示。意图对比学习的细节如下图 (原文 Figure 3) 所示。

Fig. 3. The details of intent contrastive learning. Fig. 3. The details of intent contrastive learning.

4.2.4.1. 高频意图对比学习 (High-frequency Intent Contrastive Learning, HICL)

高频意图对比学习旨在捕获用户序列中动态变化的短期意图。它通过构建正样本对来学习相似序列之间高频意图的一致性。 正样本构建: 对于每个目标序列 sis_i,模型从用户 uu 的交互序列集合 SuS^u 中采样一个具有相同目标物品的子序列 si,ss_{i,s} 作为其正样本。 模型然后提取它们的综合特征表示 HiH_iHi,sH_{i,s},并从每个序列的最后一个状态中提取它们的意图表示 hih_ihi,sh_{i,s}

InfoNCE 损失: 采用 InFoNCE 损失函数来拉近正样本意图表示的距离,同时推开负样本意图表示的距离。其中 mask(i, k) 用于排除与 sis_i 同为正样本的 sks_k 不被视为负样本。 LInFoNCEFNM(hi,hi,s)=i=1Nlogexp(sin(hi,hi,s)/τ)k=1Nexp(sin(hi,hk)/τ)mask(i,k) \mathcal { L } _ { I n F o N C E } ^ { F N M } ( h _ { i } , h _ { i , s } ) = - \sum _ { i = 1 } ^ { N } \log \frac { \exp ( { \sin ( h _ { i } , h _ { i , s } ) } / { \tau } ) } { \sum _ { k = 1 } ^ { N } \exp ( { \sin ( h _ { i } , h _ { k } ) } / { \tau } ) { \mathrm { m a s k } ( i , k ) } } 符号解释:

  • LInFoNCEFNM\mathcal{L}_{InFoNCE}^{FNM}: InfoNCE 损失函数的一种变体。

  • hi,hi,sh_i, h_{i,s}: 两个正样本序列的意图表示。

  • sim(hi,hi,s)\mathrm{sim}(h_i, h_{i,s}): 意图表示之间的相似度函数,通常是余弦相似度 (cosine similarity)。

  • τ\tau: 温度参数 (temperature parameter),用于调节对比损失的敏感度。

  • NN: 批处理大小 (batch size)。

  • mask(i,k)\mathrm{mask}(i, k): 一个掩码函数,用于确保正样本不被错误地视为负样本。

    高频对齐损失 (Lhfal\mathcal{L}_{hfal}): 除了 InfoNCE 损失,高频意图对比学习还引入了频率对齐损失,直接在频率域层面强制要求正样本的高频分量保持一致,从而更好地捕获高频意图。 Lhfal=1Ni=1NXi[ωp,:]Xi,s[ωp,:] \mathcal { L } _ { h f a l } = \frac { 1 } { N } \sum _ { i = 1 } ^ { N } \| X _ { i } [ \omega _ { p } , : ] - X _ { i , s } [ \omega _ { p } , : ] \| 符号解释:

  • Lhfal\mathcal{L}_{hfal}: 高频对齐损失。

  • NN: 批处理大小。

  • Xi,Xi,sX_i, X_{i,s}: 分别是通过 FFT 操作对 hih_ihi,sh_{i,s} 获得的频率域表示。

  • Xi[ωp,:]X_i[\omega_p, :]: 表示从频率域表示 XiX_i 中提取的高频部分(通常是除低频部分以外的所有频率分量)。

  • \| \cdot \|: L2 范数(欧几里得距离),用于衡量两个高频分量之间的差异。

    总高频意图对比损失 (Lhicl\mathcal{L}_{hicl}): 将上述两种损失结合起来形成最终的高频意图对比学习损失: Lhicl=LInFoNCEFNM(hi,hi,s)+LInFoNCEFNM(hi,s,hi)+Lhfal \begin{array} { r } { \mathcal { L } _ { h i c l } = \mathcal { L } _ { I n F o N C E } ^ { F N M } ( h _ { i } , h _ { i , s } ) + \mathcal { L } _ { I n F o N C E } ^ { F N M } ( h _ { i , s } , h _ { i } ) + \mathcal { L } _ { h f a l } } \end{array} 这里 InFoNCE 损失的两个项 (hi, hi,s)(hi,s, hi) 可能是为了对称性,确保两个方向的对比都得到优化。

4.2.4.2. 低频意图对比学习 (Low-frequency Intent Contrastive Learning, LICL)

低频意图对比学习旨在捕获用户序列中稳定、长期偏好。模型将意图原型 (intent prototypes) 视为从原始信号中提取的低频表示。 意图原型 (Intent Prototypes): 模型维护一组意图原型 C={c1,c2,,cK}C = \{c_1, c_2, \ldots, c_K\},其中 ckc_k 代表第 kk 个簇中心或稳定意图。这些原型通过聚类(如 K-Means)从所有用户序列的意图表示中学习得到。 查询意图原型: 对于两个正样本的意图表示 hih_ihi,sh_{i,s},模型会查询并检索它们最接近的意图原型 cic_ici,sc_{i,s}ci,ci,s=query(hi),query(hi,s) c _ { i } , c _ { i , s } = \operatorname { q u e r y } ( h _ { i } ) , \operatorname { q u e r y } ( h _ { i , s } ) 这里的 query 函数通常指找到距离 hih_ihi,sh_{i,s} 最近的意图原型。

簇中心对齐损失 (Lccal\mathcal{L}_{ccal}): 为了确保意图表示与它们所属的意图原型保持一致,模型引入了簇中心对齐损失,强制要求意图表示接近其查询到的意图原型: Lccal=1Ni=1N(hici)2+1Ni=1N(hi,sci,s)2 \mathcal { L } _ { c c a l } = \frac { 1 } { N } \sum _ { i = 1 } ^ { N } ( h _ { i } - \mathbf { c } _ { i } ) ^ { 2 } + \frac { 1 } { N } \sum _ { i = 1 } ^ { N } ( h _ { i , s } - \mathbf { c } _ { i , s } ) ^ { 2 } 符号解释:

  • Lccal\mathcal{L}_{ccal}: 簇中心对齐损失。

  • NN: 批处理大小。

  • hi,hi,sh_i, h_{i,s}: 两个正样本序列的意图表示。

  • ci,ci,s\mathbf{c}_i, \mathbf{c}_{i,s}: 分别与 hih_ihi,sh_{i,s} 匹配的意图原型。

  • ()2( \cdot )^2: 平方误差,衡量意图表示与其原型之间的距离。

    总低频意图对比损失 (Llicl\mathcal{L}_{licl}): 将 InfoNCE 损失和簇中心对齐损失结合起来形成最终的低频意图对比学习损失: Llicl=LInFoNCEFNM(hi,ci)+LInFoNCEFNM(ci,hi)+Lccal \mathcal { L } _ { l i c l } = \mathcal { L } _ { I n F o N C E } ^ { F N M } ( h _ { i } , c _ { i } ) + \mathcal { L } _ { I n F o N C E } ^ { F N M } ( c _ { i } , h _ { i } ) + \mathcal { L } _ { c c a l } 此损失函数的目标是优化用户意图表示与意图原型之间的关系,从而更好地捕捉用户的长期偏好和稳定兴趣。

总意图对比学习损失 (Licl\mathcal{L}_{icl}): 最终的意图对比学习损失是高频意图对比损失和低频意图对比损失的加权和: Licl=αLhicl+βLlicl \mathcal { L } _ { i c l } = \alpha \cdot \mathcal { L } _ { h i c l } + \beta \cdot \mathcal { L } _ { l i c l } 符号解释:

  • α,β\alpha, \beta: 超参数,用于调节高频意图对比学习和低频意图对比学习在自监督任务中的重要性。

4.2.4.3. 训练与推理 (Train and Inference)

FICLRec 的整体损失函数是推荐任务损失 LRec\mathcal{L}_{Rec} 和意图对比学习损失 Licl\mathcal{L}_{icl} 的加权和(这里权重默认为1,或者已经包含在 α,β\alpha, \beta 中): L=LRec+Licl \mathcal { L } = \mathcal { L } _ { \mathrm { R e c } } + \mathcal { L } _ { i c l } 模型通过最小化这个总损失函数进行端到端训练。

4.2.5. 复杂度分析 (Complexity Analysis)

论文对 FICLRec 的计算复杂度进行了分析。

  • 频率变换 (FFT/IFFT): 复杂度为 O(NlogN)\mathcal{O}(N \log N),其中 NN 是序列长度。

  • 线性层: 复杂度为 O(ND)\mathcal{O}(ND),其中 DD 是嵌入维度。

  • 自注意力机制: 复杂度为 O(N2D)\mathcal{O}(N^2D)

  • 点式前馈层: 复杂度为 O(ND2)\mathcal{O}(ND^2)

    因此,FICLRec 的总时间复杂度为: O(N2D+Nlog(N)+ND2+ND) \mathcal { O } ( N ^ { 2 } D + N \log ( N ) + N D ^ { 2 } + N D ) 符号解释:

  • NN: 序列长度。

  • DD: 嵌入维度。

  • log(N)\log(N): 对数函数。

    以下是原文 Table 3 的内容,展示了不同模型的时间复杂度对比:

    ModelBackbone networkTime complexity
    SASRecSelf-Attention + point-wise feed-forward layer0(n2 + nd2 + nd)
    DuoRecSelf-Attention + point-wise feed-forward layer0(n2 + nd2 + nd)
    FEARecHybrid Attention + point-wise feed-forward layer0(2d + n log(n) + n2 + nd)
    ICLRecSelf-Attention + point-wise feed-forward layer0(n² + nd2 + nd)
    ICSRecSelf-Attention + point-wise feed-forward layer0(n2 + nd2 + nd)
    FICLRec (ours)FRE + Self-Attention + point-wise feed-forward layer0(n2 + n log(n) + nd2 + nd)

从表格中可以看出,FICLRec 的复杂度比纯粹基于自注意力的模型(如 SASRecDuoRec)增加了 N log(N) 项,这是由于引入了傅里叶变换。然而,相比于 N2DN^2DND2ND^2N log(N)NN 不太大的情况下增加的计算量是可接受的。

4.2.6. FICLRec 训练算法 (Algorithm 1)

以下是原文 Algorithm 1 的内容:

Algorithm 1: FICLRec Training Algorithm
Input: A sequence recommendation dataset {Su}u=1U\{ S ^ { u } \} _ { u = 1 } ^ { | U | } , sequence encoder fθ( u)f _ { \theta } ( \ u ) , hyperp

epochs BB , batch size NN . Output: Trained encoder fθ()f _ { \theta } ( \cdot ) 1 Partition the dataset into subsets for training, validation, and testing.; 2 Initialize encoder fθ()f _ { \theta } ( \cdot ) 3 for epoch <B< B do 4 // Obtain intent prototypes CC 5 C=KMeans(fθ({Su}u=1U),K);C = { \mathrm { K M e a n s } } ( f _ { \theta } ( \{ S ^ { u } \} _ { u = 1 } ^ { | U | } ) , K ) ; 6 for a mini-batch {u |U| do 7 for u{1,2,,N}u \in \{ 1 , 2 , \ldots , N \} do 8 // Sample a subsequence si,sus _ { i , s } ^ { u } from SuS ^ { u } with the same target item as sius _ { i } ^ { u } 9 si,su=sample(siu);s _ { i , s } ^ { u } = { \mathrm { s a m p l e } } ( s _ { i } ^ { u } ) ; 10 11 hsiuu=fθ(siu),hsi,suu=fθ(si,su);h _ { s _ { i } ^ { u } } ^ { u } = f _ { \theta } ( s _ { i } ^ { u } ) , h _ { s _ { i , s } ^ { u } } ^ { u } = f _ { \theta } ( s _ { i , s } ^ { u } ) ; sf = f(s), h = fθ()f _ { \theta } ( \cdot ) . 12 // Query intent prototype representations: 13 ci=query(hi),ci,s=query(hi,s);c _ { i } = \operatorname { q u e r y } ( h _ { i } ) , c _ { i , s } = \operatorname { q u e r y } ( h _ { i , s } ) ; 14 // Multi-task Optimization 15 Licl=αLhicl+βLlicl;\mathcal { L } _ { i c l } = \alpha \cdot \mathcal { L } _ { h i c l } + \beta \cdot \mathcal { L } _ { l i c l } ; 16 ; 17 Update encoder fθ()f _ { \theta } ( \cdot ) to minimize L\mathcal { L } ; 18 return fθ():f _ { \theta } ( \cdot ) _ { : }

算法流程:

  1. 数据划分: 将数据集划分为训练集、验证集和测试集。
  2. 初始化: 初始化序列编码器 fθ()f_{\theta}(\cdot) 的参数。
  3. 迭代训练 (epochs): 在每个训练周期 (epoch) 中执行以下步骤:
    • 获取意图原型 CC 使用 K-Means 聚类算法,对所有用户序列通过编码器 fθf_{\theta} 得到的表示进行聚类,得到 KK 个意图原型。这一步通常在每个 epoch 开始或每隔若干 epoch 进行。
    • 批次处理: 遍历每个 mini-batch 中的用户序列。
      • 正样本采样: 对于用户 uu 的序列 sius_i^u,采样一个与其具有相同目标物品的子序列 si,sus_{i,s}^u 作为正样本。
      • 意图表示提取: 使用编码器 fθf_{\theta} 提取 sius_i^usi,sus_{i,s}^u 的意图表示 hsiuuh_{s_i^u}^uhsi,suuh_{s_{i,s}^u}^u
      • 查询意图原型: 对于 hih_ihi,sh_{i,s},查询它们对应的意图原型 cic_ici,sc_{i,s}
      • 多任务优化:
        • 计算高频意图对比损失 Lhicl\mathcal{L}_{hicl}
        • 计算低频意图对比损失 Llicl\mathcal{L}_{licl}
        • 结合超参数 α,β\alpha, \beta 计算总意图对比学习损失 Licl=αLhicl+βLlicl\mathcal{L}_{icl} = \alpha \cdot \mathcal{L}_{hicl} + \beta \cdot \mathcal{L}_{licl}
        • 计算推荐任务损失 LRec\mathcal{L}_{Rec}
        • 计算总损失 L=LRec+Licl\mathcal{L} = \mathcal{L}_{Rec} + \mathcal{L}_{icl}
      • 参数更新: 使用优化器(如 Adam)更新编码器 fθ()f_{\theta}(\cdot) 的参数,以最小化总损失 L\mathcal{L}
  4. 返回: 训练完成的编码器 fθ()f_{\theta}(\cdot)

5. 实验设置

5.1. 数据集

实验在五个真实世界数据集上进行,这些数据集都是从 Amazon 评论数据、Yelp 评论数据和 LastFM 音乐数据集中筛选和处理得到的。这些数据集的统计信息如下表 (原文 Table 4) 所示:

以下是原文 Table 4 的内容:

DatasetBeautySportsToysYelpLastFM
#Users22,36335,59819,41230,4311,090
#Items12,10118,35711,92420,0333,646
#Actions198,502296,337167,597316,35452,551
# Avg. Actions/User8.88.38.610.448.2
# Avg. Actions/Item16.416.11415.814.4
Sparsity99.93%99.95%99.93%99.95%98.68%

数据集描述:

  • Beauty (Amazon Beauty Products): 包含 22,363 名用户、12,101 个物品和 198,502 次交互。平均每个用户交互 8.8 次,每个物品交互 16.4 次。稀疏度为 99.93%。

  • Sports (Amazon Sports & Outdoors): 包含 35,598 名用户、18,357 个物品和 296,337 次交互。平均每个用户交互 8.3 次,每个物品交互 16.1 次。稀疏度为 99.95%。

  • Toys (Amazon Toys & Games): 包含 19,412 名用户、11,924 个物品和 167,597 次交互。平均每个用户交互 8.6 次,每个物品交互 14 次。稀疏度为 99.93%。

  • Yelp (Yelp Restaurant Reviews): 包含 30,431 名用户、20,033 个物品和 316,354 次交互。平均每个用户交互 10.4 次,每个物品交互 15.8 次。稀疏度为 99.95%。

  • LastFM (Last.fm Music Data): 包含 1,090 名用户、3,646 个物品和 52,551 次交互。平均每个用户交互 48.2 次,每个物品交互 14.4 次。稀疏度为 98.68%。

    数据集选择理由: 这些数据集涵盖了不同领域(商品、服务、音乐)和不同规模,特别是具有较高的稀疏度,非常适合验证模型在真实稀疏数据环境下的性能和鲁棒性。LastFM 数据集的用户平均交互次数显著高于其他数据集,这使得它在某些方面具有独特的挑战性。

5.2. 评估指标

论文使用了两个常用的排名指标来评估模型的性能:HR@K (Hit Rate) 和 NDCG@K (Normalized Discounted Cumulative Gain)。

5.2.1. HR@K (Hit Rate)

概念定义: HR@K 衡量的是在推荐列表的前 KK 个物品中,是否包含了用户下一个实际交互的物品。它是一个召回率的衡量指标,只关心目标物品是否被成功推荐,而不关心其在列表中的具体位置。如果目标物品在前 KK 个推荐中,则计为一次“命中”,否则计为“未命中”。 数学公式: HR@K=Number of users for whom the target item is in top-K recommendationsTotal number of users \mathrm{HR@K} = \frac{\text{Number of users for whom the target item is in top-K recommendations}}{\text{Total number of users}} 符号解释:

  • Number of users for whom the target item is in top-K recommendations: 成功命中目标物品的用户数量。
  • Total number of users: 所有参与评估的用户总数。

5.2.2. NDCG@K (Normalized Discounted Cumulative Gain)

概念定义: NDCG@K 是一种更精细的排名质量评估指标,它不仅考虑了推荐列表是否包含相关物品,还考虑了相关物品在列表中的位置。它对排在列表前部的相关物品给予更高的权重,从而更好地反映用户体验。NDCG 值介于 0 和 1 之间,1 表示完美排名。 数学公式: 首先,计算 DCG@K (Discounted Cumulative Gain): DCG@K=i=1K2reli1log2(i+1) \mathrm{DCG@K} = \sum_{i=1}^{K} \frac{2^{rel_i} - 1}{\log_2(i+1)} 然后,计算 IDCG@K (Ideal Discounted Cumulative Gain),即完美排名下的 DCG@KIDCG@K=i=1K2reliideal1log2(i+1) \mathrm{IDCG@K} = \sum_{i=1}^{K} \frac{2^{rel_{i_{ideal}}} - 1}{\log_2(i+1)} 最后,计算 NDCG@KNDCG@K=DCG@KIDCG@K \mathrm{NDCG@K} = \frac{\mathrm{DCG@K}}{\mathrm{IDCG@K}} 符号解释:

  • KK: 推荐列表的长度。
  • relirel_i: 推荐列表中第 ii 个物品的相关性得分。在二元相关性(相关或不相关)场景中,如果第 ii 个物品是目标物品,则 reli=1rel_i = 1,否则 reli=0rel_i = 0
  • reliidealrel_{i_{ideal}}: 在理想(完美)排名下,第 ii 个物品的相关性得分。通常,最相关的物品排在第一位,次相关的排在第二位,以此类推。对于单个目标物品的序列推荐,完美排名意味着目标物品排在第一位,rel1ideal=1rel_{1_{ideal}}=1,其余为 0。
  • log2(i+1)\log_2(i+1): 折扣因子,使排名靠前的物品贡献更大。

5.3. 对比基线

论文将 FICLRec 与多种代表性的序列推荐模型进行了比较,这些模型可以分为以下几类:

5.3.1. 传统推荐方法 (Traditional Recommendation Methods)

  • Caser (2018): 基于卷积神经网络 (Convolutional Neural Network, CNN) 的模型,利用水平和垂直卷积来建模序列数据。
  • GRU4Rec (2015): 基于门控循环单元 (Gated Recurrent Unit, GRU) 的模型,擅长捕捉序列依赖,并支持会话并行化。
  • SASRec (2018): 基于自注意力机制 (Self-Attention) 的模型,通过自注意力层捕获序列中物品之间的长距离依赖,显著提高了序列推荐性能。

5.3.2. 频率域方法 (Frequency Domain Methods)

  • FMLPRec (2022): 首次将傅里叶变换引入序列推荐,通过自适应滤波在频率域捕获用户长期和短期兴趣的周期性模式。
  • BSARec (2024): 结合时域和频率域分析,通过在频率域进行自适应滤波来减少嵌入矩阵中的噪声。
  • FEARec (2023): 利用傅里叶变换进行自适应滤波,有效识别和管理周期性模式,增强用户行为序列的表示学习。

5.3.3. 自监督方法 (Self-supervised Methods)

  • ContrastVAE: 通过掩码语言模型 (Masked Language Model, MLM) 中的 cloize task 建模物品间的过渡,学习鲁棒表示。
  • DuoRec (2022): 采用双重数据增强和对比学习 (Contrastive Learning) 来学习鲁棒的序列表示,以解决数据稀疏性问题。
  • CLRec (2022): 旨在通过数据增强和对比学习来学习更丰富的表示,从而解决数据稀疏性问题并强化模型的潜在序列表示。
  • SRRec (2023): 专注于解决物品嵌入退化 (item embedding degradation) 问题。

5.3.4. 意图学习方法 (Intent Learning Methods)

  • ICLRec (2022): 基于自注意力机制的意图对比学习模型,利用新颖的对比自监督学习目标来建模用户意图。
  • ELCRec (2024): 引入意图原型 (intent prototypes) 来增强意图学习,特别是在稀疏数据场景下提升性能和噪声鲁棒性。
  • ICSRec (2024): 采用自监督对比学习来捕获用户意图,进一步提升推荐效果。
  • IDCLRec (2025): 通过意图解耦 (intent decoupling) 和对比学习来解决长尾效应和稀疏性问题。

5.4. 实现细节

  • 公共参数: 嵌入维度 DD 固定为 64,最大序列长度 NN 限制为 50。
  • 温度参数: 对比学习中的温度参数 τ\tau 设置为 1.0。
  • 超参数: 意图对比损失权重 α\alphaβ\beta{0.1,0.2,0.3,0.4,0.5}\{0.1, 0.2, 0.3, 0.4, 0.5\} 中选择。频率边界 pp{1,3,5,7,9,11,13}\{1, 3, 5, 7, 9, 11, 13\} 中选择。
  • 优化器: 使用 Adam 优化器 (Kingma, 2017)。
  • 学习率: 学习率设置为 10310^{-3}
  • Dropout 率: Dropout 率设置为 0.5。
  • 计算资源: 所有实验在 NVIDIA GeForce RTX 2080 Ti GPU (11GB) 上进行。
  • 基线实现: 部分基线模型(如 ContrastVAE, ICLRec, DuoRec, ICSRec, FEARec, BSARec)使用了作者提供的代码实现;其他基线(如 GRU4Rec, SASRec, Caser, FMLPRec, ELCRec, IDCLRec)则参考了公开的实现或论文描述进行复现。

6. 实验结果与分析

6.1. 核心结果分析 (RQ1)

RQ1: FICLRec 与最先进的序列推荐模型相比表现如何? 实验结果展示在下表 (原文 Table 5) 中,对比了 FICLRec 与各种基线模型在 HR@KNDCG@K 指标上的性能。

以下是原文 Table 5 的内容:

Dataset MetricCaser GRURcSRcLRcARc BARecRTRcSRc onrastADoRc CLRcELCRc CScFCLRpv.
BeautyHR@50.0159 0.01750.0338 0.03550.0597 0.07050.04360.0322 0.04600.0548 0.0440 0.0498 0.0677 0.0724 2.70%
HR@100.0226 0.02870.0525 0.05610.0881 0.09870.06730.05480.07280.08440.0650 0.0742 0.0930 0.10072.03%
HR@200.0427 0.04610.0800 0.08470.1248 0.13450.10050.08320.10900.12080.0935 0.1048 0.1271 0.13903.35%
NDCG@50.0097 0.01050.0217 0.02220.0369 0.05040.02870.01950.03060.03440.0288 0.0341 0.0481 0.05162.38%
NDCG@10 0.0132 0.01410.02770.0288 0.04600.05950.03640.02670.03920.04390.0355 0.0420 0.0562 0.06061.85%
SportsNDCG@20 0.0172 0.01850.0346 0.03610.0553 0.06850.04470.03390.04830.05310.0426 0.04970.0648 0.07032.63%
HR@50.0074 0.01030.0185 0.02050.03460.0408 0.02450.02220.02310.02990.0262 0.0265 0.0384 0.04387.35%
HR@100.0131 0.01820.0303 0.03140.0525 0.05890.04070.03600.03700.04560.0400 0.0410 0.0548 0.06235.77%
HR@200.0224 0.03040.04530.04830.0758 0.08390.06280.05570.05620.06690.0593 0.0634 0.0770 0.08855.48%
NDCG@50.0048 0.00640.0119 0.01360.0198 0.02840.01560.01440.01530.01890.0178 0.0177 0.0256 0.03005.63%
NDCG@10 0.0066 0.0090 NDCG@20 0.0089 0.01200.0156 0.01710.0256 0.03140.0342 0.04050.02090.01890.01980.02400.0222 0.0224 0.0318 0.03594.97%
ToysHR@50.0194 0.02130.02640.02380.02460.02930.0271 0.0280 0.0374 0.04254.94%
HR@100.0076 0.01120.04340.04720.0672 0.07950.04810.04130.05950.06530.0555 0.0579 0.0766 0.08203.14%
HR@200.0144 0.02020.0614 0.06850.0984 0.10620.07260.06030.08440.09290.0774 0.0828 0.1038 0.10922.82%
NDCG@50.0249 0.03240.0853 0.09780.1328 0.14120.01050.10710.11380.12890.1063 0.1139 0.1364 0.14714.18%
0.0044 0.00680.0294 0.03190.0395 0.05770.03300.02410.04090.03870.0395 0.0406 0.0557 0.05912.43%
NDCG@20 0.0092 0.0127NDCG@10 0.0066 0.00960.0352 0.04120.03870.0496 0.0663 0.0582 0.07510.0409 0.04900.0303 0.04440.0489 0.05630.04760.0538 0.05650.0465 0.0486 0.0646 0.0679 0.0728 0.07742.41%
YelpHR@50.0108 0.01400.04610.05670.0234 0.02273.06%
HR@100.0186 0.02400.01380.01820.0261 0.02560.02300.01820.01080.02700.0268 0.031918.15%
HR@200.0246 0.03040.04420.04260.03980.03310.01950.04450.0380 0.0391 0.0622 0.06550.0441 0.052117.08%
NDCG@50.0321 0.04240.0419 0.05110.0702 0.07070.06690.05650.0345 0.00650.07290.0148 0.01430.0710 0.082613.31%
NDCG@10 0.0091 0.01180.00660.00860.0083 0.01180.0112 0.01660.0162 0.0225 0.02170.0146 0.02000.0113 0.01610.00930.0171 0.02270.0195 0.01950.0170 0.020218.13%
NDCG@20 0.0125 0.01650.01610.0151 0.02030.0290 0.02870.02680.02200.01300.02990.0256 0.02610.0226 0.0266 0.0293 0.034217.18% 14.38%
LastFMHR@50.0193 0.02390.03670.03760.03120.04680.03940.03030.02660.0459 0.0569
HR@100.0367 0.03580.04040.03760.04500.06790.0468 0.033921.58%
HR@200.0550 0.04950.0560 0.09170.06420.0615 0.08620.0615 0.10640.0615 0.08620.0143 0.07980.10090.0587 0.08810.0688 0.05140.0679 0.0853 0.1018 0.121125.63% 13.82%
NDCG@50.0146 0.01550.02600.0890 0.02610.02630.03380.02630.02130.03460.02870.0193 0.01850.0346 0.041319.36%
NDCG@10 0.0200 0.01940.03200.03390.03380.03920.03380.02530.04130.03480.0246 0.02080.0415 0.050321.20%
NDCG@20 0.0245 0.02280.0410 0.04020.04000.05040.04000.03430.04960.04220.0300 0.0252 0.0501 0.059417.86%

主要发现:

  1. FICLRec 整体表现最佳: 在所有五个数据集上,FICLRec 在 HR@KNDCG@K 的所有指标上都显著优于所有基线模型。这证明了 FICLRec 在处理用户意图和数据稀疏性方面的优越性。
  2. 意图学习模型 (如 ICSRec) 的优势: ICSRec 作为最先进的意图学习模型,通常优于传统模型和一些频率域模型,这表明显式地捕获用户意图对于序列推荐是有效的。FICLRec 在此基础上通过频率域增强和频率对比学习进一步提升了性能。
  3. 频率域模型的有效性: FMLPRec, BSARec, FEARec 等频率域方法通常优于传统方法,表明从频率域分析用户行为能够捕获有用的模式,例如周期性兴趣。
  4. 对比学习的贡献: DuoRec, CLRec 等引入对比学习的模型表现良好,尤其是在数据稀疏的场景下,证明了对比学习在学习鲁棒表示方面的作用。
  5. 稀疏数据集上的显著提升:YelpLastFM 这些可能数据更稀疏或用户行为模式更复杂的 Ldataset 上,FICLRec 的提升幅度尤其显著(例如 Yelp 上提升 13.85%,LastFM 上提升 16.93%),这表明 FICLRec 提出的频率对比学习有效缓解了数据稀疏性的负面影响。

具体提升:

  • Beauty:平均提升 2.03%

  • Sports:平均提升 4.87%

  • Toys:平均提升 2.50%

  • Yelp:平均提升 13.85%

  • LastFM:平均提升 16.93%

    这表明 FICLRec 的创新性频率增强和对比学习策略,能够更准确地捕捉用户意图,并在不同数据集上均展现出强大的推荐性能。

6.2. 消融实验 (RQ2)

RQ2: FICLRec 的各个组件如何影响其整体性能? 为了验证 FICLRec 中关键组件的有效性,论文进行了消融实验。实验主要移除了以下组件,并对比了 HR@20NDCG@20 指标:

  • (A) FICLRec: 完整的 FICLRec 模型。

  • (B) w/o FR: 移除频率重分布结构 (Frequency Redistribution Structure),即不进行频率域特征提取和融合。这相当于模型退化为纯粹的时域自注意力编码器,无法利用频率信息。

  • (C) w/o HFAL: 移除高频对齐损失 (High-Frequency Alignment Loss, Lhfal\mathcal{L}_{hfal}),即高频意图对比学习中不再强制要求正样本的高频分量一致。

  • (D) w/o CCAL: 移除簇中心对齐损失 (Cluster-level Center Alignment Loss, Lccal\mathcal{L}_{ccal}),即低频意图对比学习中不再强制意图表示与意图原型对齐。

  • (E) ICSRec: 作为与 FICLRec 最接近的意图学习基线模型(不包含频率域分析),用于直接对比频率域组件的贡献。

    以下是原文 Table 6 的内容:

    ModelDataset
    BeautySportsToysYelpLastFM
    HRNDCGHRNDCGHRNDCGHRNDCGHRNDCG
    (A) FICLRec0.13900.07030.08850.04250.14710.07740.08260.03420.12110.0594
    B w/o FR0.13150.06690.07740.03800.13450.07270.07320.03020.10830.0504
    () w/o HFAL0.13690.06940.08460.04130.14580.07720.07600.03160.12570.0546
    (D) w/o CCAL0.13670.06890.08360.04060.14440.07610.07610.03150.11380.0528
    (E) ICSRec0.12710.06480.07700.03740.13640.07280.07100.02930.10180.0501

结果分析:

  1. 频率重分布结构 (w/o FR) 的重要性: 移除 FR 模块后 (B),模型性能在所有数据集上均显著下降。这表明频率重分布结构在提取和融合频率域特征方面起到了关键作用,它能够有效区分和增强对短期意图的识别,从而提升模型对序列动态变化的捕获能力。

  2. 高频对齐损失 (w/o HFAL) 的贡献: 移除 HFAL 后 (C),模型性能也有所下降,尤其是在一些数据集上(如 Yelp, LastFM)。这说明 HFAL 对于强化高频意图的表示学习是有效的,它通过频率域的显式对齐,使得模型能更好地捕捉序列中的短期、快速变化的意图。值得注意的是,在 LastFM 数据集上,移除 HFAL 甚至比完整模型表现更好,这可能暗示在某些特定数据集上,过度的频率对齐可能会引入噪声或限制模型的泛化能力,或者其超参数需要更精细的调整。

  3. 簇中心对齐损失 (w/o CCAL) 的贡献: 移除 CCAL 后 (D),模型性能也普遍下降。这验证了 CCAL 在低频意图对比学习中的作用,它通过强制意图表示与意图原型对齐,有效地捕获和稳定了用户的长期偏好,这对于缓解数据稀疏性问题至关重要。

  4. 与 ICSRec 的比较: FICLRec (A) 始终优于 ICSRec (E),后者是一个先进的意图学习模型但缺乏频率域分析。这直接证明了 FICLRec 引入频率域信息和频率对比学习的有效性,能够进一步提升意图学习模型的性能。

    总结: 消融实验结果表明,FICLRec 中的每个关键组件,包括频率重分布结构、高频对齐损失和簇中心对齐损失,都对模型的整体性能做出了积极贡献。特别是频率重分布结构和意图对比学习的结合,显著增强了模型捕获用户高频和低频意图的能力,并缓解了数据稀疏性问题。

6.3. 参数分析 (RQ3)

RQ3: FICLRec 对超参数的敏感度如何? 论文对三个关键超参数进行了敏感性分析:ICL 损失权重 α\alphaβ\beta、意图数量 KK 和边界频率 pp

6.3.1. ICL 损失权重 α\alphaβ\beta 的影响

下图 (原文 Figure 4) 展示了不同权重 α\alphaβ\beta 对模型性能的影响。

Fig. 4. Parameter sensitivity of the ICL loss weight.

分析:

  • α\alphaβ\beta 用于平衡高频意图对比学习和低频意图对比学习的重要性。
  • 实验结果显示,在所有数据集上,当 α=0.1\alpha = 0.1β=0.1\beta = 0.1 时,FICLRec 表现出最佳或接近最佳性能。
  • 这表明,即使对比学习损失的权重较低,它也足以对推荐任务产生积极影响。过高的权重可能导致模型过度关注自监督任务,从而损害主推荐任务的性能。这种低权重的配置也降低了超参数调优的负担。

6.3.2. 意图数量 KK 的影响

下图 (原文 Figure 5) 展示了不同意图数量 KK 对模型性能的影响。

Fig. 5. Parameter sensitivity of the intent number.

分析:

  • KK 代表在低频意图对比学习中意图原型的数量。
  • 实验结果显示,最佳的 KK 值在不同数据集上有所不同:
    • Beauty: K=1024K = 1024
    • Sports: K=512K = 512
    • Toys: K=2048K = 2048
    • Yelp: K=256K = 256
    • LastFM: K=2048K = 2048
  • 这表明意图数量 KK 的选择需要根据数据集的特性(如用户数量、物品数量、行为多样性)进行调整。一个合适的 KK 值能够更好地捕捉数据中潜在的稳定意图模式。过小可能无法区分足够的意图,过大可能导致意图过于细碎或引入噪声。

6.3.3. 边界频率 pp 的影响

下图 (原文 Figure 6) 展示了不同边界频率 pp 对模型性能的影响。

分析:

  • pp 是频率重分布结构中的一个关键超参数,它决定了如何划分序列的低频和高频分量。ωp=p/2+1\omega_p = p/2+1
  • 实验结果显示,最佳的 pp 值在不同数据集上有所不同:
    • Beauty: p=13p = 13
    • Sports: p=7p = 7
    • Toys: p=7p = 7
    • Yelp: p=13p = 13
    • LastFM: p=5p = 5
  • 这表明不同数据集的用户行为序列可能具有不同的频率特性。例如,某些数据集的用户短期兴趣变化可能更频繁(需要更小的 pp 来捕捉更多高频信息),而另一些数据集可能更多地受长期偏好驱动(需要更大的 pp 来突出低频信息)。选择合适的边界频率能够帮助模型更好地分离和利用低频(长期)和高频(短期)意图。

6.4. 有效性在噪声或稀疏数据上 (RQ4)

RQ4: FICLRec 在数据稀疏性和噪声交互下的表现如何?

6.4.1. 鲁棒性对噪声数据 (Robustness to Noisy Data)

为了评估 FICLRec 处理噪声交互的能力,实验在训练数据中引入了不同比例的负样本(即噪声),比例分别为 5%、10%、15% 和 20%。 下图 (原文 Figure 7) 展示了在不同噪声率下 NDCG@20 的表现。

分析:

  • 随着噪声率的增加,所有模型的性能都普遍下降,这是符合预期的。
  • 然而,FICLRec 在所有噪声率下始终优于基线模型。
  • 特别是在噪声率达到 15% 时,FICLRec 甚至能够保持相对较好的性能,而其他模型的性能下降更为明显。
  • 这表明 FICLRec 具有更强的噪声鲁棒性。这可能归因于其频率对比学习机制,它通过在频率域对齐正样本并学习判别性表示,使得模型能够更好地过滤掉噪声信息,从而对不准确的用户交互具有更强的抵抗力。

6.4.2. 鲁棒性对稀疏数据 (Robustness to Sparse Data)

为了评估 FICLRec 在数据稀疏性方面的鲁棒性,实验通过随机抽取训练数据的 75%、50% 和 25% 来模拟不同程度的稀疏性,而测试数据保持不变。 下图 (原文 Figure 8) 展示了在不同稀疏率下 NDCG@20 的表现。

分析:

  • 随着训练数据量的减少(稀疏性增加),所有模型的性能都随之下降。
  • FICLRec 在各种稀疏程度下都保持了最佳性能。
  • 在极端稀疏(25% 训练数据)的情况下,FICLRec 的优势更加明显,其性能下降幅度小于其他模型。
  • 这证明了 FICLRec 在处理数据稀疏性方面的有效性。频率对比学习通过在高频和低频意图层面的自监督任务,从有限的数据中学习到更丰富和鲁棒的意图表示,从而缓解了数据稀疏性对推荐性能的负面影响。

6.5. 物品嵌入质量分析 (RQ5)

RQ5: 物品嵌入质量与传统方法相比如何? 为了评估 FICLRec 学习到的物品嵌入质量,论文进行了定性和定量分析。这里展示了 Beauty 和 Yelp 数据集上的结果。

6.5.1. 定性分析 (Qualitative Analysis)

下图 (原文 Figure 9) 使用 t-SNE (t-Distributed Stochastic Neighbor Embedding) 对 Beauty 数据集上的物品嵌入进行了可视化。

分析:

  • t-SNE 是一种非线性降维技术,用于在高维数据中寻找模式并将其可视化到二维或三维空间中。

  • Figure 9 可以看出,FICLRec 学习到的物品嵌入在特征空间中形成了更清晰、更紧密的簇,并且不同簇之间的区分度更高。

  • 这表明 FICLRec 能够学习到高质量的物品表示,这些表示在语义上更加凝聚,能够更好地捕捉物品的内在特征和相似性,从而有利于更准确的推荐。

    下图 (原文 Figure 10) 定性展示了 FICLRec 如何通过关注长尾物品来提升推荐质量。

    分析:

  • Figure 10 通过具体的例子(如玩具物品)说明了 FICLRec 如何改善长尾物品的推荐。

  • 长尾物品通常交互次数较少,传统模型难以学习其有效的表示。FICLRec 通过其频率增强意图对比学习,能够从有限的交互中提取更具判别性的意图信息,从而间接提升了对长尾物品的表示质量和推荐能力。

  • 图中展示了 FICLRec 能够为长尾物品提供更准确的相似物品,这对于提升整体推荐系统的覆盖率和多样性至关重要。

6.5.2. 定量分析 (Quantitative Analysis)

论文没有提供具体的定量分析表格,但文字描述提到 FICLRec 在物品嵌入质量方面表现出色,尤其是在用户交互频繁且多样的场景中,模型能够学习到高质量的物品表示。这与定性分析中的 t-SNE 聚类结果和长尾物品推荐能力的提升相符。

6.6. 案例研究 (RQ6)

RQ6: FICLRec 是否比 ICSRec 更有效地关注高频特征? 为了回答这个问题,论文对 FICLRec 和 ICSRec(一个不包含频率域分析的意图对比学习模型)的注意力权重进行了可视化。 下图 (原文 Figure 11) 展示了在 Yelp 数据集上平均注意力权重的可视化。

Fig. 11. Visualizations of average attention weights (dataset:Yelp).

分析:

  • Figure 11 中的热力图显示了模型在生成下一个物品推荐时,对历史序列中不同位置物品的关注程度。颜色越深表示注意力权重越高。
  • 从图中可以看出,FICLRec 倾向于将更高的注意力权重分配给序列中最近的几个物品(即高频特征),这表明它能够更有效地捕捉用户当前的短期兴趣和意图。
  • 相比之下,ICSRec 的注意力分布可能更分散或更均匀,未能像 FICLRec 那样突出最近的、高频的交互。
  • 这验证了 FICLRec 提出的频率重分布结构和高频意图对比学习确实能够帮助模型更好地聚焦于序列中的高频特征,从而更准确地识别用户即时变化的意图。

6.7. 长尾与短序列分析 (Long-tail and Short Sequence Analysis)

论文进一步分析了 FICLRec 在处理不同序列长度和物品流行度(长尾物品)方面的表现。

6.7.1. 序列长度分布

以下是原文 Table 7 的内容,展示了不同数据集上用户序列长度的分布:

Dataset[ < 10](prop.)[10, 20](prop.)[20, 30](prop.)[30, 40](prop.)[ ≥ 40](prop.)
Beauty17353(77.60%)3152(14.10%)1065(4.76%)367(1.64%)426(1.90%)
Sports28478(79.99%)4555(12.80%)1480(4.16%)395(1.11%)690(1.94%)
Toys16345(84.20%)2320(11.95%)476(2.45%)130(0.67%)141(0.73%)
Yelp26550(87.25%)2948(9.69%)692(2.27%)135(0.44%)106(0.35%)
LastFM1090(100%)0(0%)0(0%)0(0%)0(0%)

分析:

  • 除了 LastFM(所有序列长度都小于 10),其他四个数据集都显示出大部分用户序列长度较短([<10][< 10] 占比超过 77%)。这反映了序列推荐中普遍存在的短序列问题。
  • LastFM 的所有用户序列长度都小于 10,这使得它对捕获短期意图提出了更高的要求。

6.7.2. 流行度分布

以下是原文 Table 8 的内容,展示了不同数据集上物品流行度的分布(基于交互次数):

Dataset[ < 10](prop.)[10, 20](prop.)[20, 30](prop.)[30, 40](prop.)[ ≥ 40](prop.)
Beauty17240(77.10%)3875(17.33%)729(3.25%)254(1.14%)265(1.18%)
Sports27740(77.92%)6450(18.12%)946(2.66%)271(0.76%)191(0.54%)
Toys15224(78.43%)3214(16.55%)552(2.84%)217(1.12%)205(1.06%)
Yelp20977(68.93%)6587(21.65%)1558(5.12%)631(2.07%)678(2.23%)
LastFM302(27.71%)263(24.13%)111(10.17%)78(7.16%)336(30.83%)

分析:

  • 大多数数据集(Beauty, Sports, Toys, Yelp)都显示出严重的长尾效应 (long-tail effect),即大部分物品的交互次数很少([<10][< 10] 占比很高)。这意味着推荐系统需要有效地处理长尾物品,否则会倾向于推荐热门物品。
  • LastFM 的流行度分布相对均匀,甚至有相当一部分物品的交互次数非常多([40][≥ 40] 占比 30.83%)。

6.7.3. 子组序列分析

下图 (原文 Figure 12) 展示了在 Sports 数据集上,不同序列长度子组的性能对比。

Fig. 12. Subgroup sequences analysis on Sports dataset.

分析:

  • Figure 12 比较了 FICLRec 和代表性基线模型在 Sports 数据集上不同序列长度分组 ([<10][< 10][10, 20]) 的 HR@20 表现。
  • FICLRec 在短序列([<10][< 10])和中等序列([10, 20])上均取得了最佳性能。这表明 FICLRec 能够有效地从短序列中提取有意义的意图信息,并对较长的序列也能保持良好的性能。
  • 论文提到对于流行物品(例如,[30, 40][40][≥ 40] 交互的物品),FICLRec 可能没有完全超越其他模型。这可能是因为流行物品的模式相对容易学习,而 FICLRec 的优势主要体现在更复杂、更稀疏的长尾物品和高频意图的捕获上。
  • 总的来说,FICLRec 在各种序列长度和物品流行度分布下都展现了出色的性能,尤其是在长尾物品和短序列推荐方面,这对于提升个性化推荐的整体质量具有重要意义。

6.8. 训练效率 (Training Efficiency)

论文分析了 FICLRec 与其他基线模型的训练效率,包括浮点运算次数 (Flops)、每个 Epoch 所需时间 (Time/Epoch)、总训练时间 (Total Time) 和模型参数数量 (# params)。

以下是原文 Table 9 的内容:

MethodsFlopsSportsToys
epochs/epochtotal time# paramsepochs/epochtotal time# params
SASRec1.272G882722.01,278,208246936.9866,496
DuoRec1.272G1037046.41,278,2081512562.9866,496
FEARec1.258G114323613.71,278,208152223564.9866,496
ICLRec1.258G30035175.01,278,2723001785.0866,560
ICSRec1.258G143164107.31,278,27217489258.1866,560
FICLRec (ours)1.468G123188116.91,295,42415793243.4883,712

分析:

  • 计算量 (Flops): FICLRec 的浮点运算次数略高于其他基线模型(如 SASRec, DuoRec, FEARec 等),这主要归因于其引入的频率转换操作 (N log(N))。然而,这种增加是可接受的,并且带来了显著的性能提升。

  • 训练时间:

    • Sports 数据集上,FICLRec 的总训练时间 (116.9 分钟) 介于 ICSRec (107.3 分钟) 和 ICLRec (175.0 分钟) 之间,显著低于 FEARec (613.7 分钟)。
    • Toys 数据集上,FICLRec 的总训练时间 (243.4 分钟) 略低于 ICSRec (258.1 分钟),也远低于 FEARec (564.9 分钟)。
  • 参数数量 (# params): FICLRec 的参数数量与大多数基线模型相似,并没有显著增加,这表明其模型复杂度并未大幅度提升。

    总结: 尽管 FICLRec 引入了额外的频率域处理,导致浮点运算略有增加,但其训练时间仍在可接受的范围内,并且其显著的性能提升证明了这种计算开销是值得的。相比于一些更复杂的基线模型(如 FEARec),FICLRec 甚至展现出了更好的训练效率。

7. 总结与思考

7.1. 结论总结

本研究提出了一种新颖的频率增强意图对比学习推荐模型 (FICLRec),旨在解决序列推荐中高频意图捕获不足和数据稀疏性两大挑战。FICLRec 通过以下关键创新实现了其目标:

  1. 频率域意图识别: 创新性地利用用户潜在意图的频率信息,通过频率重分布结构有效分离和融合序列中的高频(短期动态兴趣)和低频(长期稳定偏好)分量,从而增强对高频意图的识别能力。
  2. 频率对比学习: 引入了一个包含高频意图对比学习低频意图对比学习的多任务学习框架。高频对比学习通过频率对齐损失确保相似序列的高频意图一致性;低频对比学习则通过意图原型捕获和稳定长期偏好。这两种对比学习机制协同工作,有效缓解了数据稀疏性问题,并学习到更鲁棒、更具判别性的用户意图表示。
  3. 卓越的性能和鲁棒性: 在五个真实世界数据集上进行的广泛实验表明,FICLRec 在各项评估指标上均显著优于一系列最先进的基线模型,并且在噪声数据和稀疏数据环境下展现出强大的鲁棒性。消融实验也验证了模型各组件的有效性。

7.2. 局限性与未来工作

论文作者指出了 FICLRec 的一些局限性并提出了未来的研究方向:

  1. 计算复杂度: 尽管 FICLRec 在性能上取得了显著提升,但引入频率变换确实增加了计算开销(例如 N log N 的复杂度)。在超长序列场景下,这可能成为一个瓶颈。

  2. 动态意图原型: 当前的意图原型 (intent prototypes) 是通过 K-Means 聚类静态获得的,可能无法捕捉用户意图的动态演变。

  3. 长尾物品推荐: 对于极度流行(高频)的物品,FICLRec 的优势不如在长尾物品上明显。

    基于这些局限性,作者提出了以下未来研究方向:

  4. 高效频率转换: 探索更高效的频率变换方法,以降低计算复杂度,同时保持模型性能和鲁棒性。

  5. 动态意图原型学习: 研究如何动态地学习和更新意图原型,以更好地适应用户兴趣的演变。

  6. 多模态意图: 考虑融合更多模态的信息(如文本、图像)来进一步丰富意图表示。

7.3. 个人启发与批判

7.3.1. 个人启发

  • 频率域视角的重要性: 这篇论文提供了一个非常新颖且有效的视角来理解用户行为。将序列推荐问题从单纯的时域扩展到频率域,能够以一种全新的方式解耦用户意图。低频对应长期偏好,高频对应短期兴趣,这种映射直观且具有强大的解释力。对于我来说,这启发了在其他序列任务中(如时间序列预测、事件流分析)也可以尝试引入频率域分析,以捕获不同时间尺度上的模式。
  • 多尺度意图建模: 显式地将用户意图划分为高频和低频,并针对性地设计对比学习任务,这种精细化的意图建模方法是值得借鉴的。很多推荐系统都试图捕获短期和长期偏好,但 FICLRec 的方法提供了一个清晰的框架。这对于设计更个性化、更及时响应用户兴趣变化的推荐系统具有指导意义。
  • 对比学习在稀疏数据中的潜力: 论文再次证明了对比学习在缓解数据稀疏性方面的强大能力。通过构建自监督任务,模型能够在有限的标注数据下学习到更鲁棒的表示。特别是频率域上的对齐损失,为对比学习增加了新的约束,使其更具针对性。
  • 跨领域应用潜力: FICLRec 的核心思想——频率分解和对比学习——不仅仅局限于推荐系统。例如,在自然语言处理中,可以将其应用于分析文本序列中词语或短语的高频(上下文相关)和低频(主题相关)语义;在图像处理中,可以分析像素块的纹理(高频)和颜色(低频)特征。

7.3.2. 批判性思考与潜在改进

  • 频率划分的固定性: 论文通过超参数 pp 来固定低频和高频的边界,这在不同数据集上需要手动调整。未来可以探索自适应的频率划分机制,让模型根据数据特性自动学习最佳的边界,或者引入可学习的滤波器而不是硬性的截断。
  • 计算效率的进一步优化: 尽管论文提到 N log N 的复杂度是可接受的,但对于超长序列或大规模实时推荐系统,仍然存在挑战。可以研究近似傅里叶变换、稀疏傅里叶变换或基于局部敏感哈希 (Locality Sensitive Hashing, LSH) 的频率域处理方法,以降低计算复杂度。
  • 意图原型的动态性: K-Means 聚类在训练开始前或每隔一定周期计算意图原型,这可能无法实时捕捉用户意图的快速演变。引入更动态的聚类方法(如在线聚类)或基于元学习 (meta-learning) 的意图原型更新机制,可能会更好地适应用户兴趣的漂移。
  • 高频和低频意图的交互: 模型目前通过门控机制融合高频和低频分量。可以进一步探索这两种意图之间更复杂的交互模式,例如,高频意图如何在低频意图的“背景”下被解读,或者低频意图如何为高频意图提供“语境”。
  • 负样本构建策略: InfoNCE 损失的性能对负样本的质量非常敏感。论文中提及 mask(i, k) 来避免将正样本视为负样本。可以探索更复杂的负样本采样策略,例如硬负样本挖掘 (hard negative mining),以进一步提升对比学习的效果。
  • 泛化到更复杂的数据模态: 论文主要关注离散的交互序列。在包含文本评论、图片等多模态信息的推荐场景中,如何将频率域分析扩展到这些复杂模态,并进行有效的多模态意图融合,是一个值得探索的方向。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。