推荐系统中的Embedding

推荐系统之Embedding

  • 一、什么是embedding?
    • 1. 让embedding空前流行的word2vec:
    • 2. 从word2vec到item2vec
  • 二、Graph Embedding
    • 1. 经典的Graph Embedding方法 — DeepWalk
    • 2. DeepWalk改进 — Node2vec
    • 3. 阿里的Graph Embedding方法EGES
  • 三、深度学习推荐系统中,Embedding的应用
    • 1. 深度学习网络中的Embedding层
    • 2. Embedding的预训练方法
    • 3. Embedding作为推荐系统或计算广告系统的召回层
  • 学习参考文章:

一、什么是embedding?

Embedding用一个低维的向量来表示一个物体,可以是一个词,或是一个商品,一个用户。这个embedding向量的性质是能使距离相近的向量对应的物体又相近的含义。

1. 让embedding空前流行的word2vec:

在这里插入图片描述

2. 从word2vec到item2vec

二、Graph Embedding

1. 经典的Graph Embedding方法 — DeepWalk

主要思想:由用户点击序列构建物品图,在图结构上进行随机游走,产生大量的物品序列,然后将这些物品序列作为训练样本输入到word2vec进行训练,得到物品的embedding。
在这里插入图片描述
Random work 采样概率
在这里插入图片描述 Mij是节点vi到节点vj边的权重

2. DeepWalk改进 — Node2vec

斯坦福大学在DeepWalk的基础上更进一步,通过调整随机游走权重的方法使graph embedding的结果在网络的同质性(homophily)和结构性(structural equivalence)中进行权衡权衡。

同质性:距离相近的节点的embedding应该尽量近似。如u与s1、s2、s3、s4。
结构性:结构相似的节点的embedding应该尽量相似。如u与s6

直观解释:同质性的物品可能是同品类、同属性、或常被同一用户购买;结构像是的物品则是各品类的爆款、个品类的最佳臭蛋商品等拥有类似趋势的商品。
在这里插入图片描述
Node2vec 中从节点 t 跳转到节点 v 后,下一步从节点 v 跳转到周围各点的跳转概率:
在这里插入图片描述
节点v跳转到下一节点x的概率:
在这里插入图片描述 w是边vx的权重
在这里插入图片描述 dtx是节点t到x的距离

参数p和q共同控制着随机游走的倾向性。

Node2vec灵活的表达了同质性和结构性的特点:图1可以看到距离相近的节点颜色相近。图2可以看到结构相似的节点颜色更为相近。
在这里插入图片描述

3. 阿里的Graph Embedding方法EGES

EGES(Enhanced Graph Embedding with Side Information)
基本思想:在DeepWalk生成的graph embedding基础上引入补充信息

DeepWalk缺点:单纯使用用户行为生成的物品相关图,可以生成物品Embedding。但是遇到新加入的物品,或者没有过多交互信息的长尾物品,推荐系统将会出现严重的冷启动问题。

EGES:通过引入更多补充信息来丰富Embedding信息的来源,从而使没有历史行为记录的商品获得Embedding。具体来讲,在构建物品关系图的时候,不仅考虑了用户行为序列生成的物品关系,也考虑了物品相同的属性、类别等信息(这就是side information),这种图一般也叫知识图谱(Knowledge Graph)。

如图:SI0、SI1…、SIn是一个物品的多个embedding向量,用胡同权重a0、a1…、an进行加权平均得到该物品的hidden representation、最后通过softmax层进行分类。
在这里插入图片描述

三、深度学习推荐系统中,Embedding的应用

1. 深度学习网络中的Embedding层

在深度学习网络中作为Embedding层,完成从高维稀疏特征向量到低维稠密特征向量的转换

本质:求解一个m(输入高维稀疏向量的维度) X n(输出稠密向量的维度)维的权重矩阵的过程。(embedding层的权重占据了整个网络权重的绝大部分。那么训练过程大部分的训练时间和计算开销都被Embedding层所占据。所以,Embedding层往往采用预训练的方式完成。)

2. Embedding的预训练方法

作为预训练的Embedding特征向量,与其他特征向量连接后一同输入深度学习网络进行训练。

典型的采用Embedding预训练方法的模型是FNN
FNN:利用了FM训练得到的物品向量,作为Embedding层的初始化权重,从而加快了整个网络的收敛速度。在实际工程中,直接采用FM的物品向量作为Embedding特征向量输入到后续深度学习网络也是可行的办法。

Embedding的本质是建立高维向量到低维向量的映射,而“映射”的方法并不局限于神经网络,实质上可以是任何异构模型,这也是Embedding预训练的另一大优势,就是可以采用任何传统降维方法,机器学习模型,深度学习网络完成embedding的生成。
在这里插入图片描述
典型的例子是2013年Facebook提出的著名的GBDT+LR的模型,其中GBDT的部分本质上也是完成了一次特征转换,可以看作是利用GBDT模型完成Embedding预训练之后,将Embedding输入单层神经网络进行CTR预估的过程。

3. Embedding作为推荐系统或计算广告系统的召回层

通过计算用户和物品的Embedding相似度,Embedding可以直接作为推荐系统或计算广告系统的召回层或者召回方法之一。

其中Youtube推荐系统召回层的解决方案是典型的做法:
在这里插入图片描述
Youtube利用深度学习网络生成Video Embedding和User Embedding的方法:Softmax前一层的输出就是User Embedding,Softmax后一层的输出的列向量就是Item Embedding。(在模型部署过程中,没有必要部署整个深度学习网络来完成从原始特征向量到最终输出的预测过程,只需要将User Embedding和Item Embedding存储到线上内存数据库,通过内积运算再排序的方法就可以得到item的排名。这大大加快了召回层的召回效率。

学习参考文章:

万物皆Embedding,从经典的word2vec到深度学习基本操作item2vec
深度学习中不得不学的Graph Embedding方法
Embedding在深度推荐系统中的3大应用方向

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美团下一代服务治理系统 OCTO 2.0 的探索与实践

本文根据美团基础架构部服务治理团队工程师郭继东在2019 QCon(全球软件开发大会)上的演讲内容整理而成,主要阐述美团大规模治理体系结合 Service Mesh 演进的探索实践,希望对从事此领域的同学有所帮助。 一、OCTO 现状分析 OCTO 是…

技术动态 | 跨句多元关系抽取

本文转载自公众号&#xff1a;知识工场。第一部分 概述关系抽取简介关系抽取是从自由文本中获取实体间所具有的语义关系。这种语义关系常以三元组 <E1,R,E2> 的形式表达&#xff0c;其中&#xff0c;E1 和E2 表示实体&#xff0c;R 表示实体间所具有的语义关系。如图1所示…

网络解析(一):LeNet-5详解

原文链接&#xff1a;https://cuijiahua.com/blog/2018/01/dl_3.html 2018年1月9日21:03:313994,282 C摘要LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition&#xff0c;是一种用于手写体字符识别的非常高效的卷积神经网络。一、前言LeNet-5出自论文Gr…

LeetCode 69. x 的平方根(二分查找)

文章目录1. 题目2.解题2.1 二分查找2.2 牛顿迭代1. 题目 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根&#xff0c;其中 x 是非负整数。 由于返回类型是整数&#xff0c;结果只保留整数的部分&#xff0c;小数部分将被舍去。 示例 1:输入: 4 输出: 2 示例 2:输入: 8…

Google综述:细数Transformer模型的17大高效变种

文 | 黄浴来源 | 知乎在NLP领域transformer已经是成功地取代了RNN&#xff08;LSTM/GRU&#xff09;&#xff0c;在CV领域也出现了应用&#xff0c;比如目标检测和图像加注&#xff0c;还有RL领域。这是一篇谷歌2020年9月份在arXiv发表的综述论文 “Efficient Transformers: A …

从ReentrantLock的实现看AQS的原理及应用

前言 Java中的大部分同步类&#xff08;Lock、Semaphore、ReentrantLock等&#xff09;都是基于AbstractQueuedSynchronizer&#xff08;简称为AQS&#xff09;实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到…

论文浅尝 | 利用知识-意识阅读器改进的不完整知识图谱问答方法

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识库问答。来源&#xff1a;ACL2019链接&#xff1a;https://www.aclweb.org/anthology/P19-1417/本文提出了一种融合不完整知识图谱与文档集信息的end2end问答模型&#xff0c;旨在利用结构…

MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)

传了一张图&#xff0c;图比较大&#xff0c;请移步下载&#xff1a;http://download.csdn.net/detail/u011064099/9266245 在看代码之前&#xff0c;首先简单看一下什么是MVP模式&#xff1a;http://www.cnblogs.com/end/archive/2011/06/02/2068512.html MVP最核心就是将界面…

Facebook大公开:解决NLG模型落地难题!工业界的新一波春天?

文 | 小喂老师编 | 小轶作为NLP领域的“三高”用户&#xff08;高产、高能、高钞&#xff09;&#xff0c;FaceBook最近&#xff08;2020年11月&#xff09;又发表了一篇高水准文章&#xff0c;目前已被COLING-2020接收&#xff0c;号称解决了自然语言生成&#xff08;NLG&…

论文浅尝 | 如何利用外部知识提高预训练模型在阅读理解任务中的性能

论文笔记整理&#xff1a;吴桐桐&#xff0c;东南大学博士生&#xff0c;研究方向为自然语言处理。链接&#xff1a;https://www.aclweb.org/anthology/P19-1226/近年来&#xff0c;机器阅读理解已经逐渐发展为自然语言理解方向的主流任务之一。最近&#xff0c;预训练模型尤其…

美团外卖前端容器化演进实践

背景 提单页的位置 提单页是美团外卖交易链路中非常关键的一个页面。外卖下单的所有入口&#xff0c;包括首页商家列表、订单列表页再来一单、二级频道页的今日推荐等&#xff0c;最终都会进入提单页&#xff0c;在确认各项信息之后&#xff0c;点击提交订单按钮&#xff0c;完…

LeetCode 807. 保持城市天际线

文章目录1. 题目2. 解题1. 题目 在二维数组grid中&#xff0c;grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量&#xff08;不同建筑物的数量可能不同&#xff09;的建筑物的高度。 高度 0 也被认为是建筑物。 最后&#xff0c;从新数组的所有四个方向&#…

提供一个Android原生的Progress——SwipeToRefreshLayout下拉刷新时的等待动画

先来上个图看看效果&#xff1a; 这里我为什么要单独把这个拿出来呢&#xff0c;因为最近才开始接触Android最新的东西&#xff0c;也就是5.0以上的东西&#xff0c;发现Android提供的SwipeToRefreshLayout是没有上拉加载更多的&#xff0c;在网上找了不少第三方提供加载更多的…

导师实验室对学生影响有多大?

读博士导师非常重要&#xff0c;比你们想象得还要更重要。一个优秀的导师不仅在科研帮上很多忙&#xff0c;而且让你懂得怎么做科研&#xff0c;更重要的他教会你怎么做一个合格的学者。 跟这种导师工作&#xff0c;你会发现科研其实是一件非常有趣的事情&#xff0c;它带来的乐…

论文浅尝 | 使用孪生BERT网络生成句子的嵌入表示

论文笔记整理&#xff1a;吴杨&#xff0c;浙江大学计算机学院&#xff0c;知识图谱、NLP方向。https://www.ctolib.com/https://arxiv.org/abs/1908.10084动机谷歌的 BERT 预训练模型&#xff0c;已经能够在两个句子的语义相似度匹配等需要输入一对句子的任务上取得了非常好的…

美团点评效果广告实验配置平台的设计与实现

一. 背景 效果广告的主要特点之一是可量化&#xff0c;即广告系统的所有业务指标都是可以计算并通过数字进行展示的。因此&#xff0c;可以通过业务指标来表示广告系统的迭代效果。那如何在全量上线前确认迭代的结果呢&#xff1f;通用的方法是采用AB实验&#xff08;如图1&…

LeetCode 832. 翻转图像(异或^)

文章目录1. 题目2. 解题1. 题目 给定一个二进制矩阵 A&#xff0c;我们想先水平翻转图像&#xff0c;然后反转图像并返回结果。 水平翻转图片就是将图片的每一行都进行翻转&#xff0c;即逆序。例如&#xff0c;水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。 反转图片的意思是图…

MVP模式在Android中的应用之图片展示选择功能的框架设计

前言&#xff1a;虽然安卓出现的时间比其它平台软件比较晚&#xff0c;但是在我们的安卓开发中&#xff0c;一样可以使用我们所熟知的设计模式来给它一个合理、完善的结构&#xff0c;这样&#xff0c;才可以使我们在平常开发的时候减少冗余代码的发生&#xff0c;真正的提高效…

抑制过拟合之正则化与Dropout

避免过拟合&#xff1a; 1、增大数据集合 – 使用更多的数据&#xff0c;噪声点比减少&#xff08;减少数据扰动所造成的影响&#xff09; 2、减少数据特征 – 减少数据维度&#xff0c;高维空间密度小&#xff08;减少模型复杂度&#xff09; 3、正则化 / dropout / 数据增强…

谈谈神经网络的大规模训练优化

文 | 立交桥跳水冠军源 | 知乎大规模神经网络训练一般会涉及到几百个分布式节点同时工作&#xff0c;模型的参数量以及运算量往往很大&#xff0c;作者认为在这个task下当前的工作主要归结为以下三种&#xff1a;对通信本身的优化&#xff0c;神经网络训练通信的优化&#xff0…