【动手学深度学习】7.6. 残差网络(ResNet)(个人向笔记)

devtools/2024/10/23 21:56:12/

1. ResNet精读论文视频的Introduction部分

  • 深度卷积神经网络好,好在可以叠加很多层,每一层都可以提取不一样的特征
  • 但是网络特别深的时候,梯度要么爆炸要么消失,我们能做的就是将参数随机初始化做好,或者是在中间加一些 batch normalization。在使用了这些方法后,深度卷积神经网络得以收敛
  • 但是收敛后的深度变深会导致性能变差。但是这不是由于过拟合引起的,这就意味着你的网络看似是收敛了,丹斯其实没有得到很好的训练
  • 于是论文提出,对于一个效果好的浅网络,如果再加一些层让它变深,它的效果是不应该变差的。虽然理论上存在一些比较优的解,但是SGD找不出来
  • 这篇文章提出可以显示地构造一个优解(identity mapping),使得深层的不会比浅层更差
  • 我们假设原来的要学习的是 H(x),这里构造一个 F(x) = H(x) - x, 这表示我们对于前面学过的 x(这里的 x 是上一层网络的输出),我们不需要再重新去学习它了,所以把它减掉。因此我们在这里学习到的是残差,最后输出再把 x 加回来
    在这里插入图片描述
  • 这个方法很好,没有增加参数,即增加复习复杂度。也没有增加计算复杂度,因为只是一个加法,而且网络也是可训练的。它可以做到网络越深,效果越好

2. 函数类

  • 原文有定义,我们在这里直接引用:我们对网络的叠加很可能是非嵌套函数类。对于深度神经网络,如果我们能将新添加的层训练成恒等映射(identity function) f ( x ) = x f(x) = x f(x)=x,新模型和原模型将同样有效。 同时,由于新模型可能得出更优的解来拟合训练数据集,因此添加层似乎更容易降低训练误差。
    在这里插入图片描述
  • 针对这一问题,何恺明等人提出了残差网络(ResNet)。

3. 残差块

  • 和论文 introcution 部分介绍的内容差不多:
    在这里插入图片描述
  • ResNet沿用了VGG完整的 3 × 3 3×3 3×3 卷积层设计。残差块里首先有 2 个相同输出通道数的 3 × 3 3\times3 3×3 卷积层。每个卷积层后接一个BN层和ReLU。然后我么通过跨层数据通路,跳过这两个卷积运算,将输入直接加在最后的 ReLU 激活函数前。这样的设计要求两个卷积层的输出于输入形状一样,从而使得它们可以相加。而如果想要改变通道数就需要引入一个额外的 1 × 1 1×1 1×1 卷积层来将输入变换成需要的形状后再做相加运算
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4. ResNet模型

  • ResNet-18如下
    在这里插入图片描述

http://www.ppmy.cn/devtools/128259.html

相关文章

Qt | http获取网页文件(小项目)

点击上方"蓝字"关注我们 ctrl+r 运行 URL可以自己替换一个试一试 【源码获取】 链接:https://pan.baidu.com/s/1QzHKZPXjkpx2p5TWUS_acA?pwd=5xsd 提取码:5xsd 01、QProgressDialog >>> QProgressDialog 是 Qt 框架中的一个类,主要用于显示一个进…

数据标准化与归一化:解锁数据处理的奥秘

引言 在数据科学和机器学习领域,数据预处理是一个不可或缺的步骤。而在这其中,数据标准化与归一化更是两个经常被提及但又容易被误解的概念。无论是进行特征缩放以优化模型性能,还是在数据可视化时保持图形的可读性,数据标准化与…

MT4跟单系统开发

文章目录 前言一、managerAPI方式跟单1、轮训的方式2、Pumping的方式 二、serverAPI方式跟单三、逆向抓包模拟客户端方式跟单 前言 如果有问题可以联系我**:https://gitee.com/xiaoyuren/gpt3 本文讲解一下MT4跟单软件的开发的几种方法以及原理。 一、managerAPI方式…

Python 如何处理大规模数据库表的迁移与数据迁移的高效执行

Python 如何处理大规模数据库表的迁移与数据迁移的高效执行 引言 在现代应用开发中,随着业务需求的增长,数据库表结构和数据往往需要进行迁移和更新。迁移(Migration)是指对数据库表的结构、数据类型、索引、约束等进行修改或更新…

知识付费小程序:轻松实现一站式运营,开启知识变现之旅

在当今数字化时代,知识付费已成为一种趋势,为内容创作者和知识提供者提供了广阔的商业机会。而知识付费小程序的出现,更是为实现一站式运营和开启知识变现之旅提供了便捷高效的解决方案。 一、便捷的内容创作与管理 知识付费小程序为创作者…

MYSQL基础快速入门

1. SQL类型 1.1 DDL DDL:data definition language(操作数据库或表时需加database或table)用来定义数据库对象:数据库,表,列等,例如创建、删除、修改:数据库、表结构等 规范: 1.不要使用关键字命名一个表…

[PHP]重复的Notice错误信息

<?php $a []; var_dump($a[name]);执行结果&#xff1a; 原因&#xff1a; display_errors和error_reporting都打开了Notice错误信息

Centos7 安装部署Zookeeper

官网地址&#xff1a;https://zookeeper.apache.org/ 1. Zookeeper 介绍 Apache ZooKeeper是一个开源的分布式协调服务&#xff0c;它用于维护配置信息、命名、提供分布式同步以及提供组服务等。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来&#x…