返回介绍

数学基础

统计学习

深度学习

工具

Scala

十八、DMR [2020]

发布于 2023-07-17 23:38:25 字数 27896 浏览 0 评论 0 收藏 0

  1. MatchingRanking 是推荐系统中信息检索的两个经典阶段。

    • matching 阶段(又称作候选生成 candidate generation)通过将 useritem 进行 matching ,从而从整个item 集合中检索一小部分候选对象candidate

      基于协同过滤的方法被广泛用于计算 user-to-item 的相关性,并选择最相关的item

    • ranking 阶段通过 ranking 模型为不同 matching 方法生成的候选者打分,并将 top-N 打分的 item 呈现给最终用户。

    用户点击是推荐系统中非常重要的评估指标,它是所有后续转化行为的基础。click-through rate: CTR 的预估已经引起了学术界和工业界的广泛关注。

    个性化personalization 是提高CTR预估性能和提升用户体验的关键。已经提出了很多基于深度学习的方法来进行CTR 预估,这些方法可以学习隐式特征交互并提升模型容量capability 。这些方法大多数都关注于设计自动特征交互的网络结构。

    最近,有人提出了几种模型来从点击、购买之类的用户行为数据中提取用户兴趣,这对于用户没有明确显示其兴趣的推荐配置setting而言非常重要。为了表示用户的兴趣,这些模型考虑了用户交互的 item 和目标 item 之间的 item-to-item 相关性。

    但是,这些模型主要聚焦于用户 representation,而忽略了表达 user-to-item 相关性。user-to-item 相关性直接衡量了用户对目标 item 的个性化偏好,并在基于协同过滤的 matching 方法中精心建模。

    基于这些观察,论文 《Deep Match to Rank Model for Personalized Click-Through Rate Prediction》提出了一种新的模型,称作 Deep Match to Rank: DMR 。该模型将协同过滤的思想和 matching 思想相结合,用于 CTR 预估的 ranking 任务,从而提高了 CTR 预估的性能。

    DMR 包含 User-to-Item NetworkItem-to-Item Network 这两个子网来代表 user-to-item 的相关性。

    • User-to-Item Network ,论文通过embedding 空间中 user embeddingitem embedding 的内积来表达用户和 item 之间的相关性。其中 user embedding 是从用户行为中抽取而来。

      考虑到最近的行为可以更好地反映用户的时间的兴趣temporal interest ,论文应用注意力机制来自适应地学习每种行为在行为序列中的权重,并考虑行为在序列中的位置position

      同时,论文提出一个辅助的match 网络 auxiliary match network 来推动更大larger 的内积从而代表更高的相关性,并帮助更好地拟合 User-to-Item Network

      辅助 match 网络可以视为一种 match 方法,其任务是根据用户的历史行为来预测下一个要点击的 item ,然后论文在 DMR 中共同训练 matching 模型和 ranking 模型。据作者所知,DMR 是第一个在 CTR 预估任务中联合训练matchingranking 的模型。

    • Item-to-Item Network,论文首先计算用户交互item 和目标 item 之间的 item-to-item 相似度,其中采用考虑了位置信息position information 的注意力机制。然后论文将item-to-item 相似性相加,从而获得了另一种形式的 user-to-item 相关性。

      注意,一般而言在 matching 阶段,候选者通常是通过多种 matching 方法生成的,以满足用户需求的多样性,并且不同方法之间的 user-to-item 相关性得分是不可比的not comparable 。但是在 DMR 中,可以以统一的方式将相关性强度进行比较。

    论文的主要贡献:

    • 论文指出捕获用户和 item 之间相关性的重要性,这可以使 CTR 预估模型更加个性化和有效。受此启发,论文提出了一种称作 DMR 的新模型,该模型在 mathcing 方法中应用协同过滤的思想,通过 User-to-ItemItem-to-Item Network 来表示相关性。
    • 论文设计了辅助 match 网络,可以将其视为 mathcing 模型,从而帮助更好地训练 User-to-Item Network。据作者所知,DMR 是第一个在 CTR 预估模型中联合训练 matchingranking 的模型。
    • 考虑到最近的行为对用户的动态兴趣贡献更大temporal interest ,论文在注意力机制中引入 positional encoding 来自适应地学习每个行为的权重。
    • 论文在公共数据集和工业数据集上进行了广泛的实验,证明了所提出的 DMRstate-of-the-art 的模型有着显著提升。
  2. 相关工作:

    • 特征交互:最近,基于深度学习的 CTR 预估模型备受关注并取得了显著的效果。与传统的线性模型相比,基于深度学习的方法可以增强模型容量 capability,并且通过非线性变换学习隐式特征交互。通过从高维稀疏特征中学习低维representation ,深度模型对罕见的特征组合有更好的估计estimation

      然而,实际应用中高维稀疏特征带来了很大的挑战:深度模型可能会过拟合overfit 。基于此,人们提出了不同的模型,以便更好地对特征交互进行建模,提高 CTR 预估的性能。

      • Wide & Deep 通过联合训练线性模型和非线性深度模型,从而结合了二者的优势。
      • Deep Crossing 应用深度残差网络来学习交叉特征。
      • PNNembedding layer 和全连接层之间引入一个 product layer,从而探索高阶特征交互。
      • AFM 基于对二阶特征交互建模的分解机 factorization-machine: FM,通过注意力机制来学习加权的特征交互。
      • DeepFMNFM 通过将 FM 与深度网络相结合,从而结合了低阶特征交互和高阶特征交互。
      • DCN 引入了 cross network 来学习某种有界阶次bounded-degree 特征交互。

      DMR 模型中,user-to-item 相关性的 representation 可以视为用户和 item 之间的一种特征交互。

    • 用户行为特征:和搜索排序search ranking 不同,在推荐系统和许多其他application 中,用户并没有清楚地表明他们的意图。因此,从用户行为中捕获用户兴趣对于 CTR 预估至关重要,而上述模型对此关注较少。

      • 可变长度的用户行为特征通常通过简单的均值池化转变为固定长度的向量,这意味着所有行为都同等重要。
      • DIN 通过加权 sum 池化来表示用户兴趣,其中每个用户行为相对于目标 item 的权重通过注意力机制自适应学习。
      • DIEN 不仅提取用户兴趣,而且建模兴趣的动态演变temporal evolution
      • DSIN 利用行为序列中的会话信息来建模兴趣演变。

      DMR 模型中,受 Transformer 的启发,论文将 positional encoding 引入注意力机制从而捕获用户的动态兴趣temporal interest

    • user-to-item 相关性:尽管取得了很大进展,但是这些方法侧重于用户 representation,而忽略了 user-to-item 相关性的表达,而后者直接衡量了用户对目标 item 的偏好强度。在提出的 DMR 中,论文关注表达 user-to-item 的相关性,从而提高个性化 CTR 模型的性能。

      • 基于协同过滤 collaborative filtering: CF 的方法在构建推荐系统的 matching 阶段非常成功。在这些方法中,item-to-item CF 因其在实时个性化方面的可解释性和效率而被广泛应用于工业推荐 setting 。通过预先计算好 item-to-item 的相似度矩阵,系统可以向用户推荐与该用户历史点击item 相似的 item

        为了计算 item-to-item 相似度,早期的工作侧重于统计量,例如余弦相似度和 Pearson 系数。基于深度学习的方法 NAIS 采用带注意力机制的 item-to-item CF,从而区分用户不同行为的重要性,这与 DIN 有相似的想法。

        item-to-item CF 可以视为获取 user-to-item 相关性的间接方法。

      • item-to-item CF 不同,基于矩阵分解的 CF 方法通过在低维空间中计算 user representationitem representation 的内积来直接计算useritem 相关性。以类似的基于内积的形式,人们提出了基于深度学习的方法来从用户的历史行为中学习 user representation ,这可以看作是矩阵分解技术的非线性泛化。

        《Deep neural networks for youtube recommendations》matching 视为极端多分类问题,其中点击预估问题变成了根据用户的历史行为准确地分类用户接下来将要点击的 item

        《Session-based recommendations with recurrent neural networks》GRU 应用到基于会话的推荐任务。

        TDM 使用 tree-based 方法来超越基于内积的方法。

      DMR 模型中,一方面论文使用 user representationitem representation 之间的内积来获得一种 user-to-item 的相关性;另一方面论文应用注意力机制来表示 item-to-item 的相似性,并进一步基于这种相似性来获得另一种 user-to-item 的相关性。

18.1 模型

  1. 这里我们详细介绍 Deep Match to Rank:DMR 模型的设计。

    • 首先我们从两个方面概述了基于深度学习的 CTR 模型的基本结构:特征表示feature representation、多层感知机multiple layer perceptron: MLP
    • 然后我们介绍建模 user-to-item 相关性的、带有两个子网的 DMR 的总体结构。

18.1.1 Feature Rpresentation

  1. 我们的推荐系统中包含四类特征:

    • 用户画像User Profile:包含用户 ID、消费水平等等。
    • Target Item 特征:包括item IDcategory ID 等等。
    • 用户行为 User Behavior:是用户交互的 item 形成的 item 序列。
    • 上下文 Context:包含时间、matching 方法、以及对应的 matching score 等。

    大多数特征都是离散型特征,可以将其转换为高维的 one-hot 向量。在基于深度学习的模型中,one-hot 向量通过 embedding layer 转换为低维稠密特征。

    例如,item IDembedding 矩阵可以表示为: $ \mathbf V=\left[\mathbf{\vec v}_1,\cdots,\mathbf{\vec v}_K\right]\in \mathbb R^{K\times d_v} $ ,其中: $ K $ 为item 集合的大小, $ d_v $ 为 embedding 向量维度, $ \mathbf{\vec v}_j\in \mathbb R^{d_v} $ 为第 $ j $ 个 itemembedding 向量。

    无需在 one-hot 向量和 embedding 矩阵之间进行复杂的矩阵乘法,embedding layer 通过查表 look up table 就可以获取 embedding 向量。

  2. 我们将离散特征 embeddingnormalized 的连续特征拼接起来,其中:用户画像User Profile 的拼接特征为 $ \mathbf{\vec x}_p $ 、用户行为User Behavior 的拼接特征为 $ \mathbf{\vec x}_b $ 、Target Item 的拼接特征为 $ \mathbf{\vec x}_t $ 、上下文Context的拼接特征为 $ \mathbf{\vec x}_c $ 。

    注意,用户行为序列包含很多个item,因此用User Behavior 的特征是由这些item 的特征向量列表拼接而成 $ \mathbf{\vec x}_b=\left[\mathbf{\vec e}_1||\cdots||\mathbf{\vec e}_T\right]\in \mathbb R^{(Td_e)\times 1} $ ,其中:

    • $ T $ 为用户行为序列的长度,由于不同用户的行为序列长度不同,因此 $ T $ 是可变的。
    • $ \mathbf{\vec e}_t\in \mathbb R^{d_e} $ 为第 $ t $ 个行为的特征向量, $ d_e $ 为对应的维度,|| 表示向量拼接。

    User Behavior 特征和 Target Item 特征位于相同的特征空间,并共享相同的 embedding 矩阵以降低内存需求。

  3. 注意: $ \mathbf{\vec e}_t $ 是用户第 $ t $ 个行为的特征向量,它其实是第 $ t $ 个产生行为的itemrepresentation。它和 $ \mathbf{\vec v}_j $ 不同: $ \mathbf{\vec v}_j $ 仅仅是 item IDembedding 向量,而 $ \mathbf{\vec e}_t $ 可能包括 item IDcate IDembedding 向量的拼接。

18.1.2 MLP

  1. 所有特征向量拼接起来构成样本的完整representation 之后,将representation 灌入 MLPMLP 隐层的激活函数为 PRelu,最终输出层采用 sigmoid 激活函数从而用于二分类任务。

    • MLP 输入的长度需要固定,因此需要将User Behavior 特征向量 $ \mathbf{\vec x}_b $ 进行池化从而转换为固定长度的特征向量。

    • 交叉熵损失函数通常和 sigmoid 函数一起使用,其对数函数可以抵消 sigmoid 函数中指数的副作用。给定样本 $ (\mathbf{\vec x},y) $ ,其中 $ y\in \{0,1\} $ 为标签, $ \mathbf{\vec x}=\left[\mathbf{\vec x}_p ||\mathbf{\vec x}_b||\mathbf{\vec x}_t||\mathbf{\vec x}_c\right] $ 为样本特征,则损失函数为:

      $ \mathcal L_{\text{target}} = - \frac 1N \sum_{(\mathbf{\vec x},y)\in \mathcal D} [y\log f(\mathbf{\vec x})+ (1-y)\log (1-f(\mathbf{\vec x}))] $

      其中 $ \mathcal D $ 为训练集, $ N $ 为总的样本数量, $ f(\mathbf{\vec x}) $ 为 MLP 的预测输出的点击概率。

18.1.3 DMR

  1. 基于深度学习 CTR 模型的basic 结构很难通过隐式特征交互来捕获用户和 item 的相关性。在 DMR 中,我们提出了两个子网,即 User-to-Item NetworkItem-to-Item Network,从而建模 user-to-item 相关性,进而可以提高个性化 CTR 模型的性能。

    DMR 结构如下图所示:

    • 输入特征向量是嵌入embedded 的离散特征、和正则化normalized 的连续特征的拼接。
    • DMR 使用两个子网( User-to-Item NetworkItem-to-Item Network)以两种形式来建模 user-to-item 相关性。
    • 两种形式的 user-to-item 相关性、用户的动态兴趣temporal interestrepresentation 、以及其它所有特征向量拼接起来,然后馈入到 MLP 中。

    最终损失由 MLPtarget loss 和辅助的 match network loss 组成。

a. User-to-Item Network

  1. 遵循基于矩阵分解的 matching 方法中的representation 形式,User-to-Item Network 通过user representationitem representation 的内积来建模用户和目标 item 之间的相关性,这可以视作用户和 item 之间的一种特征交互。

  2. 为获得user representation,我们求助于 User Behavior 特征。用户不会在推荐场景中明确展现其兴趣,而用户行为则隐式地反映了用户兴趣。

    表达用户兴趣的一种朴素方法是:对用户行为特征使用均值池化。这种方法认为每种行为对于最终用户兴趣做出同等贡献。

    但是,用户的兴趣可能会随着时间而变化。在这种情况下,最近的行为可能会更好地反映用户的时间 temporal 兴趣。根据发生的时刻为每个行为分配权重可以缓解该问题,但是也很难找到最佳权重。

    User-to-Item Network 中,我们使用位置编码作为 query 的注意力机制来自适应地学习每个行为的权重,其中用户行为的位置position 是行为序列中按发生时间排序的序列编号。数学描述为:

    $ a_t = \mathbf{\vec z}^\top\tanh\left(\mathbf W_p\mathbf{\vec p}_t + \mathbf W_e\mathbf{\vec e}_t+ \mathbf{\vec b}\right)\\ \alpha_t = \frac{\exp(a_t)}{\sum_{i=1}^T\exp(a_i)} $

    其中:

    • $ \mathbf{\vec p}_t\in \mathbb R^{d_p} $ 为第 $ t $ 个位置 embedding
    • $ \mathbf{\vec e}_t\in \mathbb R^{d_e} $ 为第 $ t $ 个行为的特征向量。
    • $ \mathbf W_p\in \mathbb R^{d_h\times d_p},\mathbf W_e\in \mathbb R^{d_h\times d_e},\mathbf{\vec b}\in \mathbb R^{d_h},\mathbf{\vec z}\in \mathbb R^{d_h} $ 为待学习的参数。
    • $ \alpha_t $ 为第 $ t $ 个行为的归一化权重。

    通过加权的 sum 池化,我们将 User Behavior 特征向量 $ \mathbf{\vec x}_b $ 映射到固定长度的特征向量,然后由全连接层进行转换以匹配 item representation 的维度 $ d_v $ 。

    最终用户的 representation $ \mathbf{\vec u}\in \mathbb R^{d_v} $ 的公式为:

    $ \mathbf{\vec u} = g\left(\sum_{t=1}^T\alpha_t\mathbf{\vec e}_t\right)= g\left(\sum_{t=1}^T \mathbf{\vec h}_t\right) $

    其中:

    • $ g(\cdot) $ 表示非线性的映射,其输入维度为 $ d_e $ 、输出维度为 $ d_v $ 。
    • $ \mathbf{\vec h}_t=\alpha_t\mathbf{\vec e}_t $ 表示第 $ t $ 个行为的加权特征向量。

    这里的 attention 计算的是基于 positional embedding 计算不同位置的、归一化的重要性。这里没有考虑 target item 的重要性,因为计算 user representation 时不会融合 item representation 信息。

  3. 这里的attention 网络有三个细节,为简化起见我们忽略了它们:

    • 首先,可以添加更多的隐层从而具有更好的representation
    • 其次,除了位置编码之外,还可以将更多的、反映用户兴趣强度的上下文特征添加到 attention 网络中,例如行为类型(如点击、购买、收藏)、停留时长等。在这些特征中,位置在我们的应用中影响力最大。
    • 第三,以行为发生时间的倒序对位置进行编码,从而确保最近的行为获得第一个位置。
  4. 尽管 RNN 擅长处理序列数据,尤其是在 NLP 任务中,但是它不适合建模用户行为序列。和严格遵循某些规则的文本不同,用户行为序列是不确定的 uncertain,并且可能会受到呈现给用户的内容的影响。如果没有特殊设计的结构,那么 RNN 很难提高预测效果。

    此外,串行计算的 RNN 给在线 serving 系统带来了挑战。

  5. 目标 itemrepresentation $ \mathbf{\vec v}^\prime\in \mathbb R^{d_v} $ 直接从 embedding 矩阵 $ \mathbf V^\prime=\left[\mathbf{\vec v}_1^\prime,\mathbf{\vec v}_2^\prime,\cdots,\mathbf{\vec v}_K^\prime\right]\in \mathbb R^{K\times d_v} $ 中查找look up 。其中 $ \mathbf V^\prime $ 是针对target item 的一个独立的 embedding 矩阵,它不是和 embedding 矩阵 $ \mathbf V $ 共享。

    为区分这两个 embedding 矩阵,我们称 $ \mathbf V $ 为Target Iteminput representation、称 $ \mathbf V^\prime $ 为Target Itemoutput representation 。尽管这种方式增加了存储空间,但是与 $ \mathbf V $ 和 $ \mathbf V^\prime $ 相同的方式相比,模型仅仅是将 embedding 大小增加了一倍,而模型具有更强的表达能力。我们将在实验部分验证该结论。

  6. 得到用户representation $ \mathbf{\vec u} $ 和目标 itemrepresentation $ \mathbf{\vec v}^\prime $ 之后,我们使用向量内积来表示用户和 item 的相关性:

    $ r=\mathbf{\vec u}^\top \mathbf{\vec v}^\prime $

    我们预期更大的 $ r $ 代表更强的相关性,从而对点击预测产生积极的影响。

    但是,从反向传播的角度来看,仅通过点击标签的监督来确保这一点并不容易。此外,embedding 矩阵 $ \mathbf V^\prime $ 中参数的学习完全依赖于相关单元 relevance unit $ r $ 。有鉴于此,我们提出了一个辅助match 网络,该网络从用户行为中引入label,从而监督 User-to-Item Network

  7. 辅助 match 网络的任务是基于之前的 $ T-1 $ 个行为来预测第 $ T $ 个行为,这是一个极端extreme 的多分类任务。

    遵从前文中用户 representation $ \mathbf{\vec u} $ 的形式,我们可以从用户的前 $ T-1 $ 个行为中获取用户 representation ,记作 $ \mathbf{\vec u}_{T-1}\in \mathbb R^{d_v} $ 。则用户具有前面 $ T-1 $ 个行为的前提下,对 item $ j $ 产生第 $ T $ 个行为的概率为:

    $ p_j=\frac{\exp\left(\mathbf{\vec u}_{T-1}^\top \mathbf{\vec v}_j^\prime\right)}{\sum_{i=1}^K\exp\left(\mathbf{\vec u}_{T-1}^\top \mathbf{\vec v}_i^\prime\right)} $

    其中 $ \mathbf{\vec v}_j^\prime\in \mathbb R^{d_v} $ 为第 $ j $ 个 itemoutput representation 。因此,针对target itemoutput representation $ \mathbf V^\prime \in \mathbb R^{K\times d_v} $ 可以视为 softmax layer 的参数。

    通过使用交叉熵损失函数,则我们得到辅助 match 网络的损失为:

    $ \mathcal L_{aux} = -\frac 1{N_m}\sum_{i=1}^{N_m }\sum_{j=1}^K y_j^i\log\left(p_j^i\right) $

    其中:

    • $ N_m $ 为辅助 match 网络的样本数量, $ K $ 为总的item 数量。
    • $ y_j^i\in \{0,1\} $ 表示辅助 match 网络的样本 $ i $ 的target item 是否为第 $ j $ 个 item 。 $ y_j^i=1 $ 当且仅当第 $ i $ 个用户的行为序列中,最后一个 itemitem $ j $ 时成立。
    • $ p_j^i $ 表示辅助 match 网络的样本 $ i $ 的target item 为第 $ j $ 个 item 的预测概率。

    然而上式中的 $ p_j $ 计算代价很高,这和item 总数 $ K $ 成正比。为了有效训练具有百万类别的分类任务,我们采用了负采样技术。我们将带负采样的辅助match 网络损失函数定义为:

    $ \mathcal L_{NS} = -\frac 1{N_m} \sum_{i=1}^{N_m}\left[\log \sigma\left(\mathbf{\vec u}_{T-1}^\top \mathbf{\vec v}_o^\prime\right) + \sum_{j=1}^k\log \sigma\left(-\mathbf{\vec u}_{T-1}^\top \mathbf{\vec v}_j^\prime\right)\right] $

    其中: $ \sigma(\cdot) $ 为 sigmoid 函数; $ \mathbf{\vec v}_o^\prime $ 为正样本, $ \mathbf{\vec v}_j^\prime $ 为负采样的负样本; $ k $ 为负采样数量,它远远小于 $ K $ 。

    最终的损失函数为:

    $ \mathcal L_{final} = \mathcal L_{target} + \beta\mathcal L_{NS} $

    其中 $ \beta $ 为一个超参数,用于平衡这两部分损失。

  8. 通过从User Behavior 中引入标签,辅助match 网络可以推动更大的 $ r $ 来表示更强的相关性,并帮助更好地训练 embedding 矩阵 $ \mathbf V^\prime $ 和其它参数。

  9. 理解 User-to-Item Network 的另一种方法是:在统一模型中共同训练 ranking 模型和 matching 模型,其中 matching 模型是辅助 match 网络。

    matching 阶段,候选者是通过多路match 来生成,其中每一路match 之间的分数不可比not comparable ,每个候选者仅具有对应 matching 方法的相关性得分。

    和仅将 matching score 作为特征馈入 MLP 不同,User-to-Item Network 能够在给定任务 Target Item 的情况下获得 user-to-item 相关性得分,并且相关性以统一的方式可比comparable

b. Item-to-Item Network

  1. 除了直接计算 user-to-item 相关性之外,我们还提出了 Item-to-Item Network 以间接方式来表达相关性。

    首先我们建模用户交互的 itemtarget item 之间的相似性similarity ,然后对这些相似性相加从而得到另一种形式的user-to-item 相关性relevance

  2. 为了使得相关性的 representation 更具有表达性,我们使用 attention 机制(而不是 User-to-Item Network 中的内积)来建模 item-to-item 相似性。

    给定用户交互的 itemtarget item、位置编码作为输入,item-to-item 相似性的公式为:

    $ \hat a_t = \hat{\mathbf{\vec z}}^\top \tanh\left(\hat{\mathbf W}_c\mathbf{\vec e}_c + \hat{\mathbf W}_p\mathbf{\vec p}_t + \hat{\mathbf W}_e\mathbf{\vec e}_t + \hat{\mathbf{\vec b}}\right) $

    其中:

    • $ {\mathbf{\vec e}}_c\in \mathbb R^{d_e} $ 为 target item 的特征向量, $ {\mathbf{\vec p}}_t\in \mathbb R^{d_p} $ 为第 $ t $ 个位置 embedding , $ {\mathbf{\vec e}}_t\in \mathbb R^{d_e} $ 为第 $ t $ 个行为的特征向量。
    • $ \hat{\mathbf W}_c\in \mathbb R^{d_h\times d_e},\hat{\mathbf W}_p\in \mathbb R^{d_h\times d_p},\hat{\mathbf W}_e\in \mathbb R^{d_h\times d_e},\hat{\mathbf{\vec b}}\in \mathbb R^{d_h},\hat{\mathbf{\vec z}}\in \mathbb R^{d_h} $ 都是待学习的参数。

    用户行为和 target item 之间的 item-to-item 相似性之和构成了另一种类型的 user-to-item 相关性:

    $ \hat r=\sum_{t=1}^T\hat a_t $

    通过加权的 sum 池化,UserBehavior 特征 $ \mathbf{\vec x}_b $ 被转换为固定长度的特征向量 $ \hat{\mathbf{\vec u}} $ ,从而构成了与目标相关的动态兴趣表示:

    $ \hat\alpha_t = \frac{\exp\left(\hat a_t\right)}{\sum_{i=1}^T\exp\left(\hat a_i\right)},\quad \hat{\mathbf{\vec u}}=\sum_{t=1}^T\hat\alpha_t\hat{\mathbf{\vec e}}_t $

    其中 $ \hat \alpha_t $ 为第 $ t $ 个行为的归一化权重。

    注意:计算 $ \hat r $ 的过程中并未进行归一化。因为归一化之后的注意力系数之和恒为 1.0

    和用户representation $ \mathbf{\vec u} $ 不同,目标相关的用户 representation $ \hat{\mathbf{\vec u}} $ 针对不同的target item 有所不同。通过注意力机制的局部激活能力,和目标 item 相关的行为的权重更高,并且主导了目标相关的用户 representation $ \hat{\mathbf{\vec u}} $ 。

  3. 两种类型的 user-to-item 相关性 $ r, \hat r $ 、以及用户动态兴趣 $ \hat{\mathbf{\vec u}} $ 将和其它输入特征向量拼接起来从而馈入 MLPMLP 的最终输入为: $ \mathbf{\vec c} = \left[\mathbf{\vec x}_p,\mathbf{\vec x}_t,\mathbf{\vec x}_c,\hat{\mathbf{\vec u}},r,\hat r\right] $ 。

注,DMR 模型相当于对模型空间新增了约束:对于正样本,不仅点击率预估为 1.0,还需要 user representationitem representation 之间相关性很高。负样本也是类似。

18.2 实验

  1. 数据集:

    • Alimama Dataset (公共数据集):包含从Taobao 连续8 天中随机采样的曝光和点击日志。

      7 天的日志用于训练,最后1 天的日志用于测试。数据集包含 2600 万条日志,一共有 114 万用户、84item

    • 工业数据集:数据集包含从阿里巴巴在线推荐系统收集的曝光和点击日志。

      我们将前 14 天的日志用于训练、第15 天的日志用于测试。数据集包含 11.8 亿条日志,一共有 1090 万用户、4860item

  2. baseline 方法:

    • LR :逻辑回归方法。它是一种经典的线性模型,可以看作是浅层神经网络。线性模型通常需要手动特征工程才能表现良好,这里我们添加了 User BehaviorTarget Item 的叉积 cross-product

    • Wide&Deep:它具有一个 wide 部分和一个 deep 部分,因此同时结合了线性模型和非线性深度模型的优势。在我们的实现中,wide 部分和上述 LR 模型完全相同。

    • PNN:它引入了 product 层以及全连接层,从而探索高阶特征交互。

    • DIN:它通过自适应地学习注意力权重从而表示用户对目标 item 的兴趣。

      注意:如果没有两种 user-to-item 相关性、如果没有使用positional encoding,那么我们的 DMR 退化为 DIN 模型。

    • DIENDIEN 通过两层 GRU 建模了用户对目标item 的兴趣演化。

  3. 实验配置:

    • 在公共数据集上:我们将学习率设为 0.001batch size = 256item embedding 维度为 32,用户行为序列的最大长度为 50MLP 中的隐层维度分别为 512,256,128

      此外,辅助 match 网络中的负样本数设为 2000,辅助损失的权重 $ \beta $ 设为 0.1

    • 在工业数据集上:除了将 item embedding 维度设为64,其它超参数和公共数据集相同。

  4. 下表给出了实验结果。我们使用 AUC 作为评估指标,所有实验重复5 次并报告平均结果。 Relative Improvement: RI 表示基于 LR 的相对提升。

    可以看到:

    • LR 的表现明显比 Wide&Deep 和其它基于深度学习的模型更差,这证明了深度神经网络中非线性变换和高阶特征交互的有效性。

    • PNN 受益于 product layer,从而相比 Wide&Deep 实现了更好的特征交互从而性能更好。

    • 在用户没有显式表现其兴趣的推荐场景中,捕获用户的兴趣至关重要。

      • 在基于深度学习的模型中,Wide&DeepPNN 表现最差,尤其是在工业数据集上,这证明了从用户行为中抽取用户兴趣的重要性。

      • DIN 代表了用户对目标item 的兴趣,但是忽略了用户行为中的顺序信息。

      • DIEN 的性能优于 DIN,这主要归因于捕获了用户兴趣演变的两层 GRU 结构。

      • 基于用户兴趣representationDRM 进一步通过 User-to-Item NetworkItem-to-Item Network 来分别捕获两种形式的 user-to-item 相关性。

        通过相关性的representationDRM 充分考虑了用户对目标 item 的个性化偏好,并且大幅度击败了所有baseline 方法,包括 LR、Wide&Deep、PNN、DIN、DIEN

  5. 下表给出了公共数据集和工业数据集上具有不同组成部分的 DMR 的比较结果,Relative Improvement: RI 表示基于 DMR 的相对提升。其中:

    • DMR I2I 表示仅有 Item-to-Item Network
    • DMR U2I 表示仅有 User-to-Item Network
    • DMR-No-AM 表示没有辅助match 网络。
    • DMR-NO-PE 表示User-to-Item Network 中没有位置编码。
    • DMR-Double 表示 $ \mathbf V $ 和 $ \mathbf V^\prime $ 共享 embedding (即 $ \mathbf V = \mathbf V^\prime $ ) ,且使用两倍尺寸的 item embedding

    可以看到:

    • user-to-item 相关性的 representation 的有效性:为了获得更具表达能力的 representation,我们应用了不同的操作来建模 user-to-item 相关性。

      User-to-Item Network 使用基于内积的操作来计算相关性,Item-to-Item Network 使用attention 网络来计算相关性。可以看到,这两个子网的组合要比单独使用时表现更好,这说明两种不同类型的 user-to-item 相关性是有效的,并且两种形式的 user-to-item 相关性是互补的,不是冗余的。

    • 辅助match 网络的有效性:和没有辅助match 网络的 DMR 相比,完整DMR 获得了更好的性能。

      辅助match 网络从用户行为中引入标签来监督训练,并在用户representationitem representation 之间推入更大的内积从而表示更高的相关性。

    • 额外 embedding 矩阵 $ \mathbf V^\prime $ 的有效性:User-to-Item Network 使用额外的 embedding 矩阵 $ \mathbf V^\prime $ ,可以将其视为辅助match 网络的 softmax layer 中的参数。

      我们尝试将 item embedding 的尺寸翻倍,并且共享 embedding 从而得到 DMR-Double,其参数数量和 原始 DMR 相同。可以看到原始 DMR 的性能优于 DMR-Double。这证明了单独的 embedding 矩阵 $ \mathbf V^\prime $ 的有效性。

    • 位置编码的有效性:可以看到,在 User-to-Item Network 中没有位置编码的 DMR 要差于完整的 DMR

      通过位置编码,DMR 会考虑用户行为序列中的顺序信息,并提取用户的动态兴趣。在工业数据集上, User-to-Item Network 没有位置编码的 DMR 甚至要比没有整个 User-to-Item NetworkDMR (即 DMR I2I )表现更差,这意味着没有位置编码的 User-to-Item Network 很难拟合。

  6. user-to-item 相关性的 representation 的有效性:我们在公共数据集和工业数据集上探索了两个 user-to-item 相关性的值,如下图所示。这些值分别在正样本和负样本中取平均。

    不出所料,正样本的 user-to-item 相关性高于负样本,这意味着我们的 user-to-item 相关性模型是合理的。

  7. 辅助match 网络的有效性:下图显式了 DMR 在公共数据集和工业数据集上的学习曲线 learning curve。可以看到目标损失 $ \mathcal L_{target} $ 和辅助损失 $ \mathcal L_{NS} $ 同时降低,这意味着 matchingranking 联合训练是有效的。其中 $ \beta = 0.1 $ 。

  8. 位置编码的有效性:我们探索用户行为序列中不同位置的注意力权重。下图给出了公共数据集和工业数据集上 Item-to-Item Network 中的平均权重,其中距离当前时间越近的行为具有越小的位置编号。

    尽管注意力权重受到多个因素的影响,但是总体趋势是:如预期所示,最近的行为获得更高的注意力权重,尤其是在工业数据集上。

  9. 在线 A/B 测试:我们在阿里巴巴的推荐系统中进行在线 A/B 测试。和我们系统中最新版本的 CTR 模型 DIN 相比,DMRCTR 提升了 5.5%click per user 提升了 12.8%。由于提升如此之大,DMR 已经部署到线上从而提供推荐服务。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文