EleAtt-RNN: Adding Attentiveness to Neurons in Recurrent Neural Networks

2023-10-27

EleAtt-RNN: Adding Attentiveness to Neurons in Recurrent Neural Networks

EleAtt-RNN: 在循环神经网络的神经元当中加入注意力

1.创新点

现在研究者研究RNN,把注意力集中在现在和之前的输入对输出的贡献上,这篇文章(为了简单,下称本文,并不是说这篇文章是我写的,我只是在做阅读这篇文章的笔记)研究了在一个输入向量中,哪些元素的重要性比较大的问题。在一个RNN块(RNN神经元,可以是传统RNN、LSTM、GRU等多种RNN结构)中加入Element-wise-Attention Gate (EleAttG),使得RNN的单个神经元可以具有类似注意力机制的能力。

2.研究领域目前存在的问题以及已有的解决方法

2.1Standard RNN 具有梯度消失的问题,导致网络很难学习长距离的依赖关系,研究者在Standard RNN的神经元中加入门结构和线性记忆单元,例如LSTM GRU 来控制数据流动,在一定程度上解决了梯度消失的问题。Hochreiter提出了LSTM网络,LSTM网络在传统RNN神经元中添加了记忆单元,只允许有限误差流动,并且提出了几种其他的门结构来控制误差流动,Gers在之前的LSTM网络中提出了忘记门结构控制由前一个神经元传递到当前神经元的误差。以及peephole LSTM 网络结构 还有GRU网络

2.2梯度消失问题另一种解决方式是残差连接(Residual connection)。Campos提出skip rnn,通过残差连接,在训练和测试过程中跳过一些状态的更新,这使得计算图变小。

2.3针对注意力机制,目前研究者们所设计的注意力大部分是针对一组特征向量而言的,是在神经网络的层结构层面,但是本文所设计的注意力是直接针对输入向量中的每一个元素,是在神经元层面。

2.4还有一些研究者们针对特定的问题设计了特定的网络结构,但是这些网络结构泛化能力差,只针对所研究的问题有效,但是本文设计的网络结构是直接在神经元中加入了元素注意力门EleAttG,可以应用在像标准RNN,LSTM,GRU等所有RNN结构的神经元中。

3.本文提出的解决此问题的方法

4.设计的网络结构以及原理

首先回顾标准RNN和LSTM以及GRU网络的原理

标准RNN:

LSTM:

其中it是输入门,ft表示输出门,ct表示神经元的输出,ot表示输出门。

GRU:

其中rt表示重置门,zt是更新门,表示上一个隐藏层的信息h(t-1)有多少可以影响当前层的ht。

本文提出的EleAttG结构单元:

a_t表示本文提出的元素注意力门Element-wise-Attention Gate (EleAttG),它作用于当前输入的每一个元素,产生新的输入,新的输入将代替原始输入,作为网络的输入进行后面的迭代计算。

例如将EleAttG加入到GRU单元的神经元迭代表达式为:

 

 

受到门结构和注意力机制的启发,本文提出了Element-wise-Attention Gate (EleAttG)使得每个RNN的神经元都具有注意力的能力,对于门结构,门单元只是产生一个标量,对输入向量中的每一个元素的作用大小都是一样的,而EleAttG单元可以产生一个和输入向量维度相同的注意力向量,来决定输入向量中每个元素的重要性。

a图显示了将EleAttG单元应用到标准RNN中,而b图显示了将EleAttG应用到GRU单元中

5.本文方法的不足

6.以后的工作方向

7.实验设计

8.是否用了网上数据集,用了什么数据集

 3D skeleton-based action recognition: NTU RGB + D dataset (NTU)      Northwestern-UCLA dataset (N-UCLA)      SYSU Human-Object Interaction dataset (SYSU)    JHMDB

 For gesture recognition: Dynamic Hand Gesture 14/28 (DHG) dataset

 sequential MNIST classification  MNIST handwritten digits benchmark dataset

9.自己关于这篇文章的想法以及存在的问题

9.1在R ELATED W ORK阶段,介绍了rnn存在的梯度消失的问题,并给出了现有的解决方式。然后引出了自己设计的网络结构,但是自己设计的网络结构并不能解决梯度消失问题,感觉有点牵强。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EleAtt-RNN: Adding Attentiveness to Neurons in Recurrent Neural Networks 的相关文章

随机推荐

  • elementui 自定义loading动画加载层

    elementui 自定义loading动画加载层 main js中添加 import Loading from element ui 自定义加载层 Vue prototype openLoading function wer const
  • YOLOV8-网络结构

    代码下载链接 https download csdn net download weixin 40723264 88011324 一 整体网络 本文结合YOLOv5网络进行讲解 通过与YOLOv5网络进行比较 进一步理解YOLOv8 尽快上
  • Go语言学习笔记——jwt跨域鉴权

    文章目录 Golang jwt跨域鉴权 jwt介绍 JWT 到底是什么 JWT 和 OAuth 选择签名方法 签名方法和密钥类型 安装jwt 简单使用 生成JWT 解析jwt 测试 生成token并解析token jwt在项目中的使用 第一
  • Java学习 时间类 Period类与Duration类 / LocalDate类与Instant类 用法详解

    Java学习 时间类 Period类与Duration类 LocalDate类与Instant类 用法详解 前言 java 8 中引入的两个与日期相关的新类 Period 和 Duration 两个类看表示时间量或两个日期之间的差 两者之间
  • 交易日均千万订单的存储架构设计与实践

    一 订单系统概述 1 1 业务范围 服务业务线 快递 快运 中小件 大件 冷链 国际 B2B合同物流 CLPS 京喜 三入三出 采购入 退货入 调拨入 销售出 退供出 调拨出 等 1 2 订单中心价值 1 解耦 提升系统稳定性 原系统 交易
  • ERP现状及未来发展趋势分析?

    经过多年发展 ERP作为最重要的管理软件为国内外各类型企业所普遍接受 在我国 ERP行业已经进入成熟期 随着云计算 物联网等技术的推进 国内外竞争环境日益加剧 后ERP时代 表现出以下发展趋势 第一 商业智能化建设加强 经过多年运用 ERP
  • Linux下psql的使用(一):安装、建库、建表、数据载入、删除

    Linux下psql的使用 一 安装 建库 建表 数据载入 删除 一 Install PostgreSQL Database 安装Postgresql sudo apt get install postgresql 登录PostgreSQL
  • Java-类中代码块的使用

    Java 类中代码块的使用 1 概念 代码块 初始化块 代码块用来初始化类和对象 代码块如果有修饰的话 只能使用static 静态代码块和非静态代码块的区别 静态 内部可以有输出语句 随着类的加载而运行 初始化类的属性 一个类中定义了多个静
  • Java编程思想之《一切都是对象》理解

    前言 Java编程思想 中提到 Java是基于C 的 但相比之下 Java是一种 纯粹 的面向对象的程序设计语言 Java中不再使用指针来操作内存中的元素 而是采用对象的 引用 这个引用是作者提出的一种为了简化概念上的理解和C 语言的引用有
  • android 检查fragment是否已绑定到activity

    if isAdded 确定fragment是否绑定到Activity mPhotoRecyclerView adapter PhotoAdpter mItems
  • Linux初步入门学习 1

    一基础入门 command options partment1 partment2 命令 选项 参数1 参数2 cd 返回上一级目录 cd Desktop 进入桌面目录 cd usr bin 进入一般目录 ls 列出所有文件 lp line
  • 蓝桥杯大写变小写C语言,小写数字转化为大写数字(小米OJ题与蓝桥杯题)

    import java util public class Main public static void main String args Scanner scan new Scanner System in String str Str
  • Git本地仓库文件的创建、修改和删除

    目录 基本信息设置 1 设置用户名 2 设置用户名邮箱 Git仓库操作介绍 1 创建一个新的文件夹 2 在文件内初始化git仓库 创建git仓库 3 向仓库中添加文件 1 创建一个文件 2 将文件添加到暂存区 3 将暂存区添加到仓库 4 修
  • JavaScript贪心算法

    贪心算法 贪心算法有 霍夫曼编码 prim和kruskal最小生成树算法 Dijkstra最短路径算法 什么是贪心算法 1 针对一组数据 问题有限制值和期望值 希望从中选出几个数据 在满足限制值的情况下 期望值最大 2 每次选择当前情况下
  • UVA1601 The Morning after Halloween

    UVA1601 The Morning after Halloween 题目链接 做这道题的时候看到一个写的很好的代码 在这里保存下来 以便以后学习 题目分析 这道题和普通的bfs有所不同 解题方法也有些差别 主要是这里有三个移动的 小鬼
  • ant打包提示找不到文件解决办法

    运行ant打包时如果出现提示找不到tools目录下某些jar或者bat文件的错误 是因为新版android sdk目录结构产生了变化 原本在sdk tools目录下的文件被转移到sdk build tools 各个版本号文件夹中 需要复制里
  • matlab将数据输出到excel中,matlab数据输出为excel表格-如何把matlab中的数据导到excel表格中...

    如何将matlab工作空间的数据导出到excel 1 很简单的用xlswrite函数就可以了 首先打开matlab 输入你的代码 2 找到你要存放文件的位置复制绝对路径 致谢文件名的话就会存放在当前目录中 如图以f盘根目录为例 3 然后写x
  • 微信小程序集成和使用mqtt(同时支持uniapp和原生)

    前言 在集成mqtt到小程序的开发过程中 确实走了不少弯路 下了许许多多的示例 一步步踩坑到现在终于完美解决了小程序引入mqtt的方法 该方法原生和uniapp均适用 1 小程序网页配置 先登录微信公众平台 找到开发 开发管理 开发设置页面
  • 记录--MMDeploy安装、python API测试及C++推理

    目录 1 前言 2 MMDeploy安装 2 1 下载代码仓库 2 2 安装构建和编译工具链 2 3 创建Conda虚拟环境 2 4 安装MMDeploy SDK依赖 2 5 安装推理引擎 2 6 设置PATH 2 7 编译安装依赖库 3
  • EleAtt-RNN: Adding Attentiveness to Neurons in Recurrent Neural Networks

    EleAtt RNN Adding Attentiveness to Neurons in Recurrent Neural Networks EleAtt RNN 在循环神经网络的神经元当中加入注意力 1 创新点 现在研究者研究RNN 把