精华内容
下载资源
问答
  • 基于GNN的图表示学习及其应用

    千次阅读 2020-03-11 11:00:00
    文章内容概述 本文内容分两部分,第一部分为基于 GNN 的图表示学习,共包含两节,第1节主要从三种建模方法上对图表示学习进行对比阐述;第2节分别从两类无监督学习目...

    文章内容概述

           

          本文内容分两部分,第一部分为基于 GNN 的图表示学习,共包含两节,第1节主要从三种建模方法上对图表示学习进行对比阐述;第2节分别从两类无监督学习目标——重构损失与对比损失,对基于 GNN 的无监督表示学习进行阐述。第二部分为GNN的相关应用介绍,主要为3D视觉、基于社交网络的推荐系统和视觉推理的介绍。

          图数据有着复杂的结构,多样化的属性类型,以及多层面的学习任务,要充分利用图数据的优势,就需要一种高效的图数据表示方法。与表示学习在数据学习中的重要位置一样,图表示学习也成了图学习领域中的十分热门的研究课题。

          作为近几年深度学习的新兴领域,GNN 在多个图数据的相关任务上都取得了不俗的成绩,这也显示出了其强大的表示学习能力。毫无疑问 GNN 的出现,给图表示学习带来了新的建模方法。表示学习本身具有十分丰富的内涵和外延,从建模方法、学习方式、学习目标、学习任务等等方面都有所涵盖。这些内容在前面章节均有阐述,所以本章我们主要就基于 GNN 的无监督图表示学习进行讲解。这也有另外一方面的考虑,在实际的应用场景里面,大量的数据标签往往具有很高的获取门槛,研究如何对图数据进行高效地无监督表示学习将具有十分重要的价值。 

    1.1 图表示学习

          在前面我们通常用邻居矩阵 A∈RNxN 表示图的结构信息,一般来说,是一个高维且稀疏的矩阵,如果我们直接用 A 去表示图数据,那么构筑于之上的机器学习模型将难以适应,相关的任务学习难以高效。因此,我们需要实现一种对图数据的更加高效的表示方式。而图表示学习的主要目标,正是将图数据转化成低维稠密的向量化表示方式,同时确保图数据的某些性质在向量空间中也能够得到对应。这里图数据的表示,可以是节点层面的,也可以是全图层面的,但是作为图数据的基本构成元素,节点的表示学习一直是图表示学习的主要对象。一种图数据的表示如果能够包含丰富的语义信息,那么下游的相关任务如点分类、边预测、图分类等,就都能得到相当优秀的输入特征,通常在这样的情况下,我们直接选用线性分类器对任务进行学习。图 1 展示了图表示学习的过程:

    图1 图表示学习过程

          同表示学习一样,图表示学习的核心也是研究数据的表示。特殊的是,图表示学习的研究对象是图数据。我们知道图数据中蕴涵着丰富的结构信息,这本质上对应着图数据因内在关联而产生的一种非线性结构。这种非线性结构在补充刻画数据的同时,也给数据的学习带来了极大的挑战。因此在这样的背景下,图表示学习就显得格外重要,它具有以下两个重要作用:

    1. 将图数据表示成线性空间中的向量。从工程上而言,这种向量化的表示为擅长处理线性结构数据的计算机体系提供了极大的便利。

    2. 为之后的学习任务奠定基础。图数据的学习任务种类繁多,有节点层面的,边层面的,还有全图层面的,一个好的图表示学习方法可以统一高效地辅助这些任务的相关设计与学习。

          图表示学习从方法上来说,可以分为基于分解的方法,基于随机游走的方法,以及基于深度学习的方法,而基于深度学习的方法的典型代表就是 GNN 相关的方法。下面我们回顾一下前两类方法:

          在早期,图节点的嵌入学习一般是基于分解的方法,这些方法通过对描述图数据结构信息的矩阵进行矩阵分解,将节点转化到低维向量空间中去,同时保留结构上的相似性。这种描述结构信息的矩阵比如有邻接矩阵,拉普拉斯矩,节点相似度矩。一般来说,这类方法均有解析解,但是由于结果依赖于相关矩阵的分解计算,因此,这类方法具有很高的时间复杂度和空间复杂度。

          近些年,词向量方法在语言表示上取得了很大的成功,受该方法的启发,一些方法开始将在图中随机游走产生的序列看作句子,节点看作词,以此类比词向量从而学习出节点的表示。典型的方法比如 DeepWalk、Node2Vec等。图 2 给出了 DeepWalk 算法的示意图:

    图 2 DeepWalk 算法示意图

         DeepWalk 通过随机游走将图转化成节点序列,设置中心节点左右距离为 w 的节点为 上下文 ( context ),如图 2b 所示。同词向量方法一样,DeepWalk 本质上建模了中心节点与上下文节点之间的共现关系,这种关系的学习也采用了负采样的优化手段,如图 2d 所示。

          基于随机游走的方法相比上一类方法,最大的优点是通过将图转化为序列的方式从而实现了大规模图的表示学习。但是这也导致了两个缺点:一是将图转化成序列集合,图本身的结构信息没有被充分利用;二是该学习框架很难自然地融合进图中的属性信息进行表示学习。

          关于 GNN 方法的建模细节,作为本书之前相关章节的重要内容进行了阐述,这里就不再赘述。通过之前的学习,我们可以知道基于 GNN 的图表示学习具有以下几点优势:

    1. 非常自然地融合进了图的属性信息进行学习,而之前的方法大多把图里面的结构信息与属性信息进行单独处理。

    2. GNN 本身作为一个可导的模块,能够嵌入到任意一个支持端对端学习的系统中去,这种特性使得其能够与各个层面的有监督学习任务进行有机结合 ( 或者以微调学习的形式进行结合 ),学习出更加适应该任务的数据表示。

    3. GNN 的很多模型如 GraphSAGE、MPNN 等都是支持归纳学习的,多数情况下对于新数据的表示学习可以直接进行预测,而不用像之前的多数方法需要重新训练一次。

    4. 相较于分解类的方法只能适应小图的学习,GNN 保证了算法在工程上的可行性,对大规模图的学习任务也能适应。

    综上,基于 GNN 的相关方法具有强大的学习能力与广泛的适应性,是图表示学习重要的代表性方法。

    1.2 基于GNN的图表示学习

          凭借强大的端对端学习能力,GNN 这类模型可以非常友好地支持有监督的学习方式。但是 GNN 本身作为一种重要的对图数据进行表示学习的框架,只要与相应的无监督损失函数结合起来就能实现无监督图表示学习。无监督学习的主体在于损失函数的设计,这里我们分两类损失函数:基于重构损失的 GNN 和基于对比损失的 GNN,本文将对第一类基于重构损失的 GNN进行介绍。

    1. 基于重构损失的 GNN

          类比于自编码器的思路,我们可以将节点之间的邻接关系进行重构学习,为此可以定义一个如下的图自编码器 ( Graph AutoEncoder ):

    其中,Z 是所有节点的表示,这里借助 GNN 模型同时对图的属性信息与结构信息进行编码学习。 是重构之后的邻接矩阵,这里使用了向量的内积来表示节点之间的邻接关系。图自编码器的重构损失可以定义如下:

    由于过平滑的问题,GNN 可以轻易地将相邻节点学习出相似的表达,这就导致解码出来的邻接矩阵  能够很快趋近于原始邻接矩阵 A,模型参数难以得到有效优化。因此,为了使 GNN 习得更加有效的数据分布式表示,同自编码器一样,我们必须对损失函数加上一些约束目标。比如,我们可以学习降噪自编码器的做法,对输入数据进行一定地扰动,迫使模型从加噪的数据中提取有用的信息用于恢复原数据。这种加噪的手段包括但不限于下面所列的一种或多种:

    1. 对原图数据的特征矩阵 X 适当增加随机噪声或置零处理;

    2. 对原图数据的邻接矩阵 A 删除适当比例的边,或者修改边上的权重值。

    另外,其他的许多自编码器中的设计思路都可以被借鉴。接下来,我们看看比较重要的变分图自编码器 ( Variational Graph Autoencoder ,VGAE ) 。VGAE 和变分自编码器的基本框架一样,不同的是使用了 GNN 来对图数据进行编码学习。下面分三个方向来介绍其基本框架包括推断模型 ( 编码器 )、生成模型 ( 解码器 )、损失函数。

    推断模型

    与 VAE 不同的是,这里我们使用两个 GNN 对 μ、σ 进行拟合:

    生成模型

    这里也简单使用了两个节点表示向量的内积来拟合邻接关系。

    损失函数

    同样地,隐变量 z 的先验分布选用标准正态分布:

    VAE 与 GNN 的结合,不仅可以被用来学习图数据的表示,其更独特的作用是提供了一个图生成模型的框架,能够在相关图生成的任务中得到应用。

    2.1 GNN的应用简述

          

          GNN的适用范围非常广泛,既可以处理具有显式关联结构的数据如药物分子、电路网络等,也可以处理具有隐式关联结构的数据如图像、文本等。近年来,GNN已经被用来解决各行各业的问题,例如生物化学领域中的分子指纹识别、药物分子设计、疾病分类等,在交通领域对交通需求预测、道路速度预测,在计算机图像处理领域的目标检测、视觉推理等,在自然语言处理领域的实体关系抽取、关系推理等。可以分成六个方向:自然语言处理、计算机视觉、自然科学研究、知识图谱、组合优化、图生成,对GNN的应用做出了较为全面与细致的归纳总结。

    纵观GNN的各类应用,GNN表现出了如下三点优势:

    1. GNN具有强大的图数据拟合能力。作为一种建立在图上的端对端学习框架,GNN展示出了强大的图数据拟合能力。图数据是科学与工程学领域中一种十分常见的数据研究对象,因此,GNN也被应用到了很多相关场景下,并且都取得了不错的效果。通常这些应用均会利用GNN去拟合研究对象的一些理化性质,从而指导或加速相应的科研与开发工作。比如利用GNN去拟合两图中节点对的组合性质,从而提升蛋白质相互作用点预测的精度,而蛋白质相互作用点预测是药物分子发现与设计工作的重要构成部分;将高频电路抽象成图数据,利用GNN去拟合其电磁学性质,相较于严格的电磁学仿真计算,该方法能极大的加速高频电路(比如5G 芯片)的设计工作。

    2. GNN 具有强大的推理能力。计算机要完成推理任务、离不开对语义实体的识别以及实体之间关系的抽取,很自然地,GNN被应用到了很多推理任务的场景中去。相较于之前大多基于关系三元组的建模方式,GNN能够对表征语义关系的网络进行整体性地建模,习得更加复杂与丰富的语义信息,这对提升推理任务的效果大有裨益。深度学习经过近几年的长足发展,在许多识别相关的任务上都取得了前所未有的成果,基于此,需要更深程度理解数据的推理任务被提出来,比如计算机视觉中的视觉问答(Visual Question Answering)、视觉推理(Visual Reasoning),自然语言处理中的多跳推理(Multi-hop Reasoning)等。随着GNN的流行,很多工作也尝试将GNN以一种端对端地形式嵌入到学习系统中去,提升相关任务的效果。我们举两个例子说明:第一个是在基于事实的视觉问答(Fact-based Visual Question Answering)中,问题不再直接包含答案内容,需要学习系统经过推理将问题中的事实关系正确映射到答案中的实体上。通过引入GCN同时建模多条事实来提升对答案推理的正确性,这一方法在相关数据集上取得了极大的效果提升。第二个是多跳推理,相比于之前的阅读理解任务,多跳推理需要跨越多个段落甚至多个文档来寻找实体之间的多跳关系,这是一个更加开放更加复杂的推理任务。通过嵌入GNN,构造了一个抽取加推理的双线学习框架,使得学习系统在可解释性提升的同时也在相关数据集上获得了极大的效果提升。

    3. GNN与知识图谱结合,可以将先验知识以端对端的形式高效地嵌入到学习系统中去。人类在学习后习得的知识,会被大脑神经系统进行系统地加工并存储起来,作为之后相关活动发生时的一种先验知识高效提升人类的应对表现,并且往往知识之间会产生各种关联,形成“知识地图”。这种机制对应着数据科学领域中一些技术如知识图谱的广泛应用。从数据建模的层面说,这些知识(或者规则、经验、常识、事实等)为模型提供了额外的相关信息,可以有效提升学习系统的效果。作为一种端对端的图数据学习模型,GNN结合知识图谱,可以将先验知识高效地嵌入到任意一种学习系统中去,提升任务效果。如在零样本学习任务中利用GCN对词汇网络(WordNet)进行建模,实现了类别之间的语义关系到其视觉表示上的迁移,从而大大提升视觉模型在一些完全不提供训练样本的类别上的分类准确率。通过补充额外的知识图谱信息,将知识图谱与用户-商品二部图构成一种合成的图结构,然后利用GNN进行推荐任务建模,同时增强了推荐系统的准确率、多样性与可解释性。

          总的来说,正是由于GNN强大而灵活的特性,使得其不管在图数据本身的学习任务上,还是在被以端对端的形式融合到其他的学习任务中,都能表现出自己的独特优势。当然,上面一以概之的优势需要与实际场景进行深度耦合,在具体地应用中寻找精确的定位,只有这样,才能在相关场景中获得优秀的效果。

    2.2 GNN应用案例

          本节将此3D视觉、基于社交网络的推荐系统、视觉推理3个方面介绍GNN的应用案例,希望借由这3个应用场景能够为大家深入而具体的展示GNN的技术特点及优势。

    1. 3D视觉

         继卷积神经网络在2D视觉上获得前所未有的成功之后,近年来,如何让计算机理解3D世界,特别是如何延续深度学技术在3D视觉问题上的表现受到了越来越多的研究人员关注。3D视觉数据的表示方式有多种,如点云(Point Cloud)、网格(Mesh)等。本节我们来介绍其中具有代表性的点云数据的学习。

    图 3 点云分割示意图

         点云数据是一种十分常见的数据表示方法是一种有效的三维物体的表示方法,点数据由一组点组成,每个点都记录有三维坐标(x,y,z),这种数据由于映射了现实世界中物体的特征,因此存在一种内在的表征物体语义的流行结构,这种结构的学习也是 GNN 所擅长的。需要说明一点的是,在 3D 视觉中流行的是几何学习 Geometry Learning,当下,几何学习与 GNN 在一些场景如点云分割、点云识别等正在深度融合。

    2. 基于社交网络的推荐系统

          推荐是各大互联网公司十分重要的营收手段,因此一直以来备受工业界与学术界双重关注。过去这几年,推荐系统由早期的协同过滤算法发展到 MF 模型、再到之后的 Wide&Deep,以及基于 Network Embedding 的方法,可以明显地看到基于神经网络的方法正在逐渐占据主要位置,而 GNN 的出现,又一次大大加速了这个技术趋势。

          以电商平台的推荐为例,推荐系统的核心数据在于用户 - 商品交互的二部图,而基于神经网络的多数方法将二部图中的实体映射到一个合适的向量空间中去,使得在图上距离越近的两个实体在向量空间中的距离也越近,如下图所示:

    图 4 用户商品关系

          GNN 本身是一种深度模型,与推荐系统结合之后,多层 GNN 模型可以更好地捕捉用户与商品之间的高阶协同关系,论文“Neural Graph Collaborative Filtering”中,作者论证了多层 GNN 所带来的“Deep”与“High order”效益对推荐质量的有效提升。除了推荐系统算法模型本身的研究,另一种思路在于如何使推荐系统有效融合进额外的信息,如用户端社交网络的信息、商品端商品知识图谱的信息。这类信息中通常也蕴含了极强的关系,因此可以非常自然地与用户 - 商品二部图合在一起构成一个更大的异构图。下图给出了与电影知识图谱的结合示意图:

    图 5 电影知识图谱结合示意图

          有了这样的图数据抽象之后,引进 GNN 进行推荐建模也就成了一种自然的选择。另外一个十分重要的、也与推荐系统息息相关相关的业务场景是广告点击率(CTR)预测。该场景下的样本通常是由多领域的特征数据构成,比如用户域、设备域、广告域等等,如何建模这些数据域之间的特征交互,成为了该任务的核心。最近基于神经网络的方法都是直接将各个域之间的特征拼接起来然后送到上层的网络模型中,以期得到这些域之间的高阶交互,这种简单的非结构化的拼接方式,会大大限制模型的学习能力。在“Fi-GNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction”一文中,作者将各个域之间以图的形式连接起来(图6中的 Feature graph),然后用 GNN 建模各个特征域之间高阶复杂的交互关系,相比之前的模型取得了最好效果。

     图 6 Feature graph

    3. 视觉推理

           推理是人类具有的高阶能力,是人类智能中很重要的部分,如何让计算机拥有推理能力是人工智能领域一项重要的课题。

           以视觉领域为例,尽管卷积神经网络等模型取得了极大的成功,但是仍不具备复杂推理的能力,比如图7中,要判断蓝色方框的目标是什么。人类在看到这副图像的时候,根据图中的棒球棒、人物的姿态,首先会得出这张图在描述打棒球,然后以此为依据,对于蓝色的目标区域,根据这个人的姿势和手部姿态判断他是处于接棒球的状态,因此可以推断蓝色区域为棒球手套。而使用基于卷积网络的方法进行识别,除了在更大的感知野内获得的层次化特征之外,无法通过图像的语义信息来准确推理出蓝色区域的目标。

                        

      图 7 蓝色框内的目标是什么?

    图 8 推理框架结构图

    局部推理模块以记忆模块S作为输入进行预测,其中记忆模块S用来存储通过卷积网络提取的目标区域的位置特征和图像特征。

        全局推理模块主要基于空间特征和语义特征进行推理。空间指的是建立位置上不相邻区域的联系,语义指的是利用外部的知识库建立类别与类别之间的联系。为了综合利用这两方面的信息,采用GNN作为推理模块。图的构成使用了两种类型的节点,由所有的区域组成的区域节点,和所有区域对应的实体作为节点。节点与节点之间的边通过如下三种关系建立,第一种是区域与区域之间通过它们距离关系进行关联,边的权重由像素距离的核函数归一化值决定;另外对于有重叠的区域,通过IoU值建立它们之间的关系。第二种是区域与实体之间的关系,根据对区域预测的概率分布(softmax输出),建立与实体之间的关系,边的权重为对应的概率值。第三种是实体与实体之间的关系,这个关系来自于外部的知识图谱,可以将多种实体关系考虑进来,比如类别从属关系、部件从属关系(腿和椅子)、单复数关系、水平对称关系等。

          以上述构建的图为基础,使用GNN来进行推理,区域节点的特征来自卷积网络,实体节点的特征来自预训练的词向量。GNN推理是为了融合空间和语义信息对区域进行推理,因此使用了两条推理路径。一条是区域——区域,它聚合多个区域的特征以得到空间特征;另一条是区域——实体——实体,它分为两步,第一步将区域的特征聚合到实体节点并与实体节点特征融合,然后对不同类型的实体关系进行聚合得到实体的特征,这对应着语义关系。为了得到区域的最终特征,通过实体——区域的关系,将实体携带的语义特征聚合到区域节点上,并与第一条推理路径得到的空间特征进行融合。整个过程如下图所示。

                   

     图 9 全局推理模块示意图

          推理通常不是一步到位的,而是迭代式的。为了将前一轮的信息传递到后一轮,可以使用记忆模块,局部推理和全局推理使用不同的记忆模块和,每次迭代得到的输出用于更新记忆模块。另外模型还引入了注意力机制,以便融合当前预测值与来自其他迭代过程产生的预测值。模型在不同的训练数据集上进行试验,将识别效果对比卷积神经网络提升了3.7% ~ 8.4%。

    以上内容摘自《 深入浅出图神经网络:GNN 原理解析 》一书,经出版方授权发布。

    往期精彩回顾
    
    
    
    
    适合初学者入门人工智能的路线及资料下载机器学习在线手册深度学习在线手册AI基础下载(pdf更新到25集)本站qq群1003271085,加入微信群请回复“加群”获取一折本站知识星球优惠券,请回复“知识星球”喜欢文章,点个在看
    
    展开全文
  • 论文题目:Inductive Representation Learning ...在一个大型中,对节点的低纬度嵌入表示是十分有用的,之前的算法需要中所有的节点信息且对未知数据的泛化能力一般,这种方法被称为transductive;而本文的方法...

    论文题目:Inductive Representation Learning on Large Graphs
    论文链接:https://arxiv.org/pdf/1706.02216.pdf
    论文发表在NIPS2017

    0.摘要

    在一个大型图中,对节点的低纬度嵌入表示是十分有用的,之前的算法需要图中所有的节点信息且对未知数据的泛化能力一般,这种方法被称为transductive;而本文的方法被称为inductive,,本算法名为GraphSAGE,对未知数据有较好的泛化能力。简单的说就是通过一个节点的邻居信息进行特征的采样和聚合,然后学习到一个函数从而为当前节点生成一个嵌入向量。实验证明,该算法在可变信息图(就是说图不是一成不变的)上对未知数据的分类效果是很好的。

    1.前言

    在这里插入图片描述
    基础的方法是利用降维技术对节点邻居的高维信息进行提取得到一个密集的嵌入向量,从而实现对当前节点的表达。利用该算法可以作为上游处理过程(类似于预处理)得到节点的图嵌入并为后面的机器学习算法和相关任务提供信息。但是之前的方法都是对单一固定图进行处理,实际要求需要一个快速的节点嵌入学习方法,并且图是可变的,未知数据会源源不断地出现,inductive方法对相似形式特征的图具有很好的泛化能力。inductive方法对比transdutive方法,其节点嵌入学习更加困难,需要更好的识别全图的结构属性以及节点的邻域特性。现有的算法主要基于矩阵分解(MF),对于未知数据的泛化能力一般。目前有利用卷积策略进行嵌入学习的方法如GCN,本项工作将会把GCN拓展到归纳式的无监督学习场景中,并使用一种可训练的聚合函数替代简单的卷积过程。

    本文工作

    提出GraphSAGE,不同于基于矩阵分解的嵌入学习方法,该算法学习节点特征是为了提高对未知数据的泛化能力。学习每个节点的邻域的拓扑结构(连接结构)以及节点特征在邻域内的分布特性。并且该算法可以用于无节点特征的图中。算法的核心在于训练一组用于聚合邻域信息的聚合函数AGGREGATOR,每一个聚合函数聚合的邻域范围(跳数)是不同的,并且通过训练好一组聚合函数,就可以对未知节点进行嵌入生成。算法中设计了无监督的损失函数,并且也可以进行监督式训练。本文在三个节点分类数据集上测试了算法性能以及对未知数据的嵌入生成能力。

    2.方法概述

    方法的关键在于如何对一个节点的局部邻居信息进行汇聚。文章分别介绍了前向推理算法和反向传播算法。

    2.1 嵌入生成

    算法伪代码如下:
    算法流程
    首先给出其中的输入(1~7)和输出信息(8):
    (1)图G(V,E)表示顶点集合和边集合;
    (2)每一个节点的特征信息(一个向量){x}
    (3)迭代次数(搜索深度)K
    (4)权重矩阵W,用于每一次迭代之间的信息传递
    (5)非线性函数σ\sigma
    (6)可微的聚合函数AGGREGATE
    (7)邻居函数N,得到每一个节点的所有邻居节点
    (8)每一个节点的特征表达{z}
    循环次数k表示迭代次数,每一次迭代,节点都会聚合邻居的信息,随着迭代次数增加,节点会获得越来越多(可以理解为更远的邻居)的节点信息。具体流程如下:
    第一行表示初始化,h表示节点的嵌入表达,下标为节点,上标为当前迭代次数,一开始迭代次数为0,节点的嵌入表达初始化为其自身的特征信息;当进行第k次循环时,需要对每一个顶点集V中的节点进行更新,更新分为两步,第一步获取邻居信息,利用函数AGGREGATE将当前节点v的所有邻居节点u∈N(v)进行聚合(注意的是利用的节点信息均为上一次迭代的信息,所以在实际计算过程中,节点信息不能只用一个向量集合表示,会出现覆盖问题),第二步将邻居信息向量与当前节点的自身向量进行拼接,再利用全连接层和非线性激活函数处理得到新的嵌入表达。最后得到输出z。因此,算法关键在于聚合函数的选择。
    为了降低计算复杂度,同时因为Graph为非欧几里得结构,邻接数量不是固定的,所以对邻居函数N(v)进行重新定义,每次迭代都会选取固定的邻居数量,实验表明最佳参数为迭代次数K=2,两次迭代所选邻居数S1*S2<=5。

    2.2 参数学习

    首先明确的是该算法为无监督学习算法,利用SGD策略对相关参数进行调优,希望的是邻接近的点其嵌入表达更具有相似性,反之需要有很大的区分度。
    在这里插入图片描述
    如果该嵌入表达有固定的应用场景,可以适当替换损失函数,比如做节点分类,可以通过节点分类的损失值来更新这里的embedding结果。

    2.3 聚合函数选择

    1.Mean aggregator
    将邻居节点向量按位取均值,即
    在这里插入图片描述
    2.LSTM aggregator
    LSTM表达能力更强,但是对顺序有要求,所以实验中采用邻居节点随机排序的方式应用LSTM聚合器。
    3.Pooling aggregator
    每一个邻居的向量单独进行全连接层计算并对所有的处理后的向量进行一个按位的最大池化操作:
    在这里插入图片描述
    最大池化操作可以提取到每一个邻居节点不同层面的信息。

    3.实验

    实验主要分为三个部分:
    (1)利用Web of Science引文数据集对学术论文进行分类;
    (2)将贴子分类到不同的社区;
    (3)利用生物蛋白之间的相互作用PPI对蛋白质功能进行分类。
    实验过程中,所有预测节点的信息在训练过程中是不会出现的。实验设置如下:
    设置四个baseline,分别为
    (1)随机分类器
    (2)逻辑回归分类器
    (3)DeepWalk算法
    (4)原始特征+DeepWalk嵌入表达结果
    同时对比四种不同的GraphSAGE算法(利用不同的聚合函数),对于GCN版本,无监督变体采用上文的损失函数,有监督变体利用分类交叉熵损失。非线性函数均采用ReLU函数K=2S1=25S2=10。实验结果如下:
    在这里插入图片描述
    在这里插入图片描述
    【注】如果有理解存在偏差或者错误的地方,欢迎读者们给出指导意见!

    展开全文
  • 图表示学习极简教程

    千次阅读 2020-05-27 11:54:12
    ©PaperWeekly 原创 ·作者|陈凌灏单位|西安电子科技大学本科生研究方向|数据挖掘Introduction随着 Deep Learning 的爆火,数据挖掘和 CV、NLP...

    ©PaperWeekly 原创 · 作者|陈凌灏

    单位|西安电子科技大学本科生

    研究方向|数据挖掘

    Introduction

    随着 Deep Learning 的爆火,图数据挖掘和 CV、NLP 等领域一样,存在着“爆发式”发展的趋势。更加准确地说,笔者认为图数据挖掘正处在爆发的前夜。本文主要从基于图结构的表示学习基于图特征的表示学习两个角度简要介绍图表示学习的现状和自己的认识。

    在非图的表示学习中,研究者们主要考虑的是每一个研究对象的特征(姓名、年龄、身高等)信息。然而,研究对象是存在于客观世界的主体,存在一定的图结构信息(QQ、微信好友,师生关系等都构成了图网络)。如何对图结构进行表示学习以表示图的结构信息是一个很重要的 topic。

    图表示学习的主要目标是:将结点映射为向量表示的时候尽可能多地保留图的拓扑信息。图表示学习主要分为基于图结构的表示学习基于图特征的表示学习

    如图1,基于图结构的表示学习对结点的向量表示只来源于图的拓扑结构( x 的邻接矩阵表达的图结构),只是对图结构的单一表示,缺乏对图结点特征消息的表示。

    如图2,基于图特征的表示学习对结点的向量表示包含了图的拓扑信息( x 的邻接矩阵表达的图结构)包含了已有的特征向量( 个维度为 包含结点特征的向量,如姓名、年龄、身高等信息)。

    ▲ 图1:基于图结构的表示学习

    ▲ 图2:基于图特征的表示学习

    通过上述的介绍,我们可以知道图表示学习的 task 就是用 个向量表示图上的 个结点,这样我们就可以将一个难以表达的拓扑结构转化为可以丢进炼丹炉的 vector 啦。

    基于图结构的表示学习

    在我们的图表示学习中,我们希望 Embedding 出来的向量在图上“接近”时在向量空间也“接近”。对于第 2 个“接近”,就是欧式空间两个向量的距离。对于第一个“接近”,可以有很多的解释:

    • 1-hop:两个相邻的结点就可以定义为临近;

    • k-hop:两个 阶临近的结点也可以定义为临近;

    • 具有结构性:结构性相对于异质性而言。异质性关注的是结点的邻接关系;结构性将两个结构上相似的结点定义为“临近”。比方说,某两个点是各自小组的中心,这样的两个节点就具有结构性。

    因此,针对上述的一些观点,就有了下列的模型:

    2.1 DeepWalk

    DeepWalk [1] 的方法采用了 Random walk 的思想进行结点采样。

    具体参见图 3,我们首先根据用户的行为构建出一个图网络;随后通过 Random walk 随机采样的方式构建出结点序列(例如:一开始在 A 结点,A->B,B 又跳到了它的邻居结点 E,最后到 F,得到"A->B->E->F"序列);对于序列的问题就是 NLP 中的语言模型,因为我们的句子就是单词构成的序列。

    接下来我们的问题就变成 Word2vec(词用向量表示)的问题,我们可以采用 Skip-gram [2] 的模型来得到最终的结点向量。可以说这种想法确实是十分精妙,将图结构转化为序列问题确实是非常创新的出发点。

    在这里,结点走向其邻居结点的概率是均等的。当然,在有向图和无向图中,游走的方式也不一样。无向图中的游走方式为相连即可走;而有向图中则是只沿着“出边”的方向走。

    ▲ 图3:DeepWalk(图源:阿里的paper)

    2.2 Node2vec

    之前所述的 Random Walk 方法中,一个结点向邻居结点游走的概率是相等的。这种等概率的游走操作似乎是比较 naive 的,对此,Node2vec [3] 的提出就是对结点间游走概率的定义。在图 4 中,我们看到当从结点 t 跳跃到结点 v 之后,算法下一步从结点 v 向邻居结点跳跃的概率是不同的。

    ▲ 图4:Node2vec结点的跳转概率示意

    具体的跳转概率(这里的“概率”不是严格的概率,实际上要对下面这个公式进行归一化处理)定义为:

    该公式中 后项表示权重, 定义如下:

    在上面的公式中,从结点 v 回跳到上一个结点 t 的 ;从结点 v 跳到 t、v 的公共邻居结点的 为 1;从结点v跳到其他邻居的

    根据上述的方法,我们就可以获得节点间的跳转概率了。我们发现,当 p 比较小的时候,结点间的跳转类似于 BFS,结点间的“接近”就可以理解为结点在邻接关系上“接近”;当 q 比较小的时候,结点间的跳转类似于 DFS,节点间的“接近”就可以视作是结构上相似。具体可借助图 5 理解。

    ▲ 图5:p、q取值不同时结点的游走趋势

    2.3 Metapath2vec, LINE and so on

    针对异构图而言,其结点的属性不同,采样的方式也与传统的图网络不同,需要按照定义的 Meta-Path [4] 规则进行采样。采样的样例可类似于“电影-导演-主演”这样的方法进行采样。

    对于唐建等人提出的 LINE [5] 中,他们认为 1-hop 和 2-hop 临近的结点为“接近”的结点。关于 Embedding 的技术还有很多,这里就不作详述啦。

    基于图特征的表示学习

    在基于图特征的表示学习中,由于加入了结点的特征矩阵 (姓名、年龄、身高等这样的特征),需要同基于图结构的表示学习区别开来。这一类的模型通常被叫做“图神经网络”。在这里,笔者需要安利~~(非利益相关)~~一本非常值得读的书《深入浅出图神经网络》!

    3.1 GCN

    Graph Convolutional Networks [6](图卷积网络)是非常基本第一个 GNN 模型。在讨论 GCN 之前,我们先来看一下 CNN(卷积神经网络)是怎么做卷积运算的。如图 6 所示,CNN 的两个主要特点是局部感知与权值共享。换句话说,就是聚合某个像素点周围的像素特征。

    ▲图6:卷积神经网络示意

    类似地,在 GCN 中,新的特征也是对上一层邻居结点特征的聚合,公式如下:

    其中 是邻接矩阵, 是顶点的度矩阵(对角阵), 是单位阵,W 是神经网络层与层之间传播的系数矩阵。此外 表示的是该层的结点特征矩阵,第一层的特征矩阵 是原始的结点特征矩阵

    也许有人会有疑问,DNN 的输入应该是一个向量,为什么这里用的是矩阵的表示呢?其实,这里的矩阵可以视作是由多个向量组成的,可以类比于 CNN 中的“多通道”概念。我们来看一下下面的公式推演:

    根据上面的推导,我们不难从最后一个公式中看看出结点 在下一层的表示是由其所有的邻居结点 所构成集合 来决的。

    因此,我们换一个视角,从每一个结点的角度来看GCN的公式。我们可以发现公式 (3.1-1) 可以表示为:

    其中 是第 层网络中结点 的向量表示, 是第层网络上一结点 的向量表示 表示的是结点 的邻居结点构成的集合。公式(3.1-1)、公式(3.1-2)和上面的一堆推导可以说是殊途同归。其核心的意思都表示的是“邻居结点的聚合”。

    从直观层面,GCN 的含义就是“聚合”的含义。然而,从图信号角度对 GCN 进行分析,又会是一番新的境界。笔者曾尝试参悟其中的奥妙,结果学了好久发现对我这种没学过信号的菜鸡来说,确实是究极难懂,希望今后悟透了再把这里补上去。

    3.2 GraphSAGE

    GCN 提出之后,同年的 NIPS 上 GraphSAGE [7] 也横空出世,其主要的特点是固定的采样倍率和不同的聚合方式。

    3.2.1 采样倍率

    在 GCN 中,我们采用的聚合方式是将一个结点的所有邻居进行聚合。若每一层结点的平局邻居结点个数为 ,那么经过 层的聚合后,结点的聚合代价为 。若 ,那么每个结点就要有 1111 个结点参与计算,要是乘上所有的结点个数,计算的代价简直 credible。

    对于邻居节点的聚合,GraphSAGE 在一个 epoch 中,作者并未将某个结点所有的邻居结点进行聚合,而是设置一个定值 ,在第 层选择邻居的时候只从中选最多只选择 个邻居结点进行聚合,计算的复杂度大致在 这个水平。这一改进对 GNN 的落地有着重要意义。

    3.2.2 聚合方式

    结点聚合应该满足:

    1. 对聚合结点的数量自适应:向量的维度不应随邻居结点和总结点个数改变。

    2. 聚合操作对聚合结点具有排列不变性:e.g.

    3. 显然,在优化过程中,模型的计算要是可导的。

    根据上述的几点原则,作者提出了几种聚合方式:

    • 平均/求和聚合算子(mean/sum):

      其中 都是需要 learning 的参数。

    • 池化算子(pooling):

      对其中的 MAX 的含义是各元素上运用 max 算子计算。

      max denotes the element-wise max operator.

    • LSTM 聚合:

      与平均聚合相比,LSTM 聚合具有更大的表达能力。但是,重要的是 LSTM 并不具有排列不变性,因为它们是以顺序方式处理其输入。因此,需要将 LSTM 应用于节点邻居的随机排列,这可以使 LSTM 适应无序集合。

    3.3 GAT

    自从有了 Attention 机制之后,似乎万物皆可 Attention 了。在图学习中,Graph Attention Network [8] 就是引入了注意力机制的 GNN。说到底,GAT 还是对邻居结点信息的聚合:

    其中 是结点 与其相邻结点 之间的权重系数, 的计算公式为:

    其中 是 concat 操作,权重参数向量 。这个公式乍一看比较复杂,其实是由两个部分组成。如图 7 (左),首先算出相关度的权重系数

    然后在对 进行 softmax 归一化处理,以确保权重之和为 1。其实这里的 Attention 不就是一个加权嘛。

    ▲ 图7:图注意力机制示意

    此外,作者在提出 GAT 时也提出了多头注意力机制的方法。如图 7 (右) 所示,不同的颜色代表了不同的注意力计算过程,并将结果进行拼接或平均。具体公式如下:

    由于笔者的 level 问题,对其他网络的了解还不够深入,日后有空再更!

    一些有参考意义的博客


    • Word2Vec (Part 1): NLP With Deep Learning with Tensorflow (Skip-gram) [9]

    • Word2Vec 介绍:直观理解skip-gram模型(知乎) [10]

    • node2vec 原理介绍及实践 [11]

    • [论文笔记] node2vec [12]

    • 深度学习中不得不学的 Graph Embedding 方法 [13]

    • 图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导-持续更新 [14]

    • GCN作者blog [15]

    • 深度学习中的注意力机制

    • 图深度表示(GNN)的基础和前沿进展视频 [16]

    • 唐杰-图神经网络及认知推理-图神经网络学习班视频 [17]

    • 图网络学习算法——从GraphSAGE,GAT到H-GCN [18]

    联系我:xdu.lhchen at gmail.com

    参考链接

    [1] https://arxiv.org/pdf/1403.6652.pdfhttps://arxiv.org/pdf/1403.6652.pdf

    [2] https://arxiv.org/pdf/1301.3781.pdf

    [3] https://arxiv.org/pdf/1607.00653.pdf

    [4] https://www3.nd.edu/~dial/publications/dong2017metapath2vec.pdf

    [5] https://arxiv.org/pdf/1503.03578.pdf

    [6] https://arxiv.org/abs/1609.02907

    [7] https://papers.nips.cc/paper/6703-inductive-representation-learning-on-large-graphs.pdf

    [8] https://arxiv.org/pdf/1710.10903.pdf

    [9] http://www.thushv.com/natural_language_processing/word2vec-part-1-nlp-with-deep-learning-with-tensorflow-skip-gram

    [10] https://zhuanlan.zhihu.com/p/29305464

    [11] https://zhuanlan.zhihu.com/p/39105752

    [12] https://zhuanlan.zhihu.com/p/46344860

    [13] https://zhuanlan.zhihu.com/p/64200072

    [14] https://blog.csdn.net/yyl424525/article/details/100058264

    [15] http://tkipf.github.io/graph-convolutional-networks/

    [16] https://www.bilibili.com/video/av83519765?from=search&seid=13216707505562731124

    [17] https://www.bilibili.com/video/av77934956/?spm_id_from=333.788.videocard.1

    [18] https://zhuanlan.zhihu.com/p/74345718

    点击以下标题查看更多往期内容: 

    #投 稿 通 道#

     让你的论文被更多人看到 

    如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

    总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

    PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

    ???? 来稿标准:

    • 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

    • 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

    • PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

    ???? 投稿邮箱:

    • 投稿邮箱:hr@paperweekly.site 

    • 所有文章配图,请单独在附件中发送 

    • 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

    ????

    现在,在「知乎」也能找到我们了

    进入知乎首页搜索「PaperWeekly」

    点击「关注」订阅我们的专栏吧

    关于PaperWeekly

    PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

    展开全文
  • 图表示学习Graph Embedding:DeepWalk python实现

    千次阅读 热门讨论 2019-01-05 17:01:20
    使用CBOW或Skip-gram模型对随机游走序列中的节点进行向量表示学习。 算法 参考: DeepWalk:Online Learning of Social Representations python实现 随机游走 import numpy as np import networkx ...

    DeepWalk python 实现

    代码及测试数据集:https://github.com/AI-luyuan/graph-embedding

    DeepWalk 原理

    DeepWalk 基于 Word2vec 方法对图顶点向量化表示,主要思路:

    • 在图网络中进行随机游走,生成图顶点路径,模仿文本生成的过程,提供一个图顶点序列
    • 使用CBOW或Skip-gram模型对随机游走序列中的节点进行向量表示学习。
      在这里插入图片描述

    算法

    参考:DeepWalk:Online Learning of Social Representations
    在这里插入图片描述

    在这里插入图片描述

    python实现

    随机游走

    import numpy as np
    import networkx as nx
    
    # 随机游走生成顶点序列
    def randomWalk(_g, _corpus_num, _deep_num, _current_word):
    	_corpus = []
    	for i in range(_corpus_num):
    		sentence = [_current_word]  
    		current_word = _current_word
    		count = 0
    		while count<_deep_num:
    			count+=1
    			_node_list = []
    			_weight_list = []
    			for _nbr, _data in _g[current_word].items():
    				_node_list.append(_nbr)
    				_weight_list.append(_data['weight'])
    			_ps = [float(_weight) / sum(_weight_list) for _weight in _weight_list]
    			sel_node = roulette(_node_list, _ps)
    			sentence.append(sel_node)
    			current_word = sel_node
    		_corpus.append(sentence)
    	return _corpus
    
    def roulette(_datas, _ps):
    	return np.random.choice(_datas, p=_ps)
    
    
    # 生成有向图网络
    G = nx.DiGraph() 
    path = './graph.txt'
    word_list = []
    with open(path,'r') as f:
    	for line in f:    
    		cols = line.strip().split(',')    
    		G.add_weighted_edges_from([(cols[0], cols[1], float(cols[2]))])
    		word_list.append(cols[0])
    		G.add_weighted_edges_from([(cols[1], cols[0], float(cols[2]))])
    		word_list.append(cols[1])
    
    word_set = set(word_list) 
    
    num = 10				# 每个节点开始生成num条顶点序列
    deep_num = 20			 #每个序列深度为deep_num
    
    sentence_file = open('./GraphSentence.txt','w')
    k = 1
    for word in word_set:
    	print(k)
    	k+=1
    	corpus = randomWalk(G, num, deep_num, word)
    	# print(corpus)
    	for cols in corpus:
    		sentences = '\t'.join(cols)
    		sentence_file.write(sentences+'\n')
    

    word2vector

    import gensim
    with open('./GraphSentence.txt','r') as f:
        sentences = []
        for line in f:
            cols = line.strip().split('\t')
            sentences.append(cols)
    
    
    
    model = gensim.models.Word2Vec(sentences, sg=1, size=300, alpha=0.025, window=3, min_count=1, max_vocab_size=None, sample=1e-3, seed=1, workers=45, min_alpha=0.0001, hs=0, negative=20, cbow_mean=1, hashfxn=hash, iter=5, null_word=0, trim_rule=None, sorted_vocab=1, batch_words=1e4)
    
    
    outfile = './test'
    fname = './testmodel'
    # save
    model.save(fname) 
    model.wv.save_word2vec_format(outfile + '.model.bin', binary=True)  
    model.wv.save_word2vec_format(outfile + '.model.txt', binary=False) 
    
    
    fname = './testmodel'
    model = gensim.models.Word2Vec.load(fname)  
    nearest10 = model.most_similar('子')
    print(nearest10 )
    
    展开全文
  • 图表示学习入门3——神经网络

    千次阅读 2019-10-11 11:24:45
    什么是神经网络?和神经网络为什么要关联?怎么关联?一份浅显直觉的GNN入门教程。
  • Graph Representation Learning (William Hamil)本书...的简单表示办法是矩阵,可以通过向改矩阵内填写数据来表示图。如果u,v两个之间节点之间存在一条边,则(一般不带权重,如带有边的权重则把1换成权重值) ...
  • 表示学习

    千次阅读 2018-05-15 17:40:44
    表示学习——回顾与展望摘要——机器学习算法的成功通常取决于数据表示,并且我们假设这是因为不同的表示可能会或多或少地隐藏和隐藏数据背后变化的不同解释因素。尽管可以使用特定的领域知识来帮助设计表示,但也...
  • 文章目录深入浅出神经网络|GNN原理解析☄学习笔记(四)表示学习表示学习表示学习的意义离散表示与分布式表示端到端学习基于重构损失的方法——自编码器自编码器正则自编码器变分自编码器基于对比损失的方法——...
  • 表示学习(特征学习)

    千次阅读 2020-03-01 16:28:42
    文章目录表示学习特征工程与表示学习深度学习的表示学习注:深度学习不等于多层神经网络什么时候用「手工提取」什么时候用「表示学习」?关于特征表示学习的算法参考资料 表示学习 表示学习的基本思路,是找到对于...
  • 稀疏表示学习

    万次阅读 2017-04-25 21:22:42
    1.提出问题:什么是稀疏表示 假设我们用一个M*N的矩阵表示数据集X,每一行代表一个样本,每一列代表样本的一个属性,一般而言,该矩阵是稠密的,即大多数元素不为0。 稀疏表示的含义是,寻找一个系数矩阵A(K*N...
  • 结构表示的深度学习

    千次阅读 2020-12-11 18:42:07
    我们所提出的方法主要基于以形式构造神经网络的模型表示和计算主题,这使得从具有显式和隐式模块结构的数据学习时可以改进泛化性能。 我们的贡献如下: •我们提出了将卷积网络(GCN)(Kipf和Welling,2017;...
  • 知识表示学习研究进展

    万次阅读 2017-01-23 00:46:46
    Paper: 刘知远 2016 知识表示学习研究进展 计算机研究与发展 1. 表示学习旨在将研究对象的语义信息表示为稠密低维表示向量;而知识表示学习则面向知识库中的实体和关系进行表示学习;该技术可以在低维空间中高效...
  • 表示学习(Representation Learning)

    万次阅读 多人点赞 2019-05-10 14:07:39
    2013年,Bengio等人发表了关于表示学习的综述。最近拜读了一下,要读懂这篇论文还有很多文献需要阅读。组会上正好报了这篇,所以在此做一个总结。 二、表示学习发展由来 当我们学习一个复杂概念时,总想有一条...
  • 目录社交网络的表示学习任务异构的网络表示论文1:在异构的社交网络中学习节点的潜在表示[^10]论文2:应用于社交网络的异构图形的分类学习[^11]reference 社交网络的表示学习任务 在日常生活中,会遇到许多的社交...
  • 机器学习算法的成功与否不仅仅取决于算法本身,也取决于数据的表示。数据的不同表示可能会导致有效信息的隐藏或是曝露,这也决定了算法是不是能直截了当地解决问题。表征学习的目的是对复杂的原始数据化繁为简,把...
  • 算法学习 - 图表示

    千次阅读 2015-02-03 23:47:09
    这两种表示方法都可以表示所有,他们之间的区别是所用的空间不一样。邻接表就是用二维数组来表示一个。所需空间为O(N^2)。(M为边数量, N为点数量)。而邻接链表的表示方法更适合稀疏(就是边比较少的
  • 知识表示学习模型

    万次阅读 2019-10-01 13:43:34
    写在前面 最近清华的THUNLP整理了Pre...本来这篇是打算写一写Knowledge Graph + BERT系列工作的,但是最近有在做知识图谱的一些东西所以就先整理一下知识表示学习(knowledge representation learning)的相关模型发展...
  • 网络表示学习总结

    万次阅读 2017-07-03 10:47:27
    最近看了paperweekly的两次关于网络表示学习的直播,涂存超博士与杨成博士讲解了网络表示学习的相关知识。本文将网络表示学习中的一些基本知识,结合自己的一些粗浅的理解,整理记录下来。
  • 深度学习是表示学习的经典代表: 深度学习的过程: 深度学习与传统机器学习差别: 深度学习代表算法: 先来看机器学习: 机器学习是利用经验experience来改善 计算机系统自身的性能,通过经验获取知识knowledge...
  • 稀疏表示以及字典学习

    万次阅读 多人点赞 2017-03-29 09:22:02
    1.什么是稀疏表示:  假设我们用一个M*N的矩阵表示数据集X,每一行代表一个样本,每一列代表样本的一个属性,一般而言,该矩阵是稠密的,即... 南大周志华老师写的《机器学习》这本书上原文:“为普通稠密表...
  • 网络表示学习简单总结(一)

    千次阅读 2019-03-06 17:39:50
    1. 网络表示学习的定义 简单来说,网络表示学习就是通过相关算法将网络中的节点用一个低维稠密的向量空间表示(其中向量空间的维度远远小于节点的总个数),并且能够保持原有网络的相关结构和特征,然后再输入到...
  • representation learning 表示学习

    万次阅读 多人点赞 2017-12-17 15:47:53
    2013年,Bengio等人发表了关于表示学习的综述[1],摘要部分将无监督特征学习和深度学习的诸多进展纳入表示学习的范畴,做出三方面的尝试和贡献:第一,获取关于数据的表示需要考虑一些通用的先验;第二,为表示学习...
  • 网络表示学习相关资料

    千次阅读 2017-07-08 22:59:33
    网络表示学习(network representation learning,NRL),也被称为嵌入方法(graph embedding method,GEM)是这两年兴起的工作,目前很热,许多直接研究网络表示学习的工作和同时优化网络表示+下游任务的工作正在...
  • 表示学习 表示,通俗的理解就是特征。 表示学习是指可以自动的从数据中去学习“有用”的特征,并可以直接用于后续的具体任务的方法。 1. 表示学习 1.1 表示学习的意义 机器学习算法的性能严重依赖于特征,因此在...
  • 通过网络的权值来捕捉外界输入模式的特征,并且通过网络连接方式来组合这些特征从而提取出更加高层特征,采用这种方法逐级从大量的输入数据中学习到对于输入模式有效的特征表示,然后再把学习到的特征用于分类、回归...
  • 字典学习与稀疏表示

    千次阅读 2017-09-13 15:36:52
    字典学习(Dictionary Learning)和稀疏表示(Sparse Representation)在学术界的正式称谓应该是稀疏字典学习(Sparse Dictionary Learning)。该算法理论包含两个阶段:字典构建阶段(Dictionary Generate)和利用...
  • 1.传统:基于表示(又称为基于符号的表示) 如左图G =(V,E),用不同的符号命名不同的节点,用二维数组(邻接矩阵)的存储结构表示两节点间是否存在连边,存在为1,否则为0。 缺点:长尾分布下大部分...
  • 我们在前面的《模型汇总_9 深度学习网络的表达方式汇总及模型分类方法》这篇文章中,指出了深度学习中常用的三种表示数据的方式,即局部表达、稀疏表达和分布式表达。深度学习强大建模和知识抽取的能力,主要原因之...
  • Graph Embedding Techniques, Applications, and Performance: A Survey——一篇嵌入的综述,很全面 论文链接 Representation Learning on Graphs: Methods and Applications——另一篇综述,值得一看 论文链接...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 922,124
精华内容 368,849
关键字:

图表示学习