返回介绍

数学基础

统计学习

深度学习

工具

Scala

十九、MiNet [2020]

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

  1. 点击率 click-through rate: CTR 预估是在线广告系统中的一项关键任务,它旨在预估用户点击目标广告的概率。预估的CTR 会影响广告 ranking 策略和广告收费模型。因此为了维持理想的用户体验并使收入最大化,准确预估广告的 CTR 至关重要。

    CTR 预估引起了学术界和工业界的广泛关注。例如:

    • 因子分解机 Factorization Machine: FM 用于建模 pairwise 特征交互。
  • 深度神经网络 Deep Neural Network 用于 CTR 预估和 item 推荐,从而自动学习 feature representation 和高阶特征交互。

    • Wide & Deep (结合了逻辑回归和 DNN)之类的混合模型还同时利用了浅层模型和深层模型。
  • 此外,深度兴趣网络 Deep Interest Network: DIN 基于历史行为对动态的用户兴趣进行建模。

    • 深度时空网络 eep Spatio-Temporal Network: DSTN 联合利用上下文广告、点击广告、未点击广告进行 CTR 预估。

    可以看到,目前现有工作主要针对单域 CTR 预估 single-domain CTR prediction ,即它们仅将广告数据用于 CTR 预估,并且对诸如特征交互、用户历史行为、上下文信息等方面建模。不过,广告通常会以原生内容natural content进行展示,这为跨域CTR预估cross-domain CTR prediction 提供了机会。

    论文 《MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction》 解决了这个问题,并利用来自源域 source domain 的辅助数据来提高目标域 target domainCTR 预估性能。论文的研究基于 UC 头条 (一个集成在 UC 浏览器 APP 中的新闻 feed 服务,每天为数亿用户提供服务),其中源域是新闻(news domain)、目标域是广告(ad domain)。

    跨域 CTR 预估的一个主要优势在于:通过跨域的丰富数据可以缓解目标域中的数据稀疏性和冷启动问题,从而提高CTR 预估性能。为了有效利用跨域数据,论文考虑以下三种类型的用户兴趣:

    • 跨域的长期兴趣:每个用户都有自己的画像特征,例如用户 ID、年龄段、性别、城市。这些用户画像特征反映了用户的长期内在兴趣。基于跨域数据(即用户和他/她互动的所有新闻、广告),我们能够学习语义上更丰富、统计上更可靠的用户特征 embedding
    • 源域的短期兴趣:对于要预估CTR 的每个目标广告,在源域中都有相应的短期用户行为(如,用户刚刚查看的新闻)。尽管新闻的内容可能和目标广告的内容完全不同,但是它们之间可能存在一定的相关性。例如,用户在查看一些娱乐新闻之后很可能会点击游戏广告。基于这种关系,我们可以将有用的知识从源域迁移transfer 到目标域。
    • 目标域的短期兴趣:对于要预估CTR 的每个目标广告,在目标域中还存在相应的短期用户行为。用户最近点击过的广告可能会对用户在不久的将来点击哪些广告有很大的影响。

    尽管上述想法看起来很有希望,但是它面临着一些挑战:

    • 首先,并非所有点击的新闻对于目标广告的CTR 有指示作用indicative
  • 同样地,并非所有点击的广告都能提供关于目标广告 CTR 的有用信息。

    • 第三,模型必须能够将知识从新闻域迁移到广告域。

    • 第四,针对不同的目标广告,三种类型的用户兴趣的相对重要性可能会有所不同。例如:

      • 如果目标广告和最近点击的广告相似,那么目标域的短期兴趣应该更为重要。
    • 如果目标广告和最近点击的新闻、广告都不相关,那么长期兴趣应该更为重要。

    • 最后,目标广告的representation 和三种类型用户兴趣的representation 具有不同的维数(由于特征数量不同)。维数的差异discrepancy 自然地强化或削弱某些 representation 的影响,这是不希望的。

    为解决这些挑战,论文提出了混合兴趣网络 Mixed Interest Network: MiNet。在 MiNet 中:

    • 长期兴趣是通过拼接用户画像特征 embedding $ \mathbf{\vec p}_u $ 来建模的。用户画像特征 embedding 是基于跨域数据共同学习,从而实现知识迁移的。
  • 源域的短期兴趣是通过向量 $ \mathbf{\vec a}_s $ 来建模的,它聚合了最近点击的新闻的信息。

    • 目标域的短期兴趣是通过向量 $ \mathbf{\vec a}_t $ 来建模的,它聚合了最近点击的广告的信息。

    另外,MiNet 包含 item-levelinterest-level 两个level 的注意力。

    • item-level 注意力同时应用于源域和目标域,它们可以自适应地从最近点击的新闻/广告中提取有用的信息(从而应对挑战 12 )。

      我们还引入了一个迁移矩阵transfer matrix ,从而将知识从新闻迁移到广告(从而应对挑战 3)。此外,长期兴趣基于跨域数据来学习,这也可以进行知识迁移(从而应对挑战 3)。

    • interest-level 注意力动态调整针对不同目标广告时,三种类型用户兴趣的重要性(从而应对挑战 4),从而自适应地融合不同的兴趣 representation

      此外,具有适当激活函数的interest-level 注意力也可以处理维度差异问题(从而应对挑战 5 )。

    离线和在线实验结果都证明了 MiNetCTR 预估方面的有效性。MiNet 的效果优于几种 state-of-the-artCTR 预估方法。作者已经在 UC 头条中部署了 MiNetA/B 测试结果也表明在线 CTR 也有了很大提升。目前 MiNet 已经服务于 UC 头条的主要广告流量。

    论文的主要贡献:

    • 论文提出在跨域 CTR 预估中联合考虑三种类型的用户兴趣:跨域的长期兴趣、源域的短期兴趣、目标域的短期兴趣。

    • 论文提出了 MiNet 模型来实现上述目标。MiNet 模型包含两个 level 的注意力,其中:

      • item-level 注意力可以自适应地从点击的新闻/点击的广告中提取有用的信息。
      • interest-level 注意力可以自适应地融合不同的兴趣 representation
    • 论文进行了大量的离线实验来验证 MiNet 以及几种 state-of-the-artCTR 预估模型的性能。论文还进行了消融研究,从而提供模型背后的进一步的洞察。

  1. 相关工作:

    • CTR 预估:现有工作主要解决单域single-domain CTR 预估问题,他们对以下方面进行建模:特征交互(如 FM, DeepFM)、feature embedding(如 DeepMP)、用户历史行为(如 DIN,DSTN)、上下文信息(如 DSTN)。

      • 特征交互:

        由于诸如逻辑回归 Logistic Regression: LRFollow-The-Regularized-Leader: FTRL 等广义线性模型缺乏学习复杂特征交互的能力,因此人们提出了因子分解机 Factorization Machine: FM 来解决这个限制。

        Field-aware FM: FFMField-weighted FM 通过考虑特征所属的 field 的影响来进一步改进 FM

        近年来,人们提出了深度神经网络DNNProduct-based Neural Network: PNN 等神经网络模型来自动学习特征representation 和高阶特征交互。

        Wide & DeepDeepFMNeural Factorization Machine: NFM 等一些模型结合了浅层模型和深层模型来同时捕获低阶特征交互和高阶特征交互。

      • feature embeddingDeep Matching and Prediction: DeepMP 模型结合了两个 subnet 来学习更具有表达能力的 feature embedding 从而用于 CTR 预估。

      • 用户历史行为:Deep Interest Network: DINDeep Interest Evolution Network: DIEN 基于历史点击行为对用户兴趣建模。

      • 上下文信息:

        《Relational click prediction for sponsored search》《Exploiting contextual factors for click modeling in sponsored search》 考虑各种上下文因子,例如广告交互、广告深度 ad depthquery 多样性等。

        Deep Spatio-Temporal Network: DSTN 联合利用了上下文广告、点击广告、未点击广告进行 CTR 预估。

    • 跨域推荐:跨域推荐旨在通过从源域source domain 迁移知识来提高目标域 target domain 的推荐性能。这些方法大致可以分为三类:协同的collaborative、基于内容的content-based 、混合的hybrid

      • 协同方法利用跨域的交互数据(如评级rating)。

        《Relational learning via collective matrix factorization》 提出了协同矩阵分解 Collective Matrix Factorization: CMF,它假设一个通用的全局用户因子矩阵 global user factor matrix 并同时分解来自多个域的矩阵。

        《Cross-domain Recommendation Without Sharing User-relevant Data》 提出了用于跨域推荐的神经注意力迁移推荐Neural Attentive Transfer Recommendation: NATR,而无需共享用户相关的数据。

        《Conet: Collaborative cross networks for cross-domain recommendation》提出了协同交叉网络 Collaborative cross Network,它通过交叉连接cross connection 实现跨域的双重知识迁移dual knowledge transfer

      • 基于内容的方法利用了用户或 item 的属性。

        《A multi-view deep learning approach for cross domain user modeling in recommendation systems》 将用户画像和 item 属性转换为稠密向量,并且在潜在空间中 match 它们。

        《Collaborative knowledge base embedding for recommender systems》 利用 item 的文本知识、结构知识、视觉知识作为辅助信息来帮助学习 item embedding

      • 混合方法结合了交互数据和属性数据。

        《CCCFNet: a content-boosted collaborative filtering neural network for cross domain recommender systems》 在一个统一的框架中结合了协同过滤和基于内容的过滤。

    不同的是,在本文中,作者解决了跨域 CTR 预估问题。论文对三种类型的用户兴趣进行建模,并在神经网络框架中自适应地融合它们。

19.1 模型

  1. 在线广告中的CTR 预估任务是建立一个预估模型来预测用户点击特定广告的可能性。每个样本可以由多个field 描述,如用户信息(用户ID、城市、年龄等)、广告信息(素材IDCampaign ID 、广告标题等)。每个field 的实例代表一个特征,如用户 ID 字段可能包含诸如 21351473467291

    下表为 CTR 预估任务样本的示例,其中 Label 表示用户是否点击这个广告。

  2. 我们定义跨域CTR 预估问题为:利用一个源域(或多个源域)中的数据来提高目标域中 CTR 预估性能。

    在新闻 feeds 流广告中(如下图所示的 UC 头条 ),源域就是原生natural的新闻feeds 流、目标域是广告。这种情况下,源域和目标域共享同一组用户,但是没有重叠的 item

  3. 为了有效利用跨域数据,我们提出了混合兴趣网络Mixed Interest Network: MiNet ,如下图所示。该模型对三种类型的用户兴趣进行了建模:

    • 跨域的长期兴趣是通过拼接用户画像特征 embedding $ \mathbf{\vec p}_u $ 来建模的。用户画像特征 embedding 是基于跨域数据共同学习,从而实现知识迁移的。
    • 源域的短期兴趣是通过向量 $ \mathbf{\vec a}_s $ 来建模的,它聚合了最近点击的新闻的信息。
    • 目标域的短期兴趣是通过向量 $ \mathbf{\vec a}_t $ 来建模的,它聚合了最近点击的广告的信息。

    MiNet 中,我们还应用了两种level 的注意力:item-level 注意力、interest-level 注意力。

    • item-level 注意力的目的是从最近点击的新闻/广告中提取有用的信息(和待预估CTR 的目标广告相关),并抑制噪声。
    • interest-level 注意力的目的是自适应地调整三种类型的用户兴趣(即 $ \mathbf{\vec p}_u,\mathbf{\vec a}_s,\mathbf{\vec a}_t $ )的重要性,并为目标广告提供更有信息量的信号。

    接下来我们详细描述各个组件。

19.1.1 Feature Embedding

  1. 我们首先将特征编码为 one-hot encoding 。对于某个离散型特征,假设其unique 取值数量为 $ N $ 。为了实现跨域的知识迁移,特征的 unique 集合选取的是在两个域中的 unique 取值集合的交集,即:该 unique 值在两个域中都出现过。

    对于该特征的第 $ i $ 个取值,其 one-hot encoding 记作:

    $ \mathbf{\vec v}_i = \text{one-hot}(i)\in \mathbb R^{N } $

    其中 $ \mathbf{\vec v}_i $ 的第 $ i $ 项为 1 、其它项全部为零。

    然后我们将稀疏的高维 one-hot encoding 映射到适合神经网络的稠密的低维 embedding 向量。具体而言,我们定义一个 embedding 矩阵 $ \mathbf E \in \mathbb R^{N\times D } $ ,其中 $ D $ 为 embedding 维度且满足 $ D \ll N $ 。注意, $ \mathbf E $ 是待学习的。

    那么该特征的第 $ i $ 个取值可以投影到对应的 embedding 向量 $ \mathbf{\vec e}_i=\mathbf E \mathbf{\vec v}_i\in \mathbb R^{D} $ 。 $ \mathbf{\vec e}_i $ 实际上就是 $ \mathbf E $ 的第 $ i $ 行,这通常采用查表法来进行(而不是矩阵乘法)。

19.1.2 跨域的长期兴趣

  1. 对于每个广告样本,我们将其特征拆分为用户特征、广告特征。

    • 我们获取所有广告特征,并拼接对应的 embedding 向量,从而获取目标域中的广告的 representation 向量 $ \mathbf{\vec r}_t\in \mathbb R^{D_t} $ 。

    • 同样地,我们可以在源域中获得新闻 representation 向量 $ \mathbf{\vec r}_s\in \mathbb R^{D_s} $ 。

    • 对于用户,我们通过相应的用户特征 embedding 向量进行拼接,从而获得长期兴趣 representation 向量 $ \mathbf{\vec p}_u\in \mathbb R^{D_u} $ 。

      例如,如果用户 $ u $ 有特征 UID = u123, City = BJ, Gender = male, OS = ios,则我们有:

      $ \mathbf{\vec p}_u = \left[\mathbf{\vec e}_{\text{u123}}||\mathbf{\vec e}_\text{BJ}||\mathbf{\vec e}_\text{male}||\mathbf{\vec e}_\text{ios}\right] $

      其中 || 表示向量拼接。

      长期兴趣representation 向量 $ \mathbf{\vec p}_u $ 在各个域之间共享,并使用来自两个域的数据来共同学习。

    这里 $ D_t, D_s, D_u $ 分别代表广告representation 向量维度、新闻representation 向量维度、用户 representation 向量维度。

19.1.3 源域目标的短期兴趣

  1. 给定一个用户,对于目标域中的每个目标广告,用户通常会在源域中查看新闻。尽管新闻的内容可能和目标广告的内容完全不同,但是它们之间可能存在一定的相关性。例如,用户在查看一些娱乐新闻之后很可能点击游戏广告。基于这种关系,我们可以将有用的知识从源域迁移到目标域。

  2. 令最近点击的新闻的 representation 向量的集合为 $ \left\{\mathbf{\vec r}_{s,i}\right\}_i $ 。由于点击新闻的数量可能会有所不同,因此我们需要聚合这些新闻。

    具体而言,聚合的 representation $ \mathbf{\vec a}_s $ 为:

    $ \mathbf{\vec a}_s = \sum_{i}\alpha_i\mathbf{\vec r}_{s,i} $

    其中 $ \alpha_i $ 为分配给 $ \mathbf{\vec r}_{s,i} $ 的权重,从而表示它在聚合期间的重要性。

    聚合的 representation $ \mathbf{\vec a}_s $ 反映了源域中用户的短期兴趣。

  3. 剩下的问题是如何计算权重 $ \alpha_i $ 。

    • 一种简单的方法是选择 $ \alpha_i=\frac{1}{|\left\{\mathbf{\vec r}_{s,i}\right\}_i|} $ ,即每条被点击的新闻都具有相等的重要性。这显然不是明智的选择,因为某些新闻对于目标广告没有帮助。

    • 另一种方式是基于注意力机制, $ \alpha_i $ 的计算为:

      $ \tilde \alpha_i = \mathbf{\vec h}_s^\top \text{relu}\left(\mathbf W_s\mathbf{\vec r}_{s,i}\right),\quad \alpha_i = \frac{\exp\left(\tilde \alpha_i\right)}{\sum_{i^\prime}\exp\left(\tilde \alpha_{i^\prime}\right)} $

      其中 $ \mathbf W_s,\mathbf{\vec h}_s $ 为模型参数。

      上式仅单独考虑每条被点击的新闻 $ \mathbf{\vec r}_{s,i} $ ,它没有捕获新闻和目标广告之间的关系。

      此外,上式也未考虑目标用户。例如,无论目标广告是关于咖啡还是衣服,无论目标用户是 $ u_a $ 还是 $ u_b $ ,点击新闻的重要性都保持不变。

    • 我们提出 item-level 注意力, $ \alpha_i $ 的计算为:

      $ \tilde \alpha_i = \mathbf{\vec h}_s^\top \text{relu}\left(\mathbf W_s\left[\mathbf{\vec r}_{s,i}\|\mathbf{\vec q}_t||\mathbf{\vec p}_u||(\mathbf M\mathbf{\vec r}_{s,i}\odot \mathbf{\vec q}_t)\right]\right) $

      其中: $ \mathbf W_s\in \mathbb R^{D_h\times (D_s+2D_t+D_u)},\mathbf{\vec h}_s\in \mathbb R^{D_h},\mathbf M\in \mathbb R^{D_t\times D_s} $ 为待学习的参数; $ D_h $ 为超参数,指定 attention 隐向量维度; $ \odot $ 为逐元素乘积。

      上式考虑了以下方面:

      • 源域中点击的新闻 $ \mathbf{\vec r}_{s,i}\in \mathbb R^{D_s} $ 。

      • 目标域中的目标广告 $ \mathbf{\vec q}_t\in \mathbb R^{D_t} $ 。

      • 目标用户 $ \mathbf{\vec p}_u\in \mathbb R^{D_u} $ 。

      • 点击新闻和目标广告之间的迁移交互 transferred interaction $ \mathbf M\mathbf{\vec r}_{s,i}\odot \mathbf{\vec q}_t\in \mathbb R^{D_t} $ 。

        其中 $ \mathbf M $ 为迁移矩阵 transfer matrix,它将源域的 $ \mathbf{\vec r}_{s,i}\in \mathbb R^{D_s} $ 迁移到目标域 $ \mathbf M\mathbf{\vec r}_{s,i}\in \mathbb R^{D_t} $ 使得 $ \mathbf M\mathbf{\vec r}_{s,i} $ 可以和目标广告 $ \mathbf{\vec q}_t $ 进行比较。

      通过这种方式,计算出的 $ \tilde\alpha_i $ 以及 $ \alpha_i $ 不仅是需要待分配权重的点击新闻的函数,而且也是目标广告感知的aware、以及目标用户感知的 aware 。另外,它还考虑了点击新闻和跨域目标广告之间的交互interaction

      如果采用两层 DNN 来计算 attention,是否可以移除迁移交互项?

  4. 复杂度缩减:item-level 注意力中,迁移矩阵 $ \mathbf M $ 的尺寸为 $ D_t\times D_s $ 。当 $ D_t $ 和 $ D_s $ 较大时, $ \mathbf M $ 包含很多要学习的参数。

    为降低计算复杂度,我们将 $ \mathbf M $ 分解为: $ \mathbf M = \mathbf M_1\times \mathbf M_2 $ 。其中: $ \mathbf M_1\in \mathbb D^{D_t\times C},\mathbf M_2\in \mathbb R^{C\times D_s} $ , $ C $ 是一个中间维度,可以设为一个较小的值。这样,总的参数数量从 $ D_t\times D_s $ 降低到 $ (D_t+D_s) \times C $ 。

19.1.4 目标域的短期兴趣

  1. 给定用户,对于每个目标广告,该用户在目标域中也具有近期行为。用户最近点击的广告对用户不久将来点击的广告有很大的影响。

  2. 令最近点击的广告的 representation 向量集合为 $ \left\{\mathbf{\vec r}_{t,j}\right\}_j $ ,我们计算聚合的 representation $ \mathbf{\vec a}_t $ 为:

    $ \tilde \beta_j = \mathbf{\vec h}_t^\top \text{relu}\left(\mathbf W_t\left[\mathbf{\vec r}_{t,j}\|\mathbf{\vec q}_t||\mathbf{\vec p}_u||(\mathbf{\vec r}_{t,j}\odot \mathbf{\vec q}_t)\right]\right),\quad \beta_j = \frac{\exp\left(\tilde\beta_j\right)}{\sum_{j^\prime }\exp\left(\tilde\beta_{j^\prime}\right)}\\ \mathbf{\vec a}_t = \sum_{j}\beta_j\mathbf{\vec r}_{tj} $

    其中: $ \mathbf W_t\in \mathbb R^{D_h\times (3D_t+D_u)},\mathbf{\vec h}_t\in \mathbb R^{D_h} $ 为待学习的参数; $ D_h $ 为超参数,指定 attention 隐向量维度; $ \odot $ 为逐元素乘积。

    聚合的 representation $ \mathbf{\vec a}_t $ 反映了用户在目标域中的短期兴趣。

    上式考虑了以下方面:

    • 目标域中点击的广告 $ \mathbf{\vec r}_{t,j}\in \mathbb R^{D_t} $ 。
    • 目标域中的目标广告 $ \mathbf{\vec q}_t\in \mathbb R^{D_t} $ 。
    • 目标用户 $ \mathbf{\vec p}_u\in \mathbb R^{D_u} $ 。
    • 点击的广告和目标广告之间的交互 interaction $ \mathbf{\vec r}_{t,j}\odot \mathbf{\vec q}_t\in \mathbb R^{D_t} $ 。由于它们在相同的域中,因此不需要迁移矩阵。

    类似地,计算出的 $ \tilde\beta_j $ 和 $ \beta_j $ 不仅是待分配权重的点击广告的函数,而且也是目标广告感知的aware、以及目标用户感知的 aware

19.1.5 Interest-Level Attention

  1. 在获得三种类型的用户兴趣 $ \mathbf{\vec p}_u\in \mathbb R^{D_u}, \mathbf{\vec a}_s\in \mathbb R^{D_s},\mathbf{\vec a}_t\in \mathbb R^{D_t} $ 之后,我们将它们一起用于预估目标广告 $ \mathbf{\vec q}_t\in \mathbb R^{D_t} $ 的 CTR

    尽管 $ \mathbf{\vec p}_u , \mathbf{\vec a}_s ,\mathbf{\vec a}_t $ 都代表了用户兴趣,但是它们反映了不同的方面aspect,并且具有不同的维度。因此,我们不能使用加权和的方式来融合它们。

    • 一种可能的解决方案是将所有可用信息拼接起来作为一个长的输入向量:

      $ \mathbf{\vec m}=\left[\mathbf{\vec q}_t||\mathbf{\vec p}_u||\mathbf{\vec a}_s||\mathbf{\vec a}_t\right] $

      但是,这样的解决方案找不到针对目标广告 $ \mathbf{\vec q}_t $ 最有用的用户兴趣信号。例如,如果短期兴趣 $ \mathbf{\vec a}_s,\mathbf{\vec a}_t $ 和目标广告 $ \mathbf{\vec q}_t $ 不相关,则长期兴趣 $ \mathbf{\vec p}_u $ 应该更有信息价值。但是现在这里 $ \mathbf{\vec m} $ 中 $ \mathbf{\vec p}_u , \mathbf{\vec a}_s ,\mathbf{\vec a}_t $ 具有相等的重要性。

    • 因此,我们没有使用 $ \mathbf{\vec m} $ ,而是使用如下的 $ \mathbf{\vec m}_t $ :

      $ \mathbf{\vec m}_t=\left[\mathbf{\vec q}_t||v_u\mathbf{\vec p}_u||v_s\mathbf{\vec a}_s||v_t\mathbf{\vec a}_t\right] $

      其中 $ v_u,v_s,v_t $ 是动态权重,它们根据不同的用户兴趣信号的取值来调整其重要性。具体而言,这些权重的计算为:

      $ v_u=\exp\left(\mathbf{\vec g}_u^\top \text{relu}\left(\mathbf V_u\left[\mathbf{\vec q}_t||\mathbf{\vec p}_u||\mathbf{\vec a}_s||\mathbf{\vec a}_t\right]\right)+b_u\right)\\ v_s=\exp\left(\mathbf{\vec g}_s^\top \text{relu}\left(\mathbf V_s\left[\mathbf{\vec q}_t||\mathbf{\vec p}_u||\mathbf{\vec a}_s||\mathbf{\vec a}_t\right]\right)+b_s\right)\\ v_t=\exp\left(\mathbf{\vec g}_t^\top \text{relu}\left(\mathbf V_t\left[\mathbf{\vec q}_t||\mathbf{\vec p}_u||\mathbf{\vec a}_s||\mathbf{\vec a}_t\right]\right)+b_t\right) $

      其中:

      • $ \mathbf V_u,\mathbf V_s,\mathbf V_t\in \mathbb R^{D_h\times (D_s+2D_t+D_u)} $ 为参数矩阵。
      • $ \mathbf{\vec g}_u,\mathbf{\vec g}_s,\mathbf{\vec g}_t\in \mathbb R^{D_h} $ 为参数向量。
      • $ b_u,b_s,b_t\in \mathbb R $ 为标量参数。 $ b_u,b_s,b_t $ 的引入是为了建模特定类型用户兴趣的固有intrinsic 重要性,而不管该兴趣的实际取值。

      可以看到,这些权重是根据所有可用信息来计算的,以便在给定其它类型的用户兴趣的条件下考虑特定类型用户兴趣对于目标广告的贡献。

      item-level attention 采用了加权 sum 池化,而 interest-level attention 采用了加权拼接。事实上向量拼接(相比较于池化操作)可以保留尽可能多的信息。

      由于历史行为序列的长度不固定,因此为了得到固定长度的向量所以选择了加权池化。

      由于兴趣 embedding 数量是固定的 3 个,因此可以进行向量拼接从而得到固定长度的向量。

  2. 我们使用 $ \exp(\cdot) $ 来计算权重,这使得 $ v_u,v_s,v_t $ 可能大于 1.0 。这是我们想要的效果,因为这些权重可以补偿维度差异问题dimension discrepancy problem

    例如,当 $ \mathbf{\vec q}_t $ 的维度比 $ \mathbf{\vec p}_u $ 的维度大得多时(由于 $ \mathbf{\vec q}_t $ 具有更多特征),那么 $ \mathbf{\vec p}_u $ 的贡献自然会由于这种效应而削弱。

    • 如果我们用 sigmoid 函数代替 exp 函数,使得分配给 $ \mathbf{\vec p}_u $ 的权重位于 0.0 ~ 1.0 之间,那么也无法解决这个问题。
    • 而如果分配给 $ \mathbf{\vec p}_u $ 的权重大于 1.0,那么可以很好地缓解这种维度差异效应。

    而且,这些权重是自动学习的,因此在必要时也会小于 1.0

    这里并没有对重要性进行归一化,因此得到的是 “绝对相关性”。归一化之后代表的是“相对相关性”。另外为了使得绝对相关性非负,这里使用指数函数 exp 。具体效果可以做实验来对比。

19.1.6 模型和部署

  1. 在目标域,我们让输入向量 $ \mathbf{\vec m}_t $ 通过具有 ReLU 激活函数的几个全连接层FC layer,从而利用高阶特征交互以及非线性变换。

    具体而言:

    $ \mathbf{\vec z}_1 = \text{relu}\left(\mathbf W_1\mathbf{\vec m}_t+\mathbf{\vec b}_1\right)\\ \mathbf{\vec z}_2 = \text{relu}\left(\mathbf W_2\mathbf{\vec z}_1+\mathbf{\vec b}_2\right)\\ \vdots \\ \mathbf{\vec z}_L = \text{relu}\left(\mathbf W_L\mathbf{\vec z}_{L-1}+\mathbf{\vec b}_L\right) $

    其中: $ L $ 表示隐层数量; $ \mathbf W_l,\mathbf{\vec b}_l $ 表示待学习的、第 $ l $ 层的参数。

    最后,向量 $ \mathbf{\vec z}_L $ 通过一个 sigmoid 输出层得到目标广告的预估 CTR

    $ \hat y_t = \frac{1}{1+\exp\left(-\left(\mathbf{\vec w}^\top \mathbf{\vec z}_L+b\right)\right)} $

    其中 $ \mathbf{\vec w},b $ 为输出层待学习的参数。

  2. 为了便于长期兴趣 $ \mathbf{\vec p}_u $ 的学习,我们还为源域创建了一个输入向量,即 $ \mathbf{\vec m}_s=\left[\mathbf{\vec q}_s|| \mathbf{\vec p}_u\right] $ 。其中 $ \mathbf{\vec q}_s\in \mathbb R^{D_s} $ 为目标新闻特征的 embedding 向量的拼接。

    同样地,我们让 $ \mathbf{\vec m}_s $ 经过几个 FC 层和一个 sigmoid 输出层(这些层都具有自己的参数)。最后,我们获得了目标新闻的预估 CTR $ \hat y_s $ 。

    $ \mathbf{\vec m}_s $ 还可以包含最近点击的新闻的 representation 向量的集合 $ \left\{\mathbf{\vec r}_{s,i}\right\}_i $ ,从而学到更好的长期兴趣 $ \mathbf{\vec p}_u $ 。

  3. 我们使用交叉熵作为损失函数。在目标域中,训练集上的损失函数为:

    $ \mathcal L_{t} = -\frac{1}{|\mathcal Y|_t}\sum_{y_t\in \mathcal Y_t}\left[y_t\log \hat y_t + (1-y_t)\log (1-\hat y_t)\right] $

    其中: $ y_t\in \{0,1\} $ 为目标广告的真实label, $ \hat y_t $ 为目标广告的预估 CTR, $ \mathcal Y_t $ 为 label 集合。

    类似地,我们得到源域中的损失函数 $ \mathcal L_s $ 。最终我们的损失函数为:

    $ \mathcal L = \mathcal L_t + \gamma \mathcal L_s $

    其中 $ \gamma $ 为一个超参数,用于平衡不同损失的重要性。

    注意: $ \mathbf{\vec p}_u $ 是跨域共享的,因此当优化联合损失 $ \mathcal L $ 时,将根据两个域的数据共同学习 $ \mathbf{\vec p}_u $ 。

  4. 我们在 UC 头条部署了 MiNet,其广告投放系统架构如下图所示。在 201912 月到 20201 月的两周内,我们在 A/B test 框架中进行了在线实验,其中的 basic 模型为 DSTN ,评估指标为实际 CTR

    在线 A/B test 表明,和 DSTN 相比,MiNet 使得在线 CTR 提升了 4.12% 。该结果证明了 MiNet 在实际 CTR 预估任务中的有效性。经过 A/B test 之后,MiNet 服务于 UC 头条的主要流量。

19.2 实验

  1. 数据集:

    • Company News-Ads 数据集:该数据集包含UC 头条中从新闻系统和广告系统中随机抽取的新闻、广告的曝光和点击日志。源域是新闻,目标域是广告。

      我们将 2019 年的连续 6 天的日志用于初始训练,随后一天的日志用于验证,再之后一天的日志用于测试。在验证集上找到最佳超参数之后,我们将初始训练集和验证集合并为最终训练集,并使用最佳超参数重新训练。

      使用的特征包括:用户特征(如用户 IDagent、城市)、新闻特征(如新闻标题、新闻category、新闻tag)、广告特征(如广告标题、广告 ID、广告category)。

    • Amazon Books-Movies 数据集:Amazon 数据集已被广泛用于评估推荐系统的性能。我们选择两个最大的类别来用于跨域 CTR 预估任务,即图书 Books、影视 Movies&TV 。源域是图书,目标域是影视。我们在每个域中只保留至少有 5 次评分的用户。我们将评级为 4,5 分的评分转换为 label 1,其它的评分都视为 label 0

      为了模拟 CTR 预估的行业惯例(即,预估未来的 CTR 而不是过去的 CTR),我们按照时间顺序对用户日志进行排序,然后将每个用户的最后一个评分构成测试集、倒数第二个评分构成验证集、其它评分构成初始训练集。在验证集上找到最佳超参数之后,我们将初始训练集和验证集合并为最终训练集,并使用最佳超参数重新训练。

      使用的特征包括:用户特征(用户 ID)、图书/影视特征(item ID、品牌、标题、主类目category 和子类目)。

    这些数据集的统计信息如下表所示。fts. 表示特征featuresini. 表示初始的 initialinsts. 表示实例 instancesval. 表示验证validationavg. 表示均值 average

  2. baseline 方法:我们比较了单域方法和跨域方法。现有的跨域方法主要是为跨域推荐而提出的,必要时我们将其扩展用于跨域 CTR 预估(如,包含属性特征而不是仅包含 ID 特征,并且调整损失函数)。

    • 单域方法:

      • LR :逻辑回归。它是一个广义的线性模型。
      • FM:因子分解机。它同时对一阶特征重要性和二阶特征交互进行建模。
      • DNN:深度神经网络。它包含一个 embedding 层、几个 FC 层、以及一个输出层。
      • Wide & Deep:经典的 Wide & Deep 模型。它结合了逻辑回归( wide 部分)和 DNNdeep 部分)。
      • DeepFMDeepFM 模型。它结合了 FMwide 部分)和 DNNdeep 部分)。
      • DeepMPDeep Matching and Prediction 模型(即 DeepMCP )。它学习了用于 CTR 预估的、更有表达能力的feature embedding
      • DINDeep Interest Network 模型。它基于历史行为对动态用户兴趣进行建模,从而进行 CTR 预估。
      • DSTNDeep Spatio-Temporal Network 模型。它利用时空辅助信息(即,上下文信息,点击的广告,未点击的广告)进行 CTR 预估。
    • 跨域方法:

      • CCCFNetCross-domain Content-boosted Collaborative Filtering Network。它将协同过滤和 content-based filtering 结合起来的因子分解框架。它与神经网络有关,因为 CF 中的潜在因子等价于神经网络中的 embedding 向量。
      • MV-DNNMulti-View DNN 模型。它扩展了 Deep Structured Semantic Model: DSSM,并具有 multi-towermatching 结构。
      • MLP++MLP++ 模型。它利用了两个 MLP ,并且跨域共享的用户 embedding
      • CoNetCollaborative cross Network 模型。它在 MLP++ 上添加交叉连接单元cross connection unit ,从而实现双重dual知识迁移。
  3. 模型配置:

    • 每个特征的 embedding 向量维度设置为 $ D=10 $ ,即映射到 10 维。

    • item-level 注意力中,迁移矩阵 $ \mathbf M $ 分解的中间维度 $ C = 10 $ 。

    • Company 数据集:

      • 基于神经网络模型中的 FC 层数量设为 $ L=2 $ ,隐层维度分别为[512, 256]
      • attention 隐向量维度 $ D_h = 128 $ ,源域 batch size512,目标域 batch size128
    • Amazon 数据集:

      • 基于神经网络模型中的 FC 层数量设为 $ L=2 $ ,隐层维度分别为[256, 128]
      • attention 隐向量维度 $ D_h = 64 $ ,源域 batch size64,目标域 batch size32

    所有方法都基于 Tensorflow 实现,并使用 Adagrad 算法。每个方法运行 5 次,并报告平均结果。

  4. 评估指标:AUC, RelaImpr, Logloss

    • AUC 反映了对于随机选择的正样本和负样本,模型将正样本排序rank 在负样本之上的概率。对于完全随机的模型,AUC = 0.5AUC 越大越好。AUC 的一个很小的改进可能会导致在线 CTR 的显著提升。

    • RelaImpr 衡量指定模型相对于基础模型的相对提升。由于随机模型的 AUC0.5,因此 RelaImpr 定义为:

      $ \text{RelaImpr} = \left(\frac{\text{AUC}(\text{target model})-0.5}{\text{AUC}(\text{base model})-0.5}-1\right)\times 100\% $
    • Logloss:测试集(目标域)的对数损失,即 $ \mathcal L_t $ ,越小越好。

  5. 实验结果如下表所示。* 表示和最佳的 baseline 相比,基于成对 t-test 检验的、 $ p<=0.01 $ 的统计显著性。

    可以看到:

    • AUC 而言,诸如 LRFM 之类的浅层模型的表现要比深度模型更差。

    • FM 的性能优于 LR,因为它可以进一步建模二阶特征交互。

    • LRDNN 相比,Wide & Deep 获得了更高的 AUC,表明结合 LRDNN 可以提高预估性能。

    • 在单域方法中,DSTN 表现最佳。因为 DSTN 共同考虑了可能影响目标广告 CTR 的各种时空因素。

    • 在跨域方法中,CCCFNet 优于 LRFM,这表明使用跨域数据可以提高性能。

      • CCCFNet 性能比其它跨域方法更差,因为它压缩了所有属性特征。
      • MV-DNN 的性能和 MLP++ 相近,它们都通过 embedding 共享来实现知识迁移。
      • CoNetMLP++ 上引入了交叉连接单元,从而实现跨域的双重知识迁移。然而,这也引入了更高的复杂度和随机噪声。
    • CCCFNet,MV-DNN,MLP++,CoNet 主要考虑长期的用户兴趣。相反,我们提出的 MiNet 不仅考虑了长期用户兴趣,还考了了这两个域的短期兴趣。通过适当地结合这些不同的兴趣信号,MiNet 显著地超越了这些 baseline 方法。

  6. level of attention:这里我们考察注意力level 的影响。

    我们采用以下配置:没有 attention 机制、仅 item-level attention、仅 interest-level attention (并且使用文中提出的指数激活函数)、仅 interest-level attention (但是用 sigmoid 代替 exp 函数)、同时采用两种 attention 机制。

    实验结果如下图所示(Base model:DNN),可以看到:

    • 没有 attention 的表现最差,这是因为如果没有注意力机制来提取,那么有用的信号很容易被噪音淹没。
    • item-level attention 或者 interest-level attention 都可以提升 AUC,同时使用二者可以获得最高的 AUC
    • interest-level attention(sigmoid) 效果比 interest-level attention(exp) 更差。这是因为不合适的激活函数无法有效解决维度差异问题。

    这些结果证明了我们提出的分层注意力机制的有效性。

  7. item-level attention:这里我们考察 MiNetitem-level 注意力权重,并检查它们是否可以捕获有信息的信号。

    下面给出Company 数据集中随机选择的一个活跃用户(因此具有相同的点击广告集合、点击新闻集合),对于不同目标广告的注意力权重。

    由于隐私问题,我们仅按照类目粒度展示广告和新闻。由于广告位于同一个域中,因此比较容易判断点击广告和目标广告之间的相关性。而广告和新闻位于不同的域中,因此很难判断它们之间的相关性。因此我们根据用户的行为日志来计算概率 $ p(\text{Ad}\mid \text{News}) $ 。

    可以看到:

    • 当目标广告为时尚媒体 Publishing & Media:P&M 时,P&M 类目的点击广告权重最高,而娱乐 Entertainment 类目的点击新闻权重最高。
    • 当目标广告为游戏Game时,游戏类目的点击广告权重最高,而体育新闻类目的点击新闻权重最高。

    以上结果表明,item-level 注意力确实可以动态捕获针对不同目标广告的更重要的信息。

    我们还观察到,该模型可以学到点击新闻和目标广告之间的某种相关性。具有较高 $ p(\text{Ad}\mid \text{News}) $ 的新闻通常会获得较高的注意力权重。

    理论上 $ \sum_j \beta_j =1.0 $ 以及 $ \sum_i \alpha_i = 1.0 $ ,但是这里并未满足。所以这里是 top 3 重要性的历史点击广告和历史点击新闻?

  8. interest-level attention :这里我们研究 MiNet 中不同类型的用户兴趣建模的效果。

    我们观察到两个数据集上完全不同的现象,如下图所示(Base model:DNN)。src. 表示源域 source domaintar. 表示目标域 target domain

    • Company 数据集上,和建模长期兴趣相比,建模短期兴趣可以实现更高的 AUC。这表明短期行为非常有帮助。
    • Amazon数据集上,建模长期兴趣会产生更高的 AUC。这是因为 Amazon 数据集是电商数据集而不是广告,并且评分的性质和点击的性质不同。
    • MiNet 综合考虑所有类型的用户兴趣时,获得了最高的 AUC。这表明不同类型的用户兴趣可以相互补充,联合建模可以带来最好的效果。

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

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

发布评论

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