当前位置: 首页 > news >正文

网站建设包含图文设计360浏览器网页版入口

网站建设包含图文设计,360浏览器网页版入口,天堂呦呦,山东网站备案网站目录 一、推荐系统是什么1.作用和意义2.推荐系统的架构2.1 逻辑架构2.2 技术架构 二、传统的推荐系统方法1. 协同过滤算法1.1 userCFItemCF1.3 矩阵分解算法 2. 逻辑回归算法3. 因子分解机3.1 POLY2模型3.2 FM模型3.3 FFM模型3.4 小结 4. 组合模型4.1 GBDTLR组合模型… 目录 一、推荐系统是什么1.作用和意义2.推荐系统的架构2.1 逻辑架构2.2 技术架构 二、传统的推荐系统方法1. 协同过滤算法1.1 userCFItemCF1.3 矩阵分解算法 2. 逻辑回归算法3. 因子分解机3.1 POLY2模型3.2 FM模型3.3 FFM模型3.4 小结 4. 组合模型4.1 GBDTLR组合模型4.2 LS-PLM 三、深度学习推荐系统1. 改变神经网络的复杂度1.1 AutoRec1.2 Deep Crossing 2. 改变特征交叉方式2.1 NeuralCF模型2.2 PNN模型 3. 组合模型3.1 WideDeep模型3.2 DeepCross模型 4. FM模型的深度学习演化版本4.1 FNN模型4.2 DeepFM模型4.3 NFM模型 5. 注意力机制与推荐模型的融合5.1 AFM模型5.2 DIN模型 6. DIEN——序列模型与推荐模型的融合 四、Embedding技术在推荐系统中的应用1. Word2vec2. Item2vec2.1 基于Word2Vec思想的Item2vec2.2 广义的Item2vec 3. Graph Embedding3.1 DeepWalk3.2 Node2vec3.3 EGES 4. Embedding与深度学习推荐系统的结合4.1 深度学习网络中的Embedding层4.2 Embedding的预训练方法4.3 Embedding作为推荐系统召回层 4. 局部敏感哈希 五、多角度审视推荐系统1. 推荐系统的特征工程1.1 推荐系统常用特征1.2 常用特征处理方法 2. 推荐系统召回层的策略2.1 多路召回策略2.2 基于Embedding的召回 3. 推荐系统的实时性3.1 推荐系统“特征”的实时性3.2 推荐系统模型的实时性 4. 冷启动的解决方法4.1 基于规则的冷启动4.2 丰富冷启动过程中可获得的用户和物品特征4.3 利用主动学习、迁移学习和“探索与利用”机制 一、推荐系统是什么 1.作用和意义 用户角度解决”信息过载“的情况下用户如何高效获得感兴趣信息 公司角度解决产品能最大限度地吸引用户、留存用户、增加用户粘性、提高用户转化率使公司商业目标连续增长。 2.推荐系统的架构 2.1 逻辑架构 已知用户信息、物品信息和场景信息的基础上对于用户U在特定的场景C下从海量物品中构建函数f(U,I,C)预测用户对特定候选物品I的喜好程度根据喜好程度对候选物品进行排序生成推荐列表。 2.2 技术架构 1数据部分 对物品、用户、场景的信息进行处理。加工后数据出口主要有 1生成推荐模型所需的样本数据用于算法模型的训练和评估。 2生成推荐模型服务model serving所需的“特征”用于推荐系统的线上推断。 3生成系统监控、商业智能Business IntelligenceBI系统所需的统计型数据。 2模型部分 召回层简单的模型快速从海量候选集中召回用户可能感兴趣的商品。 排序层利用排序模型对初筛选的候选集进行精排。 补充策略与算法层也被称为“再排序层”可以在将推荐列表返回用户之前为兼顾结果的“多样性”“流行度”“新鲜度”等指标结合一些补充的策略和算法对推荐列表进行一定的调整最终形成用户可见的推荐列表。 二、传统的推荐系统方法 1. 协同过滤算法 1.1 userCFItemCF 1userCF 首先根据user-item交互矩阵计算user之间的相似性得到Top n相似性用户用户对某商品的评价预测n个相似用户对此商品的评分的加权(权重为用户的相似性)和。 userCF存在的问题用户数往往大于物品数导致用户相似度矩阵的存储开销很大用户历史数据向量很稀疏对一些只有几次购买行为用户找到相似用户准确度很低。因此一般使用itemCF。 2ItemCF 基于历史数据构建m×n维共现矩阵计算共现矩阵两两列相连间相似性构建n×n维物品相似度矩阵获得用户历史行为数据中的正反馈列表利用物品相似度矩阵针对目标用户历史行为中的正反馈物品找出相似的Top k个物品组成相似物品集合对相似物品集合中的物品利用相似度分值进行排序生成最终的推荐列表在第5步中如果一个物品与多个用户行为历史中的正反馈物品相似那么该物品最终的相似度应该是多个相似度的累加。 问题协同过滤推荐结果的头部效应比较明显处理稀疏向量的能力弱。因为热门物品具有很强的头部效应容易跟大量物品产生相似性而尾部的物品由于特征向量稀疏很少与其他物品产生相似性导致很少被推荐。 1.3 矩阵分解算法 针对上述问题因此矩阵分解算法在协同过滤共现矩阵的基础上使用更稠密的隐向量表示用户和物品挖掘用户和物品的隐含兴趣和隐含特征在一定程度上弥补了协同过滤模型处理稀疏矩阵能力不足的问题。 矩阵分解算法期望为每一个user和item生成一个隐向量在隐向量空间中应该把距离近的item推荐给user。user和item的隐向量是通过分解协同过滤生成的共现矩阵得到。 矩阵分解算法将m×n维的共现矩阵R分解为m×k维的用户矩阵U和k×n维的物品矩阵V相乘的形式。其中m是用户数量n是物品数量k是隐向量的维度。k 的大小决定了隐向量表达能力的强弱。k 的取值越小隐向量包含的信息越少模型的泛化程度越高反之k 的取值越大隐向量的表达能力越强但泛化程度相应降低。 矩阵分解的求解使用的梯度下降。因为特征值分解只用于方阵奇异值分解要求原始共现矩阵是稠密的而且计算复杂度大而user item很多。 目标函数使原始评分和user item向量之积的差尽量小使用梯度下降不断更新q和p。 进一步在矩阵分解时加入用户和物品的偏差向量来消除用户和物品打分的偏差。 矩阵分解优点1泛化能力强在一定程度上解决数据稀疏2空间复杂度低无需维护庞大的用户或商品相似性矩阵只需存储隐向量复杂度由n×n降到(nm)×k。3更好扩展性和灵活性隐向量和embedding思想相同可以与其他特征拼接。 缺点与此同时也要意识到矩阵分解的局限性。与协同过滤一样矩阵分解同样不方便加入用户、物品和上下文相关的特征这使得矩阵分解丧失了利用很多有效信息的机会同时在缺乏用户历史行为时无法进行有效的推荐。 2. 逻辑回归算法 逻辑回归模型能够综合利用用户、物品、上下文等多种不同的特征生成较为“全面”的推荐结果 步骤1将用户年龄、性别、物品属性、物品描述、当前时间、当前地点等特征转换成数值型特征向量。2确定逻辑回归模型的优化目标以优化“点击率”为例利用已有样本数据对逻辑回归模型进行训练确定逻辑回归模型的内部参数。3在模型服务阶段将特征向量输入逻辑回归模型经过逻辑回归模型的推断得到用户“点击”这里用点击作为推荐系统正反馈行为的例子物品的概率。4利用“点击”概率对所有候选物品进行排序得到推荐列表。 优点1可解释性强通过权重知道哪些特征向量重要2易于并行化、模型简单、训练开销小等。 缺点表达能力不强**无法进行特征交叉、特征筛选**等一系列较为“高级”的操作因此不可避免地造成信息的损失。 3. 因子分解机 有时仅利用单一特征而非交叉特征进行判断会得出错误的结论即辛普森悖论因此要进行特征的交叉。 3.1 POLY2模型 POLY2模型暴力组合特征对所有特征进行两两交叉并对所有特征组合赋予权重。 缺陷1很特征向量是one-hot编码POLY2进行无选择的特征交叉使原本就稀疏的特征向量更加稀疏使大部分特征交叉的权重缺乏有效数据进行训练无法收敛。2权重参数数量由n增加到n×n增加训练复杂度。 3.2 FM模型 FM为每个特征学习了一个隐权重向量latent vector。在特征交叉时使用两个特征隐向量的内积作为交叉特征的权重。FM 通过引入特征隐向量的方式直接把 POLY2 模型 n×n级别的权重参数数量减少到了 nkk为隐向量维度nk。 FM模型虽然丢失了某些具体特征组合的的精确记忆能力但确提高了泛化能力例如对于一个从未出现过的特征组合NBCGucci由于FM模型之前已经分别学习过NBC和Gucci的隐向量具备了计算该特征组合权重的能力而POLY2不行。 3.3 FFM模型 相比于FM模型FFM引入特征域感知使模型表达能力增强。 每个特征的隐向量不再是只有一个而是针对每个field学习一个独立的隐向量防止互相影响。 在FFM模型的训练过程中需要学习n个特征在f个域上的k维隐向量参数数量共n · k · f个。复杂度为kn*n但提高了模型的表达能力 3.4 小结 Publisher、Advertiser、Gender 是三个特征域ESPN、NIKE、Male分别是这三个特征域的特征值依次为POLY2、FM、FFM 4. 组合模型 FFM模型引入特征域的方式增强模型的特征交叉能力但只能做二阶特征的交叉提高特征交叉维度会产生组合爆炸和计算复杂度过高的问题。 4.1 GBDTLR组合模型 用GBDT构建特征工程利用训练集训练好GBDT模型后就可以利用该模型完成从原始特征向量到离散特征向量的转化利用R估计CTR。这两步是独立训练的。 在GBDTLR组合模型出现之前特征工程主要解决方法1是进行人工的或半人工的特征组合和特征筛选投入精力大2是通过改造目标函数改进模型结构增加特征交叉项的方式增强特征组合能力对模型设计的要求高。 GBDTLR组合模型的提出意味着特征工程可以完全交由一个独立的模型来完成模型的输入可以是原始的特征向量不必在特征工程上投入过多的人工筛选和模型设计的精力。 4.2 LS-PLM 例如如果 CTR 模型要预估的是女性受众点击女装广告的 CTR那么显然我们不希望把男性用户点击数码类产品的样本数据也考虑进来因为这样的样本不仅与女性购买女装的广告场景毫无相关性甚至会在模型训练过程中扰乱相关特征的权重。 为了让 CTR 模型对不同用户群体、不同使用场景更有针对性其采用的方法是先对全量样本进行聚类再对每个分类施以逻辑回归模型进行CTR预估。 首先用聚类函数π对样本进行分类这里的 π采用了 softmax 函数对样本进行多分类再用 LR模型计算样本在分片中具体的CTR然后将二者相乘后求和。 三、深度学习推荐系统 1. 改变神经网络的复杂度 1.1 AutoRec 是一个单隐藏层神经网络模型。 基本原理是利用协同过滤中的共现矩阵完成物品向量或者用户向量的自编码。再利用自编码的结果得到用户对物品的预估评分进而进行推荐排序。 AutoRec解决的问题是构建一个重建函数h(r;θ)使由该重建函数生成的评分向量与原评分向量的平方残差和最小。 如何进行推荐以已于商品的AutoRec为例 当输入物品i的评分向量为ri时模型的输出向量hriθ就是所有用户对物品 i 的评分预测。那么其中的第u维就是用户u对物品i的预测 通过遍历输入物品向量就可以得到用户u对所有物品的评分预测进而根据评分预测排序得到推荐列表。 AutoRec表达能力不足。 1.2 Deep Crossing 特征分为三类可被处理为one-hot或multi-hot向量的类别型特征如用户搜索关键词数值型特征如点击率需要进一步处理的特征可被处理为数值型或者类别型特征。 模型包括 1Embedding层。将稀疏的类别型特征转化为稠密低维的Embedding向量。这里使用的是全连接但已经有很多embedding方法。 2Stacking层。将经过稀疏类别向量经过embedding层产生的低维稠密向量以及数值型特征拼接起来形成新的包含全部特征的特征向量。 3Multiple Residual Units。通过多层残差网络对特征向量各个维度进行充分的交叉组合使模型抓到更多非线性特征和组合特征的信息。 4Scoring层。是输出层为了拟合优化目标 2. 改变特征交叉方式 丰富深度学习中的特征交叉方式。 2.1 NeuralCF模型 原来的矩阵分解产生用户和商品的隐向量可以看作一种embedding的方法最终的scoring层就是将用户和物品隐向量进行内积操作得到相似度即对评分的预测。 NeuralCF使用多层神经网络输出层替代矩阵分解模型中简单的内积操作使用户商品隐向量之间充分交叉并引入更多非线性特征。 因此其实可以任意扩充用户和商品隐向量的互操作层也可以将不同操作网络得到的特征向量拼接起来交由输出层进行目标拟合。 优点NeuralCF模型实际上提出了一个模型框架它基于用户向量和物品向量这两个Embedding层利用不同的互操作层进行特征的交叉组合并且可以灵活地进行不同互操作层的拼接。 局限基于协同过滤的思想没有引入其他更多类型的特征。 2.2 PNN模型 相比于Deep Crossing模型PNN使用乘积层代替了Deep Crossing模型中的Stacking层即不同特征的Embedding向量不再是简单的拼接而是用Product操作进行两两交互更有针对性地回去特征之间的交叉信息。 相比于NeuralCFPNN 模型的输入不仅包括用户和物品信息还可以有更多不同形式、不同来源的特征通过Embedding层的编码生成同样长度的稠密特征Embedding 向量。 PNN的乘积层由线性操作部分对各特征向量进行线性拼接和乘积操作部分乘积交叉部分又分为内积操作和外积操作两种组成。 PNN 的结构特点在于强调了特征 Embedding 向量之间的交叉方式是多样化的相比于简单的交由全连接层进行无差别化的处理PNN模型定义的内积和外积操作显然更有针对性地强调了不同特征之间的交互从而让模型更容易捕获特征的交叉信息。但 PNN 模型同样存在着一些局限性例如在外积操作的实际应用中为了优化训练效率进行了大量的简化操作。此外对所有特征进行无差别的交叉在一定程度上忽略了原始特征向量中包含的有价值信息。 3. 组合模型 通过组合两种不同特点、优势互补的深度学习网络提升模型的综合能力。 3.1 WideDeep模型 是由单层的wide部分和多层的Deep部分组成的混合面平行Wide部分使模型具有较强的记忆能力Deep部分使模型具有泛化能力。 记忆能力可以被理解为模型直接学习并利用历史数据中物品或者特征的“共现频率”的能力 泛化能力可以被理解为模型传递特征的相关性以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。 WideDeep模型把单输入层的Wide部分与由Embedding层和多隐层组成的Deep部分连接起来一起输入最终的输出层。单层的Wide部分善于处理大量稀疏的 id类特征Deep部分利用神经网络表达能力强的特点进行深层的特征交叉挖掘藏在特征背后的数据模式。最终利用逻辑回归模型输出层将 Wide部分和Deep部分组合起来形成统一的模型 3.2 DeepCross模型 DeepCross使用Cross网络替换原来的Wide部分Deep部分设计思路没有本质改变。 设计Cross网络的目的是增加特征之间的交互力度使用多层交叉层对输入向量进行交叉。 WideDeep模型影响力很大其抓住业务问题的本质可以融合传统模型的记忆能力和深度学习模型的泛化能力结构简单容易在工程上实现。 4. FM模型的深度学习演化版本 4.1 FNN模型 embedding层的参数初始化过程中往往采用随机初始化这种不包含任何先验信息的初始化方法embedding层输入极端稀疏化导致embedding层的收敛速度非常慢而且embedding层的参数数量往往占整个神经网络参数数量大半以上。因此模型的收敛速度往往受限于embedding层。 FNN模型的解决思路利用FM模型训练好的各特征隐向量初始化embedding层参数相当于在初始化神经网络参数时已经引入了有价值的先验信息。 H i d e n l a y e r l 1 的输入 t a n h ( w 1 z b 1 ) Hiden layer\ l1的输入 tanh(w_{1}zb_{1}) Hidenlayer l1的输入tanh(w1​zb1​) 输入全连接层的输入Z(W0,Z1,Z2,…Zn)其中wi是一阶参数v_{ik}是第i个特征域中的第k维特征隐向量。 z i ( w i , v i 1 , v i 2 , . . . , v i k ) z_{i} (w_{i},v_{i1},v_{i2},...,v_{ik}) zi​(wi​,vi1​,vi2​,...,vik​) 每个隐向量是m维的。 初始化的embedding神经元域输入神经元之间的连接权重。 4.2 DeepFM模型 FNN模型把FM的训练结果作为初始化权重并没有对神经网络的结构进行调整。DeepFM用FM替换原来的Wide部分加强了浅层网络部分特征组合的能力。 左边的FM部分与右边的深度神经网络部分共享相同的Embedding层。**左侧的FM部分对不同的特征域的Embedding进行了两两交叉也就是将Embedding向量当作原 FM 中的特征隐向量。最后将 FM的输出与 Deep 部分的输出一同输入最后的输出层参与最后的目标拟合。**与WideDeep模型相比DeepFM模型的改进主要是针对WideDeep模型的 Wide 部分不具备自动的特征组合能力的缺陷进行的。 4.3 NFM模型 原来的FM和FFM仅是一个二阶特征交叉的模型因为组合爆炸问题几乎不可能扩展到三阶以上这限制了其表达能力。 NFM使用一个表达能力更强的函数替代原FM中二阶隐向量内积的部分。 以下是NFM的深度网络部分模型结构图可以看到就是在 Embedding 层和多层神经网络之间加入特征交叉池化层在进行两两Embedding向量的元素积*向量对应维度元素相乘)操作后对交叉特征向量取和得到池化层的输出向量。再把该向量输入上层的多层全连接神经网络进行进一步的交叉。 5. 注意力机制与推荐模型的融合 5.1 AFM模型 NFM模型将不同域的特征embedding向量经过特征交叉池化层后将各交叉特征向量进行加和没有区别的对待交叉特征但是不同交叉特征对于结果的影响是不同的。AFM模型引入注意力机制在特征交叉层和最终的输出层之间加入注意力网络为每一个交叉特征提供不同的权重。 使用MLP来学习注意力权重。 5.2 DIN模型 在计算一个用户u是否点击一个广告a时模型的输入特征分为两部分用户u的特征组和候选广告a的特征组两者都有商品id和商铺id。用户特征组的商品id和商铺id是用户曾经点击过的商品id和商铺id集合广告特征组中就是广告对应是商品和商铺id. 原来的Base模型中用户特征组中的商品序列和商铺序列经过平均池化后就进入下一层神经网络序列中的商品即没有区分重要程度也和广告特征中的商品id没有关系。 但是在建模过程中投给不同特征的注意力应有不同而且注意力得分计算应该和广告特征有关。 利用候选商品和用户历史行为商品之间的相关性计算一个权重注意力由同类信息相关性决定商品id和商品id作用商铺id和商铺id作用。 Vu是用户的Embedding向量Va是候选广告商品的Embedding向量 Vi是用户u的第i次行为的Embedding向量。这里用户的行为就是浏览商品或店铺因此行为的Embedding向量就是那次浏览的商品或店铺的Embedding向量。因为加入了注意力机制所以Vu从过去Vi的加和变成了Vi的加权和 Vi的权重wi就由Vi与Va的关系决定也就是gViVa使用一个激活单元即一个小的神经网络产生注意力得分。 6. DIEN——序列模型与推荐模型的融合 用序列模型模拟用户兴趣的进化过程。 用户的历史行为是一个随时间排序的序列存在一定的前后依赖关系而AFM或DIN的注意力得分是序列无关的。 上周一个用户在买篮球鞋这周购物兴趣可能变成买一个机械键盘。序列信息的重要性1加强最近行为对下一次行为的预测影响即用户近期购买机械键盘概率大于篮球鞋2序列模型能够学习到购买趋势的信息一定程度上建模从篮球鞋到机械键盘的转移概率。 模型的结构为输入层Embedding层连接层多层全连接神经网络输出层的整体结构。模型的创新点在彩色的兴趣进化网络。 兴趣进化网络包括 1行为序列层(浅绿色部分)把原始的id类行为序列转化为embedding行为序列。 2兴趣抽取层(米黄色部分)模拟用户兴趣迁移过程抽取用户兴趣。由GRU组成用户行为向量b(t)被进一步抽象化形成了兴趣状态向量h(t)。 3兴趣进化层(浅红色部分)更有针对性地模拟与目标广告相关的兴趣进化过程。兴趣进化层的注意力得分的生成过程与DIN完全一致都是当前状态向量和目标广告向量进行互作用的结果。引入AUGRU在原GRU的更新们结构上加入了注意力得分。 但是序列模型有较高的训练复杂度在线上推断过程中串行推断使其在模型服务过程中延迟交大。 四、Embedding技术在推荐系统中的应用 Embedding就是用一个低维稠密的向量表示一个对象embedding向量能够表达相应对象的某些特征同时向量之间的距离反映了对象之间的相似性。 Embedding技术对深度学习推荐系统很重要 1推荐场景中大量用one-hot编码对类别、id型特征进行编码导致样本特征向量极度稀疏但深度学习结构特点使其不利于稀疏特征向量的处理因此很多深度学习推荐模型基于embedding层将高维稀疏特征向量转换为低维稠密特征向量。 2Embedding本身是及其重要的特征向量。相比于传统的MF等产生的特征向量。embedding表达能力强因此embedding特征向量往往和其他推荐系统特征连接后一同输入后续深度学习网络进行训练。 3**Embedding对物品、用户相似度计算是常用的推荐系统召回层技术。**在基于局部敏感哈希等快速最近邻搜索技术应用后embedding可用于对海量备选物品进行快速初筛。 1. Word2vec Wode2Vec是一个生成对词的向量表达的模型。 以Skip-gram模型为例每个词都决定了相邻的词。 选取一个长度为2c1目标词前后各选c个词的滑动窗口从语料库中抽取一个句子将滑动窗口由左至右滑动每移动一次窗口中的词组就形成了一个训练样本。有了训练样本就可以着手定义优化目标了。既然每个词 wt都决定了相邻词wtj基于极大似然估计的方法希望所有样本的条件概率pwtj|wt之积最大这里使用对数概率。因此Word2vec的目标函数为 作为一个多分类问题条件概率pwtj|wt可以利用softmax定义使用两个词向量之间的内积表示语义的接近程度 可以将上述过程转化为Word2Vec的神经网络结构输入向量表达是输入层到隐层的权重矩阵 W V × N W_{V×N} WV×N​每一行对应的权重向量是一个词向量向量 X [ x 1 , x 2 , . . . , x V ] X[x_{1},x_{2},...,x_{V}] X[x1​,x2​,...,xV​]是长度为V的one-hot特征向量输入×隐层权重相当于在输入向量矩阵总进行lookup。最后要得到的就是这个查找表 W V × N W_{V×N} WV×N​ 输出向量表达是隐层到输出层的权重矩阵 W N × V ′ W^{}_{N×V} WN×V′​, Y [ y 1 , y 2 , . . . , y V ] Y[y_{1},y_{2},...,y_{V}] Y[y1​,y2​,...,yV​]是经softmax输出的对每个词的条件概率。例如如果X中xi1,其余均为0则 X T × W V × N × W N × V ′ [ v I i T v O 1 , v I i T v O 2 , . . . , v I i T v O V ] X^{T}×W_{V×N}×W^{}_{N×V}[v^{T}_{Ii}v_{O1},v^{T}_{Ii}v_{O2},...,v^{T}_{Ii}v_{OV}] XT×WV×N​×WN×V′​[vIiT​vO1​,vIiT​vO2​,...,vIiT​vOV​],再经过softmax即为条件概率Y。 但是由于词的数量很大则输出层神经单元的个数很多计算量大因此采用负采样。 从V个负样本中选取K个负样本KV。 2. Item2vec 2.1 基于Word2Vec思想的Item2vec 越来越多的Embedding方法可以被直接用于物品Embedding向量的生成而用户Embedding 向量则更多通过行为历史中的物品 Embedding 平均或者聚类得到。利用用户向量和物品向量的相似性可以直接在推荐系统的召回层快速得到候选集合或在排序层直接用于最终推荐列表的排序 Word2Vec利用词序列生成词embeddingItem2Vec利用物品序列由特定用户的浏览、购买等行为产生的历史行为的记录序列。 假设Item2vec中一个长度为K的用户历史记录为ω1ω2…ωKItem2vec的优化目标为 Item2vec摒弃了时间窗口的概念认为序列中任意两个物品都相关因此在Item2vec的目标函数中可以看到其是两两物品的对数概率的和而不仅是时间窗口内物品的对数概率之和。 在优化目标定义好之后Item2vec剩余的训练过程和最终物品Embedding的产生过程都与Word2vec完全一致最终物品向量的查找表就是Word2vec中词向量的查找表。 2.2 广义的Item2vec 广义上任何可以生成物品向量的方法都可以称为Item2vec。 例如下图的双塔模型物品塔”起到的作用本质上是接收物品相关的特征向量。经过物品塔内的多层神经网络结构最终生成一个多维的稠密向量。从Embedding的角度看这个稠密向量其实就是物品的 Embedding 向量只不过Embedding模型从 Word2vec 变成了更为复杂灵活的“物品塔”模型输入特征由用户行为序列生成的one-hot特征向量变成了可包含更多信息的、全面的物品特征向量。 Item2vec方法只能利用序列型数据所以Item2vec在处理互联网场景下大量的网络化数据时往往显得捉襟见肘这就是 Graph Embedding技术出现的动因。 3. Graph Embedding Word2vec及其衍出的Item2vec是embedding技术的基础性方法但二者都是建立在序列样本用户行为序列上。但是在互联网场景下数据对象之间更多呈现图结构例如由用户行为数据生成的物品关系图以及由属性和实体组成的知识图谱。 Graph Embedding是一种对图结构中的节点进行Embedding编码的方法最终生成的节点Embedding向量一般包含图的结构信息及附近节点的局部相似性信息。 3.1 DeepWalk DeepWalk的主要思想是在由物品组成的图结构上进行随机游走产生大量物品序列然后将这些物品序列作为训练样本输入Word2vec进行训练得到物品的Embedding。 1基于用户行为序列构建了物品关系图。可以看出物品 A和B之间的边产生的原因是用户U1先后购买了物品A和物品B。如果后续产生了多条相同的有向边则有向边的权重被加强。 2采用随机游走的方式随机选择起始点重新产生物品序列。 3将这些物品序列输入 Word2vec 模型中生成最终的物品Embedding向量。 Deepwalk中随机游走的跳转概率是跳转边的权重占所有相关出边权重之和的比例。 3.2 Node2vec 通过调整随机游走权重的方法使Graph Embedding的结果更倾向于体现网络的同质性或结构性。 同质性指的是距离相近的节点的Embedding应尽量相似。 结构性指结构上相似的节点的Embedding应尽量相似。 为了使 Graph Embedding 的结果能够表达网络的“结构性”在随机游走的过程中需要让游走的过程更倾向于 BFS因为 BFS 会更多地在当前节点的邻域中游走遍历相当于对当前节点周边的网络结构进行一次“微观扫描”。当前节点是“局部中心节点”还是“边缘节点”或是“连接性节点”其生成的序列包含的节点数量和顺序必然是不同的从而让最终的Embedding抓取到更多结构性信息。为了表达“同质性”需要让随机游走的过程更倾向于DFS因为DFS更有可能通过多次跳转游走到远方的节点上但无论怎样DFS的游走更大概率会在一个大的集团内部进行这就使得一个集团或者社区内部的节点的Embedding更为相似从而更多地表达网络的“同质性”。 Node2vec通过节点间的跳转概率控制BFS和DFS的倾向性。 下图展示的是从节点t跳到节点v再从节点v跳转到周围各点的跳转概率。 从节点v跳转到下一个节点x的概率 π v x α p q ( t , x ) ⋅ w v x \pi_{vx} \alpha_{pq}(t,x)\cdot w_{vx} πvx​αpq​(t,x)⋅wvx​其中 w v x w_{vx} wvx​是边vx的权重 d t x d_{tx} dtx​是节点t到节点x的距离。参数p和q控制随机游走的倾向性参数p被称为返回参数p越小随机游走回节点t的可能性越大Node2vec就更注重表达网络的结构性。参数q被称为进出参数q 越小随机游走到远方节点的可能性越大Node2vec 就更注重表达网络的同质性。 Node2vec 所体现的网络的同质性和结构性在推荐系统中可以被很直观的解释。同质性相同的物品很可能是同品类、同属性或者经常被一同购买的商品而结构性相同的物品则是各品类的爆款、各品类的最佳凑单商品等拥有类似趋势或者结构性属性的商品。 3.3 EGES 在DeepWalk生成的Graph Embedding基础上引入补充信息。单纯使用用户行为生成的物品相关图固然可以生成物品的Embedding但是如果遇到新加入的物品或者没有过多互动信息的“长尾”物品则推荐系统将出现严重的冷启动问题。为了使“冷启动”的商品获得“合理”的初始Embedding阿里巴巴团队通过引入更多补充信息side information来丰富Embedding信息的来源从而使没有历史行为记录的商品获得较合理的初始Embedding。 EGES对每个Embedding进行加权融合从而融合一个物品的多个Embedding向量生成物品最后的Embedding。图中的隐层表达Hidden Representation层就是对不同Embedding进行加权平均操作的层将加权平均后的Embedding向量输入softmax层通过梯度反向传播求得每个Embedding的权重。 4. Embedding与深度学习推荐系统的结合 Embedding技术在推荐系统中的作用 1在深度学习网络中作为Embedding层完成从高维稀疏特征向量到低维稠密特征向量的转换。2作为预训练的Embedding特征向量与其他特征向量连接后一同输入深度学习网络进行训练。 3通过计算用户和物品的Embedding相似度Embedding可以直接作为推荐系统的召回层或者召回策略之一。 4.1 深度学习网络中的Embedding层 深度神经网络中的Embedding层是一个高维向量向低维向量的直接映射将 Embedding 层与整个深度学习网络整合后一同进行训练是理论上最优的选择因为上层梯度可以直接反向传播到输入层模型整体是自洽的。但这样做的缺点是显而易见的Embedding 层输入向量的维度往往很大导致整个Embedding层的参数数量巨大而且输入向量稀疏只有跟非零连接embedding参数更新因此Embedding会拖慢整个神经网络的训练。 因此很多深度学习推荐系统放弃Embedding层端到端的训练用预训练Embedding层的方式代替。 4.2 Embedding的预训练方法 Embedding的训练往往独立于深度学习网络进行。在得到稀疏特征的稠密表达之后再与其他特征一起输入神经网络进行训练。例如 FNN 模型。它将FM模型训练得到的各特征隐向量作为Embedding层的初始化权重从而加快了整个网络的收敛速度。在 FNN 模型的原始实现中整个梯度下降过程还是会更新 Embedding 的权重如果希望进一步加快网络的收敛速度还可以采用“固定Embedding层权重仅更新上层神经网络权重”的方法这是更彻底的Embedding预训练方法。 Graph Embedding技术使Embedding本身的表达能力进一步增强而且能够将各类补充信息全部融入Embedding中使Embedding成为非常有价值的推荐系统特征。通常Graph Embedding的训练过程只能独立于推荐模型进行这使得Embedding预训练成为在深度学习推荐系统领域更受青睐的Embedding训练方法。诚然将Embedding过程与深度神经网络的训练过程割裂会损失一定的信息但训练过程的独立也带来了训练灵活性的提升。举例来说**物品或用户的Embedding是比较稳定的因为用户的兴趣、物品的属性不可能在几天内发生巨大的变化Embedding的训练频率其实不需要很高甚至可以降低到周的级别但上层神经网络为了尽快抓住最新的数据整体趋势信息往往需要高频训练甚至实时训练。使用不同的训练频率更新Embedding模型和神经网络模型**是训练开销和模型效果二者之间权衡后的最优方案。 4.3 Embedding作为推荐系统召回层 Embedding自身表达能力的增强使得直接利用Embedding生成推荐列表成了可行的选择。因此利用Embedding向量的相似性将Embedding作为推荐系统召回层。 模型的输出层是softmax层该模型本质上是一个多分类模型预测目标是用户观看了哪个视频因此 softmax层的输入是经过三层 ReLU全连接层生成的用户Embedding输出向量是用户观看每一个视频的概率分布。由于输出向量的每一维对应了一个视频该维对应的 softmax 层列向量就是物品 Embedding。通过模型的离线训练可以最终得到每个用户的Embedding和物品Embedding。 在模型部署过程中没有必要部署整个深度神经网络来完成从原始特征向量到最终输出的预测过程只需要将用户Embedding和物品Embedding存储到线上内存数据库通过内积运算再排序的方法就可以得到物品的排序再通过取序列中Top N的物品即可得到召回的候选集合这就是利用Embedding作为召回层的过程。 但是整体候选集很大遍历内积操作也会消耗大量实践因此可以使用Embedding的快速索引方法更快的召回候选集合。 4. 局部敏感哈希 推荐系统召回层的主要功能是快速地将待推荐物品的候选集从十万、百万量级的规模减小到几千甚至几百量级的规模避免将全部候选物品直接输入深度学习模型造成的计算资源浪费和预测延迟问题。 召回与用户向量最相似的物品Embedding向量的过程其实是在一个向量空间内搜索最近邻的过程。 局部敏感哈希的基本思想是让相邻的点落入一个桶中这样在最近邻搜索时仅需要在一个桶内或者相邻的几个桶内的元素中进行搜索即可。 在欧式空间中将高维空间的点映射到低维空间原本相近的点在低维空间中肯定依然相近但原本远离的点则有一定概率变成相近的点。利用低维空间可以保留高维空间相近距离关系的性质就可以构造局部敏感哈希“桶”。 例如对于Embedding向量使用内积操作构建局部敏感哈希桶假设 v是高维空间中的k维Embedding向量x是随机生成的k维映射向量。如所示内积操作可将v映射到一维空间成为一个数值衡量向量之间相似性的各种操作例如余弦相似度欧式距离等都可作为哈希函数。 即使一维空间也会保留一定的相似性因此对哈希函数h(v)分组 如果只采用一个哈希函数分桶可能会出现相近点误判因此可以采用m个哈希函数同时进行分桶同时掉进m个哈希函数同一桶两点相似概率提高。 因此计算Top k召回局部敏感哈希步骤 1离线状态所有向量经哈希函数映射到对应索引值 2输入一个向量用同样哈希函数计算哈希值找到哈希位置所有向量 3与2找到所有向量计算距离筛选最近的k个。 五、多角度审视推荐系统 1. 推荐系统的特征工程 原则保留有用信息摒弃冗余信息。因为保留所有信息的存储空间太大必然涉及信息的损失一些冗余无用的信息还会损害模型的泛化能力 1.1 推荐系统常用特征 1用户行为数据 包含显性反馈行为(点赞、评分等)和隐性反馈行为(点击加入购物车等)。 在具体的用户行为类特征的处理上往往有两种方式一种是将代表用户行为的物品 id 序列转换成 multi-hot 向量将其作为特征向量另一种是预先训练好物品的 Embedding再通过平均或者类似于DIN模型注意力机制的方法生成历史行为Embedding向量将其作为特征向量。 2用户关系数据 是人与人之间连接的记录。 可以用用户关系作为物品召回用户关系建立关系图使用Graph Embedding生成用户物品Embedding 3物品用户属性、标签类数据 在推荐系统中使用属性、标签类数据一般是通过multi-hot编码的方式将其转换成特征向量一些重要的属性标签类特征也可以先转换成 Embedding再输入推荐模型。 4内容类数据 内容类数据是大段的描述型文字、图片、视频。内容类数据无法直接转换成推荐系统可以“消化”的特征需要通过自然语言处理、计算机视觉等技术手段提取关键内容特征再输入推荐系统。 5上下文信息 描述推荐行为产生的场景的信息例如时间、地点、月份等。 6统计类特征 统计类特征是指通过统计方法计算出的特征例如历史 CTR、历史 CVR、物品热门程度、物品流行程度等。统计类特征一般是连续型特征仅需经过标准化归一化等处理就可以直接输入推荐系统进行训练。 7组合类特征 组合类特征是指将不同特征进行组合后生成的新特征。随着深度学习推荐系统的提出组合类特征可以交给模型自动处理。 1.2 常用特征处理方法 1连续型特征 归一化统一各特征的量纲 离散化确定分位数形式将原来连续值分桶防止连续值带来过拟合及特征分布不均匀 加非线性函数处理直接把原来的特征通过非线性函数做变换然后把原来的特征及变换后的特征一起加入模型进行训练的过程捕获特征和优化目标之间非线性关系。 2类别型特征 one-hot或multi-hot 将类别型特征编码呈Embedding向量再和其他特征组合形成最终输入特征向量。 2. 推荐系统召回层的策略 2.1 多路召回策略 采用不同的策略、特征或简单模型分别召回一部分候选集然后把候选集混合在一起供后续排序模型使用。 多路召回策略”是在“计算速度”和“召回率”之间进行权衡的结果。其中各简单策略保证候选集的快速召回从不同角度设计的策略保证召回率接近理想的状态不至于损害排序效果。 虽然多路召回是实用的工程方法但从策略选择到候选集大小参数的调整都需要人工参与策略之间的信息也是割裂的无法综合考虑不同策略对一个物品的影响。 2.2 基于Embedding的召回 多路召回中使用“兴趣标签”“热门度”“流行趋势”“物品属性”等信息都可以作为Embedding召回方法中的附加信息side information融合进最终的Embedding向量中例如EGES。就相当于在利用Embedding召回的过程中考虑到了多路召回的多种策略。Embedding召回的另一个优势在于评分的连续性。多路召回中不同召回策略产生的相似度、热度等分值不具备可比性无法据此决定每个召回策略放回候选集的大小。Embedding召回可以把Embedding间的相似度作为唯一的判断标准因此可以随意限定召回的候选集大小。 3. 推荐系统的实时性 3.1 推荐系统“特征”的实时性 1客户端实时特征 客户端缓存 session 内部的行为将其作为与上下文特征同样的实时特征传给推荐服务器那么推荐模型就能够实时地得到 session 内部的行为特征进行实时的推荐。 2流计算平台的准实时特征处理。由于每次需要等待并处理一小批日志流计算平台并非完全实时的平台但它的优势是能够进行一些简单的统计类特征的计算。流计算平台计算出的特征可以立刻存入特征数据库供推荐模型使用。虽然无法实时地根据用户行为改变用户结果但分钟级别的延迟基本可以保证推荐系统能够准实时地引入用户的近期行为。 3分布式批处理平台的全量特征处理 总延迟往往达到小时级别已经无法进行所谓的“实时”推荐因此更多的是保证推荐系统特征的全面性以便在用户下次登录时进行更准确的推荐。 3.2 推荐系统模型的实时性 而模型的实时性则是希望更快地抓住全局层面的新数据模式发现新的趋势和相关性。以某电商网站“双11”的大量促销活动为例特征的实时性会根据用户最近的行为更快地发现用户可能感兴趣的商品但绝对不会发现一个刚刚流行起来的爆款商品、一个刚刚开始的促销活动以及与该用户相似的人群最新的偏好。要发现这类全局性的数据变化需要实时地更新推荐模型。 1全量更新 模型利用某时间段内的所有训练样本进行训练实时性很差。 2增量更新 仅将新加入的样本“喂”给模型进行增量训练。增量更新的缺点是增量更新的模型往往无法找到全局最优点因此在实际的推荐系统中经常采用增量更新与全局更新相结合的方式在进行了几轮增量更新后在业务量较小的时间窗口进行全局更新纠正模型在增量更新过程中积累的误差 3在线学习 在获得一个新的样本的同时更新模型。 4局部更新 降低训练效率低的部分的更新频率提高训练效率高的部分的更新频率。常见于Embedding层—神经网络采用 Embedding 层单独预训练Embedding层以上的模型部分高频更新的混合策略。 4. 冷启动的解决方法 4.1 基于规则的冷启动 在用户冷启动场景下可以使用“热门排行榜”“最近流行趋势”“最高评分”等榜单作为默认的推荐列表利用点击率等目标构建一个用户属性的决策树在每个决策树的叶节点建立冷启动榜单在新用户完成注册后根据用户有限的注册信息寻找决策树上对应的叶节点榜单完成用户冷启动过程。 在物品冷启动场景下可以根据一些规则找到该物品的相似物品利用相似物品的推荐逻辑完成物品的冷启动过程例如对物品进行聚类位于同一类中的商品有类似的推荐规则。 4.2 丰富冷启动过程中可获得的用户和物品特征 基于规则的推荐和推荐系统“主模型”是割裂的改进的主要方法就是在模型中加入更多用户或物品的属性特征而非历史数据特征。 4.3 利用主动学习、迁移学习和“探索与利用”机制 1主动学习 主动学习不仅利用已有的数据集进行建模而且可以“主动”发现哪些数据是最急需的主动向外界发出询问获得反馈从而加速整个学习的过程生成更全面的模型。 2迁移学习 3“探索与利用”机制 探索新数据和利用旧数据之间进行平衡使系统既能利用旧数据进行推荐达到推荐系统的商业目标又能高效地探索冷启动的物品是否是“优质”物品使冷启动物品获得曝光的倾向快速收集冷启动数据。推荐用户喜欢的内容和探索用户新的兴趣。
http://www.yutouwan.com/news/339374/

相关文章:

  • 带空间二字的韩国视频网站内蒙旅游
  • 17网站一起做网店池尾房地产中介网站
  • 上海备案证查询网站查询网站查询系统廉洁文化手册页面设计模板
  • 怎样在自己的网站上家程序公司官网如何制作
  • 建设网站的目的服装类一个空间能否做两个网站
  • 惠州企业网站建设公司网站排名下降了怎么办
  • 做o2o网站需要多少钱Wordpress有趣的小工具
  • 网站开发字体的引用网页设计大赛主题
  • 淘宝网站建设方案建设网站的功能及目的是什么
  • 自己的服务器做网站做公司网站需要多长时间
  • 辽阳做网站重庆网站备案系统
  • 开发者模式要不要开淘宝标题优化工具推荐
  • 前端手机网站青岛栈桥
  • 农业展示网站模板下载青岛建设企业网站
  • 沈阳网站网页wordpress编辑界面
  • 网站建设毕业设计评价985短链接生成
  • 网站公司怎么做运营商怎样提高百度推广排名
  • 北京住房建设部网站东莞市疾控中心24小时咨询电话
  • 一起做网店的类似网站网站推广优化公司
  • asp.net网站建设实战 pdf深圳做装修网站费用多少
  • 中山网站建设文化如何网站后台网址后缀
  • 视频网站做短视频网站开发运营公司
  • 东莞做网站软件个人特种作业证查询
  • 做黑网站赚钱吗郴州网站建设公司电话
  • 靖江网页定制重庆网站排名优化
  • 上海商务网站建设好123设为主页官网
  • 公司网站建设工作成都广告设计制作公司
  • 国外好看的网站设计网站平面设计
  • 上海网站开发建设服务设计网站公司只找亿企邦
  • 网站空间管理平台商务网站设计制作好的工具和方法