文本分类的深度注意图扩散网络 笔记

1 Title

        Deep Attention Diffusion Graph Neural Networks for Text Classification(Yonghao Liu、Renchu Guan、Fausto Giunchiglia、Yanchun Liang、Xiaoyue Feng)【EMnlp 2021】

2 Conclusion

        Text classification is a fundamental task with broad applications in natural language processing. Recently, graph neural networks (GNNs) have attracted much attention due to their powerful representation ability. However, most existing methods for text classification based on GNNs consider only one-hop neighborhoods and low-frequency information within texts, which cannot fully utilize the rich context information of documents. Moreover, these models suffer from over-smoothing issues if many graph layers are stacked. In this paper, a Deep Attention Diffusion Graph Neural Network (DADGNN) model is proposed to learn text representations, bridging the chasm of interaction difficulties between a word and its distant neighbors.

3 Good Sentences

        1、Previous shallow learning-based text classification approaches mainly use hand-crafted sparse lexical features, such as bag-of-words (BoW) or n-grams, for representing texts (Li et al., 2020). Since these features are predefined, the models do not take full advantage of the large amount of training data.(The disadvantages of previous methods)
        2、 Theoretically, we can capture long-range dependencies between words with a large number of layers. However, a common challenge faced by most GNNs is that performance degrades severely when stacking multiple layers to exploit larger receptive fields. Some researchers attribute this phenomenon to over-smoothing indistinguishable representation of different classes of nodes.(The challenges of GNNs meet and its probably reason)
        3、One crucial reason why our model achieves more significant improvements is that the receptive field of the target node is enhanced by attention diffusion, which incorporates more informative messages (i.e., both low-frequency and high-frequency information) in the text.(The reason why this method have an advantage)


       

  1. 问题背景:文本分类是自然语言处理中的基础任务,图神经网络(GNNs)因其强大的表示能力而受到关注。然而,现有的基于GNN的文本分类方法通常只考虑单跳邻域和文本中的低频信息,无法充分利用文档的丰富上下文信息。

  2. 现有方法的局限性

    • 受限的感受野:大多数方法只允许图中的词访问直接邻域,无法实现长距离词交互。
    • 较浅的层数:当前基于图的模型通常采用较浅的设置,因为它们在两层图中表现最佳,但无法提取超过两跳邻居的信息。
    • 非精确的文档级表示:大多数模型使用简单的池化操作(如求和或平均)来获取文档级表示,这会削弱一些关键节点的影响。
    • 低通滤波器:现有的基于图的方法主要是固定系数的低通滤波器,主要保留节点特征的共性,忽略了它们之间的差异。
  3. DADGNN模型:为了克服上述限制,提出了DADGNN模型,该模型使用注意力扩散技术扩大每个词的感受野,并解耦GNNs的传播和转换过程以训练更深层的网络。此外,通过计算每个节点的权重来获得精确的文档级表示。

DADGNN有三个主要组成部分:文本图构建、关键组件和图级表示。

文本图构建

这样构造的图的优点是图是有向的,其转移矩阵就是对称的,

Key Components

为了获得深层网络中节点的判别特征表示,本文解耦了GNN的传播和转换过程。具体表述为:

        与传统GNN不同,对于直接相连的节点对,本文使用公式3和4计算它们之间的注意力权重,并进行归一化处理:

其中W_{l}为权重矩阵,a_l为权重向量,是第l层共享的可训练参数。A_l是第l层的图注意矩阵。另外,σ是ReLU激活函数。

后续可以通过扩散机制计算复杂网络中不直接连接的节点之间的注意力。

        根据注意矩阵A,得到图的注意扩散矩阵T如下:,其中ζn是可学习的系数,依赖于所构建的图网络所展示的属性。

如图所示,模型通过一个单层的注意力扩散过程来考虑节点之间的所有路径,从而捕获断开节点的信息。例如(目标节点是“graph”,为简洁起见,删除(a)的不相关边),

        在实际应用中,考虑到现实世界网络中小世界现象的特点,即任意两个节点之间的最短路径通常不会太长(最多四或六个跳),

为了进一步提高注意扩散层的表达能力,本文部署了一个多头注意扩散机制。具体来说,先独立计算每个头k的注意力扩散,然后将它们聚合。输出特征表示如下:

其中||是连接操作和W_a表示转换维度的权重矩阵

 Graph-Level Representation:

        在传播模型的第l层之后,就可以计算每个文本图上所有节点的最终表示。为了衡量图中每个节点的不同作用,与使用一般池化的基于图的文本分类模型相比,采用了节点级关注机制。具体可以用下式表示:其中,W_b是可训练的权重矩阵,\Psi _i表示图中节点 i 的注意力系数。为了获得每个类别的概率,进一步执行

最后,使用交叉熵损失作为目标函数来优化用于文本分类的神经网络。

其中,D 是训练数据集,Φ 是指标矩阵。需要注意的是,我们的模型可直接用于归纳学习任务,对于未见过的测试文档,相应构建的图可直接输入训练好的模型进行预测。此外,它是以端到端的方式进行训练的,这意味着在优化网络时会同时考虑可学习的参数。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

20240513,常用算法(查找,排序,拷贝替换)

做着一些和考试无关的事情 常用查找算法——续 FIND_IF find_if //按条件查找元素&#xff0c;返回迭代器POS / END()find_if(beg,end,_Fred) _Fred函数或谓词&#xff08;返回BOOL类型的仿函数&#xff09; #include<iostream> #include<string> #includ…

目标检测——YOLOv9算法解读

论文&#xff1a;YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information (2024.2.21) 作者&#xff1a;Chien-Yao Wang, I-Hau Yeh, Hong-Yuan Mark Liao 链接&#xff1a;https://arxiv.org/abs/2402.13616 代码&#xff1a;https://github.com/W…

kubernetes集群svc的代理模式-iptables修改为ipvs

一、概述\ 我们都知道&#xff0c;k8s集群的外部网络分发&#xff0c;借助kube-proxy组件来完成&#xff1b; 问题&#xff1a;我们为什么要将代理模式修改为ipvs而不继续使用iptables呐&#xff1f; 1&#xff0c;iptables底层使用四表五链完成网络代理&#xff0c;效率比较低…

HackCar – 汽车系统的攻击和防御游乐场

现代汽车配备的微控制器使用控制器局域网 (CAN) 来执行安全和豪华功能。 然而&#xff0c;由于CAN网络缺乏速度控制等线控系统的安全性&#xff0c;因此可能会通过消息注入攻击来 劫持车辆&#xff0c;从而造成生命危险。 尽管研究人员努力提出入侵检测、加密和身份验证等解…

研究幽灵漏洞及其变种(包括但不限于V1-V5)的攻击原理和基于Github的尝试

一、研究幽灵漏洞及其变种(包括但不限于V1-V5)的攻击原理 1.1 基本漏洞原理(V1) 幽灵漏洞的基本原理是由于glibc库中的gethostbyname()函数在处理域名解析时,调用了__nss_hostname_digits_dots()函数存在缓冲区溢出漏洞。 具体来说,__nss_hostname_digits_dots()使用一个固定…

牛客网刷题 | BC82 乘法表

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 输出九九乘法表&am…

[GWCTF 2019]re3

int mprotect(void *addr, size_t len, int prot);实现内存区域的动态权限控制: addr&#xff1a;要修改保护权限的内存区域的起始地址。len&#xff1a;要修改保护权限的内存区域的长度&#xff08;以字节为单位&#xff09;。prot&#xff1a;要设置的新的保护权限&#xff…

宠物管理系统带万字文档

文章目录 宠物管理系统一、项目演示二、项目介绍三、19000字论文参考四、部分功能截图五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 宠物管理系统 一、项目演示 宠物管理系统 二、项目介绍 基于springbootvue的前后端分离…

CentOs搭建Kubernetes集群

kubeadm minikube 还是太“迷你”了&#xff0c;方便的同时也隐藏了很多细节&#xff0c;离真正生产环境里的计算集群有一些差距&#xff0c;毕竟许多需求、任务只有在多节点的大集群里才能够遇到&#xff0c;相比起来&#xff0c;minikube 真的只能算是一个“玩具”。 Kuber…

如何利用甘特图来提高资源的是使用效率?

在项目管理中&#xff0c;甘特图是一种常用的工具&#xff0c;用于规划和跟踪项目进度。它通过条形图的形式展示项目的时间表和任务依赖关系&#xff0c;帮助项目经理和团队成员清晰地了解项目的时间线和进度。通过合理利用甘特图&#xff0c;可以显著提高资源的使用效率&#…

【C++】学习笔记——继承_1

文章目录 十一、模板进阶5. 模板的优缺点 十二、继承1. 继承的概念及定义2. 基类和派生类对象赋值转换3. 继承中的作用域4. 派生类的默认成员函数 未完待续 十一、模板进阶 5. 模板的优缺点 优点&#xff1a; 模板复用了代码&#xff0c;节省资源&#xff0c;更快的迭代开发&a…

网络安全快速入门(十二) linux的目录结构

我们前面已经了解了基础命令&#xff0c;今天我们来讲讲linux中的目录结构&#xff0c;我们在了解linux的目录结构之前&#xff0c;我们先与Windows做一个对比 12.1linux和windows的目录结构对比 在之前认识liunx的章节中&#xff0c;我们已经简单说明了linux和window的目录结构…

一文入门DNS

概述 DNS是一个缩写&#xff0c;可以代表Domain Name System&#xff0c;域名系统&#xff0c;是互联网的一项基础服务。也可以代表Domain Name Server&#xff0c;域名服务器&#xff0c;是进行域名和与之相对应的IP地址相互转换的服务器。DNS协议则是用来将域名转换为IP地址…

blender cell fracture制作破碎效果,将一个模型破碎成多个模型

效果&#xff1a; 1.打开编辑-》偏好设置。搜索cell&#xff0c;勾选上如下图所示的&#xff0c;然后点击左下角菜单里的保存设置。 2.选中需要破碎的物体&#xff0c;按快捷键f3&#xff08;快速搜索插件&#xff09;&#xff0c;搜索cell fracture。 3.调整自己需要的参数配置…

机器学习之sklearn基础教程:新手入门指南

引言 在机器学习领域&#xff0c;sklearn&#xff08;Scikit-learn&#xff09;是一个广受欢迎的开源库&#xff0c;它为各种常见的机器学习算法提供了高效的实现。对于初学者来说&#xff0c;sklearn 提供了一个简单且易于上手的工具&#xff0c;可以用来实现分类、回归、聚类…

git使用及github

文章目录 操作命令基本组成框架在开发中git分支的重要性 github的使用将本地仓库关联到远程仓库将远程仓库关联到本地和拉取指定分支、切换远程分支提交本地仓库到远程仓库修改分支名称 保存当前工作切换分支将别的分支修改转移到自己的分支远程删除分支后本地git branch -a依然…

MongoDB事务的理解和思考

3.2版本开始引入Read Concern&#xff0c;解决了脏读&#xff0c;支持Read Commit 3.6版本引入Session&#xff0c;支持多个请求共享上下文&#xff0c;为后续的事务支持做准备 4.0支持多行事务&#xff0c;但4.0的事务只是个过渡的版本 4.2开始支持多文档事务 1. Mongo的架…

具备教学意义的实操(用栈实现队列)

具备教学意义的实操&#xff08;用队列实现栈&#xff09;-CSDN博客https://blog.csdn.net/Jason_from_China/article/details/138729955 具备教学意义的实操&#xff08;用栈实现队列&#xff09; 题目 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; ​ 逻辑​​…

一、VIsual Studio下的Qt环境配置(Visual Studio 2022 + Qt 5.12.10)

一、下载编译器Visual Studio2022和Qt 5.12.10 Visual Studio 2022 社区版就够学习使用了 Qt5.12.10 安装教程网上搜&#xff0c;一大堆 也很简单&#xff0c;配置直接选默认&#xff0c;路径留意一下即可 二、配置环境 Ⅰ&#xff0c;配置Qt环境变量 系统变量下的Path&a…

C++的数据结构(五):树和存储结构及示例

在计算机科学中&#xff0c;树是一种抽象数据类型&#xff08;ADT&#xff09;或是实现这种抽象数据类型的数据结构&#xff0c;用来模拟具有树状结构性质的数据集合。这种数据结构以一系列连接的节点来形成树形结构。在C中&#xff0c;树的概念和存储结构是实现各种复杂算法和…