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

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.mzph.cn/web/11363.shtml

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

相关文章

Linux-- 重定向缓冲区

目录 0.接上篇文章 1.粗略的见一下这两个问题 2.理解重定向 3.理解缓冲区 0.接上篇文章 Linux--基础IO(文件描述符fd)-CSDN博客 1.粗略的见一下这两个问题 先来了解几个函数: stat()函数用于获取指定文件或符号链接的元数据。如果文件是…

Android 系统省电软件分析

1、硬件耗电 主要有: 1、屏幕 2、CPU 3、WLAN 4、感应器 5、GPS(目前我们没有) 电量其实是目前手持设备最宝贵的资源之一,大多数设备都需要不断的充电来维持继续使用。不幸的是,对于开发者来说,电量优化是他们最后才会考虑的的事情…

排序实现题目:排序数组

文章目录 题目标题和出处难度题目描述要求示例数据范围 前言冒泡排序原理示例代码复杂度分析稳定性分析 选择排序原理示例代码复杂度分析稳定性分析 插入排序原理示例代码复杂度分析稳定性分析 希尔排序原理示例代码复杂度分析稳定性分析 归并排序原理示例代码复杂度分析稳定性…

Jackson如何禁止在反序列化字符串为对应java bean时,字符串中的null被反序列成为NullNode

直接说应用场景,json文件中有一个如下配置: [{"name":"John Doe","age":28,"jsonNode":null},{"name":"John1","age":31}] 待反序列化类定义如下所示: @Data static class TestClass {/*** 名字.*…

【C++】详解STL的适配器容器之一:优先级队列 priority_queue

目录 堆算法 概述 向下调整建堆 向上调整建堆 建堆算法 仿函数 概述 使用介绍 emtpy size top push pop 模拟实现 仿函数 框架 向下调整算法 向上调整算法 pop push empty top 要理解优先级队列,需要有如下知识 STL容器之一的vector&#xf…

聚类分析 | 基于GA遗传算法优化kmeans聚类(Matlab)

聚类分析 | 基于GA遗传算法优化kmeans聚类(Matlab) 目录 聚类分析 | 基于GA遗传算法优化kmeans聚类(Matlab)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 GA-kmeans聚类算法,通过GA遗传算法优化kmeans聚类&…

序列化的不同格式:JSON、XML、TOML、CSON、YAML

前言 这篇文章参考于知乎,进行了一些总结。 正文 首先什么是序列化,数据序列化是从一个系统获取一些信息,将其转换为其它系统可以读取的格式,然后将其传递给其它系统的过程。也就是可以让不同系统“通信”。 序列化需要满足两…

JetPack Compose Navigation

1. 导入依赖 implementation("androidx.navigation:navigation-compose:2.7.7") 2.kotlin编译版本升级 composeOptions {kotlinCompilerExtensionVersion "1.5.0"} 3.插件版本升级 // Top-level build file where you can add configuration options c…

学习笔记:IEEE 1003.13-2003【POSIX PSE51接口列表】

一、POSIX PSE51接口列表 根据IEEE 1003.13-2003,整理了POSIX PSE51接口API(一共286个),每个API支持链接查看。 IEEE POSIX接口online搜索链接: The Open Group Base Specifications Issue 7, 2018 edition 详细内…

【python】模块与包

Python中的模块和包是组织和管理代码的重要工具。通过模块和包,你可以更好地管理和重用你的代码,使得代码更加模块化和可维护。 目录 前言 正文 一、模块 1、模块的分类 1)内置模块 python解释器中默认拥有的模块可以直接使用(…

用户需求甄别和筛选的6大标准

产品经理日常经常接收到大量的需求,并不是所有的需求都需要开发,需要进行甄别和筛选,这样有利于确保项目的成功、优化资源利用以及提高产品质量。 那么针对这些用户需求进行甄别或筛选的评判标准是什么?需求筛选可以说是初步的需求…

代码随想录-算法训练营day31【贪心算法01:理论基础、分发饼干、摆动序列、最大子序和】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第八章 贪心算法 part01● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和 贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其…

C++牛客周赛题目分享(2)小红叕战小紫,小红的数组移动,小红的素数合并,小红的子序列求和

目录 ​编辑 1.前言 2.四道题目 1.小红叕战小紫 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思路 2.小红的数组移动 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思路 3.小红的素数合并 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思…

增强For循环执行顺序探究

增强For循环执行顺序探究 增强For循环基础执行顺序探讨对于数组对于集合 经典示例数组示例集合示例(ArrayList) 注意事项结论 在Java编程中,增强型for循环(也称为“foreach”循环)是一种简洁而强大的迭代集合或数组元素…

super

super 一、理解 super.属性:在子类中,调用父类非私有化的成员属性 super.方法:在子类中,调用父类非私有化的成员方法 super():在子类构造方法中调用父类非私有的构造方法 二、案例 需求:编写中国人和日本人…

云原生新手和开源教育分论坛 01-Kubernetes 社区:从新手到影响者

2024年04月20日 上海KCD & Shanghai:https://community.cncf.io/events/details/cncf-kcd-shanghai-presents-kcd-shanghai-2024/视频观看:https://www.bilibili.com/video/BV1nD421T786/?spm_id_from333.999.0.0&vd_sourceae7b192be069682aabc…

【FreeRTOS 快速入门】-- 1、STM32工程移植FreeRTOS

目录 一、新建STM32工程 为了示范完整的移植过程,我们从0开始,新建一个标准的STM32点灯工程。 (本篇以CubeMX作示范,CubeIDE操作近同,可作对比参考) 1、新建工程 选择 芯片型号 新建工程 2、搜索芯片型号…

24年做抖音小店,你还停留在数据?别人都已经开始注重利润了

大家好,我是电商笨笨熊 一件事情持续做,一个项目持续深耕,意义到底是什么? 这句话我常常说,但很多人似乎走偏了实际意义; 尤其对于新手来说,做抖音小店总是向往某某老玩家多么牛的数据&#…

程序员健康指南:运动,让代码更流畅

程序员健康指南:运动,让代码更流畅 程序员,一个与电脑相伴的群体,长时间的久坐和高强度的脑力劳动是他们的日常。然而,久坐不仅影响体态,更对心脏健康构成威胁。根据《欧洲心脏杂志》的研究,中…

第十三节 huggingface的trainner解读与Demo

文章目录 前言一、trainer和TrainingArguments训练与预测完整Demo1、数据构建2、TrainingArguments构建3、Trainer初始化4、模型训练5、模型推理6、完整demo代码7、完整运行结果二、辅助函数1、yield返回内容2、迭代器中断恢复迭代demo3、yield from结构4、torch.Generator()的…