深度学习中的Graph Embedding方法

1、第一部分 Word2vec基础

深度学习中的Graph Embedding方法_第1张图片

  1. [Word2Vec]Efficient Estimation of Word Representations in Vector Space (Google 2013)
    Google的Tomas Mikolov提出word2vec的两篇文章之一,这篇文章更具有综述性质,列举了NNLM、RNNLM等诸多词向量模型,但最重要的还是提出了CBOW和Skip-gram两种word2vec的模型结构。虽然词向量的研究早已有之,但不得不说还是Google的word2vec的提出让词向量重归主流,拉开了整个embedding技术发展的序幕。

  2. [Word2Vec] Distributed Representations of Words and Phrases and their Compositionality (Google 2013)
    Tomas Mikolov的另一篇word2vec奠基性的文章。相比上一篇的综述,本文更详细的阐述了Skip-gram模型的细节,包括模型的具体形式和 Hierarchical Softmax和 Negative Sampling两种可行的训练方法。

  3. [Word2Vec] Word2vec Parameter Learning Explained (UMich 2016)
    虽然Mikolov的两篇代表作标志的word2vec的诞生,但其中忽略了大量技术细节,如果希望完全读懂word2vec的原理和实现方法,比如词向量具体如何抽取,具体的训练过程等,强烈建议大家阅读UMich Xin Rong博士的这篇针对word2vec的解释性文章。

第二部分 Word2vec的衍生及应用

深度学习中的Graph Embedding方法_第2张图片

  1. [Item2Vec] Item2Vec-Neural Item Embedding for Collaborative Filtering (Microsoft 2016)
    这篇论文是微软将word2vec应用于推荐领域的一篇实用性很强的文章。该文的方法简单易用,可以说极大拓展了word2vec的应用范围,使其从NLP领域直接扩展到推荐、广告、搜索等任何可以生成sequence的领域。

  2. [Airbnb Embedding] Real-time Personalization using Embeddings for Search Ranking at Airbnb (Airbnb 2018)
    论文主要提出的是item的Embedding算法和优化方案,基于不同类型和时间窗口的房源序列构建Embedding,以致于能够捕获用户的短期(short-term)和长期(long-term)兴趣偏好。其本质是改造Word2vec的优化目标函数,使用的是其中Skip-gram模型。Airbnb的这篇论文是KDD 2018的best paper,在工程领域的影响力很大,也已经有很多人对其进行了解读。简单来说,Airbnb对其用户和房源进行embedding之后,将其应用于搜索推荐系统,获得了实效性和准确度的较大提升。文中的重点在于embedding方法与业务模式的结合,可以说是一篇应用word2vec思想于公司业务的典范。

第三部分 Graph Embedding

基于word2vec的一系列embedding方法主要是基于序列进行embedding,在当前商品、行为、用户等实体之间的关系越来越复杂化、网络化的趋势下,原有sequence embedding方法的表达能力受限,因此Graph Embedding方法的研究和应用成为了当前的趋势。

  1. [DeepWalk] DeepWalk- Online Learning of Social Representations (SBU 2014)
    以随机游走的方式从网络中生成序列,进而转换成传统word2vec的方法生成Embedding。这篇论文可以视为Graph Embedding的baseline方法,用极小的代价完成从word2vec到graph embedding的转换和工程尝试。
    深度学习中的Graph Embedding方法_第3张图片
    深度学习中的Graph Embedding方法_第4张图片

  2. [LINE] LINE - Large-scale Information Network Embedding (MSRA 2015)
    相比DeepWalk纯粹随机游走的序列生成方式,LINE可以应用于有向图、无向图以及边有权重的网络,并通过将一阶、二阶的邻近关系引入目标函数,能够使最终学出的node embedding的分布更为均衡平滑,避免DeepWalk容易使node embedding聚集的情况发生。

  3. [Node2vec] Node2vec - Scalable Feature Learning for Networks (Stanford 2016)
    node2vec这篇文章还是对DeepWalk随机游走方式的改进。为了使最终的embedding结果能够表达网络局部周边结构和整体结构,其游走方式结合了深度优先搜索和广度优先搜索。
    深度学习中的Graph Embedding方法_第5张图片
    深度学习中的Graph Embedding方法_第6张图片

深度学习中的Graph Embedding方法_第7张图片

  1. [SDNE] Structural Deep Network Embedding (THU 2016)
    相比于node2vec对游走方式的改进,SDNE模型主要从目标函数的设计上解决embedding网络的局部结构和全局结构的问题。而相比LINE分开学习局部结构和全局结构的做法,SDNE一次性的进行了整体的优化,更有利于获取整体最优的embedding。

  2. [Alibaba Embedding] Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba (Alibaba 2018)
    阿里巴巴在KDD 2018上发表的这篇论文是对Graph Embedding非常成功的应用。从中可以非常明显的看出从一个原型模型出发,在实践中逐渐改造,最终实现其工程目标的过程。这个原型模型就是上面提到的DeepWalk,阿里通过引入side information解决embedding问题非常棘手的冷启动问题,并针对不同side information进行了进一步的改造形成了最终的解决方案EGES(Enhanced Graph Embedding with Side Information)。

Ref:

  [1].论文|Airbnb Embedding的实践和思考
  [2].深度学习中不得不学的Graph Embedding方法
  [3].Embedding从入门到专家必读的十篇论文
  [4].CS224W: Machine Learning with Graphs

你可能感兴趣的:(推荐系统,深度学习,人工智能,机器学习)