图神经网络中的Graph Pooling

点击上方,选择星标置顶,每天给你送干货

阅读大概需要4分钟

跟随小博主,每天进步一丢丢

来自 | CSDN博客   作者 | 木盏

https://blog.csdn.net/leviopku/article/details/106949616

编辑 | 深度学习这件小事公众号

本文仅作学术交流,如有侵权,请联系后台删除。

   前言

GNN/GCN在非欧数据中的应用具有极大的挖掘价值。通常,GNN的应用分为两种:1,节点分类;2,图分类。

节点分类可以用在点云分割,社交网络节点分类,推荐算法等等。

图分类可以用在姿态估计,蛋白质分类等等,当然,也可以用在图像分类。

对于节点分类而言,图结构在forward阶段是不会改变的,改变的只是节点的隐藏层属性。如下:

对于图分类而言,图结构在前传的时候会downsize,最后聚合成一个点的feature再做MLP:

截图来自论文:https://arxiv.org/abs/1901.00596

图分类所用的downsize便是本文的主角graph pooling。--终于引出来了..

   Graph Pooling

GNN/GCN 最先火的应用是在Node classification,然后先富带动后富,Graph classification也越来越多人研究。所以,Graph Pooling的研究其实是起步比较晚的。

Pooling就是池化操作,熟悉CNN的朋友都知道Pooling只是对特征图的downsampling。不熟悉CNN的朋友请按ctrl+w。对图像的Pooling非常简单,只需给定步长和池化类型就能做。但是Graph pooling,会受限于非欧的数据结构,而不能简单地操作。

简而言之,graph pooling就是要对graph进行合理化的downsize。

目前有三大类方法进行graph pooling:

1. Hard rule

hard rule很简单,因为Graph structure是已知的,可以预先规定池化节点:

如图,咱们预先规定[1,2,3,5]节点,[6,7]节点和[4]节点合并,得到新的a,b,c节点。这便是硬规定下的池化方法。比较好理解。

2. Graph coarsening

图粗略化是现在的主流可学习池化方法之一。

代表论文:DiffPool

论文链接:https://arxiv.org/abs/1806.08804

这种方法是hard rule的trainable版本,先对节点进行聚类,然后合成一个超级节点,以达到池化效果。

思想流程大概是:soft clustering -> super node -> coarsening

3. Node selection

节点选择就是选择一些重要节点去代替原图:

代表论文:self-attention graph pooling

论文链接:https://arxiv.org/pdf/1904.08082.pdf

这个self-attention类似于分析节点的重要性,方法类似节点分类的操作。



下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!

后台回复【五件套】
下载二:南大模式识别PPT

后台回复【南大模式识别】




说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:(1)点击页面最上方“深度学习自然语言处理”,进入公众号主页。(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。记得备注呦

推荐两个专辑给大家:专辑 | 李宏毅人类语言处理2020笔记专辑 | NLP论文解读专辑 | 情感分析

整理不易,还望给个在看!
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于神经网络的文本分类方法是一种利用神经网络Graph Neural Network,简称GNN)来处理文本分类任务的方法。传统的文本分类方法通常将文本表示为词向量或句子向量,然后使用传统的机器学习算法进行分类。而基于神经网络的方法则将文本表示为结构,利用神经网络结构进行学习和推理。 具体而言,基于神经网络的文本分类方法可以分为以下几个步骤: 1. 构建结构:将文本的词或句子作为节点,根据它们之间的关系构建结构。常见的构建方式包括依存句法分析、共现关系等。 2. 节点表示学习:利用神经网络对每个节点(即词或句子)进行表示学习。常用的神经网络模型包括Graph Convolutional Network(GCN)、Graph Attention Network(GAT)等。 3. 级别表示学习:将节点表示聚合为整个的表示。常用的聚合方式包括池化(Graph Pooling)和注意力机制(Graph Attention)等。 4. 分类器:使用得到的级别表示进行分类。可以使用传统的机器学习算法,如支持向量机(SVM)、随机森林(Random Forest)等,也可以使用深度学习模型,如全连接神经网络(Fully Connected Neural Network)等。 基于神经网络的文本分类方法具有以下优势: 1. 考虑了文本词或句子之间的关系,能够更好地捕捉上下文信息。 2. 可以处理较长的文本序列,不受序列长度限制。 3. 具有一定的泛化能力,可以适应不同领域的文本分类任务。 4. 可以结合其他特征进行学习,如词性、实体等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值