• 解释残差结构的有效性


    声明:文章目的只是方便自己之后回顾,无意侵权,若有不合适请留言,会尽快删除。

    1. 举例讲解残差单元为什么有效。

    来自知乎链接 :【模型解读】resnet中的残差连接,你确定真的看懂了?

    首先大家已经形成了一个通识,在一定程度上,网络越深表达能力越强,性能越好。
    不过,好是好了,随着网络深度的增加,带来了许多问题,梯度消散,梯度爆炸;在resnet出来之前大家没想办法去解决吗?当然不是。更好的优化方法,更好的初始化策略,BN层,Relu等各种激活函数,都被用过了,但是仍然不够,改善问题的能力有限,直到残差连接被广泛使用。

    在反向传播过程中,一旦其中某一个导数很小,多次连乘后梯度可能越来越小,这就是常说的梯度消散,对于深层网络,传到浅层几乎就没了。但是如果使用了残差,每一个导数就加上了一个恒等项1,dh/dx=d(f+x)/dx=1+df/dx。此时就算原来的导数df/dx很小,这时候误差仍然能够有效的反向传播,这就是核心思想。

    我们举个例子直观理解一下:
    假如有一个网络,输入x=1,非残差网络为G,残差网络为H,其中H=F(x)+x

    有这样的一个输入输出关系:

    在t时刻:

    非残差网络G(1)=1.1,

    残差网络H(1)=1.1, H(1)=F(1)+1, F(1)=0.1

    在t+1时刻:

    非残差网络G’(1)=1.2,

    残差网络H’(1)=1.2, H’(1)=F’(1)+1, F’(1)=0.2

    这时候我们看看:

    非残差网络G的梯度 = (1.2-1.1)/1.1

    而残差网络F的梯度 = (0.2-0.1)/0.1

    因为两者各自是对G的参数和F的参数进行更新,可以看出这一点变化对F的影响远远大于G,说明引入残差后的映射对输出的变化更敏感,输出是什么?不就是反应了与真值的误差吗?

    所以,这么一想想,残差就应该是有效的,各方实验结果也证明了。

    2. 解释了什么叫做神经网络的退化

    知乎链接 :残差网络解决了什么,为什么有效?

    神经网络的退化:在神经网络可以收敛的前提下,随着网络深度增加,网络的表现先是逐渐增加至饱和,然后迅速下降

  • 相关阅读:
    数据仓库中的几种数据模型
    数据仓库为什么要分层
    数据仓库的两种建模方法
    数据仓库之架构发展
    数据仓库是什么
    ETL 自动化测试框架
    大数据测试之ETL测试工具和面试常见的问题及答案
    Hadoop面试链接
    Hadoop 面试总结
    Spark 基本架构及原理
  • 原文地址:https://www.cnblogs.com/lyj0123/p/14462292.html
Copyright © 2020-2023  润新知