博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【深度学习笔记】残差
阅读量:2134 次
发布时间:2019-04-30

本文共 849 字,大约阅读时间需要 2 分钟。

结构

在这里插入图片描述

  • 残差学习是用来学习恒等映射的残差的。(Residual learning is proposed to learn residual of identity mapping——cited from Residual attention network for image classification.)
  • ResNet block有两种,一种两层结构,一种三层结构
    在这里插入图片描述
  • 我们需要求解的是映射:H(x)。
  • 残差结构将这个问题转换为求解网络的残差映射函数,也就是F(x),其中F(x) = H(x)-x。
残差:观测值与估计值之间的差。这里 H(x) 就是观测值,x 就是估计值(也就是上一层ResNet输出的特征映射)。我们一般称x为identity Function,它是一个跳跃连接;称F(x)为ResNet Function。
  • 从而,问题转换成了 H(x) = F(x)+x。

原因与分析

  • 如果是采用一般的卷积神经网络(没有跳跃连接),原先需要求解的是 H(x) = F(x) 。
  • 那么假设在网络达到某一个深度时,网络已经达到最优状态了,也就是说,此时的错误率是最低的时候,再往下加深网络就会出现退化问题(错误率上升的问题)。此时要更新下一层网络的权值 / 权重就会变得很麻烦,权值 / 权重 应该是一个让下一层网络同样也是最优状态才行。
  • 但是采用残差网络就能很好的解决退化问题。
  • 假设当前网络的深度能够使得错误率最低,如果继续增加上图的 ResNet 结构,为了保证下一层的网络状态仍然是最优状态,我们只需要令 F(x)=0 即可!因为 x 是当前输出的最优解,为了让它成为下一层的最优解也就是希望咱们的输出H(x)=x的话,是不是只要让F(x)=0就行了?
  • 当然上面提到的只是理想情况,在真实测试的时候 x 一般是难以达到最优的,但是总会有那么一个时刻它能够无限接近最优解。采用ResNet 的话,也只需要小小的更新F(x)部分的权重值即可!不用像一般的卷积层一样大动干戈(大幅度更新)!

转载地址:http://nbugf.baihongyu.com/

你可能感兴趣的文章
微信小程序-调用-腾讯视频-解决方案
查看>>
phpStudy安装yaf扩展
查看>>
密码 加密 加盐 常用操作记录
查看>>
TP 分页后,调用指定页。
查看>>
Oracle数据库中的(+)连接
查看>>
java-oracle中几十个实用的PL/SQL
查看>>
PLSQL常用方法汇总
查看>>
几个基本的 Sql Plus 命令 和 例子
查看>>
PLSQL单行函数和组函数详解
查看>>
Oracle PL/SQL语言初级教程之异常处理
查看>>
Oracle PL/SQL语言初级教程之游标
查看>>
Oracle PL/SQL语言初级教程之操作和控制语言
查看>>
Oracle PL/SQL语言初级教程之过程和函数
查看>>
Oracle PL/SQL语言初级教程之表和视图
查看>>
Oracle PL/SQL语言初级教程之完整性约束
查看>>
PL/SQL学习笔记
查看>>
如何分析SQL语句
查看>>
结构化查询语言(SQL)原理
查看>>
SQL教程之嵌套SELECT语句
查看>>
几个简单的SQL例子
查看>>