【深度学习Week3】ResNet+ResNeXt

ResNet+ResNeXt

    • 一、ResNet
      • Ⅰ.视频学习
      • Ⅱ.论文阅读
    • 二、ResNeXt
      • Ⅰ.视频学习
      • Ⅱ.论文阅读
    • 三、猫狗大战
      • Lenet网络
      • Resnet网络
    • 四、思考题

一、ResNet

Ⅰ.视频学习

ResNet在2015年由微软实验室提出,该网络的亮点:

1.超深的网络结构(突破1000层)

简单堆叠卷积层和池化层,会导致梯度消失梯度爆炸退化问题
ResNet使用深度残差学习框架来解决退化问题。

2.提出residual模块

在这里插入图片描述

3.使用Batch Normalization加速训练(丢弃dropout)
在这里插入图片描述

Ⅱ.论文阅读

Deep Residual Learning for Image Recognition,CVPR2016
深度学习论文:Deep Residual Learning for Image Recognition
深度学习经典论文分析(六)

网络不是越深越好,随着网络深度的增加,精度会饱和,然后迅速退化,且这并不是由过拟合引起的。文中通过引入一个深度残差学习框架来解决退化问题。不是让网络直接拟合原先的映射,而是拟合残差映射。实际上,把残差推至0和把此映射逼近另一个非线性层相比要容易的多。

二、ResNeXt

Ⅰ.视频学习

1.更新block
在这里插入图片描述
2.组卷积
在这里插入图片描述

Ⅱ.论文阅读

Aggregated Residual Transformations for Deep Neural Networks, CVPR 2017
Aggregated Residual Transformations for Deep Neural Networks(论文翻译)
【论文阅读】Aggregated Residual Transformations for Deep Neural Networks Saining(ResNext)

现代的网络设计中通常会次堆叠类似结构,从而减少网络中超参数的数量,简化网络设计。

Inception使用了split-transform-merge策略,即先将输入分成几部分,然后分别做不同的运算,最后再合并到一起。这样可以在保持模型表达能力的情况下降低运算代价。但是Inception的结构还是过于复杂了。

本文中提出了一个简单的架构,它采用了 VGG/ResNets 的重复层策略,同时以一种简单、可扩展的方式利用了 split-transform-merge 策略。网络中的一个模块执行一组转换,每个转换都在一个低维嵌入上,其输出通过求和聚合现——要聚合的变换都是相同的拓扑结构(例如,图 1(右))。这种设计允许我们在没有专门设计的情况下扩展到任何大量的转换。这种结构可以在保持网络的计算量和参数尺寸的情况下,提高分类精度。

三、猫狗大战

猫狗大战–经典图像分类题 - AI算法竞赛-AI研习社
使用ResNet进行猫狗大战
使用Google的Colab+pytorch
Google Colab 中运行自己的py文件

Lenet网络

在这里插入图片描述

Resnet网络

在这里插入图片描述

四、思考题

1、Residual learning 的基本原理?

Residual learning的基本原理是通过引入残差连接,让神经网络可以学习残差,而不是直接学习映射函数。这样可以解决深层网络训练中的退化问题。

2、Batch Normailization 的原理,思考 BN、LN、IN 的主要区别。

Batch Normalization(批归一化)的原理是通过在网络的每个层输入前对其进行归一化,使得输入的均值接近于0,标准差接近于1。这有助于缓解梯度消失问题,加速训练过程,并且可以允许使用更高的学习率。

主要区别如下:

BN(Batch Normalization):对每个Batch的数据进行标准化,使其均值为0,方差为1。该方法在网络训练时对每个batch的数据都进行标准化,且归一化的均值和方差不固定,是最常用的一种批标准化方法。

LN(Layer Normalization):对每一层的数据进行标准化,使其均值为0,方差为1。LN不采用批次维度计算均值和方差,而是将整个层的数据作为一个标准化的对象。

IN(Instance Normalization):对每个样本的每个通道的数据进行标准化,使其均值为0,方差为1。IN是针对图像生成任务提出的一种标准化方法,将每个样本的所有像素点作为标准化的对象,对每个通道的数据进行归一化。

3、为什么分组卷积可以提升准确率?即然分组卷积可以提升准确率,同时还能降低计算量,分数数量尽量多不行吗?

分组卷积将输入分成多个组,每组内部进行卷积运算,可以减少卷积层参数数量。 此外,将卷积层的输入分成多个组,可以让不同组之间学习不同的特征表示,提取更多的信息。

过多的分组会导致每个子组的特征表达能力不足,不利于关键特征的提取,从而降低准确率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

b 树和 b+树的理解

项目场景: 图灵奖获得者(Niklaus Wirth )说过: 程序 数据结构 算法, 也就说我们无时无刻 都在和数据结构打交道。 只是作为 Java 开发,由于技术体系的成熟度较高,使得大部分人认为&#xff1…

留存测试数据,Apipost接口用例详解

接口用例可以在不影响源接口数据的情况下对接口添加多个用例,方便测试并保存测试数据。 创建用例 左侧目录选择接口后进入接口用例页面,点击添加用例 在弹出窗口中修改各种参数。如登录接口,可修改用户名为空,并添加断言。 执行…

css滤镜:drop-shadow

一、用法 drop-shadow( offset-x offset-y blur-radius spread-radius color ) offset-x:此参数设置图像的水平偏移。正值将创建右侧的偏移量,负值将创建左侧的偏移量。offset-y:此参数设置图像的垂直偏移。正值创建到底部的偏移量&#xff…

简单版本视频播放服务器V4,layui界面

简单版本视频播放服务器V4 前一个版本内容,可以查看 https://blog.csdn.net/wtt234/article/details/131759154 优化内容: 1.返回列表的优化,优化了原来返回空列表名称的问题 2.前端才有layui优化内容 后端: package mainim…

安科瑞AMC200多回路智能电量采集监控装置在隧道中的应用-安科瑞黄安南

1项目背景 河南安阳林州市某高速公路项目是河南省政府主要打造的一项公路建设项目,该项目全长约70公里,起点位于安阳市内,终点位于林州市县。该项目总投资约60亿元人民币,建设工期预计为3年。 该项目的建设旨在缓解当地交通压力…

为高性能计算构建,由亚马逊云科技Amazon Graviton3E驱动的最新实例正式可用

亚马逊云科技宣布两款基于最新一代自研芯片Amazon Graviton3E的新实例Amazon Elastic Compute Cloud(Amazon EC2)Hpc7g和Amazon EC2 C7gn正式可用。 其中,Hpc7g实例专为计算和网络密集型高性能计算(HPC)工作负载而构建…

微信小程序配置上传多个u-upload上传

微信小程序配置上传多个u-upload上传 使用的是uView框架 微信小程序配置上传多个u-upload上传图片 场景需求:根据PC端配置项追加图片配置 小程序根据配置的图片数量,图片名称,进行上传图片 难度在于 我们不知道用户会追加多少个图片配置字段 …

git撤销上一次的commit

一行命令 git reset --soft HEAD^如果在vscode上面,就可以

【Leecode】交替合并字符串- join

题目 给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 错误1 class Solution:def mergeAlternately(self, w…

C++ 类和对象篇(三) 空类和默认成员函数

目录 一、空类 二、6个默认成员函数 一、空类 1.是什么? 如果一个类中没有显示定义任何成员,简称为空类。 class A {};//一个空类 2.空类中的成员? 空类中真的什么都没有吗? 并不是,任何类在什么都不写时&#xff0c…

关于Python 的 Web 自动化测试的实践

Web 测试是软件测试中比较重要的一个分支,而要实现 Web 自动化测试则要求测试人员能熟练掌握自动化测试工具和编程语言。介绍免费开源的 Web 测试工具 Selenium,以及流行的编程语言 Python。根据自动化测试的原理,对网页元素的常用定位方式&a…

ES6 - Iterator迭代器和for...of 循环

文章目录 前言一、Iterator介绍二、Iterator原理三、实现Iterator接口的原生对象有五、默认调用 Iterator 接口的场合六,for... of 循环七,总结 前言 JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对…

Qt Creator 11 开放源码集成开发环境新增集成终端和 GitHub Copilot 支持

导读Qt 项目今天发布了 Qt Creator 11,这是一款开源、免费、跨平台 IDE(集成开发环境)软件的最新稳定版本,适用于 GNU/Linux、macOS 和 Windows 平台。 Qt Creator 11 的亮点包括支持标签、多外壳、颜色和字体的集成终端模拟器&am…

【微信小程序创作之路】- 小程序事件绑定、动态提示Toast、对话框 Modal

【微信小程序创作之路】- 小程序事件绑定、动态提示Toast、对话框 Modal 第六章 小程序事件绑定、动态提示Toast、对话框 Modal 文章目录 【微信小程序创作之路】- 小程序事件绑定、动态提示Toast、对话框 Modal前言一、事件是什么?二、小程序中常用事件三、事件传…

2023年受人欢迎的低代码开发平台大盘点

随着企业对于降低成本和加快软件开发的需求增加,低代码开发平台逐渐成为一种受欢迎的选择。这些平台提供了拖放界面和预置组件,使得开发人员可以用更少的代码创建复杂的应用软件。低代码开发平台不仅有助于企业加速数字化转型,而且还能打破业…

URP基于GL的Unity物体网格线绘制方法参考

直接上代码: using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering;public class GLWireMesh : MonoBehaviour {[Serializable]public class IntPair{public int a;public int b;public IntPair(int a, int b){this.a…

Linux系统管理:虚拟机Rocky Linux安装

目录 一、理论 1.Rocky Linux 2.NetworkManager配置 3.ipaddress 配置文件 4.nmtui 配置 ipaddress 二、实验 1.虚拟机Rocky Linux安装准备阶段 2.安装Rocky Linux 3.进入系统 三、问题 1.网络配置文件权限不够 一、理论 1.Rocky Linux (1&#xff0…

下载的谷歌模型如何转为3dtiles

收费工具&#xff0c;学生党勿扰 收费金额1000元 已经购买过工具的大佬&#xff0c;可以免费更新 1 概述 上个月&#xff0c;写了一篇<<谷歌地图模型自动下载>>的文章&#xff0c;效果还不错&#xff0c;能够帮到一些同学。 但是&#xff0c;随着谷歌模型下载的越…

uniapp开发微信小程序--自定义顶部导航栏

一、实现效果&#xff1a; 二、代码实现&#xff1a; 1.在pages.json文件中&#xff0c;单页面定义导航栏&#xff0c;添加以下代码&#xff1a; "navigationStyle": "custom" //自定义导航栏如图所示&#xff1a; 2.在components文件夹下&#xff0c;…

使用多数据源dynamic-datasource-spring-boot-starter遇到的问题记录

记录使用多数据源dynamic-datasource-spring-boot-starter遇到的问题&#xff1a; 1、工程启动失败 缺少clickhouse连接驱动&#xff0c;引入对应的maven依赖 <!--ck连接驱动--><dependency><groupId>ru.yandex.clickhouse</groupId><artifactId>…