为什么sigmoid会造成梯度消失?

为什么sigmoid会造成梯度消失?这里仅仅做一些数学上的简单分析 首先看 sigmoid 的公式 它的导数 的图像如下 也就是说任何输入都会被缩放到 0 到 1 如果隐层的所有 layer 都使用 sigmoid 除了第一层的输入 最后一层的输出 其他层的输入输出都是 0 到 1 看看的完整图像 z 大概在 5 到 5 之间 才有值 而除第一层隐层的输入都在 0 到 1 之间 所以的图像如下 最终取值大概 0 2 到 0 25 之间 下

这里仅仅做一些数学上的简单分析,首先看sigmoid的公式:

sigmoid= \sigma(z) = \frac{1}{1+e^{-z}}

它的导数:

\sigma(z)' = \frac{e^{-z}}{(1+e^{-z})^2}=\sigma (z)*(1-\sigma(z))

\sigma(z)的图像如下:

为什么sigmoid会造成梯度消失?

也就是说任何输入都会被缩放到0到1,如果隐层的所有layer都使用sigmoid,除了第一层的输入,最后一层的输出,其他层的输入输出都是0到1,看看\sigma(z)'的完整图像:

为什么sigmoid会造成梯度消失?

z大概在-5到5之间,\sigma(z)'才有值,而除第一层隐层的输入都在0到1之间,所以\sigma(z)'的图像如下:

为什么sigmoid会造成梯度消失?

\sigma(z)'最终取值大概0.2到0.25之间,下面以一个简单的神经原结构举例:

为什么sigmoid会造成梯度消失?

\frac{\partial L}{\partial z} = \sigma '(z)(w1 \frac{\partial L}{\partial z'}+w2 \frac{\partial L}{\partial z''})

\frac{\partial L}{\partial w} = \frac{\partial L}{\partial z} \frac{\partial z}{\partial w}=a\frac{\partial L}{\partial z}

由于\sigma(z)'会把\frac{\partial L}{\partial z}缩小4至5倍,而这个\frac{\partial L}{\partial z}又会影响前一层的\frac{\partial L}{\partial z},反向下去,每一层的\frac{\partial L}{\partial z}在不断被缩小,深度越深这种连锁反应越明显,越靠近输入层越小,\frac{\partial L}{\partial w}中a又是0到1之间的梯度再次被整体缩小,这里主要考虑了\sigma '(z)以及\frac{\partial L}{\partial z}的传递性以及输入a带来的影响,我认为权重w只会对局部的\frac{\partial L}{\partial z}带来影响,而\sigma(z)'带来的这种连续缩小的影响将传递到计算前层的\frac{\partial L}{\partial z}中。

梯度消失带来的影响,靠近输入层的参数几乎不能被更新,靠近输入层的layer预测结果不准确,产生对整个后面的影响,最后无法训练。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230063.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午3:12
下一篇 2026年3月16日 下午3:13


相关推荐

  • 安卓ExpandableListView的详细使用教程(附代码解析过程)[通俗易懂]

    安卓ExpandableListView的详细使用教程(附代码解析过程)[通俗易懂]ExpandableListView又称可扩展的ListView,它可以实现点击父项展开子项的效果,本文实现了一个比较精美的ExpandableListView。

    2022年6月30日
    22
  • DML语句(delete,insert,update)

    DML语句(delete,insert,update)DML DataManipula 数据操作语言 insert 将记录插入到数据库 update 修改数据库的记录 delete 删除数据库的记录 commit 提交数据 savepoint 设置回滚点 rollback 回滚执行 DML 命令如果没有提交 将不会被其他会话看到 除非在 DML 命令之后执行了 DDL 命令或 DCL 命令 或用户退出会话 或终止实例 此时系统会自动发出 commit 命令 使未交的 DML 命令提 DQL select 查询语句 DML 数据操作语言 DDL 数据定义语言 DCL

    2026年3月26日
    3
  • 在Repeater中嵌套使用Repeater

    在Repeater中嵌套使用Repeater在一般的网站中浏览类别的用户控件通常都位于大多数ASP.NET页的左边,它使用户能够按类别快速的查找产品。最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加

    2022年7月1日
    23
  • 机器学习总结(一):线性回归、岭回归、Lasso回归

    机器学习总结(一):线性回归、岭回归、Lasso回归线性回归作为一种回归分析技术,其分析的因变量属于连续型变量,如果因变量转变为离散型变量,将转换为分类问题。回归分析属于有监督学习问题,本博客将重点回顾标准线性回归知识点,并就线性回归中可能出现的问题进行简单探讨,引出线性回归的两个变种岭回归以及Lasso回归,最后通过sklearn库模拟整个回归过程。目录结构线性回归的一般形式线性回归中可能遇到的问题过拟合问题及其解决方法线性回归代码实现

    2022年6月12日
    65
  • Vue富文本_ueditor编辑器

    Vue富文本_ueditor编辑器富文本编辑器wangEditor百度UEditorbootstrap-wysiwygckeditorckeditorKindeditorTinymcevue-quill-editor很多项目中都需要用到富文本编辑器,目前也有很多种类的富文本编辑器。我就查了一下资料,了解了一些目前常用的富文本编辑器wangEditorhttp://www.wangeditor.com/index.html国产,基于javascript和css开发的web富文本编辑器,开源免费,上传图片可以控制尺寸。重点在于它轻量,

    2022年10月14日
    5
  • 动态规划——0/1背包问题(全网最细+图文解析)「建议收藏」

    动态规划——0/1背包问题(全网最细+图文解析)「建议收藏」01背包你真的掌握了吗?进来带你10分钟秒杀

    2022年7月26日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号