论文阅读《Learning Vector-Quantized Item Representation for Transferable Sequential Recommenders》

论文阅读《Learning Vector-Quantized Item Representation for Transferable Sequential Recommenders》

发表在WWW 2023上的文章,作者是中国人大高瓴人工智能学院的侯宇蓬

摘要

在最近的大语言模型推荐系统当中,通常采用的是利用预训练语言模型(PLM)将项目文本描述信息(item text)编码为项目表示(item representation)。这种情况下,项目文本描述信息和项目表示之间的绑定可能过于紧密,会导致过度强调文本描述信息的特征的作用、夸大领域间的gap的负面影响等潜在问题。对此,本文提出了VQ-Rec(Vector-Quantized item representation for transferable sequential Recommendation),一种学习可转移的序列推荐系统的向量量化项目表示的方法。该方法的新颖之处在于在生成项目表示的时候,不同于过往的"text ==> representation",而是"text ==> code ==> representation"。具体地,首先将项目文本描述信息映射到离散索引向量(item code),然后使用这些索引在code embedding table中进行查找来生成项目表示。本文进一步提出了一种增强的对比学习的预训练方法,使用半合成和混合域代码表示作为hard negative。此外,设计了一种新的基于可微排列网络的跨域微调方法。

问题形式化

一个用户的历史行为序列: s = { i 1 , i 2 , ⋯   , i n } s = \{i_1,i_2,\cdots,i_n\} s={ i1,i2,,in},并且历史行为序列中的每个物品关联唯一的物品id,且都有对应的描述文本: t i = { w 1 , w 2 , ⋯   , w c } t_i = \{w_1,w_2,\cdots,w_c\} ti={ w1,w2,,wc} w j w_j wj是共享词汇表中的单词, c c c表示描述文本的截断长度。

模型的输入是用户的历史序列和物品的描述文本信息,输出的是物品表示和序列表示,并以此来进行推荐任务预测。

方法论

在这里插入图片描述

Vector-Quantized Item Representation

关于Vector-quantization和Product Quantization的详细介绍可以参考矢量量化积量化 。我在这简单做下介绍:

  • Vector-quantization:将矢量空间 R k R^{k} Rk 中的k维矢量映射到矢量的有限集合 Y = { y i ; i = 1 , ⋯   , N } Y=\{y_i;i=1,\cdots,N\} Y={ yi;i=1,,N} 。每个向量 y i y_i yi称为code vector(代码向量)或codeword(码字)。所有码字的集合称为codebook(码本)。
  • Product Quantization:乘积量化(PQ)算法是和VLAD算法是由法国INRIA实验室一同提出来的,为的是加快图像的检索速度,在矢量量化(Vector Quantization,VQ)的基础上发展而来。在做乘积量化的编码阶段时,我们应尽可能使得切分后的各个子空间的方差比较接近,最理想的情况是各个子空间的方差都相等。在聚类的时候对聚类中心寻找对应的最优旋转矩阵,使得所有子空间中各个数据点到对应子空间的类中心的 L2损失的求和最小。通俗来讲,OPQ 希望通过训练样本得到一个正交矩阵R(M阶矩阵),将原始特征向量旋转后再进行乘积量化,以使子向量间相关性减小。
    在这里插入图片描述
  1. Vector-Quantized Code learning
    本部分的工作主要研究如何将项目文本映射到离散代码中。为了利用自然语言文本的通用性,我们首先通过plm将项目的描述性文本编码为文本编码。然后,在优化积量化(optimized product quantization)的基础上,建立了文本编码与离散码之间的映射关系。整个过程描述如下:
  • 1.1 i t e m t e x t → P L M t e x t e n c o d i n g s item text \overset{PLM}{\rightarrow} text encodings itemtextPLMtextencodings: x i ∈ R d W x_i \in {R^{d_W}} xiRdW x i = B E R T ( [ [ C L S ] ; w 1 , ⋯   , w c ] ) (1) x_i = BERT([[CLS];w_1,\cdots,w_c])\tag{1} xi=BERT([[CLS];w1,,wc])(1)
  • 1.2 t e x t e n c o d i n g s → P Q d i s c r e t e c o d e s text encodings \overset{PQ}{\rightarrow} discrete codes textencodingsPQdiscretecodes:基于PQ(积量化)将text encondings x i x_i xi映射到一个离散的索引向量中 c i \mathbf{c_i} ci。PQ定义了D个向量集,每个向量集对应M个质心嵌入(centroid embnedding),定义
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值