Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >批次归一化能代替RNN中的tanh吗?

批次归一化能代替RNN中的tanh吗?
EN

Data Science用户
提问于 2021-04-04 17:01:03
回答 1查看 163关注 0票数 1

问题

批归一化(BN)能在xt@Wxh后和ht1@Whh后插入RNN中去除f=tanh和偏置bh吗?如果可能的话,这会消除爆炸和消失的梯度问题吗?

笔者认为,tanh[-inf, +inf]值调整为(-1, 1)值的效果可以被BN的标准化所取代,使xt@Wxhht1@Whh的偏差不再存在。

tanh的自动差别化也可以用BN来代替。

背景

据说它解决了RNN中的爆炸梯度问题,因此它正在被使用。

考虑到重复的反向传播机制,递归神经网络的一个问题是潜在的爆炸梯度.在加法算子之后,c(t)的绝对值可能大于1。通过一个tanh算子可以保证该值再次在-1到1之间进行缩放,从而增加了在多个时间步长的反向传播过程中的稳定性。

消失梯度问题是RNN中的主要问题。此外,为了保持激活函数的线性区域的梯度,我们需要一个二阶导数在达到零之前能维持很长时间的函数。Tanh对这些特性很在行。

批归一化可以同时解决爆炸和消失梯度问题。

求解消失梯度问题。虽然内部协变量偏移可能不能提高精度,但它在一定程度上涉及到消失梯度问题。当输入的分布发生变化时,由于激活函数(例如,sigmoid,将微小值设为±2.5,或ReLU,它将任何x<0设置为0),它将容易发生本质上较小的梯度更新。批归一化有助于确保在反向传播过程中,通过将分布从网络的末端转移到网络的开始,可以听到信号,而不是减少信号。求解爆炸梯度问题。当批量归一化平滑优化景观时,它消除了累积的极端梯度,从而消除了梯度积累导致的主要权重波动。这极大地稳定了学习。

Research

有几篇文章和文章指出这是可能的,但却找不到一个简单的实现图或代码示例。

对于RNN来说,这意味着计算小批处理和时间/步骤维度上的相关统计数据,因此规范化只适用于向量深度。这也意味着您只批量标准化转换后的输入(因此在垂直方向,例如BN(W_x * x)),因为横向(跨时间)连接是时间依赖的,不应该只是简单地平均化。

我们提出了一种LSTM的重参数化方法,它给递归神经网络带来了批量归一化的好处。鉴于以往的工作仅将批归一化应用于RNN的输入到隐藏的转换,我们证明了批量规范化隐隐转换是可能的,也是有益的,从而减少了时间步长之间的内部协变量转移。虽然批处理标准化在前馈网络中显示了显着的培训速度和泛化效益,但事实证明在递归架构中难以应用(Laurent等人,2016;Amodei等人,2015年)。它发现在堆叠的RNN中使用有限,其中规范化是“垂直”的,即每个RNN的输入,而不是时间步骤之间的“水平”。RNN在时间方向上更深,因此,当水平应用时,批处理规范化将是最有益的。然而,Laurent等人。(2016)假设以这种方式应用批量归一化会影响训练,因为重复重新标度会导致梯度的爆炸。我们的发现与这一假设背道而驰。我们证明,在递归模型隐-隐转换中应用批归一化是可能的,也是非常有益的。

EN

回答 1

Data Science用户

发布于 2022-12-13 11:25:51

垂直BN是可以的,但水平后隐藏的状态向量,我们需要层规范化,而不是tanh,这是我今天将要尝试的。然后我猜隐藏状态是0,2辍学。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/92556

复制
相关文章
Transformer 能代替图神经网络吗?
当Transformer模型发布时,它彻底革新了机器翻译领域。虽然最初是为特定任务设计的,但这种革命性的架构显示出它可以轻松适应不同的任务。随后成为了Transformer一个标准,甚至用于它最初设计之外的数据(如图像和其他序列数据)。
deephub
2024/07/01
2130
Transformer 能代替图神经网络吗?
Adam、RNN、归一化、Dropout
主要思想:将整个序列划分成多个时间步,将每个时间步的信息依次输入模型,同时将模型输出的结果传给下一个时间步 公式:
孟船长
2024/04/30
1390
Adam、RNN、归一化、Dropout
tanh函数求导激活函数_tanh()函数以及C ++中的示例
tanh() function is a library function of cmath header, it is used to find the hyperbolic tangent of the given value (hyperbolic angle), it accepts a number (x) and returns the hyperbolic tangent of x.
用户7886150
2021/02/12
1.1K0
神经网络中的激活函数-tanh
如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。
用户1332428
2018/07/30
7860
神经网络中的激活函数-tanh
《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第15章 使用RNN和CNN处理序列
第10章 使用Keras搭建人工神经网络 第11章 训练深度神经网络 第12章 使用TensorFlow自定义模型并训练 第13章 使用TensorFlow加载和预处理数据 第14章 使用卷积神经网络实现深度计算机视觉 第15章 使用RNN和CNN处理序列 [第16章 使用RNN和注意力机制进行自然语言处理] [第17章 使用自编码器和GAN做表征学习和生成式学习] [第18章 强化学习] [第19章 规模化训练和部署TensorFlow模型]
SeanCheney
2019/12/23
1.5K0
Istio 可以代替 Spring Cloud 吗?
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/06/07
9050
Istio 可以代替 Spring Cloud 吗?
fast.ai 深度学习笔记(三)
ruder.io](http://ruder.io/deep-learning-optimization-2017/index.html?source=post_page-----de70d626976c--------------------------------)
ApacheCN_飞龙
2024/02/11
5210
设计神经网络的普及与设计方法
很多初学者都会有这样的疑问,训练神经网络到底是什么?怎么进行设计?即使对于已经入门的人,在设计神经网络时也会有很多疑问,例如:什么是良好的学习率?应具有多少个隐藏层?dropout真的有用吗?为什么梯度消失了?
代码医生工作室
2019/11/12
1.4K0
神经网络中的激活函数-tanh为什么要引入激活函数tanh的绘制公式特点图像python绘制tanh函数相关资料
为什么要引入激活函数 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。 正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入(以及一些人的生物解释balabal
致Great
2018/06/19
2.3K0
【NLP/AI算法面试必备】学习NLP/AI,必须深入理解“神经网络及其优化问题”
一、神经网络基础和前馈神经网络 1、神经网络中的激活函数:对比ReLU与Sigmoid、Tanh的优缺点?ReLU有哪些变种? 2、神经网络结构哪几种?各自都有什么特点? 3、前馈神经网络叫做多层感知机是否合适? 4、前馈神经网络怎么划分层? 5、如何理解通用近似定理? 6、怎么理解前馈神经网络中的反向传播?具体计算流程是怎样的? 7、卷积神经网络哪些部分构成?各部分作用分别是什么? 8、在深度学习中,网络层数增多会伴随哪些问题,怎么解决?为什么要采取残差网络ResNet? 二、循环神经网络 1、什么是循环神经网络?循环神经网络的基本结构是怎样的? 2、循环神经网络RNN常见的几种设计模式是怎样的? 3、循环神经网络RNN怎样进行参数学习? 4、循环神经网络RNN长期依赖问题产生的原因是怎样的? 5、RNN中为什么要采用tanh而不是ReLu作为激活函数?为什么普通的前馈网络或 CNN 中采取ReLU不会出现问题? 6、循环神经网络RNN怎么解决长期依赖问题?LSTM的结构是怎样的? 7、怎么理解“长短时记忆单元”?RNN中的隐状态
AI研习社
2019/09/04
1.2K0
【NLP/AI算法面试必备】学习NLP/AI,必须深入理解“神经网络及其优化问题”
两个表达量矩阵去除批次效应之前是否需要归一化
我们之所以要对两个表达量矩阵做去除批次效应的处理,就是因为两个表达量矩阵的取值范围就不一样,而且每个矩阵内部的每个样品或者每个基因的分布范围也不一样,做去除批次效应的处理就是为了抹去两个矩阵的系统性差异。
生信技能树
2024/05/30
5000
两个表达量矩阵去除批次效应之前是否需要归一化
lstm是rnn中的一种吗_经验公式是什么
好久没用正儿八经地写博客了,csdn居然也有了markdown的编辑器了,最近花了不少时间看RNN以及LSTM的论文,在组内『夜校』分享过了,再在这里总结一下发出来吧,按照我讲解的思路,理解RNN以及LSTM的算法流程并推导一遍应该是没有问题的。
全栈程序员站长
2022/09/27
6180
lstm是rnn中的一种吗_经验公式是什么
你能发现这段 Python 代码中的 bug 吗?
原文链接:https://dwrodri.gitlab.io/can-you-spot-the-bug-in-this-python-code/
腾讯云 CODING
2023/08/18
1950
你能发现这段 Python 代码中的 bug 吗?
你能发现这段 Python 代码中的 bug 吗?
原文链接:https://dwrodri.gitlab.io/can-you-spot-the-bug-in-this-python-code/
腾讯云 CODING
2023/08/17
2640
你能发现这段 Python 代码中的 bug 吗?
Flink State 可以代替数据库吗?
有状态的计算作为容错以及数据一致性的保证,是当今实时计算必不可少的特性之一,流行的实时计算引擎包括 Google Dataflow、Flink、Spark (Structure) Streaming、Kafka Streams 都分别提供对内置 State 的支持。State 的引入使得实时应用可以不依赖外部数据库来存储元数据及中间数据,部分情况下甚至可以直接用 State 存储结果数据,这让业界不禁思考: State 和 Database 是何种关系?有没有可能用 State 来代替数据库呢?
大数据技术架构
2019/11/28
2.2K0
何恺明、LeCun领衔,用“动态Tanh”重塑AI底层设计,Transformer架构迎颠覆性革新!
在AI模型动辄千亿参数的今天,归一化层(Normalization) 曾被视为神经网络不可撼动的“定海神针”——它像数据调音师,将每层输出的数值调整到合理范围,防止模型训练崩溃。然而,Meta AI华人科学家刘壮团队联合何恺明、Yann LeCun等大牛,用一篇CVPR 2025论文彻底打破这一铁律:只需一个复古的tanh函数,就能替代所有归一化层!更令人惊叹的是,新方法Dynamic Tanh(DyT) 不仅性能更强,训练速度还提升30%,代码仅需9行即可实现。
AI浩
2025/04/02
1360
何恺明、LeCun领衔,用“动态Tanh”重塑AI底层设计,Transformer架构迎颠覆性革新!
神经网络中的归一化
神经网络的学习其实在学习数据的分布,随着网络的深度增加、网络复杂度增加,一般流经网络的数据都是一个 mini batch,每个 mini batch 之间的数据分布变化非常剧烈,这就使得网络参数频繁的进行大的调整以适应流经网络的不同分布的数据,给模型训练带来非常大的不稳定性,使得模型难以收敛。
@小森
2024/05/07
1560
神经网络中的归一化
你有哪些deep learning(rnn、cnn)调参的经验?
深度学习中调参其实是一个比较重要的技巧,但很多时候都需要多尝试多积累经验,因此算法工程师也被调侃为调参工程师。
kbsc13
2019/08/28
6960
CampusBuilder场景中obj模型能批量删除吗?
在CampusBuilder搭建的场景中,如果引入obj模型不当(比如尺寸巨大等)会引起场景异常。此时,异常的模型可能都无法选中进行删除或参数设置操作,编辑陷入无法后续的窘境。
要不要吃火锅
2019/11/13
1K0
CampusBuilder场景中obj模型能批量删除吗?
理解神经网络:从神经元到RNN、CNN、深度学习
神经网络是目前最流行的机器学习算法之一。随着时间的推移,证明了神经网络在精度和速度方面,比其他的算法性能更好。并且形成了很多种类,像CNN(卷积神经网络),RNN,自编码,深度学习等等。神经网络对于数据科学和或者机器学习从业者,就像线性回归对于统计学家一样。因此,对神经网络是什么有一个基本的理解是有必要的,比如,它是怎么构成的,它能处理问题的范围以及它的局限性是什么。这篇文章尝试去介绍神经网络,从一个最基础的构件,即一个神经元,深入到它的各种流行的种类,像CNN,RNN等。
AI研习社
2019/05/08
7630
理解神经网络:从神经元到RNN、CNN、深度学习

相似问题

非归一化对数概率- RNN

20

我能创建一个具有多个rnn单元的图层吗?[关于论文的问题]

20

图像CNN的批量归一化-为什么不使用整个批次的平均值?

10

RNN能用于特征提取吗?

10

火枪中的批次CrossEntropyLoss

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档