CTR 预估模型:神经网络模型

一、DSSM[2013]

  1. 现代搜索引擎主要通过将 document 中的关键词 keywords 和搜索 query 中的关键词进行匹配matching 来检索 web document 。然而,词汇匹配lexical matching 可能不准确,因为同一个概念通常在 documentquery 中使用不同的词汇 vocabulary 和语言风格language styles 来表达。

    潜在语义分析 latent semantic analysis: LSA 等潜在语义模型 latent semantic models 能够在词汇匹配经常失败的语义级别 semantic levelquery 映射到 query 相关的document 。这些潜在语义模型通过将出现在相似上下文中的不同 term 分组到相同的语义簇 semantic cluster ,从而解决 web document 和搜索 query 之间的语义差异。因此,querydocument 在低维语义空间中表示为两个向量,即使它们不共享任何 term,它们仍然可以具有很高的相似度得分similarity score

    根据 LSA 扩展,人们还提出了诸如 probabilistic LSA: PLSALatent Dirichlet Allocation: LDA 之类的概率主题模型probabilistic topic models 用于语义匹配semantic matching

    然而,这些模型通常以无监督的方式使用目标函数进行训练,该目标函数与检索任务的评估指标联系不紧密。因此,这些模型在 web 搜索任务上的表现并不如最初预期的那么好。最近,已经进行了两个研究方向来扩展上述的潜在语义模型,下面对其进行简要的回顾:

    • 首先,由 query 及其点击document 组成的点击数据集被用于语义建模 semantic modeling,从而弥合搜索 queryweb document 之间的语言差异language discrepancy 。例如,Gao 等人提出使用Bi-Lingual Topic Model: BLTM 和线性的判别投影模型 Discriminative Projection Model: DPM 在语义级别进行 query-document matching 。这些模型使用针对 document ranking 任务定制的目标函数对点击数据进行训练。具体而言:

      • BLTM 是一种生成模型,它要求 query 及其点击的document 不仅共享相同的主题分布,而且还包含分配给每个主题的相似词组。
      • 相比之下,DPM 是使用 S2Net 算法学习的,该算法遵循《Learning to rank using gradient descent》 中概述的 pairwise learning-to-rank 范式。将 querydocumentterm vectors 投影到低维语义空间的概念向量 concept vectors 之后,query 及其点击 document 的概念向量比 query 及其未点击 document 的概念向量距离更近。

      Gao 等人报告说,在document ranking 任务中,BLTMDPM 的表现都显著优于无监督的潜在语义模型,包括 LSAPLSA

      然而,BLTM 的训练虽然使用点击数据,但最大化对数似然函数,这对于 document ranking 任务的评估指标而言是次优的。

      另一方面,DPM 的训练涉及大规模矩阵乘法,这些矩阵的大小通常随着词表规模vocabulary size 的增加而迅速增长。而在 web 搜索任务中,词表规模可能达到数百万的量级。为了使训练时间可以接受,词表被激进地裁剪。尽管更小规模的词表使得模型使得训练可以进行,但是会导致性能欠佳。

    • 其次,SalakhutdinovHinton 使用深度自编码器deep auto-encoder 扩展了语义建模semantic modeling 。他们证明了嵌入在 querydocument 中的层次语义结构 hierarchical semantic structure 可以通过深度学习来提取。

      据报道,这种方法的性能优于传统 LSA。然而,他们使用的深度学习方法仍然采用无监督学习方法,其中模型参数针对 document 的重建进行优化,而不是针对给定的 query 将相关的 document 和无关的 document 区分开。因此,深度学习模型并没有显著优于基于关键词匹配的 baseline 检索模型。

      此外,语义哈希模型semantic hashing model 还面临大规模矩阵乘法的可扩展性挑战。然而,学习大词表的能力对于在现实世界的 web 搜索任务中获得良好结果至关重要。

    在论文 《"Learning Deep Structured Semantic Models for Web Search using Clickthrough Data》 中,从上述两个研究方向出发,论文提出了一系列用于 web 搜索的深度结构化语义模型 Deep Structured Semantic Model: DSSM 。具体而言,论文的最佳模型使用深度神经网络 DNN 对给定 query 的一组 document 进行排序,如下所示:

    • 首先,执行非线性投影从而将 querydocument 映射到公共语义空间。
    • 然后,每个 document 和给定 query 的相关性计算为它们在这个公共语义空间中的向量之间的余弦相似度。

    神经网络模型使用点击数据进行有区别地 discriminatively 训练,从而最大化给定query 条件下点击 document 的条件概率。和之前以无监督方式学习的潜在语义模型不同,DSSM 模型直接针对 web document ranking 进行了优化,因此具有卓越的性能。

    此外为了处理大型词表vocabulary,作者提出了所谓的哈希方法 hashing method,通过该方法将 querydocument 的高维 term vectors 投影到低维的 letter based n-gram vectors ,信息损失很小。在论文的实验中,实验表明:通过在语义模型中添加这一个额外的layerword hashing 使得我们能够有区别地学习大词表的语义模型,这对于 web 搜索至关重要。

    论文使用真实世界的数据集在 web document ranking 任务上评估了 DSSM,结果表明:DSSM 的最佳模型在 NDCG@1 中以 2.5%-4.3% 的显著优势优于所有竞争方法(包括之前被认为是 state-of-the-art 的方法)。

  2. 论文的主要贡献在于论文在三个关键方面对先前的潜在语义模型(如 LSA )进行了重大扩展。

    • 首先,论文直接针对 document ranking 的目标,利用点击数据来优化模型参数。

    • 其次,论文使用多个 hidden-representation layer 将线性语义模型扩展到非线性语义模型。

      采用深层架构可以进一步增强建模能力,从而捕获和表达 querydocument 中更复杂的语义结构。

    • 第三,论文使用 letter n-gram based word hashing 技术,该技术证明有助于扩展深度模型的训练,以便可以在现实的 web 搜索中使用非常大的词表。

    论文的实验表明上述三个方面的每一个新技术都可以显著提高 document 排序任务的性能。三种新技术的组合产生了一个新的 state-of-the-art 的语义模型,该模型以显著的优势击败了所有之前的baseline 模型。

  3. 相关工作:论文的工作是基于对信息检索 IR 的潜在语义模型的两个最新扩展。第一个是探索用于以监督方式学习潜在语义模型的点击数据,第二个引入深度学习方法进行语义建模。

    • 潜在语义模型以及使用点击数据:使用潜在语义模型进行 query-document mathcingIR 社区中一个长期存在的研究课题。流行的模型可以分为两类:线性投影模型linear projection model 和生成主题模型generative topic model

      最著名的 IR 线性投影模型是 LSA 。通过使用 document-term 矩阵的奇异值分解 singular value decomposition: SVD,可以将 document (或者 term)映射到低维概念向量 concept vector 。给定document term vector ,其中 为词表大小,则:

      其中: 为投影矩阵 ;document 投影后的低维概念向量, 为低维概念空间维度。

      document 搜索中,query (由 term vector 表示)和 document (由 term vector 表示)之间的相关性得分 relevance score ,与它们对应的概念向量 的余弦相似度得分similarity score 成正比:

      除了潜在语义模型之外,在点击的 query-document pair 对上训练的翻译模型 translation model 提供了另一种语义匹配方法。和潜在语义模型不同,基于翻译的方法直接学习 document 中的 termquery 中的 term 之间的翻译关系。最近的研究表明,给定大量用于训练的点击数据,这种方法非常有效。论文还将通过实验将 DSSM 和翻译模型进行比较,细节参考后面的内容。

    • 深度学习:最近,深度学习方法已经成功地应用于各种语言和信息检索 application。通过利用深度架构,深度学习技术能够从训练数据中发现对任务有用的不同抽象级别abstractions level 的隐藏结构和特征。

      《Semantic hashing》 中,SalakhutdinovHinton 通过使用深度网络(自编码器 auto-encoder)来扩展 LSA 模型,从而发现嵌入在 querydocument 中的层次语义结构 hierarchical semantic structure 。他们提出了一种语义哈希semantic hashing: SH 方法,该方法使用从深度自编码器中学到的 bottleneck 特征进行信息检索。这些深度模型分为两个阶段学习。

      • 首先,学习一系列生成模型(即受限玻尔兹曼机restricted Boltzmann machine)将documentterm vector representation 逐层映射到低维的语义概念向量semantic concept vector
      • 其次,对模型参数进行微调,从而最小化 document 的原始 term vector 和重构的 term vector 之间的交叉熵误差。

      中间层 activation 用作 document 排序的特征(即 bottleneck)。他们的评估表明,SH 方法取得了优于 LSA 的文档检索性能。

      然而,SH 存在两个问题,并且无法超越基于标准的lexical matching based 的检索模型(例如,使用 TF-IDF term weighting 的余弦相似度)。

      • 第一个问题是模型参数针对 documentterm vector 重建进行了优化,而不是针对给定query 从而将相关的document 和不相关的 document 区分开来。
      • 第二个问题是为了降低计算成本,documentterm vector 仅包含最常用的 2000 个单词。

      接下来论文将展示对这两个问题的解决方案。

1.1 模型

1.1.1 DNN 架构

  1. 我们开发的 DNN 架构可以将原始的高维稀疏文本特征映射到语义空间中的低维稠密特征,如下图所示。

    • DNN 的输入(原始文本特征)是一个高维稀疏的 term vector ,如 querydocumentterm 未归一化的原始计数。输入层 500k 表示采用 500k 个单词的大型词表。
    • DNN 的第一个隐层有 30k 个单元,从而完成 word hashing
    • 然后通过多层非线性投影来映射经过 word hashed 的特征。
    • DNN 的输出是低维语义特征空间中的概念向量 concept vector

  2. 这个 DNN 模型用于 web document ranking 如下:

    • term vectors 映射到它们对应的语义概念向量semantic concept vectors
    • 计算 documentquery 对应的语义概念向量的余弦相似度cosine similarity 作为它们之间的相关性得分relevance score

    形式化地,假设输入向量为 ,输出向量为 ,网络一共有 层。第 层的隐向量为:

    其中:

    • 为激活函数,这里采用 tanh 激活函数。
    • 为待学习的网络参数。注意, 为第一层 word hashing layer 固定的权重矩阵,不需要学习,详细内容参考后文所述。

    对于 query ,输入就是 ,输出就是 ;对于 document ,输入就是 ,输出就是 。对于 query document ,它们之间的相关性得分为:

  3. 一般而言,term vector (可以视为IR 中的原始 bag-of-words 特征)的维度与用于索引 web document 集合的词表大小相同。在现实世界的 web 搜索任务中,词表大小通常非常大。因此,当使用 term vector 作为输入时,神经网络输入层的尺寸将无法用于模型推断和模型训练。

    为了解决这个问题,我们为 DNN 的第一层开发了一种称作 word hashing 的方法,如上图的下半部分所示。word hashing layer仅由线性隐单元组成,其中包含一个不需要学习的、规模很大的权重矩阵。接下来我们将详细描述 word hashing 方法。

1.1.2 word hash

  1. word hashing 方法旨在降低 bat-of-word 向量的维度。该方法基于 letter n-gram,是一种专门为我们的任务开发的新方法。给定一个单词(如 good):

    • 我们首先为单词添加开始标记、结束标记(如#good#)。
    • 然后我们将单词分解为 letter n-gram (例如 letter trigrams#go, goo, ood, od#)。
    • 最后,单词使用 letter n-grams 的向量来表示。

    这种方法的一个问题是冲突collision ,即两个不同的单词可能具有相同的 letter n-gram 向量表示。

    下表展示了对两个词表进行 word hashing 的一些统计数据。和 one-hot 向量的原始尺寸相比,word hashing 允许我们使用维度低得多的向量来表示 querydocument

    • 40K-word 词表为例,每个单词都可以使用 letter trigrams 由一个 10306 维的向量来表示,从而在几乎没有冲突的情况下将维度降低了 4 倍。
    • 当该技术应用于更大规模的词表时,维度的降低更为显著。如下表所示,500K-word 词表中每个单词都可以使用 letter trigrams 由一个 30621 维的向量来表示,维度降低了 16 倍,而且冲突率 0.0044%22/500000)几乎可以忽略不计。

  2. 虽然英语单词的数量可以是无限的,但是英语(或者其他类似语言)中 letter n-gram 的数量通常是有限的。此外,word hashing 能够将同一个单词的形态变化映射到 letter n-gram 空间中彼此靠近的点。更重要的是,letter n-gram based representation 可以解决在训练集中看不到的单词(即 out-of-vocabulary: OOV)的问题。

    唯一的风险是 representation 冲突,虽然冲突比例较小。因此,基于 letter n-gramword hashingOOV 问题具有鲁棒性,使得我们能够将 DNN 解决方案扩展到词表非常大的 web 搜索任务中。我们将在实验部分演示该技术的好处。

  3. 在我们的实现中,基于 letter n-gramword hashing 可以被视为一种固定的(不需要学习的)线性变换。通过该变换,输入层中的 term vector 将被投影到下一层的 letter n-gram vector 。由于 letter n-gram vector 的维度要低得多,因此可以有效地进行 DNN 学习。

1.1.3 DSSM 学习

  1. 点击日志由 query 及其点击的 document 组成。我们假设每个 query 与对应的点击 document 至少部分相关。

    受语音和语言处理中判别式训练 discriminative training 方法的启发,我们提出了一种监督训练方法来学习我们的模型参数(即模型中的权重矩阵 和偏置向量 ),以便最大化给定 query 的条件下点击 document 的条件概率。

    给定 query document ,我们通过 softmax 函数从 query-document 之间的语义相关性得分得到后验概率:

    其中:

    • 为平滑因子,它是一个超参数,需要根据验证集来执行超参数搜索。

    • 是需要排序的候选 document 集合。理论上应该考虑所有的候选文档,但是实际应用中给定一对点击样本 ,我们从曝光但是未点击的文档中随机选择 篇文档作为负样本 ,则

      我们选择 ,并且在实验中发现: 不同的负采样策略对结果没有显著影响。

  2. 我们的目标函数是在给定 query 的情况下最大化点击 document 的可能性,即:

    其中 表示模型的参数集合。

    该模型很容易使用基于梯度的数值优化算法进行训练,限于篇幅我们省略了梯度的推导过程。

    注意:这里并没有计算负样本的概率 ,负样本的信息在计算概率 时被使用。

  3. DSSM 模型配置:

    • 为了训练模型并避免过拟合,我们将点击数据分为训练集和验证集。模型在训练集上训练,超参数在验证集上优化。

    • 在实验中,我们的 DSSM 使用了具有三层隐层的架构。第一层隐层是 word hashing layer,包含大约 30k 个节点(letter-trigramms);接下来的两层隐层各有 300 个隐节点。

      此外,输出层包含 128 个节点。

    • word hashing 基于固定的投影矩阵,相似性度量基于维度为 128 的输出层。

    • 我们初始化网络权重为 范围之间的均匀分布,其中 分别为输入单元数量和输出单元数量。

    • 实验结果表明:在采用逐层预训练时我们没有观察到更好的性能。

    • 在训练阶段我们使用基于 mini-batch 的随机梯度下降 SGD 优化模型,每个 mini-batch 包含 1024 个训练样本。我们观察到模型训练通常会在 20epoch 内收敛。

1.2 实验

  1. 数据集:我们在大规模真实世界数据集(称作评估数据集)的 web document 排序任务中评估了 DSSM

    评估数据集包含 16510 个英语 query,这些 query 来自商业搜索引擎的一年的 query 日志文件。平均而言,每个 query 都和 15web documentURL)相关联。我们仅使用 web document 的标题字段进行排序。我们使用了大约 1 亿对的随机采样子集,这些 document 很受欢迎并且具有丰富的点击信息。

    每个 query-title pair 都有一个人工生成的相关性标签,标签等级从 0 ~ 4 一共五级相关性:4 级表示 documentquery 最相关,0 级表示 documentquery 最不相关。

    所有 querydocument 都经过预处理:单词被空格分开,字母小写,数字被保留,并且不执行词干化。

  2. 评估方式:评估指标是 Normalized Discounted Cumulative Gain: NDCG。我们在这里报告 NDCG@1, NDCG@3, NDCG@10

    我们还使用 paired t-test 来进行显著性检验,当 时才认为差异具有统计显著性。

    本文中使用的所有排序模型(即 DSSM 模型、主题模型、线性投影模型)都包含很多需要凭经验设置的超参数,我们使用 2-fold 交叉验证来调优超参数。

  3. baseline 方法:我们将 DSSM 和三组 baseline 模型进行比较。

    • 第一组 baseline 方法包括一些广泛使用的 lexical matching 方法,如 TF-IDFBM25TF-IDFBM25 都是基于 lexical matchingstate-of-the-artdocument ranking 模型。

      • TF-IDF 方法中,querydocument 都表示为具有 TF-IDF 权重的 term-vector 。给定 querydocument 按照 query vectordocument vector 之间的余弦相似度排序。

      • BM25 方法中,querydocument 相关性表示为:query 中每个 termdocument/query 相关性的加权和,权重为 term 的重要性,即:

        其中:query 中第 term 的重要性;document 的相关性;query 的相关性。

    • 第二组 baseline 是单词翻译模型,如 WTM,它旨在通过学习 query 单词和 document 单词之间的 lexical mapping 来直接解决 query-document 语言差异问题。

    • 第三组 baselinestate-of-the-art 的潜在语义模型,这些模型包括无监督方法(如 LSA, PLSA, DAE)以及有监督方法(BLTM-PR, DPM)。

      • 对于 LSA,我们使用 PCA 而不是 SVD 来计算线性投影矩阵。 querytitle 被视为单独的文档,因此模型中并未使用来自点击数据的 pair 信息。

      • PLSA 仅针对 document (即 title)进行训练,另外我们的 PSLA 版本是使用 MAP 估计学习的。

      • DAE 是基于深度自编码器的语义哈希模型的实现。由于模型训练的复杂性,输入的 term vector 基于 40k 的词表。

        DAE 架构包含四个隐层,每个隐层包含 300 个节点。中间有个 bottleneck layer,它包含 128 个节点。该模型仅以无监督的方式对 document 进行训练。在微调阶段,我们使用交叉熵误差作为目标函数。bottleneck 激活用作计算 querydocument 之间余弦相似度的特征。

      • BLTMPLSA 的扩展。DPM 也可以视为 LSA 的扩展,其中线性投影矩阵是使用点击数据以监督方式训练的。

    为了使得结果具有可比性,我们按照 《Clickthrough-based latent semantic models for web search》 中的描述重新实现了这些模型。例如,由于模型复杂性的限制,LSADPM 的模型使用 40k-word 的词表进行训练,其它模型采用 500k-word 的词表进行训练。

  4. 实验结果如下表所示。第 9 行到第 12 行显式了 DSSM 不同设置的结果。

    • DNN (第 9 行)是一个不使用 word hashingDSSM。它使用与 DAE 相同的结构,但是在点击数据上以监督方式进行训练。输入 term vector 基于 DAE 使用的 40k 词表。

    • L-WH linear(第 10行)是使用 letter trigram based word hashing 和监督训练构建的单隐层模型。它和 L-WH no-linear 的不同之处在于:我们没有对 L-WH linear 输出层采用任何非线性激活函数,例如 tanh。注:但是隐层还是使用了非线性激活函数。

    • L-WH DNN(第 12 行)是我们最好的、基于 DNN 的语义模型。它使用三层隐层,包括具有 Letter-trigram-based Word Hashing: L-WH 的层和一个输出层,并在 query-title pair 上进行有区分性地地训练。虽然基于 letter n-gramword hashing 方法可以应用于任意大的词表,但是为了和其它方法进行公平地比较,该模型使用了 500-k word 的词表。

      它和 L-WH no-linear 的不同之处在于: L-WH no-linear 是单隐层,但是 L-WH DNN 是三层隐层。

    可以看到:

    • WTM 显著优于 TF-IDFBM25,这证明了 《Clickthrough-based translation models for web search: from word models to phrase models”》 中得到的结论。
    • DAE 的结果与之前在 《Semantic hashing》 中报告的结果一致。基于 DNN 的潜在语义模型(如 DAE )优于线性投影模型(如 LSA)。然而, LSADAE 都是以无监督方式训练,因此无法超越 state-of-the-artlexical matching 排序模型。
    • 引入点击数据进行监督训练会带来一些显著的提升,BLTM-PRDPM 都优于 baseline 模型。
    • DSSM 模型表现最佳,在 NDCG 中以统计显著的优势超越了其它方法。这证明了使用 DNN 进行语义匹配的有效性。

    此外,我们还有以下结论:

    • 很明显,对点击数据的监督学习,再加上 IR-centric 优化准则的排序,对于获得卓越的 document 排序性能至关重要。

      例如 DNN (第9行)和 DAE(第6行)使用相同的 40k-word 词表并采用相同的深度架构,前者在 NDCG@1 中比后者高出 0.032

    • word hashing 允许我们使用非常大的词表进行建模。

      例如第 12行中的模型使用 500k-word 词表,显著优于第 9行中使用 `40k-word 词表的模型,尽管前者的参数规模更少(因为 word hashing layer 的权重矩阵是固定的)。

    • 深层架构比浅层架构在对嵌入在querydocument 中的语义信息建模方面效果更好。

      例如在无监督模型中, DAE (第3行) 深层模型优于 LSA (第2行) 浅层模型。在监督模型中我们也观察到类似的结果:

      • 比较第 11 行和 12 行,我们观察到将非线性层从1增加到3会使得 NDCG 得分提高 0.004 ~ 0.005 ,这在统计上是显著的。
      • 比较第 10 行和 11 行(它们都是一层隐层的浅层模型),我们观察到线性模型和非线性模型之间没有显著差异。

二、FNN[2016]

  1. 用户响应user response (如点击click-through 或转化 conversion )预测在很多 web applications 中起着至关重要的作用,包括web 搜索、推荐系统、sponsored 搜索广告、展示广告 display advertising 。例如,和传统线下广告相比,在线广告精准定向targeting 到单个用户的能力是核心优势。所有这些 targeting 技术本质上都依赖于系统预测特定用户是否会认为潜在广告是 “相关” 的,即用户在特定上下文中点击给定广告的概率。sponsored 搜索广告、上下文广告、以及最近出现的实时竞价realtime bidding: RTB展示广告在很大程度上依赖于模型预测广告点击率 CTR 的能力。

    当今应用的 CTR 预估模型大多数是线性的,从逻辑回归、朴素贝叶斯到 FTRL 逻辑回归、贝叶斯概率回归,所有这些都是基于大量的、基于 one-hot 编码的稀疏特征。线性模型具有易于实现、学习效率高的优点,但性能相对较低,因为无法它无法学习非平凡的nontrivial 模式来捕获原始特征之间的交互interaction

    另一方面,非线性模型能够利用不同的特征组合,因此有可能提高预估性能。例如:分解机factorization machine: FM 将用户和 item 的二元特征映射到低维连续空间中,并通过向量内积自动探索特征交互;梯度提升树gradient boosting tree: GBT 在生成每棵决策树/回归树的同时自动学习特征组合。然而,这些模型不能利用不同特征的所有可能组合,并且在大特征空间中计算量很大。

    此外,很多模型需要特征工程来手动设计输入特征。

    主流的广告点击率预估模型的另一个问题是:大多数预测模型结构浅、表达能力有限,无法从复杂和海量数据中建模潜在模式。因此,它们的数据建模和泛化能力仍然受限。

    近五年来,深度学习在计算机视觉、语音识别、自然语言处理等领域取得了成功。由于视觉信号、听觉信号、文本信号已知在空间/时间上相关,因此新引入的、在深层结构上的无监督训练能够探索这种局部依赖性local dependency 并建立特征空间的稠密representation,使神经网络模型能够有效地直接从原始特征输入中学习高阶特征。凭借这样的学习能力,深度学习将是估计在线用户响应(如广告点击率)的理想选择。

    然而,CTR 预估中的大多数输入特征都是 multi-field 的,而且是不连续的discrete 、离散的 categorical,例如用户所在城市(London, Paris)、设备类型(PC, Mobile)、广告类目(Sports, Electronics)。另外,输入特征之间的局部依赖性是未知的。因此,了解深度学习如何通过在此类大型 multi-field 离散特征上学习特征 representation 来改进 CTR 预估是非常有意义的。距FNN 论文作者所知,到目前为止还没有使用深度学习方法估计广告点击率的文献。 此外,在大型输入特征空间上训练深度神经网络DNN 需要训练大量参数,这在计算上是昂贵的。例如,不同于图像和音频领域,在 CTR 预估任务中,假设在第一层大约有 100 万个二元输入特征和 100 个隐单元,那么构建第一层神经网络就需要 1 亿个权重参数。

    在论文 《Deep Learning over Multi-field Categorical Data – A Case Study on User Response Prediction》 中,作者以广告点击率预估作为示例,通过使用有监督和无监督方式的 embedding 方法在大型 multi-field 离散特征空间上研究深度学习。论文介绍了两种类型的深度学习模型,称为因子分解机支持的神经网络Factorization Machine supported Neural Network: FNN 、基于采样的神经网络 Sampling-based Neural Network: SNN 。具体而言:

    • FNN 使用分解机来初始化监督学习的 embedding layer,从而将高维稀疏特征有效地降维到低维稠密连续特征。
    • SNN 是一个深度神经网络,由基于采样的受限玻尔兹曼机sampling-based restricted Boltzmann machine: SNN-RBM 或者基于采样的降噪自编码器 sampling-based denoising auto-encoder: SNN-DAE 提供支持,并且使用了一种负采样方法。

    基于 embedding layer,论文构建了具有全连接的多层神经网络,从而探索非平凡 non-trivial 的数据模式。论文对多个真实世界广告主的广告点击数据进行的实验表明:所提出的模型对 CTR 预估的一致性consistent 的改进优于 state-of-the-art 的模型。

  2. 相关工作:点击率在在线广告中至关重要。为了最大化收入和用户满意度satisfaction,在线广告平台必须预测每个展示广告的预期用户行为,并最大化用户点击的期望。

    当前的大多数模型使用基于一组稀疏二元特征的逻辑回归,这些特征是通过 one-hot 编码从原始离散特征categorical feature 转换而来的。在这个过程中需要大量的特征工程。

    将维度很高的特征向量嵌入到低维 embedding 空间,这对于预测任务很有用,因为它降低了数据和模型的复杂性,并提高了训练和预测的效果effectiveness 和效率efficiency 。人们已经提出了各种 embedding 方法。例如因子分解机Factorization machine: FM 最初是为协同过滤推荐而提出的,被认为是最成功的 embedding 模型之一。FM 天然地可以通过将任意两个特征映射到低维潜在空间中的向量,从而估计它们之间的交互。

    深度学习是人工智能研究的一个分支,它试图开发新技术使得计算机能够处理复杂的任务(诸如识别recognition 和预测prediction )。深度神经网络 DNN 能够从训练数据中提取不同抽象级别的隐藏结构hidden structures 和内在模式 intrinsic patterns,目前已经成功应用于计算机视觉、语音识别、自然语言处理。此外,在无监督预训练的帮助下,我们可以获得良好的特征 representation,引导学习朝着更好泛化的极小值区域发展。

    通常,这些深度模型有两个学习阶段:第一阶段通过无监督学习(即受限玻尔兹曼机RBM或堆叠降噪自编码器SDAE)执行模型初始化,使模型捕获输入数据的分布。第二阶段涉及通过反向传播的监督学习对初始化模型进行微调。

    我们的深度学习模型的新颖之处在于第一层初始化,其中输入的原始特征是从原始离散特征转换而来的高维稀疏二元特征。这种高维稀疏二元特征使得大规模训练传统 DNN 变得困难。与 NLP 中使用的 word embedding 技术相比,我们的模型处理更通用的 multi-field 离散特征,而没有任何假设的数据结构,如 word alignment 以及 letter-n-gram 等。

2.1 模型

  1. 里我们将详细讨论两种 DNN 架构,即因子分解机支持的神经网络 Factorization-machine supported Neural Networks: FNN、基于采样的神经网络 Sampling-based Neural Networks: SNN

    这输入的离散特征是 field-wise one-hot 的。对于每个field(例如 city),有多个unit,每个 unit 代表该field 的一个特定值(例如 city=London),并且只有一个 postive unit (取值为 1)、其它所有 unit 都是 negative(取值为 0)。编码后的特征记作 ,这是很多 CTR 预估模型以及我们 DNN 模型的输入。

2.1.1 FNN

  1. 我们的第一个模型 FNN 基于因子分解机 FM,网络结构如下图所示。网络分为以下几层:

    • 0 层输入层:离散特征经过 one-hot 编码之后作为输入,该层也被称作 sparse binary feature 层。
    • 1embedding 层:输入层经过局部连接生成embedding 向量,该层也被称作 dense real layer 层。
    • 2层到第 层:全连接层。也被称作 hidden layer
    • 最后一层:sigmoid 输出层。

  2. FNN 的核心在于 embedding 向量的生成。假设 one-hot 向量为 包含 fieldfield i 在向量中的起始位置为 、终止位置为 (包含),即 。其中

    每个 field 生成一个 embedding 向量,即 field i 生成 。同时还有全局bias 。因此embedding 层的输出为:

    • 输入位置 仅仅与 相连,即局部连接:,其中 为映射参数。

    • FM 模型初始化,即:

      其中 用于建模特征之间的交互。

      FM 模型中, 为第 个特征的 bias 参数, 为第 个特征的 embedding 向量。field 的取值。 的第 列由向量 初始化。

    • 模型采用逐层预训练,一旦初始化后就冻结 ,直到最后的微调阶段才更新

  3. 一旦求解出 ,就可以计算后续网络:

    其中 为激活函数, 为第 层输出的维度。

    网络每层通过 layer-wise RBM 逐层预训练来初始化。

  4. 通过这种方式,上述神经网络可以更有效地从分解机representation 中学习,从而很自然地绕过了高维二元输入的计算复杂性问题。不同隐层可以看作是不同的内部函数,捕获了数据样本的不同representation 形式。因此,该模型具有更强的捕获内在数据模式的能力。

  5. 在底层使用 FM 的想法是由卷积神经网络CNN 启发的,CNN 通过在相邻层的神经元之间强制执行局部连接模式来利用空间局部相关性。同样地,第一层隐层的输入连接到特定 field 的输入单元。此外,底层不是全连接的,因为 FMone-hot 稀疏编码输入执行 field-wise 训练,从而允许局部稀疏local sparsity ,如上图中的虚线所示。

  6. FM 在潜在空间中学习良好的结构数据representation,有助于构建任何更好的模型。但是,FM 的乘积规则和 DNN 的求和规则之间出现了细微的差异。然而,如果观察到的判别性的信息discriminatory information 是高度模糊的(在我们的广告点击场景下是这样的),后验权重(来自 DNN)不会显著偏离先验权重(来自 FM)。

    此外,隐层(FM 层除外)中的权重通过使用对比散度contrastive divergencelayer-wise RBM 预训练进行初始化,这有效地保留了输入数据集中的信息。

  7. FM 的初始权重通过随机梯度下降 SGD 进行训练。注意,我们只需要更新连接到 positive input 单元的权重,这在很大程度上降低了计算复杂度。

    在对 FM 和上层进行预训练后,我们应用监督微调(反向传播)以最小化交叉熵的损失函数:

    其中 为预估的点击率,ground-truth label

    通过反向传播的链式法则,可以有效地更新包括 FM 权重在内的 FNN 权重。

    时对应梯度为 0,因此只需要更新 中非零的分量对应的参数,这大大降低了参数更新的计算量。

2.1.2 SNN

  1. SNN 的模型如下图 (a) 所示。SNNFNN 的区别在于第一层的结构和训练方法。SNN 的第一层和是全连接的:

    其中 为激活函数, 为第一层的网络参数。

    为了初始化第一层的权重,我们在预训练阶段尝试了受限玻尔兹曼机 restricted Boltz- mann machine: RBM 和降噪自编码器denoising auto-encoder: DAE

    为了处理训练大型稀疏 one-hot 编码数据的计算问题,我们提出了一种基于采样的 RBM(如下图 (b),记作 SNN-RBM),以及基于采样的 DAE(如下图 (c),记作 SNN-DAE),从而有效地计算第一层的初始权重。

    我们不是为每个训练样本集合建模整个 feature set。对于每个特征 field,每个训练样本只有一个 positive value feature ,例如 city= London,并且我们随机采样 negative units (取值为零)。图 (b)(c) 中的黑色单元是未采样到的,因此在预训练数据样本时被忽略。使用采样的单元,我们可以通过对比散度 contrastive divergence 训练 RBM,并通过 SGD 使用无监督方法训练 DAE,从而大大降低数据维度,并具有高的 recovery 性能。

    此外,实值稠密向量用作 SNN 中其它层的输入。

    通过这种方式,我们可以显著降低计算复杂度,进而可以快速计算初始权重,然后执行反向传播来微调 SNN 模型。

     

2.1.3 正则化

  1. 为了防止过拟合,我们在损失函数中加入了广泛使用的 L2 正则化,例如 FNN 中的正则化项为:

    另一方面,我们还实现了 dropout ,并在实验中对这两种正则化方式进行了比较。

2.2 实验

  1. 数据集:我们基于 iPinYou 数据集评估我们的模型,这是一个公开的真实世界展示广告display ad 数据集,包含每个广告曝光信息和相应的用户点击反馈。数据日志由不同的广告主以每条记录的格式进行组织。

    数据集包含 1950 万个数据样本,共有 14790positive label (正样本)。所有的特征都是离散的,特征包括 user agentpartially masked IP、地区、城市、广告交易平台、域名domainURL、广告位ID 等等。经过 one-hot 编码后,整个数据集中的二元特征数量为 937.67K

    在我们的实验中,我们分别使用来自广告主 14582259226129973386 以及整个数据集的训练数据。

  2. baseline 方法:

    • LR:逻辑回归是一种实现简单、训练速度快的线性模型,广泛用于在线广告点击率预估。
    • FM:因子分解机是一种非线性模型,即使在具有巨大稀疏性的问题中也能估计特征交互。
    • FNN:我们提出的分解机支持的神经网络,如前所述。
    • SNN:我们提出的基于采样的神经网络,其中基于采样的 RBM 表示为 SNN-RBM、基于采样的 DAE 表示为 SNN-DAE

    为了衡量每个模型的 CTR 预估性能,我们使用 AUC 指标。

  3. 下表给出了5 个不同广告主和整个数据集上不同模型的比较结果。可以看到:

    • FM 并没有显著优于 LR,这意味着二阶组合特征不足以捕获底层数据模式。

    • 在所有测试集上,FNNSNN 的性能超越了 LRFM

      • 基于FM 学习的潜在结构,FNN 进一步学习这些潜在特征之间的有效模式,并提供对 FM 的一致提升。
      • SNN-DAESNN-RBM 的性能大体上是一致的,即SNN 的结果几乎相同。

  4. 超参数调优:深度神经网络需要调优相当多的超参数,这里展示我们如何实现我们的模型以及调优超参数。

    • 我们使用随机梯度下降来训练模型,训练 epoch 的数量由早停策略来自动决定。
    • 我们尝试了不同的学习率([1, 0.1, 0.01, 0.001, 0.0001]),并选择在验证集上最佳性能的学习率。
    • 对于 SNN-RBMSNN-DAE 的负采样unit,我们尝试每个fieldnegative units 。我们发现 在大多数情况下产生最佳结果。
    • 对于隐层的激活函数,我们尝试了线性函数、sigmoid 函数、tanh 函数,最终发现 tanh 函数的结果最优。
  5. 架构选择:在我们的模型中,我们通过固定所有层的尺寸来研究具有 [3, 4, 5] 层隐层的架构,并发现具有三层隐层(即,包括输入层、输出层一共有五层)的架构在 AUC 性能方面最佳。

    但是如何选择层的尺寸是一个困难。假设具有 层隐层,每一层的隐单元数量取值集合为 [100, 200, 300, 400, 500],那么一共有 种选择。在我们的实验中,我们并没有尝试所有的组合,而是采用另一种策略:所有隐层使用相同数量的隐单元,因为根据经验具有相同尺寸的隐层的架构优于尺寸增加或减小的架构。

    事实上除了尺寸增加、尺寸不变、尺寸减小之外,还有一种更有效的结果,即菱形结构,如下图 (a) 所示。我们将这几种网络结构在不同数据集上进行比较。可以看到:

    • 菱形架构在几乎所有层尺寸设置中都优于其它架构。这种菱形之所以有效,可能是因为这种特殊形状的神经网络对模型容量有一定的约束,这在测试集上提供了更好的泛化能力。
    • 另一方面,菱形架构的最佳隐单元总数为 600,即 (200,300,100) 的组合。这取决于训练样本的数量。针对小规模数据集,如果有太多隐单元可能会导致过拟合。

  6. 正则化:我们比较了 L2 正则化和 dropout 。下图显示了 SNN-RBM 模型采用不同正则化的性能比较。可以看到:在所有情况下 dropout 都优于 L2

    dropout 更有效的原因是:在馈入每个训练样本时,每个隐单元都以 dropout rate 的概率从网络随机排除,即每个训练样本都可以视为一个新的模型,并将这些模型平均为 bagging 的特殊case,这有效地提高了 DNN 模型的泛化能力。

  7. dropout rate:下图显示了 FNNSNN 中, AUC 性能如何随着的 dropout rate 的增加而变化。这里的 dropout rate 指的是每个神经单元处于激活状态的概率(而不是丢弃的概率)。可以看到:

    • 两个模型的性能在开始时都有上升的趋势,然后随着 dropout rate 的不断降低而急剧下降。

    • 这两种模型的区别在于对 dropout 的敏感性不同。

      • 模型 SNNdropout rate 很敏感,这可能是由于 SNN 第一层的全连接而引起的。
      • 模型 FNNdropout rate 相对不敏感,这是因为 FNN 第一层部分连接而引起的。当一些隐单元被丢弃时,FNN 更鲁棒。

      因此,FNNSNN 最佳性能时的 dropout rate 有很大不同。对于 FNN,最佳 dropout rate 大约为 0.8,对于 SNN 大约为 0.99

三、PNN[2016]

  1. 学习和预测用户响应response 在信息检索 information retrieval: IR 的许多个性化任务中起到至关重要的作用,例如推荐系统、web 搜索、在线广告。用户响应预测的目标是估计用户positive response (如点击、购买等)的概率。这个预测的概率表示用户对特定 item (如新闻文章、电商的商品等)的兴趣,并影响后续决策,例如 document ranking、广告出价等等。

    这些 IR 任务中的数据集大多数采用 multi-field 的离散categorical 形式,例如 [Weekday=Tuesday, Gender=Male, City=London] 。通常通过 one-hot 编码将这种形式的特征转换为高维稀疏二元特征。例如包含上述三个 field 的特征向量被 one-hot 编码为:

    许多机器学习模型,包括线性逻辑回归logistic regression: LR 、非线性梯度提升决策树gradient boosting decision tree: GBDT、分解机factorization machine: FM 等等,已经被提出来用于处理此类高维稀疏二元特征并产生高质量的用户响应预测。然而,这些模型高度依赖于特征工程来捕获高阶high-order潜在模式 latent pattern 。因此面对极端的稀疏性,传统模型可能会受限于从数据中挖掘浅层模式的能力。

    最近,深度神经网络 DNN 在分类和回归任务中表现出强大的能力,包括计算机视觉、语音识别、自然语言处理。在用户响应预测中采用 DNN 很有前景,因为 DNN 可以自动学习更具有表达性expressive 的特征并提供更好的预测性能。但是面对高维输入的场景,DNN 模型的参数规模巨大导致难以应用。

    为了改善 multi-field 离散数据交互,《Deep learning over multi-field categorical data: A case study on user response prediction》 提出了一种基于FM 预训练的 embedding 方法。该方法基于拼接的 embedding 向量,并构建了多层感知机MLP 来探索特征交互feature interaction

    然而,embedding 初始化的质量在很大程度上受限于 FM 。更重要的是,感知机layeradd 操作可能无法用于探索 multi-field 中离散数据的交互。先前的工作表明,可以通过特征向量 product 操作而不是 add 操作来有效地探索来自不同field 的特征之间的局部依赖关系。

    为了利用神经网络的学习能力,并以比 MLP 更有效的方式挖掘数据的潜在模式,论文 《Product-based Neural Networks for User Response Prediction》 提出了 Product-based Neural Network: PNN,它具有以下特点:

    • 使用没有预训练的 embedding 层。
    • 基于 embedding 的特征向量构建一个 product layer,从而建模 inter-field 特征交互。
    • 使用全连接的 MLP 进一步提取高阶特征模式。

    论文出了两种类型的 PNN ,分别在 product layer 执行内积 inner product 操作(即 IPNN)和外积 outer product 操作(即 OPNN ),从而有效地对交互模式进行建模。

    论文以在线广告的 CTR 预估为例,探讨 PNN 模型的学习能力。在两个大规模真实世界数据集上的大量实验结果表明:PNN 模型在各种指标上始终优于 state-of-the-art 的用户响应预测模式。

  2. 相关工作:响应预测response prediction 问题通常被表述为基于最大似然或交叉熵的二分类问题。

    从建模的角度来看,线性逻辑回归 logistic regression: LR、非线性梯度提升决策树 gradient boosting decision tree: GBDT 、非线性因子分解机 factorization machine: FM 在工业 application 中得到广泛应用。然而,这些模型在挖掘高阶潜在模式或学习高质量特征 representation 方面受到限制。

    深度学习能够探索高阶潜在模式high-order latent pattern以及泛化的、有表达力的数据 representationDNN 的输入通常是稠密实值向量,而multi-field 离散categorical 数据的解决方案尚未得到很好的研究。

    • 《Deep learning over multi-field categorical data: A case study on user response prediction》 中提出了 Factorization-machine supported neural network: FNN,它通过预训练的 FM 学习离散数据的 embedding 向量。
    • 《A convolutional click prediction model》 中提出了 Convolutional Click Prediction Model: CCPM 来预测广告点击。然而在 CCPM 中,卷积仅在某种对齐 alignment 的相邻 fields 上执行,无法对非相邻 fields 之间的完整交互进行建模。
    • 《Sequential click prediction for sponsored search with recurrent neural networks》 利用 RNN 将用户 queries 建模为一系列用户上下文,从而预测广告点击行为。
    • 《Training product unit neural networks》 提出了 Product unit neural network: PUNN 来构建输入的高阶组合。然而,PUNN 既不能学习局部依赖local dependency ,也无法产生有界的输出bounded output 从而适应响应率response rate (即点击率)。

    在本文中,我们展示了我们的 PNN 模型学习局部依赖和高阶特征交互的方式。

3.1 模型

  1. 我们以在线广告的 CTR 预估为例来描述我们的模型,并探索该模型在各种指标上的表现。 CTR 预估任务是构建一个预估模型从而估计用户在给定上下文中点击特定广告的概率。

    每个数据样本由 multi-field 的离散数据组成,例如用户信息(性别、城市等)、广告信息(广告ID、广告类目ID)、上下文信息(曝光时刻等)。所有信息都表示为一个 multi-field categorical 特征向量,其中每个 field (例如城市)都是 one-hot 编码的,如前所述。

    这种 field-wiseone-hot 编码会导致维数灾难和巨大的稀疏性。此外,field 之间存在局部依赖性 local dependency 和层级结构 hierarchical structure 。因此,我们正在寻求一种 DNN 模型来捕获 multi-field 离散数据中的高阶潜在模式。

    我们提出的 product layer 的想法来自自动探索特征交互。在 FM 中,特征交互被定义为两个特征向量的内积。因此,我们提出了 Productbased Neural Network: PNN 模型。接下来我们详细介绍 PNN 模型并讨论该模型的两种变体,即Inner Product-based Neural Network: IPNN (采用 inner product layer)、Outer Product-based Neural Network : OPNN(采用 outer product layer)。

  2. PNN 模型的架构如下图所示。假设 one-hot 向量为 包含 fieldfield i 在向量中的起始位置为 、终止位置为 (包含),即 。其中 。每个 field 生成一个 embedding 向量,即 field i 生成

    模型包含以下几层:

    • 0 层输入层:categorical 特征经过 one-hot 编码之后作为输入。

    • 1embedding 层:模型从每个 field 中学得各 fieldembedding 表示。

      输入位置 仅仅与 相连,即局部连接:,其中 为映射参数。

    • 2product 层:由embedding 特征的一阶特征和二阶交互特征拼接而成。其中 表示一阶特征, 表示二阶特征。为统一生成方式, 由常数 1 和一阶特征进行交互而生成。

      其中 表示成对特征交互。当定义不同的 函数时,就定义了不同的 PNN 实现。

      product 层的输出为:

      其中:

      • 表示张量的内积,定义为:
      • 类似于 CNN 的卷积核,它们在整个输入上进行张量内积。 表示第 个卷积核,一共有 个卷积核。
    • 3 层到第 层:全连接层。

    • 最后一层:sigmoid 输出层。

    模型的损失函数为 logloss

3.1.1 IPNN

  1. Inner Product-based neural network: IPNNIPNN 的特征交互函数为:

    则有:

    则计算 的复杂度为:

    • 空间复杂度: 。它们分别是计存储 的空间需求。
    • 时间复杂度: 。其中 可以预先计算好,其计算复杂度为
  2. 为降低复杂度,可以将 分解为 ,其中 。则有:

    其中

    则有:

    则计算 的复杂度为:空间复杂度 ,时间复杂度

  3. 仅仅是一阶分解,实际上可以进行更加通用的 阶分解:

    其中 。此时有:

    这种分解的代价更高,同时约束更弱。

3.1.2 OPNN

  1. 给定两个输入向量,向量内积输出一个标量,而向量外积输出一个矩阵。Outer Product-based neural network: OPNN 利用了向量外积,它和 IPNN 的唯一区别在于特征交互函数 。在 OPNN 中,特征交互函数为:

    与内积产生标量不同,这里的外积产生一个矩阵。则

    计算 的复杂度为:

    • 空间复杂度: 。它完全由 主导。
    • 时间复杂度: 。它完全由 主导。
  2. 为降低复杂度,定义:

    此时

    则计算 的复杂度为:空间复杂度 ,它们分别是计存储 的空间需求;时间复杂度:

3.1.3 讨论

  1. FNN 相比,PNN 有一个 product layer。如果移除product layer 中的 部分时,FNNPNN 完全相同。

  2. IPNNFM 模型非常相似。

    • FM 模型将抽取的一阶、二阶特征直接送入分类器。
    • IPMM 模型将抽取的一阶、二阶特征,首先使用类似 CNN 的 “核函数” (由 给出)抽取 个特征,然后将抽取后的特征送入 DNN
  3. PNN 使用 product layer 来探索特征交互。向量的product 可以视为一系列的 “乘法&加法” 操作,内积和外积只是两种不同的实现。

    事实上可以定义更通用或者更复杂的 product layer,从而获得 PNN 更好的探索特征交互的能力。

  4. 类似于电子电路,乘法相当于 AND、加法相当于 ORproduct layer 似乎学习特征以外的规则。因此我们相信在神经网络中引入 product 运算将提高网络对 multi-field 离散数据建模的能力。

3.2 实验

  1. 数据集:

    • CriteoCriteo 1TB 点击日志是著名的广告技术工业 benchmark 数据集。我们选择连续 7 天的样本进行训练,第 8 天的数据进行评估。

      由于数据规模巨大,因此我们对数据集进行负降采样。我们将降采样比例定为 ,将预估的 CTR 定义为 ,重新校准的 CTR 为:

      经过降采样和特征映射之后,我们得到一个数据集,其中包含 7938 万个样本,特征维度为 164 万维。

    • iPinYouiPinYou 数据集是另一个真实世界数据集,记录了超过 10 天的广告点击日志。经过 one-hot 编码之后,我们得到一个包含 1950 万个样本的数据集,特征维度为 937.67K

      我们保留原始的训练/测试拆分方案:对于每个广告主,最后 3 天的数据用作测试集,其余的数据用作训练集。

  2. baseline 方法:

    • LRLR 是工业中使用最广泛的线性模型,它易于实现且训练速度快,但是无法捕获非线性信息。
    • FMFM 在推荐系统和用户响应预测任务中有很多成功的应用。FM 探索特征交互,这对稀疏数据很有效。
    • FNNFNN 能够捕获 multi-field 离散数据的高阶潜在模式。
    • CCPMCCPM 是一种用于点击预估的卷积模型。该模型有效地学习 local-global 特征。然而,CCPM 高度依赖特征对齐feature alignment,并且缺乏解释。
    • IPNN:采用内积的 PNN
    • OPNN:采用外积的 PNN
    • PNN*:该模型的 product layerIPNN product layerOPNN product layer 的拼接。
  3. 模型配置:

    • 所有方法都是基于 TensorFlow 实现,并采样随机梯度下降SGD 来训练。

    • FM 中,我们采用 10 维的分解。相应地,我们在网络模型中采用 10 维的 embedding

    • 网络结构:

      • CCPM1embedding 层、2 个卷积层(具有最大池化)、1 个隐层,一共4 层。
      • FNN1embedding 层、3 个隐层,一共 4 层。
      • 每种 PNN 都有 1embedding 层、1product layer3 个隐层,一共 5 层。
    • 为了防止过拟合,LRFM 模型使用 L2 正则化训练,而 FNN, CCPM, PNN 使用 dropout 训练。

      默认情况下,我们设置 dropout rate = 0.5 。下图给出了 Criteo 数据集上 OPNN 模型的 AUC 随着 dropout rate 变化的曲线。

  4. 评估指标:我们采用评估指标为 AUC 和相对信息增益 Relative Information Gain: RIG。其中,RIG 定义为:NE 为归一化的交叉熵。

    此外,我们还使用 LogLossRMSE 作为额外的评估指标。

3.2.1 模型对比

  1. 不同模型在这两个数据集上的实验结果如下表所示。首先我们关注 AUC 性能,表 I 和表 II 的结果表明:

    • FM 优于 LR,证明了特征交互的有效性。
    • 神经网络优于 LRFM,这证明了高阶潜在模式的重要性。
    • PNN 在所有数据集上表现最好。
    • 另外,结合了 IPNNOPNNPNN* 没有明显优于 IPNNOPNN。我们认为 IPNNOPNN 足以捕获 multi-field 离散数据中的特征交互。

    关于 logloss, RMSE, RIG 指标,结论也是类似的。

  2. 然后我们还在 PNNbaseline 模型之间进行 t-test 。下表给出了两个数据集上 logloss 损失下计算的 p-value 。结果验证了我们的模型相对于 baseline 模型显著提高了用户响应预测性能。

  3. 下图显示了在 iPinYou 数据集上训练迭代的 AUC 性能。可以看到:

    • 我们发现神经网络模型比 LRFM 收敛得更快。
    • 我们还发现,我们提出的两个 PNN 比其它网络模型具有更好的收敛性。

3.2.2 消融研究

  1. 这里我们讨论神经网络架构的影响。对于 IPNNOPNN,我们考虑三个超参数:embedding 维度、网络深度、激活函数。

    由于 CCPM 和其它神经网络几乎没有相似之处,而 PNN* 只是 IPNNOPNN 的组合,因此我们在这里仅比较 FNNIPNNOPNN

  2. embedding layer:我们采用了 FNN 论文中的 embedding layer 的思想。我们比较了不同的 embedding 维度,例如 [2, 10, 50, 100]。但是当维度增加时,模型训练更加困难,并且模型更容易过拟合。在我们的实验中,我们使用 embedding 维度等于 10

  3. 网络深度:我们还通过调整 FNNPNN 中隐层的数量来探索网络深度的影响。我们比较了不同数量的隐层,例如 [1,3,5,7]。下图给出了随着网络深度增长的性能。可以看到:一般而言,具有 3 层隐层的网络在测试集上表现更好的泛化能力。

    为方便起见,我们将卷积层或者 product layer 都称作 representation layer。这些层可以用较少的参数捕获复杂的特征模式,因此训练效率高,并且在测试集上可以更好地泛化。

  4. 激活函数:我们比较三种主要的激活函数,sigmoidtanhrelu。与 sigmoid 族激活函数相比,relu 函数具有稀疏性和梯度计算效率高的优点,有可能在 multi-field 离散数据上获得更多的好处。

    下图比较了 FNNIPNNOPNN 上的这些激活函数。可以看到:

    • tanh 激活函数 比 sigmoid 激活函数具有更好的性能。

    • 除了 tanh,我们发现 relu 函数也有很好的表现。可能的原因包括:

      • 稀疏激活,即负输出的节点不会被激活。
      • 高效的梯度传播,没有梯度消失问题或爆炸问题。
      • 计算效率高,只有比较、加法、乘法运算。

四、DeepCrossing[2016]

  1. 传统的机器学习算法应该充分利用所有输入特征来预测和分类新的样本。然而,简单地使用原始特征很少能够提供最佳结果。因此,无论是工业界还是学术界,都存在大量关于原始特征的特征变换feature transformation 的工作。一种主要的特征变换类型是基于多个特征的特征组合feature combination 函数,并将组合特征combinatorial features 作为学习器 learner 的输入。这些组合特征有时被称作交叉特征cross features 或多路特征multi-way features

    组合特征是强大的工具,尤其是在领域专家domain experts 手中。根据我们自己对主力major 赞助搜索引擎sponsored search engine 的体验,组合特征是许多模型中最强大的特征之一。

    • Kaggle 社区中,顶级数据科学家是制作组合特征的大师,甚至可以交叉crossing 三到五个维度。 直觉intuition 以及创造有效的组合特征的能力是他们获胜的重要组成部分。
    • 在计算机视觉社区中,类似 SIFT 的特征是 ImageNet 比赛当时 state-of-the-art 表现背后的关键驱动因素。SIFT 特征是在图像块 image patches 上提取的,是特殊形式的组合特征。

    组合特征的威力伴随着高昂的成本。在个人开始创建有意义的特征之前,有一个陡峭的学习曲线需要攀登。随着特征数量的增长,管理managing、维护maintaining、部署deploying 组合特征变得具有挑战性。在 web-scaleapplication 中,由于特征数量非常庞大,并且在给定数十亿样本的情况下训练和评估周期很长,因此寻找额外的组合特征来改善现有的模型是一项艰巨的任务。

    深度学习承诺无需人工干预即可从individual 特征中学习。语音、图像领域是最先展示这种潜力的。通过深度卷积神经网络CNN 从特定任务中学习的卷积核,已经取代了手工制作的 SIFT-like 特征,成为图像识别领域的 state-of-the-art 技术。类似的模型已经应用于 NLP application,从零开始构建语言处理模型,而无需进行大量的特征工程feature engineering

    在论文《Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features》 中,论文提出Deep Crossing 模型,从而将深度学习的成功扩展到了更通用的环境中,其中individual 特征具有不同的性质。具体而言,Deep Crossing接受individual 的文本text 特征、离散categorical特征、ID 特征、数值numerical 特征,并根据特定任务自动搜索最佳组合。此外,Deep Crossing 旨在处理 web-scaleapplication 和数据规模。这不仅是因为作者主要对此类 application 感兴趣,还因为在这种规模下运行的通用模型没有太多选择。

    值得注意的是,Deep Crossing 在学习过程中确实以某种方式生成了组合特征,尽管 Deep Crossing 的输出是一个没有这些交叉特征的显式 representation 的模型。

  2. 相关工作:无需手工制作特征的深度神经网络的想法并不新鲜。

    • 80 年代初,Fukushima 报道了一个七层的 Neocognitron 网络,该网络可以从图像的原始像素中识别数字。通过利用部分连接的结构partially connected structureNeocognitron 实现了平移不变性shift invariance,这是视觉识别任务中的一个重要特性。
    • CNN 是由 LeCun 等人在 90 年代后期发明的,具有类似的架构,尤其是部分连接的卷积核。尽管 CNN 作为 recognition engine 具有坚实的基础,但是基于 SIFT-like 特征的分类器主导了图像识别十多年。
    • 2012 年,Krizhevsky 等人提出了 AlexNet,它比基于 SIFTbaseline 的错误率 error rate 降低了接近 11 个绝对百分点。
    • 最近,一个 152 层的残差网络在 2015 年赢得了 ImageNetMS COCO 比赛。

    深度 CNN 的发展鼓舞人心,它表明:即使在十多年来对最佳手动特征进行微调的系统中,深度学习也能够得到改进。换句话说,即使是最有经验的领域专家domain experts 也可能会错过深度 CNN 使用特定于任务的 filters 捕获的特征之间的深度交互deep interaction 。 意识到这一点对我们在 Deep Crossing 方面的工作有着深远的影响。

    深度语义相似性模型 Deep Semantic Similarity Model: DSSM 学习一对文本字符串之间的语义相似性,每个字符串都由称作 tri-letter gram 的稀疏representation 所代表。learning 算法通过将 tri-letter gram 嵌入到两个向量(一个 query embedding 向量、一个 document embedding 向量)中来优化基于余弦距离的目标函数。学习到的 embedding 捕获了单词和句子的语义,应用于赞助搜索sponsored search、问答、机器翻译,并取得了很好的效果。

    分解机 Factorization Machine: FM 以其通用形式对单个特征之间的 d 路交互进行建模。在输入非常稀疏的情况下,FM 展示出比 SVM 更好的结果,但是不清楚 FM 在稠密特征上的表现如何。

    对于 NLP 任务,《Natural language processing (almost) from scratch》 构建了一个统一的神经网络架构,避免了特定任务的特征工程。

  3. 赞助搜索 Sponsered SearchDeep Crossing 是在主力major 搜索引擎的 sponsored search 的背景下讨论的。简而言之,sponsored search 负责在自然搜索organic search 结果旁边展示广告。生态系统中存在三大主体:用户、广告主、搜索平台。平台的目标是向用户展示最符合用户意图user’s intent 的广告,其中用户意图主要是通过特定的 query 来表达。以下是接下来讨论的关键概念。

    • query:用户在搜索框中键入的文本字符串。
    • 关键词keyword:和广告主推广的产品相关的文本字符串,由广告主指定从而匹配用户的 query
    • 标题 title:广告的标题,由广告主指定从而吸引用户的注意力。
    • 落地页landing page:当用户点击相应广告时,用户到达的广告主的产品网站。
    • match type:为广告主提供的关于 keyword 和用户 query 匹配程度的选项,通常是四种类型之一:精确匹配 exact 、短语匹配 phrase 、宽泛匹配 broad、上下文匹配contextual
    • 营销活动 campaign :一组具有相同设置(例如预算、地域定向)的广告,通常用于将广告主的产品归类。
    • 曝光impression:向用户展示的广告实例。曝光通常和运行时run-time 可用的其它信息一起记录。
    • 点击click:表示用户是否点击了曝光的广告。点击通常和运行时可用的其它信息一起记录。
    • 点击率click through rate:总点击次数除以总曝光次数。
    • 点击预测click prediction:搜索平台的点击预估模型,用于预测用户针对给定 query 点击给定广告的可能性。

    sponsored search 只是一种 web-scaleapplication。然而,鉴于问题空间的丰富性、各种类型的特征、以及庞大的数据量,我们认为我们的结果可以推广到具有类似规模的其它application

4.1 Feature Representation

  1. 这里使用下表中列出的 individual 特征,然后对比这些特征的组合特征。这些individual 特征在在线预估阶段可用,也可以用于模型的离线训练。

  2. 单个特征 individual featuresindividual 特征表示为一个向量。 对于诸如 query 之类的文本特征,一个选择是将字符串转换为具有 49292 维的 tri-letter gram 。诸如 MatchType 之类的离散categorical 特征转换为 one-hot 向量。

    sponsored search system 中通常有数百万个 campaign ,简单地将 campaign id 转换为one-hot 向量会显著增加模型的大小。一种解决方案是使用上表中的一对伴随特征 a pair of companion features,其中:

    • CampaignIDone-hot representation ,它仅包含点击次数最多的 top 10000campaigns,而剩余所有的 campaigns 保存在第 10000slot(索引从 0 开始)。
    • CampaignIDCount 覆盖了其它 campaigns (也包括 top 10000campaigns )。这是一个数值特征,用于存储每个 campaigns 的统计信息,如曝光次数、点击率等等。在以下讨论中,这类特征将被称作计数特征counting feature

    目前为止,所有的特征都是稀疏特征或计数特征。

  3. 组合特征combinatorial features:给定单个特征 和单个特征 ,组合特征 。组合特征也有稀疏representation 和稠密representation

    • 稀疏 representation 的一个例子是 CampaignId x MatchType 组合特征,它的维度是 10001 x 4 = 40004 维。
    • 稠密 representation 的一个例子是计算给定 CampaignIdMatchType 组合下的广告点击次数。

    Deep Crossing 避免使用组合特征。它适用于稀疏和稠密的 individual 特征,并支持上述广泛的特征类型。这使得用户可以自由地从他们的特定application 中使用他们选择的特征。虽然收集特征并转换为正确的 representation 仍然需要大量的努力,但是工作仅仅是停留在 individual 特征的层面,剩余的工作交由模型处理。

4.2 模型

  1. DeepCrossing 模型的输入是原始特征,模型有四种类型的Layer

    • Embedding Layer:将原始特征映射成 embedding 向量。

      假设原始特征 one-hot 向量为 field i 在向量中的起始位置为 、终止位置为 (包含),记作 。则 embedding 层的输出为:

      其中 为模型参数, 为第 embedding 的维度。通常有 ,这使得 embedding 之后的维度大大小于原始特征维度。

      对于某些维度较小的原始特征(如维度小于 256),无需进行 embedding 层,而是直接输入到 Stacking Layer 层。如图中的 Feature #2

      需要指出的是:embedding layer