2016 - 2024

感恩一路有你

什么是梯度消失和梯度爆炸 深度学习中的梯度消失和梯度爆炸是什么?有哪些方法可以解决?

浏览量:2755 时间:2021-03-12 19:48:28 作者:admin

深度学习中的梯度消失和梯度爆炸是什么?有哪些方法可以解决?

梯度消失的根源-深层神经网络和反向传播。目前,神经网络的优化方法都是基于bp算法的思想,即根据损失函数计算的误差,采用梯度bp算法来指导深度网络权值的更新和优化。

梯度消失和梯度爆炸。在两种情况下,梯度消失经常发生,一种是在深网络中,另一种是使用不适当的损失函数,如sigmoid。梯度爆炸通常发生在深度网络初始值和权重过大时。神经网络的反向传播是将函数的偏导数逐层相乘。因此,当神经网络的层很深时,最后一层的偏差会因为乘以许多小于1的偏导数而变得越来越小,最后趋于0,导致浅层的权值不更新,即梯度消失。由于梯度爆炸的初始权值过大,前一层的变化比后一层快,导致权值增加和溢出,导致Nan值的产生。

使用sigmoid激活函数时,梯度消失问题更常见,而梯度爆炸问题只发生在非常窄的范围内。

解决梯度消失问题的方法:添加BN层、使用不同的激活函数(relu)、使用剩余结构、使用LSTM网络结构等

解决梯度爆炸问题的方法:添加BN层、使用不同的激活函数、梯度剪切(限制梯度范围),权重正则化,使用LSTM网络,重新设计网络模型(减少层,学习)率,批量大小)

欢迎讨论

人脑是怎么防止梯度消失和梯度爆炸的?

大脑中有近900亿个神经元。如此庞大的网络如何防止梯度消失和梯度爆炸?我认为,因为大脑不能一次激活所有的神经元,所以它把结果储存在远离大脑的地方。

人脑是如何工作的?

你给大脑一个图像,同时激活整个大脑吗?显然不是。大脑被分割了。然而,在遥远的地方存储信息只是人脑算法的一小部分,这与动物和人类惊人的识别能力无关。我认为更多的是关于短期记忆的储存(在它变成长期记忆之前)。

现在人们普遍认为人脑没有DNN这样的梯度返回机制。。。对生物学稍有了解就会发现神经元的传递是单向的。但是我们能有两个神经元,一个前馈一个反馈吗?目前的研究还没有发现。。。一般认为这一环节是一个循环结构(RNN)。其次,新生动物的比率可能不需要学习掌握很多基本的信息处理能力。例如,牛、羊和马生来就是要走路的。结果表明,它们的基因是预先编程的,具有一些基本的能力,如行走、运动和视觉,这是我们通过反向传播训练模型实现的。人类出生的原因看不清楚。现有的解释是,人类在出生时并没有完全发育,否则婴儿的头太大,无法顺利分娩。然而,大脑中肯定有一种机制来返回错误并改变突触重量。

从RNN到LSTM,性能良好的神经网络到底是如何工作的?

RNN(递归神经网络)顾名思义,就是把以前的输出(隐藏状态)作为输入,形成一个循环。

(RNN扩展,图像源:colah.github.io文件)

上面的展开图清楚地显示了RNN的结构。不难发现RNN的结构与序列化数据是一致的。实际上,RNN实际上主要用于处理序列化数据。

基本上,不使用原始RNN,而是使用RNN的变体。

渐变裁剪可以缓解渐变爆炸,而RNN变体(如主流LSTM和Gru)可以缓解渐变消失。

(一般是sigmoid层)建模输入、输出和遗忘。

(图片来源:中新网/@左上角的蓝色是输入门,右上角的绿色是输出门,底部的红色是遗忘门。

什么是梯度消失和梯度爆炸 sigmoid函数详解 梯度爆炸和梯度消失的原因

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。