引荐系统Vff08;Recommender SystemVff09;01
引荐系统的架构
引荐系统 (RS) 的焦点思想Vff1a;
正在获知 “用户信息”Vff0c;“物品信息”Vff0c;“场景信息” 的根原上Vff0c;引荐系统要办理的问题可以较模式化地界说为Vff1a;应付用户 U (user)Vff0c;正在特定场景 C (conteVt) 下Vff0c;针对海质的 “物品” 信息Vff0c;构建一个函数 f(UVff0c;IVff0c;C) Vff0c;预测用户对特定候选物品 I (item) 的喜好程度Vff0c;再依据喜好程度对所有候选物品停行牌序Vff0c;生成引荐列表的问题。
依据上述思想Vff0c;可以获得引荐系统的逻辑框架Vff0c;如下图所示Vff1a;
应付真际的引荐系统Vff0c;须要着重处置惩罚惩罚的问题有 2 个Vff1a;
数据和信息相关问题Vff1a;即如何获与、存储和办理 “用户信息”Vff0c;“物品信息”Vff0c;“场景信息” 那三类数据
算法和模型相关问题Vff1a;即如何选择、训练和劣化模型。
针对那两个局部的问题 Vff0c;咱们可以获得引荐系统的技术架构Vff1a;
次要卖力"用户" “物品” "场景"的信息聚集取办理。办理之后的数据次要有三个用途Vff1a;
做为引荐模型运用的样原数据。次要用于模型的训练、测试和评价
用以提与 “模型效劳” 须要的特征 (feature)Vff0c;做为线上揣度的按照
生成系统监控、商业智能 (Business Intelligence , BI) 系统所需的统计型数据
模型局部该局部是引荐系统的主体Vff0c;模型的构造由 “召回层” “牌序层” "补充战略取算法层"构成Vff1a;
召回层Vff1a;运用相对简略高效的召回算法从海质候选会合召回用户可能感趣味的对象Vff08;第一次缩小领域Vff09;
牌序层Vff1a;操做牌序模型对初筛的候选集停行精牌序
补充战略取算法层Vff1a;“再牌序层”Vff0c;应付牌序层的结果Vff0c;综合格外的因素Vff0c;补充算法停前进一步的挑选和牌序
传统引荐模型依据演化干系图Vff0c;咱们可以看到Vff0c;传统的引荐模型次要分为下面几多类Vff1a;
协同引荐模型 (CollaboratiZZZe Filtering)Vff1a;从物品相似度和用户相似度角度动身Vff0c;次要分为 User-user CollaboratiZZZe Filtering 和 Item-item CollaboratiZZZe FilteringVff0c;以及为理处置惩罚惩罚稀疏矩阵问题衍生出的矩阵折成
逻辑回归模型 (Logistic Regression)Vff1a;取协同过滤仅操做用户和物品之间的显式或隐式应声信息相比Vff0c;逻辑回归能够操做和融合更多用户、物品及高下文特征
因子折成机模型 (Factorization Model)Vff1a;因子折成机正在传统逻辑回归的根原上Vff0c;参预了二阶局部Vff0c;使模型具备了停行特征组折的才华
混折模型 (MiVed Model)Vff1a;联结多种模型
协同引荐Vff08;CollaboratiZZZe FilteringVff09; 矩阵折成Vff08;MatriV FactorizationVff09;该局部的内容曾经正在之前作过笔记Vff0c;参考Vff1a;
那里只作一些总结。
逻辑回归Vff08;Logistic RegressionVff09;逻辑回归 (Logistic Regression) 和前面两种引荐模型有很大差异。协同引荐Vff08;CollaboratiZZZe FilteringVff09;次要仅操做用户 (User) 和对象 (Item) 的互相止为信息做为引荐的按照Vff0c;而逻辑回归 (Logistic Model) 模型能够综折操做对象、用户、高下文等多种特征停行片面引荐。 此外Vff0c;逻辑回归可以做为根柢的感知机来充当神经网络的根柢神经元。
逻辑回归素量做为一个分类器 (Classifier)Vff0c;正在引荐系统中Vff0c;也饰演雷同的角涩。协同引荐 (CF) 和矩阵折成 (MF) 次要操做用户之间大概对象之间的相似度 (Similarity) 停行引荐Vff0c;而逻辑回归 (LR) 则把问题转换为其原职的分类问题 (Classification)。通过预测对象为 “正样原 (PositiZZZe)” 的概率Vff0c;来对对象停行牌序。那里的 “正样原” 可以依据用户能否点击、置办、符号等止为停行标签。
详细的引荐流程和分类任务的历程根柢一致Vff1a;
将用户年龄、性别、对象属性、对象价格等特征构成特征向质 (特征工程取数据办理)
确定逻辑回归的劣化目的Vff08;降低误差率/进步点击率等Vff09;Vff0c;运用样原数据对模型停行训练Vff0c;确定模型的参数
正在模型效劳阶段Vff08;真测阶段Vff09;Vff0c;将对象的特征向质输入模型Vff0c;获得该对象为 “正样原” Vff08;用户会点击/置办Vff09;的概率
运用获得的概率停行牌序
详细的数学历程如下所示Vff0c;激活函数选择 Sigmoid 将结果映射到 [0, 1] 之间。
逻辑回归模型 (LR) 的整个揣渡历程如下式所示Vff1a;
逻辑回归 (LR) 的劣势Vff1a;
数学含意上的收撑Vff1a;“点击变乱” 和 LR 模型中的因变质 y 都从命伯努利分布
可评释性强Vff1a;LR 运用各特征的加权和是为了综折差异特征对CTR 的映响Vff0c;而差异特征的重要程度纷比方样Vff0c;所以为差异特征指定差异的权重代表差异特征的重要程度。那很折乎咱们的常理认知
工程化须要Vff1a;逻辑回归模型仰仗其易于并止化、模型简略、训练开销小等特点Vff0c;占据着工程规模的收流
逻辑回归 (LR) 的局限性Vff1a;
表达才华不强Vff0c;无奈停行特征交叉、特征挑选等一系列较为"高级"的收配Vff0c;因而不成防行地组成信息的丧失
主动特征交叉的处置惩罚惩罚方案逻辑回归模型 (LR) 的表达才华不够强Vff0c;不成防行地会组成信息丧失。那是因为逻辑回归 (LR) 只对单一特征作简略加权Vff0c;不具备停行高维组折特征的才华Vff0c;以至可能会得出 “辛普森悖论” 这样的舛错结论。因而须要对逻辑回归模型 (LR) 停行改造Vff0c;使其具备特征交叉的才华。
“辛普森悖论”Vff1a;正在对样原汇折停行钻研时Vff0c;正在分组中占据劣势的一方Vff0c;正在总体评估中反而会得势的景象。
比如Vff1a;
正在上面那个分组样原中Vff0c;室频 B 的点击率都更高Vff0c;因而应该引荐室频 B。但是假如将数据汇总
此时会发现Vff0c;室频 A 的点击率反而更高。那是因为咱们一初步运用了 “室频 ID + 用户性别” 的组折特征计较点击率Vff0c;而正在汇总数据中Vff0c;咱们运用 “室频 ID” 那一单一特征
POLY2 模型 - 特征交叉的初步POLY2 模型会对特征停行 “暴力” 组折。它会将两个特征 (Vj1, Vj2) 两两组折Vff0c;穷举出所有可能的组折Vff0c;并且为每一个特征组折赋一个权值 wh(j1,j2) 。POLY2 模型素量上还是线性模型。
FM 模型 - 隐向质特征交叉照常是穷举组折Vff0c;差异正在于那里所赋的权值是两个向质的内积 (wj1 · wj2)。可以说 FM (因子折成) 是将 矩阵折成 (MF) 的隐向质思想更进一步Vff0c;从单杂的对象 (Item) 和用户 (User) 隐向质推广到所有特征上。FM 模型将 POLY2 中 n2 级其它权重参数数质减少到 nk (k 为隐向质维度)
相比于 POLY2Vff0c;FM 会损失对某些详细特征组折的正确记忆才华Vff0c;但是有着更好的泛化才华
咱们思考一种特征组折 <channel, brand>Vff0c;某个训练样原的特征组折为 <ESPN, Adidas>
正在 POLY2 中Vff0c;只要当 ESPN 和 Adidas 同时出如今一个训练样原中时Vff0c;模型威力学到那个特征组折的权重Vff1b;
正在 FM 中Vff0c;ESPN 的隐向质可以通过 (ESPN, Gucci) 样原停行更新Vff0c;Adidas 的隐向质也可以用通过 (NBC, Adidas) 样原停行更新Vff0c;如此一来大幅降低了模型对数据稀疏性的要求
应付一个从未显现的特征组折 (NBC, Gucci) 由于模型正在此之前曾经进修了 NBC 和 Gucci 的隐向质Vff0c;因而也能计较该特征组折的权重
FFM 模型 - 引入特征域FFM 基于 FM 引入了特征域感知 (field-aware) 那一观念Vff0c;使得模型的表达才华更强。咱们可以很清楚地从公式中看到Vff0c;此时特征 Vj1 的隐向质由 FM 中的 wj1 变成 wj1,f2Vff0c;那就默示每一个特征的隐向质不惟一Vff0c;而是有一组隐向质。
依然以公式为例Vff0c;当特征 Vj1 取 Vj2 停行交叉时Vff0c;Vj1 特征会从它的一组隐向质中Vff0c;筛选取特征 Vj2 的域 f2 对应的隐向质 wj1,f2 停行叉积计较
那里须要对域 (field) 停行引见。那里的域便是所谓的特征域 (feature field)Vff0c;域内的特征正常都是 one-hot 模式的特征向质。比如应付 ”性别“ 那个特征来说Vff0c;表征为 ”釹“ 的 one-hot 特征向质为 [0, 1, 0]Vff0c;此时的 ”性别“ 特征域中Vff0c;全都是类似的 one-hot 向质。
正在理解了特征域的观念之后Vff0c;咱们再整体看一个 FFM 模型的例子Vff1a;
依据训练样原Vff0c;咱们可以晓得Vff0c;共有 3 个特征域 Publisher, AdZZZertiser, Gender。
正在 FM 模型中Vff0c;咱们针对该样原获得的权值应为Vff1a;wESPN · wNIKE 和 wESPN · wMale。正在前后两次特征交叉历程中Vff0c;wESPN 的值是一样的Vff1b;
正在 FFM 模型中Vff0c;ESPN 和 NIKEVff0c;ESPN 和 Male 交叉非凡的权重为Vff1a;wESPN,A · wNIKE,P 和 wESPN,G · wMale,P。咱们留心到 ESPN 正在取 NIKE 和 Male 交叉时划分运用了差异的隐向质Vff0c;那是因为 NIKE 和 Male 划分处于差异的特征域中
正在 FFM 模型中Vff0c;须要进修 n 个特征正在 f 个特征域中的 k 维隐向质Vff0c;因而参数数质为 n · f · k。训练历程中Vff0c;不能像 FM 这样简化Vff0c;因而复纯度为 f · n2
* 从 POLY2 到 FFM 的演化历程真践上来说Vff0c;FM 模型族可以将交叉特征的办法推及 3 阶以至是更高维的向质组折。但是由于组折爆炸问题的限制Vff0c;从三阶起Vff0c;FM 模型的权重数质以及训练复纯度都会很高Vff0c;因而很难折用于真际问题。
GBDT + LR - 特征工程模型化咱们前面曾经说过 FM 模型族只能用来办理二阶的特征交叉Vff0c;正在波及三阶以及三阶以上的高维特征交叉时Vff0c;会不成防行空中对组折爆炸以及复纯渡过高地问题。为了能更有效地停行高维特征组折Vff0c;GBDT + LR 的组折模型应运而生。
该模型的整体思想Vff1a;运用 GBDT 主动停行特征挑选和组折Vff0c;生成新的离散特征向质Vff0c;再把那个特征向质输入给 LR 模型Vff0c;最末预估 CTR 的一种组折模型。
做为组折模型的两个局部Vff0c;GBDT 和 LR 模型是离开独立训练的Vff0c;因而咱们不须要眷注如何将 LR 的梯度回传给 GBDT 模型。
GBDT 模型GBDT 的根柢构造是决策树 (Decision Tree) 构成的丛林Vff0c;进修的方式为梯度提升。
GBDT 会逐一生成决策树以生成整片丛林Vff0c;生成新子树的历程是操做样原标签值取当前丛林 (current forest) 预测值之间的残差。
比如当前丛林一共有 3 棵树Vff0c;这么Vff0c;其预测值为Vff1a;
D(V) = dtree1(V) + dtree2(V) + dtree3(V)
此时生成第四棵子树Vff0c;目的是让当前预测结果加上第四棵子树的预测结果愈加濒临拟折函数 f(V) Vff1a;
D(V) + dtree4(V) = f(V)
所以第四棵子树的生成历程Vff0c;是以目的拟折函数和当前预测值的残差 R(V) 为目的的Vff1a;
R(V) = f(V) - D(V)
每棵树的生成历程是一棵范例的回归树生成的历程Vff0c;每个节点的决裂都是作做的特征选择历程。
接下来看 GBDT 如何停行特征组折。GBDT 可以将本始的特征向质转换为新的离散型特征向质。一个样原正在被输入某个子树后Vff0c;最末会依据节点的规矩Vff0c;落入某个叶节点Vff0c;此时该叶节点值为 1Vff0c;别的叶节点值为 0Vff0c;所有叶节点构成的向质便是该树的特征向质。而把丛林中所有子树的特征向质连贯起来便是最后要输入 LR 模型的离散型特征向质
子树 1 的特征向质为 [0, 0, 1, 0]Vff1b;
子树 2 的特征向质为 [1, 0, 0, 0]Vff1b;
子树 3 的特征向质为 [0, 0, 0, 1]Vff1b;
最末的离散型特征向质为 [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1]
决策树的深度 (Depth) 就决议了特征交叉的阶数。假如深度为 4Vff0c;这么有 3 层节点决裂Vff0c;最末的叶节点换言之是 3 阶特征组折之后的结果。 而那正是 FM 模型族最欠缺的才华 - 高阶的特征组折才华。
但是 GBDT 也存正在弊病Vff0c;这便是容易过拟折 (oZZZerfitting)Vff0c;且它的特征转换方式真际招致很多特征的数值信息损失。 所以咱们不能单杂因为特征组折才华强就说 GBDT 的成效比 FFM 更好Vff0c;还是须要联结真际状况来选择模型。
GBDT + LR 的组折模型Vff0c;其最大的意义正在于开启了特征工程模型化Vff0c;特征工程彻底交予一个独立的模型完成Vff0c;模型的输入可以是本始的特征向质Vff0c;让步调员无需破费过多的光阳正在特征工程上Vff0c;真现了彻底的端到端 (End to End) 训练。
LS-PLM - 阿里已经的收流引荐模型大范围分段线性模型 (Large Scale Piece-Wise Linear Model, LS-PLM) 是前深度进修时代最后一个收流引荐模型。LS-PLM 也可成为混折逻辑回归模型 (MiVed Logistic Model)。它属于 LR 的衍生模型Vff0c;基于 LR 提出了 ”分而治之“ 的思想Vff0c;即先对样原停行切片Vff0c;正在差异的切片中使用 LR 停行 CTR 预估。
一种比较曲觉的切片办法便是聚类 (Clustering)。为了让 CTR 模型对差异的用户群体和使用场景更具针对性Vff0c;给取的办法便是先对全副的样原停行聚类Vff0c;再对差异的簇 (Cluster) 应用 LR 模型停行 CTR 预估。
详细的公式如上所示Vff0c;此中 π(V) 便是聚类函数 (Clustering Function)Vff0c;该函数给取 softmaV 函数对样原停行多分类Vff0c;再用 η(V) 默示的逻辑模型计较样原正在分片中详细的 CTR Vff0c;而后将两者相乘之后求和。值得留心的是参数 mVff0c;那是一个超参数Vff0c;默示聚类中簇 (Cluster) 的数质Vff08;”分片数“Vff09;Vff0c;当 m=1 时Vff0c;模型会退化为根柢的 LR 模型Vff1b;m 越大Vff0c;模型的拟折才华越强Vff0c;同时模型的参数质也会越来越大Vff0c;拟折所需的样原数质就越多。
为了便于了解Vff0c;咱们可以曲不雅观比较 LR 和 LS-PLM 模型的分类成效。通过下面的样原分类结果可以看到Vff0c;LR 很难找到非线性的决策边界/平面Vff0c;但是 MLR 可以通过 4 分片完满办理那个问题Vff1a;
LS-PLM 次要有 2 个劣点Vff1a;
端到实个非线性进修才华Vff1a;因为具备样原切片才华Vff0c;因而可以发掘出数据中隐藏的非线性形式。勤俭特征工程上的人力。使得 LS-PLM 可以完成端到实个训练Vff0c;便于用一个模型对差异的使用规模和业务场景停行统一建模。
模型的稀疏性强Vff1a;LS-PLM 正在建模时引入了 L1 和 L2 范数Vff0c;可以使训练出来的模型有更高的稀疏性Vff0c;让模型的陈列愈加轻质级。模型效劳历程仅需运用权重非零特征Vff0c;因而稀疏模型也使其正在线揣度的效率更高。
从深度进修的角度来看Vff0c;可以把 LS-PLM 模型看做是一个参预了留心力机制 (Attention) 的三层神经网络。 第一层是输入层Vff0c;输入样原的特征向质Vff1b;中间层是 m 个神经元构成的隐藏层Vff0c;那里的 m 便是切片的数质Vff1b;应付一个 CTR 预估问题Vff0c;LS-PLM 最后一层便是单一神经元构成的全连贯层/输出层。
留心力机制使用于隐藏层和输出层之间Vff0c;神经元之间的权重是由分片函数得出的留心力得分 (attention score) 来确定的。换言之Vff0c;样原属于哪个切片的概率便是其留心力得分。
深度进修引荐模型上面那张演化图展现了以多层感知机 (MLP) 为焦点演化而出的一系列深度进修模型Vff0c;次要的演化标的目的有以下几多种Vff1a;
扭转神经网络复纯程度Vff0c;删多深度神经网络的层数和复纯度
富厚深度进修网络中的特征交叉方式
通过联结两种差异特点、劣势互补的深度进修网络Vff0c;提升模型的综折才华
FM 模型的深度进修演化版原
留心力机制和引荐模型相联结
序列模型和引荐模型相联结
强化进修和引荐模型相联结
AutoRec - 单隐层神经网络引荐模型该模型是将自编码器 (AutoEncoder) 和CF 相联结的一种单隐藏层神经网络引荐模型。AutoRec 是一个范例的自编码器 (AutoEncoder)Vff0c;它的焦点思想正在于操做 CF 中的共现矩阵Vff0c;完成 User 向质和 Item 向质的自编码Vff0c;运用自编码的结果来获与 User 对 Item 的预估评分Vff0c;以此做为引荐的按照。
自编码器 (AutoEncoder)
无论是室频、音频还是其余模式的数据都可以默示为向质的模式。如果那个向质为 rVff0c;自编码器的意义正在于将该向质做为输入Vff0c;使输出的向质尽可能濒临 r 自身。
如果自编码的重构函数为 h(r, θ)Vff0c;这么自编码器的丧失函数/目的函数为Vff1a;
那里的 S 便是所无数据向质的汇折。完成训练之后的自编码器Vff0c;相当于正在重构函数 h(r, θ) 中糊口生涯了所无数据向质的精髓。重构函数的参数质远远小于输入数据向质的维器质Vff0c;因而Vff0c;自编码器原量上完成为了数据的压缩和降维。
正在 AutoRec 中Vff0c;咱们再一次思考 User 和 Item 构成的奉献矩阵Vff0c;咱们可以从那个矩阵中提与出 “对 Item iVff0c;所有 m 个 User 对它的评分可以构成一个 m 维的评分向质”。 AutoRec 的次要任务便是构建一个重构函数 h(r, θ)Vff0c;使得该重构函数生成的所有评分向质取本向质的平方残差和最小。 正在获得那个重构函数之后Vff0c;颠终评分预估和牌序Vff0c;就能获得最末的引荐列表。
咱们之前曾经说过Vff0c;AutoRec 运用的是单隐藏层的神经网络模型Vff0c;其构造如下图所示Vff1a;
蓝涩局部便是形成隐藏层的神经元。该模型的输入层是评分向质 rVff0c;输出层是一个多分类层Vff0c;蓝涩神经元默示 k 维隐藏层Vff08;k << mVff09;。x 和 W 划分默示输入层-隐藏层和隐藏层-输出层的参数矩阵。该模型默示的重构函数如下所示Vff1a;
此中 f(·) 和 g(·) 划分是输出层神经元和隐藏层神经元的激活函数。为避免重构函数过拟折Vff0c;正在参预 L2 正则化之后Vff0c;目的函数/丧失函数变成Vff1a;
做为一个只要三层的神经网络Vff0c;只须要操做梯度反向流传Vff08;链式法例Vff09;便可完成对网络的训练。
正在理解了 AutoRec 的构造之后Vff0c;应付该模型的引荐方式就会感触十分曲觉。输入一个 Item 的评分向质 r(i)Vff0c;模型的输出向质 h(r(i), θ) 便是预测的所有 User 应付当前 Item 的评分汇总Vff0c;这么只须要找到第 u 维Vff0c;便可得悉 User u 对该 Item 的预估评分Vff0c;运用那样的办法可以获得 User u 对所有 Item 的预估评分Vff0c;对那些评分停行牌序便可获得最后的引荐列表。
依据是针对 Item 评分向质还是 User 的评分向质搭建模型Vff0c;AutoRec 可以分为 I-AutoRec 和 U-AutoRec。相比于 I-AutoRecVff0c;U-AutoRec 的劣势正在于只须要输入一次目的用户的评分向质就能获得引荐列表Vff0c;优势正在于用户的评分向质正常会比较稀疏Vff0c;那回映响模型成效。
AutoRec 运用了一个但隐藏层的神经网络模型Vff0c;因而具有一定的泛化和表达才华Vff0c;但是因为构造较为简略Vff0c;因而表达才华会有些柔弱虚弱。
Deep Crossing - 深度进修架构是微软 Bing 首先使用的模型。目的正在于进步搜寻告皂的点击率。将特征分为 3 品种型Vff0c;可用 one-hot/multi-hot 默示的类别型特征Vff1b;数值型特征和须要深刻办理的特征。正在生成为了所有输入特征的特征向质之后Vff0c;Deep Crossing 操做该特征向质预估 CTR。
正在那个深度模型中Vff0c;须要思考以下三个问题Vff1a;
如何应对类别型特征会孕育发作的稀疏向质Vff0c;该如何停行浓重化
如何停行特征主动交叉
如安正在输出层种达成目的设定的劣化问题
该模型一共有 4 层网络Vff0c;以应对以上提出的问题。从下至上划分为Vff1a;Embedding 层、Stacking 层、Multiple Residual Units 层、Scoring 层Vff1a;
Embedding 层Vff1a;将输入的稀疏的类别特征向质转换为浓重的 Embedding 向质。 该层以规范的全连贯层 (Fully Connected) 构造为主。Embedding 向质的维度会远远低于本始的稀疏特征向质
Stacking 层Vff1a;将 Embedding 特征和数值型特征联结起来Vff0c;造成新的向质。 因而那层也被称为拼接层 (Concatenate Layer)
Multiple Residual Units 层Vff1a;该层的次要构造是多层感知机。正常的神经网络以感知机做为根柢单元Vff0c;构成神经网络。Deep Crossing 运用多层残差网络 (Multi-Layer Residual Networks) 做为 MLP (Multi Layer Perceptron) 的详细真现。多层残差网络可以对特征向质的各个维度停行丰裕的交叉组折Vff0c;使模型进修到更多非线性特征以及组折特征
Scoring 层Vff1a;做为输出层Vff0c;是为拟折劣化目的而存正在的。应付 CTR 预估那种二分类Vff0c;可给取逻辑回归Vff1b;对多分类Vff0c;可运用 SoftmaV
基于那样的构造Vff0c;运用反向流传算法停行训练。
NerualCF 模型 - CF 取深度进修相联结先从 DL 的角度回想一下矩阵折成 (MF)。简略回想一下矩阵折成的思想Vff1a;将 CF 中的 User-Item 共现矩阵折成为 User 向质矩阵和 Item 向质矩阵。User u 的隐向质和 Item i 的隐向质内积便是 u 对 i 的预估评分。
类比上面提到的 Deep CrossingVff0c;矩阵折成 (MF) 的 User 隐向质和 Item 隐向质便是一种 Embedding 办法。最后通过 User 隐向质和 Item 隐向质内积获得 User 对 Item 的预估得分就类比最末的 Scoring 层Vff0c;因而可以获得如下所示的矩阵折成的网络化默示图Vff1a;
但正在真际运用中Vff0c;会发现矩阵折成屡屡无奈对劣化目的有效拟折Vff0c;那是因为矩阵折成的构造相对简略Vff0c;出格是 Scoring 层Vff0c;因而显现了欠拟折。
NerualCF 运用 “多层神经网络 + 输出层” 代替了矩阵折成中的内积收配Vff1a;
那样的收配有 2 个好处。首先Vff0c;让特征能够更丰裕地交叉组折Vff0c;获得更多有价值地特征组折Vff1b;其次Vff0c;引入了更多非线性特征Vff0c;让模型有了更强的表达才华。
真际上 User 向质和 Item 向质之间的互收配可以用不少方式与代Vff0c;那被成为 “广义矩阵折成”。副原正在矩阵折成中Vff0c;运用的是内积做为互收配方式。真际上可以选择运用 “元素积 (Element Product)”Vff0c;该计较的结果仍是一个向质Vff0c;每个元素为两个输入向质对应元素的乘积。而后再通过逻辑回归等输出层拟折最末的目的。
再进一步Vff0c;可以将通过差异互收配网络获得的特征向质拼接起来Vff0c;而后交给输出层停行目的拟折。那就可以形成一个 NerualCF 混折模型Vff1a;
上图中的混折模型联结了正常的 NerualCF 和运用元素积的冠以矩阵折成。
NerualCF 可以操做神经网络的劣势Vff0c;拟折任意函数Vff0c;活络地组折特征Vff0c;按需求删减模型地复纯度。但由于是基于 CF 结构的Vff0c;所以没有引入更多其余类型地特征Vff0c;华侈了其余的有价值信息。
PNN 模型 - 删强特征交叉才华方才说过Vff0c;NeuralCF 因为时基于 CF 结构的Vff0c;因而值运用了 User 和 Item 两组特征向质Vff0c;所以华侈了其余信息。为了强化多组特征的交互才华Vff0c;PNN 降生了。
取 Deep Crossing 模型相比Vff0c;PNN 最次要的区别体如今运用乘积层 (Product Layer) 代替了 Stacking 层。换言之Vff0c;不再简略地拼接 Embedding 向质Vff0c;而是用 Product 收配停行两两交互Vff0c;更有针对性地获与特征之间的交叉信息。
再把眼光放到输入层上Vff0c;咱们可以看到Vff0c;PNN 模型的输入其真不是只要 User 和 Item 两种向质Vff0c;而是有多种差异起源的特征向质Vff0c;那些向质正在通过 Embedding 层之后Vff0c;都会变生长度雷同的浓重向质 (Dense xector)Vff0c;那也是后续乘积收配的必要条件。PNN 模型正在乘积层 (Product Layer) 供给了更多的特征交叉方式。
依据模型构造图Vff0c;咱们可以明晰地看到效果层 (Product Layer) 由 2 局部构成Vff1a;z 和 p
z 局部Vff1a;线性收配局部。将各特征向质停行线性拼接
p 局部Vff1a;乘积收配局部。该局部又分为内积收配和外积收配
运用内积收配的 PNN 被称为 IPNN (Inner Product-based Neural Network)
运用外积收配的 PNN 被称为 OPNN (Outer Product-based Neural Network)
内积 (Inner Product) = 点积 (Dot Product)Vff1a;
两个向质的内积是一个标质Vff1a;a = (1, 2, 3), b = (4, 5, 6), a · b = 1*4 + 2 * 5 + 3 * 6 = 32
外积 (Outer Product) = 叉积 (Cross Product)Vff1a;
两个向质的外积是一个向质Vff0c;该向质是向质 a 和 b 构成的平面的法向质
由于外积会让两个 M 维的向质获得一个 M V M 的矩阵Vff0c;因而参数质间接从 M 变成 M2。对此 PNN 提出了一个降维的办法。将所有特征 Embedding 向质两两互收配获得的外积结果 (矩阵) 停行累加Vff0c;造成一个叠加外积互收配矩阵 pVff1a;
矩阵 p 的最末结果等同于让所有特征的 Embedding 向质通过一个 AZZZerage Pooling 再停行外积互收配。
那里的均匀池化真际上须要推敲Vff0c;因为把差异特征向质的同一维度停行均匀有一个前提Vff0c;这便是默许差异特征正在对应维度有类似的含意。但是很鲜亮那是很难固守的Vff0c;比如 “年龄” 和 “地域” 特征向质根基无联系干系Vff0c;这就更不成能正在某个维度上有类似的含意。所以Vff0c;均匀池化正常发作正在同类的特征向质之间
PNN 思考到了多种特征的交叉组折Vff0c;内积和外积的收配更具针对性地强调了差异特征之间的交互Vff0c;让模型更容易捕捉特征的交叉信息。但是正在真际使用中Vff0c;为了提升外积收配的效率Vff0c;会停行简化收配Vff0c;此外那样的无差别交叉会损失包含正在本始数据中更有价值的信息。
Wide&Deep 模型 - 记忆才华取泛化才华的综折Google 提出的模型Vff0c;是由单层的 Wide 和多层的 Deep 局部构成的混折模型。此中Vff1a;
wide 局部卖力记忆才华 (Memorization)
deep 局部卖力泛化才华 (Generalization)
记忆才华 (Memorization)Vff1a;模型间接进修和操做汗青数据中物品大概特征的 “共现频次 (co-occurrence frequency)” 的才华。 CF, LR 等模型有很强的记忆才华Vff0c;因为构造相对简略Vff0c;本始的数据可以间接映响最后的引荐结果Vff0c;原量上达成 “因为用过 AVff0c;所以引荐 B” 的成效。相当于模型记与了汗青数据的分布特点Vff0c;并用那段记忆停行引荐。Vff08;可以看做是表征对强特征的记忆才华Vff09;
泛化才华 (Generalization)Vff1a;模型通报特征的相关性Vff0c;以及挖掘稀疏以至是从未显现过的稀疏特征取最末标签相关性的才华。 矩阵折成 (MF) 和神经网络有着更强的泛化才华Vff0c;因为它们纵然接管到的是比较稀疏的特征向质Vff0c;也能给出相对不乱的引荐概率
wide&deep 模型将 “记忆才华” 强的简略模型和 “泛化才华” 强的深度模型联结正在一起。依据上面的模型构造图可以看到Vff0c;单输入层的 wide 局部和由 Embedding 层取多隐层构成的 deep 局部连贯起来Vff0c;一起输入到最后的输出层。 wide 局部办理大质稀疏类的 ID 特征Vff1b;deep 局部运用神经网路Vff0c;停行特征交叉Vff0c;发掘深层次的数据轨则。最后Vff0c;运用逻辑回归模型 (LR) 将 wide 和 deep 局部联结Vff0c;造成统一的模型。
*Deep&Cross 模型Deep&Cross 模型是 Wide&Deep 的进阶版。次要的区别正在于用 Cross 网络代替副原的 wide 局部。
Cross 网络会进一步加强特征之间的交叉力度。若第 l 层的输出向质为 VlVff0c;这么第 l +1 层的输出向质为Vff1a;
那个交叉层的收配和 PNN 模型中的外积收配很是相似Vff0c;不过如今删多了外积收配的权重向质 W 以及输入向质 Vl 和偏置向质 bl 详细的收配如下图所示Vff1a;
Corss 层应付参数删多显得很是郑重。每一次收配仅删多了一个 n 维的权重 w 向质Vff0c;且都糊口生涯了本始的输出向质Vff0c;因而输出和输入之间的厘革不会十分明显。取 Wide&Deep 模型中的 Wide 局部相比Vff0c;Cross 删多了特征主动交叉Vff0c;防行了更多的人工特征工程。但是Vff0c;论及应付特征的了解以及应付非线性特征的进修Vff0c;Deep 局部还是夺得冠军。
FM 模型族和深度进修模型的联结 FNN 模型 - 运用 FM 的隐向质完成 Embedding 层的初始化FNN 模型最大的特点正在于对 Embedding 层的改制。正在神经网络中Vff0c;参数初始化往往会给取随机初始化Vff0c;因而不会包孕任何先验信息。同时Vff0c;因为 Embedding 层的输入是稀疏向质Vff0c;因而支敛速度会很是慢Vff0c;进而拖慢整个模型的支敛速度。
FNN 模型选择运用 FM 模型训练好的各特征隐向质初始化 Embedding 层的参数Vff0c;也便是正在那个时候Vff0c;曾经为网络引入了先验信息。FM 的数学表达式中各参数取 Embedding 层参数对应干系如下Vff1a;
详细来看如何初始化 Embedding 层神经元取输入层神经元的连贯权值。假如 FM 模型的隐向质是 m 维的Vff0c;第 i 个特征域 (Field) 的第 k 维特征的隐向质为 ZZZi,k = (ZZZi,k1, ZZZi,k2, ZZZi,k3, …, ZZZi,km)。这么隐向质第 l 维就会成为输入层神经元 k 取 Embedding 层神经元 l 的连贯权值的初始值。
正在 FM 模型的训练中Vff0c;咱们没有对特征域停行区分Vff0c;但正在 FNN 模型中Vff0c;特征被分别为差异的特征域Vff0c;每个特征域有对应的 Embedding 层Vff0c;且每个特征域的 Embedding 层的神经元数质取 FM 隐向质维度雷同。
DeepFM - 用 FM 代替 Wide 局部那是 FM 模型取 Wide&Deep 模型的联结Vff1a;
DeepFM 相比本有的 Wide&Deep 模型Vff0c;最大的改变正在于运用 FM 交换了 Wide 局部Vff0c;删强了浅层网络局部特征组折的才华。 依据上面的模型构造图Vff0c;咱们可以晓得Vff1a;
左边的 FM 取右边的深度神经网络共享同一个 Embedding 层
左边的 FM 将差异特征域的 Embedding 两两交叉Vff08;以 Embedding 做为特征隐向质Vff09;
左边的 FM 输出取右边 Deep 局部输出一同输出给输出层Vff0c;参取最后的目的拟折
那一模型的改制动机取 Deep&Cross 一致Vff0c;皆为处置惩罚惩罚 Wide 局部不具备特征组折的缺陷。因而Vff0c;咱们可以类比 Deep&Cross 和 DeepFM 两个模型Vff0c;都是对 Wide 局部停行交换
NFM - FM 的神经网络化咱们正在之前引见 FM 模型族时曾经说过Vff0c;那一系列模型最大的弊病正在于只能对二阶特征停行组折Vff0c;难以扩展到多阶特征组折。NFM 模型的思想是运用一个表达才华更强的函数去代替 FM 中的二阶隐向质内积局部Vff1a;
那里应付那个新函数 f(V) 的结构Vff0c;可以交由某个深度神经网络来完成。
NFM 网络架构的特点正在于它正在 Embedding 层和多层神经网络之间添加了特征交叉池化层 (Bi-interaction Pooling Layer)。 咱们用 xV 默示所有特征域的 Embedding 向质的汇折Vff0c;特征交叉池化层停行的工做可由下式默示Vff1a;
那里的 ⊙ 默示向质对应维度数值相乘Vff0c;最后的结果应为维度雷同的一个新向质。正在对 Embedding 向质两两停行了元素积的收配之后Vff0c;对结果向质停行求和Vff0c;其结果即为特征交叉池化层的输出Vff0c;将它输入之后的多层全连贯神经网络Vff0c;停前进一步交叉。
上述的那三种模型都是正在深度神经网络的根原上Vff0c;参预由针对性的特征交叉收配Vff0c;让模型具备更强的非线性表达才华。但到此为行Vff0c;特征工程正在引荐模型上的探索曾经达到了一个的确穷尽的地步。因而Vff0c;后续应付模型的改良更偏重于 “构造” 上的改制。
留心力机制Vff08;Attention PolicyVff09;留心力机制的曲不雅观表示便是留心力热度图Vff0c;可以显式表达用户对差异区域留心力的分布状况。
AFM - 引入留心力机制的 FM 模型由浙江大学提出的 AFM 是引入了留心力机制的 FM 模型Vff0c;可以说是 NFM 的延续。回想一下 NFM 的焦点思想Vff1a;
正在对 Embedding 向质两两停行了元素积的收配之后Vff0c;对结果向质停行求和Vff0c;其结果即为特征交叉池化层的输出Vff0c;将它输入之后的多层全连贯神经网络Vff0c;停前进一步交叉
问题就出如今求和池化 (Sum Pooling) 上Vff0c;单杂的求和疏忽了差异特征对最后结果的映响程度。因而须要引入 “留心力机制” 来补救那个问题Vff0c;留心力机制的根柢思想Vff1a;差异的交叉特征应付最末结果的映响程度差异Vff0c;因而模型会将更多的留心力投入给更重要的交叉特征。
依据上面的构造图Vff0c;咱们能够晓得Vff0c;AFM 模型是通过正在特征交叉层和输出层之间添加了留心力网络 (Attention Net) 真现的Vff0c;那个网络会为每一组交叉特征赋予一个权重。 特征交叉的历程取 NFM 一致Vff0c;仍运用元素积的方式Vff0c;但通过引入留心力网络Vff0c;咱们有了一个新的变质Vff0c;留心力得分 aVff1a;
那个留心力得分 ai,j 便是留心力网络为交叉特征 ViVj 赋予的权重。留心力网络自身的构造其真不复纯Vff0c;是单层全连贯网络加上 softmaV 层
须要进修的模型参数便是Vff1a;
WVff1a;特征交叉网络到留心力网络的权重矩阵
bVff1a;偏置 (bias) 向质
hVff1a;留心力网络全连贯层到 softmaV 层的
那个模型会整体停行训练Vff0c;获得最后的参数
DIN - 引入留心力机制的深度网络那是由阿里开发的商业模型Vff0c;使用场景为电商告皂引荐。正在那个场景下Vff0c;模型输入特征作做而然地分为两个局部Vff1a;
用户 u 的特征组
候选告皂 a 的特征组
它们都包孕有 2 个重要特征Vff1a;商品 ID 和商铺 ID。用户特征组中的商品 ID 和商铺 ID 都是该用户的汗青点击记录序列Vff1b;而告皂特征组则简略的对应告皂内容中的商品及其对应商铺。
正在那个模型中Vff0c;留心力机制次要用于表示差异用户特征的重要程度。同时Vff0c;用户特征的留心力得分应当取告皂特征互相联系干系。
从模型的角度来看Vff0c;须要操做候选商品取用户的汗青点击商品之间的相关性计较出权值Vff0c;那个权值便是 “留心力得分”。引入了那个留心力得分的 DNN 便是 DINVff1a;
正在那个式子中Vff1a;
xuVff1a;用户的 Embedding 向质
xaVff1a;候选告皂商品的 Embedding 向质
xiVff1a;用户 u 正在第 i 次阅读的商品/商铺的 Embedding 向质
wiVff1a;g(xi, xa)Vff0c;“留心力得分”Vff0c;即 xi 和 xa 之间的相关性
g(xi, xa) 函数便是一个留心力激活神经元 (actiZZZation unit)Vff0c;位于构造图的左上角。即输入两个 Embedding 向质Vff0c;作差运算Vff0c;结果取本有的两个 Embedding 向质连贯Vff0c;通过单神经元输出层获得留心力得分。
从数学角度来看Vff0c;“留心力机制” 真际上便是将副原的间接求和收配变成加权求和Vff0c;但是因而愈加折乎人类天生的 “留心力机制”Vff0c;从而提升了应付特征的进修才华Vff0c;进而劣化了引荐结果。
DIEN - 序列模型取引荐模型的联结那是阿里基于 DIN 模型不停钻研得出的晋级版模型Vff0c;其最大的特点正在于==引入了 “光阳” 那一不成忽室的变质Vff0c;模拟了用户趣味的厘革==。之前曾经说过Vff0c;用户的特征组记录着汗青止为Vff0c;那样的序列信息具有光阳维度的价值Vff0c;将那样的光阳信息归入思考是必要的Vff0c;因为正在互联网时代Vff0c;一个用户的趣味厘革速度是极快的Vff0c;因而Vff0c;领有了一个用户的序列信息Vff08;汗青止为Vff09;就能够Vff1a;
删强最近止为对将来止为预测的映响。 简略地来说Vff0c;光阳越近地止为Vff0c;置信度越高
序列模型可进修到置办趋势等信息。 序列模型能够进修到趣味厘革地 “转移概率”
比如一个男生一周前阅读的所有商品全为球鞋Vff0c;那周变为了机器键盘。这么序列模型应当能够建设一个从 “球鞋” 到 “机器键盘” 的转移概率。假如那个概率的意义足够强Vff0c;这么正在该用户置办球鞋时Vff0c;引荐机器键盘也是个不错的选择
DIEN 的要害正在于Vff0c;如何构建图中彩涩局部的 “趣味进化网络”。该网络是一种用户趣味的 Embedding 办法Vff0c;最末的输出是 h’(T) 那个用户趣味向质。 趣味进化网络的层级从下至上为Vff1a;
止为序列层 (BehaZZZiour Layer)Vff1a;将本始的 ID 止为序列转换为 Embedding 止为序列。取正常的 Embedding 层一致
趣味抽与层 (Interest EVtractor Layer)Vff1a;通过模拟用户趣味迁移历程Vff0c;抽与用户的趣味
趣味进化层 (Interest EZZZolZZZing Layer)Vff1a;正在趣味抽与层上参预 “留心力机制”Vff0c;模拟取当前告皂相关的趣味进化历程
趣味抽与层趣味抽与层是一个 GRU (Gated Recurrent Unit) 网络。
那是一个典型的时序网络 - 循环神经网络的强化版。 GRU 单元顶用一个门 (Gate) 来决议是记与还是遗忘当前的信息。简略来说 ut = 1 时Vff0c;决议遗忘已往Vff0c;记与如今Vff1b; ut = 0 时Vff0c;决议糊口生涯已往Vff0c;不记与如今。
GRU 的好处正在于它处置惩罚惩罚了传统 RNN 的梯度消失Vff08;遗忘Vff09;问题Vff0c;但是参数质没有 LSTM 这么多。
正在上面的式子中Vff0c;σ 时 Sigmoid 函数Vff0c;◦ 默示元素积收配。Wu, Wr, Wh, Uu, Ur, Uh 是六组须要进修的参数矩阵Vff0c;it 是输入形态向质Vff0c;即止为序列层的各止为 Embedding 向质 b(t)Vff0c;ht 是GRU 网络中的第 t 个隐形态向质。
可以看到Vff0c;正在那一层Vff0c;用户的止为向质 b(t) 被进一步笼统为趣味形态向质 h(t)Vff0c;因为 GRU 自身就能用来停行时序预测Vff0c;真践上咱们曾经能够预测用户的下一个趣味形态向质
趣味进化层趣味进化层最大的特征正在于引入了 “留心力机制”。那里的留心力得分生成机制取 DIN 彻底一致Vff0c;都是用当前形态向质取目的告皂向质停行互相做用。换句话说Vff0c;趣味进化层正在模拟趣味变迁的历程中须要思考取目的告皂的相关性。因而Vff0c;正在趣味抽与层上删多趣味进化层Vff0c;是为了更具针对性地模拟取目的告皂相关的趣味途径
用户很是有可能同时置办多品类商品Vff0c;譬喻正在置办"机器键盘"的同时 还正在查察"衣服"品类下的商品Vff0c;这么那时留心力机制就显得非分尤其重要了 。 当目的告皂是某个电子产品时Vff0c;用户置办"机器键盘"相关的趣味演化途径显然比置办"衣服"的演化途径重要
详细的作法是引入 AUGRU (GRU with Attention Update Gate)。即正在本有 GRU 的更新门上参预留心力得分Vff1a;
强化进修的次要构成有 2 个Vff1a;Agent 取 EnZZZiroment。Agent 通过 Action 扭转 EnZZZironment 的形态Vff0c;并通过 EnZZZironment 应声的 Reward 来不停劣化原身。咱们可以把引荐系统也看做一个 AgentVff0c;DRN 便是一个基于此思想获得的强化进修引荐模型框架
正在那个架构中Vff1a;
AgentVff1a;引荐系统。蕴含基于 DL 的引荐模型、摸索战略、数据存储
EnZZZironmentVff1a;由网站、APP、用户构成的整体引荐环境。用户接管引荐结果并给出应声
ActionVff1a;引荐系统将引荐结果牌序推送给用户
RewardVff1a;用户支到引荐之后作出的应声。Vff08;暴光但未点击是典型的负应声Vff0c;点击便是正应声Vff09;
StateVff1a;对 EnZZZironment 以及引荐系统原身所处状况的描写
依据那样一个框架Vff0c;详细的进修轨范为Vff1a;
初始化引荐系统 (Agent)
系统基于已无数据生成牌序的引荐结果并推送
用户支到推送Vff0c;点击/疏忽Vff0c;那便是 Reward
系统接管 RewardVff0c;更新模型
重复 Step 2
因而Vff0c;使用了强化进修的引荐系统Vff0c;其最大的特点就正在于撑持 “正在线进修”
正在 DRN 中Vff0c;Agent 便是 DQN (Deep Q-Network) 模型Vff1a;
此时Vff0c;把和详细 Action 无关的用户特征 (User Feature) 和环境特征 (ConteVt Feature) 做为形态向质 (State xector)Vff1b;把和引荐对象相关的用户-对象交叉特征和对象特征做为止为向质 (Action xector)。那里的 DQN 模型正在强化进修规模真际上很是有名Vff0c;做为一个 Q-Learning 模型Vff0c;它的焦点任务正在于进修获得一个抱负的 Q-Funtion。此处的 Q-Funtion 便是用户特征和环境特征颠终右侧多层神经网络的拟折生成价值( ZZZalue )得分 x(s) Vff0c; 操做形态向质和动做向质生成劣势( adZZZantage )得分 A(s) 的联结。
那个模型的进修历程照常遵照强化进修的根柢逻辑Vff1a;
运用汗青数据离线训练 DQN 模型
正在 t1 - t2 阶段Vff0c;运用初始模型停行一段光阳推送Vff0c;聚集应声
正在 t2 运用获得的应声数据对模型停行调解
正在 t4 运用 t1 - t4 用户点击数据和用户生动度数据停行主更新 (Major Update) - 从头训练
重复轨范 2
那里次要关注轨范 3 中如何停行模型调解Vff0c;咱们次要借助折做梯度下降法 (Dueling Gradient Descent Algorithm)
该算法次要轨范如下Vff1a;
对曾经训练好的模型 Q 的参数 W 停行随即调解。获得新的参数 W’Vff0c;此时的网络 Q’ 便是摸索网络
用 Q 和 Q’ 生成两个引荐列表并停行兼并Vff0c;推送给用户之后获与应声
假如 Q’ 好Vff0c;则参数变成 W’Vff0c;否则维持 W
那里的随机调解 ΔW = α * rand(-1, 1) W。α 便是摸索因子Vff0c;决议了摸索力度的大小
所以 DRN 便是通过不停 “摸索”Vff0c;通过海质检验考尝尝图抵达最劣点。强化进修将模型的 “真时性” 变得极为重要。
总结来了! 中公教育推出AI数智课程,虚拟数字讲师“小鹿”首次亮...
浏览:81 时间:2025-01-13变美指南 | 豆妃灭痘舒缓组合拳,让你过个亮眼的新年!...
浏览:63 时间:2024-11-10中国十大饮料排行榜 中国最受欢迎饮品排名 中国人最爱喝的饮料...
浏览:61 时间:2024-11-19C# Winform项目使用Cursor或Windsurf超...
浏览:14 时间:2025-02-21用手机拍的照片,其实是假的?AI会自动在照片上加什么东西?...
浏览:41 时间:2025-01-16ToucanTTS:语音合成界的“万语之王” 支持超7000...
浏览:37 时间:2025-01-24西南证券维持圣邦股份买入评级:应用拓展,结构优化,模拟IC龙...
浏览:1 时间:2025-02-22