当前位置: 首页 > news >正文

【深度学习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、为什么分组卷积可以提升准确率?即然分组卷积可以提升准确率,同时还能降低计算量,分数数量尽量多不行吗?

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

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

相关文章:

【深度学习Week3】ResNet+ResNeXt

ResNetResNeXt 一、ResNetⅠ.视频学习Ⅱ.论文阅读 二、ResNeXtⅠ.视频学习Ⅱ.论文阅读 三、猫狗大战Lenet网络Resnet网络 四、思考题 一、ResNet Ⅰ.视频学习 ResNet在2015年由微软实验室提出,该网络的亮点: 1.超深的网络结构(突破1000层&…...

Visual Studio 2022的MFC框架全面理解

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Visual Studio 2022开发工具下的MFC框架知识。 MFC(Microsoft Foundation Class,微软基础类库)是微软为了简化程序员的开发工作所开发的一套C类的集合&#xf…...

C# 消息队列 (MSMQ) 进程之间的通信

2个程序之间使用消息队列进行通信。 该代码只适用.NET Framework 版本,如果是.NET Core 请使用其他第三方消息队列框架,因为.NET Core 对System.Messaging 已经不支持呢。 进程1用于创建消息队列,然后发送消息。 代码如下: using System; u…...

算法练习(4):牛客在线编程05 哈希

package jz.bm;import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet;public class bm5 {/*** BM50 两数之和*/public int[] twoSum (int[] numbers, int target) {int[] res new int[…...

数字信号处理——频谱分析

数字信号处理——频谱分析 频谱分析 频谱分析是一种将复杂信号分解为较简单信号的技术。许多物理信号均可以表示为许多不同频率简单信号的和。找出一个信号在不同频率下的信息(如振幅、功率、强度或相位等)的做法即为频谱分析。 频谱 频谱是指一个时域…...

[软件工程] 架构映射战略设计方案模板

3 系统上下文 结合全局分析阶段获得的价值需求(利益相关者、系统愿景、系统范围)确定系统上下文,体现用户、目标系统与伴生系统之间的关系。 3.1 概述 绘制系统上下文图,明确解空间的系统边界。 3.2 系统协作业务流程1…n 根据全局…...

Springboot MongoDB 事务

目录 1. 事务和TransactionTemplate 2. 事务和MongoTransactionManager 3. 响应式事务 4. 事务和TransactionalOperator 5. 事务和ReactiveMongoTransactionManager 6. 事务内部的特殊行为 从版本4开始,MongoDB支持 事务。事务是建立在 会话之上的&#xff0c…...

SAP自建表日志

文章目录 1.在表里加上日志记录字段1.1 加入日志结构1.2 在代码中调用记录日志通用函数1.3 在SM30里面记录日志1.4 缺点1.5 优点 2.表技术设置-日志数据更改2.1 RZ10或者RZ11修改系统参数2.2 设置表的属性2.3 查询日志2.4 缺点2.5 优点 3 SCDO文档对象3.1 勾选相应字段-数据元素…...

ansible-kubeadm在线安装单masterk8s v1.19-v1.20版本

ansible可以安装的KS8版本如下: [rootk8s-master01 ~]# yum list kubectl --showduplicates | sort -r kubectl.x86_64 1.20.0-0 kubernetes kubectl.x86_64 1.20.0-0 …...

mongodb docker 及常用命令

MongoDB属于非关系型数据库,它是由C编写的分布式文档数据库。内部使用类似于Json的bson二进制格式。 中文手册 https://www.w3cschool.cn/mongodb/ 安装 https://www.mongodb.com/try/download/community 二进制安装可见另一篇: centos7 mongodb 4.0.28…...

最新版本mac版Idea 激活Jerbel实现热部署

1.环境准备 1.安装docker desktop 客户端创建本地服务 2.创建guid 3.随便准备一个正确格式的邮箱 2.具体操作 1.通过提供的镜像直接搭建本地服务 docker pull qierkang/golang-reverseproxy docker run -d -p 8888:8888 qierkang/golang-reverseproxy2.guid 通过如下网址直…...

基于Ubuntu22.04部署bcache模式ceph

作者:吴业亮 博客:wuyeliang.blog.csdn.net 将Bcache集成到Ceph OSD后端可以带来一些优点和潜在的缺点。以下是它们的一些方面: 优点: 提高性能:BCache作为SSD缓存设备,可以提供更快的数据读取和写入速度…...

根据URL批量下载文件并压缩成zip文件

根据url批量下载图片或者视频,只需要将图片的url和名称放到数组对象即可,例如: let fileArr [{fvUrl:https://image.xuboren.com/image/2023/07/26/1410829074764cdbaa4314a084eb749e.jpg,fvName: 图片名称},{fvUrl:https://image.xuboren.…...

机器学习笔记之优化算法(六)线搜索方法(步长角度;非精确搜索;Glodstein Condition)

机器学习笔记之优化算法——线搜索方法[步长角度,非精确搜索,Glodstein Condition] 引言回顾: Armijo Condition \text{Armijo Condition} Armijo Condition关于 Armijo Condition \text{Armijo Condition} Armijo Condition的弊端 Glodstein…...

Ant Design Pro 封装网络请求

可以直接在antdPro项目的app.tsx文件中对request进行运行时配置,并且该配置会直接透传到umi-request的全局配置。后续直接从umi中引入request或者useRequest直接使用,可以说是非常方便。文档可查看:umi.js 具体配置代码: import…...

命令模式——请求发送者与接收者解耦

1、简介 1.1、概述 在软件开发中,经常需要向某些对象发送请求(调用其中的某个或某些方法),但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个。此时,特别希望能够以一种松耦合的方式来设计软件&a…...

css 利用模糊属性 制作水滴

<style>.box {background-color: #111;height: 100vh;display: flex;justify-content: center;align-items: center;/* 对比度*/filter: contrast(20);}.drop {width: 150px;height: 159px;border-radius: 50%;background-color: #fff;position: absolute;/* 模糊 */filt…...

怎么才能提升自己工作能力?

表现最好的员工通常是获得加薪和工作晋升的人。您可以采取某些措施来提高您的工作绩效&#xff0c;并帮助您的主管将您视为他们最好的员工之一。在本文中&#xff0c;我们列出了 12 个技巧&#xff0c;可以立即提高您的工作绩效。 什么是工作绩效&#xff1f; 工作绩效是指您…...

Android Framework 之 Zygote

Android Zygote Android Zygote 是 Android 操作系统中一个关键的系统服务&#xff0c;它在系统启动时加载&#xff0c;为应用程序的运行提供了一种快速且资源高效的方式。 Zygote 的主要作用如下&#xff1a; 预加载共享库和类&#xff1a;Zygote 启动时&#xff0c;会预先加…...

二叉树的中序遍历 LeetCode热题100

题目 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 思路 递归&#xff0c;按左中右的顺序添加节点。 利用栈先进后出的特性模拟递归。 代码 /**递归写法* Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left…...

【职场】为什么越努力的人,在职场死得越惨?

为什么越努力的人&#xff0c;在职场死得越惨&#xff1f; ——没有人告诉你&#xff0c;努力本身是一种暴露。一、先说一个你亲眼见过&#xff0c;但从没想明白的现象 你身边一定有这样的人&#xff1a; 工作最拼的那个&#xff0c;最后被裁了。 加班最多的那个&#xff0c;升…...

RuoYi-Cloud项目导入避坑指南:从Maven配置到依赖下载的完整流程(附常见错误解决)

RuoYi-Cloud项目导入避坑指南&#xff1a;从Maven配置到依赖下载的完整流程 1. 项目准备与环境检查 在开始导入RuoYi-Cloud项目之前&#xff0c;确保你的开发环境已经准备就绪。这个微服务架构项目基于Spring Cloud Alibaba体系&#xff0c;对开发环境有特定要求&#xff1a; 基…...

图数据库 TuGraph 基本操作 作业一

一、基础知识介绍(一) 图数据库图数据库以顶点 (Vertex / Node)、边 (Edge / Relationship) 与属性 (Property) 三种元素表达事物及其关联关系。顶点对应实体, 边对应实体之间的关系, 属性以键值对形式附着在顶点或边上。相较关系数据库, 图数据库把 "关系" 提升为存…...

汽车质量管理体系的核心要素与持续改进之道

在当今竞争激烈的汽车制造业中&#xff0c;质量管理体系不仅是确保产品品质的基石&#xff0c;更是引领行业迈向智能制造未来的关键。作为制造业的核心&#xff0c;质量管理体系能够帮助企业在产品研发、生产制造和售后服务等环节发现并解决问题&#xff0c;提升产品质量和用户…...

产品工程师(Product Engineer)角色为何在创业公司成为最稀缺的竞争力?

在科技招聘市场&#xff0c;一位能力顶尖的工程师投递了上百份简历&#xff0c;却始终卡在“技术面试过关、产品讨论却露怯”的阶段。团队明明需要能快速交付价值的人&#xff0c;可最终录用的往往是那些“既懂代码又能自己做产品决策”的少数派。大多数候选人把精力全放在刷 L…...

保姆级教程:在群晖DSM 7.2上为虚幻引擎5项目配置Perforce Helix Core(附TypeMap避坑清单)

群晖DSM 7.2上为虚幻引擎5配置Perforce Helix Core全指南 对于独立游戏开发者和小型工作室来说&#xff0c;版本控制系统是项目管理的基石。Perforce Helix Core以其卓越的大文件处理能力&#xff0c;成为虚幻引擎项目版本控制的首选方案。本文将手把手指导你在群晖NAS上搭建Pe…...

【C++】类和对象( 类的定义、实例化、 this指针、 C++和C语言实现Stack对比)

小编主页详情<-请点击 小编gitee代码仓库<-请点击 本文主要介绍了类和对象&#xff08; 类的定义、实例化、 this指针、 C和C语言实现Stack对比&#xff09;&#xff0c;内容全由作者原创&#xff08;无AI&#xff09;&#xff0c;并带有配图帮助博友们更好的理解&#x…...

学习刷题公众号管理系统

功能特点支持视频、音频、图文三种课程形式&#xff0c;按知识点分类管理&#xff0c;支持自由添加和编辑课程章节。课程可设置为免费或付费模式&#xff0c;支持VIP会员免费学习权限设置。提供智能组卷功能&#xff0c;学员可按知识点自主组卷&#xff0c;系统从题库中随机抽题…...

AR 巡检:6 大黄金行业与厂商推荐

AR 巡检是将增强现实技术与工业巡检流程深度融合的智能运维方案&#xff0c;核心作用是通过虚实叠加实现设备状态可视化、巡检流程标准化与故障诊断智能化。传统巡检依赖纸质记录、人工记忆和经验判断&#xff0c;存在漏检误检率高、数据无法实时同步、故障排查周期长等问题&am…...

Tauri + GitHub Actions 自动化打包指南:如何为你的桌面应用配置跨平台自动更新

Tauri GitHub Actions 自动化打包与更新体系构建指南 当你的Tauri应用从开发阶段进入产品化阶段时&#xff0c;如何确保用户能够无缝获取最新功能和安全更新&#xff0c;成为影响产品体验的关键因素。本文将带你构建一个完整的自动化打包与更新体系&#xff0c;从签名机制到发…...