ResNet网络结构

article/2025/9/16 5:57:11

 注:深度好像就是channel w*h*c

根据b站up霹雳吧啦的讲解做的笔记 视频地址6.1 ResNet网络结构,BN以及迁移学习详解_哔哩哔哩_bilibiliR

6.2 使用pytorch搭建ResNet并基于迁移学习训练_哔哩哔哩_bilibili

ResNet网络解决梯度消失、爆炸,以及退化(我理解成随着层数的增加精度反而下降)问题 

 

 网络中亮点:1超深的网络结构

                        2提出residuaal模块

                        3使用batch normalization加速训练(丢弃drop out)

 residual结构:

左边是针对网络层数较少的网络(18 34)使用的残差结构,右边对网络层数较多(50 101 152)的网络使用残差结构

主分支与侧分支输出的特征矩阵相加,他们的shape需要一样

3*3卷积核,深度为256~

从下面的式子可以看出,右边的网络所需计算量更小

ResNet网络结构分别有 18、34、50、101、152层

 拿34层网络结构进行讲解

conv1   7*7卷积核

conv2_x 一系列残差结构中,  最大池化下采样,然后使用三层残差层

conv3_x 四个残差

conv4_x 六个残差结构

conv5_x 三个残差结构

平均池化下采样、全连接、softmax

 实线与虚线的结构有何不同?

 实线残差结构,输入特征矩阵与输出特征矩阵shape一样,对于虚线残差结构,对应conv3一系列结构的第一层,他的输入特征矩阵shape是【56,56,64】,输出特征矩阵shape是【28,28,128】

对比左右两个残差网络,发现右边第一个3*3卷积的stride发生了变化,经过第一个3*3卷积之后,输入特征向量变成了28*28(可以算出padding=1),通过128个卷积核改变了特征矩阵的深度

捷径 采用1*1卷积核,stride=2卷积之后特征矩阵变成28*28(算出来padding=0)

 总结 左边实线部分的残差结构 输入输出特征矩阵shape一样,虚线部分的残差结构 输入输出shape不一样,所以在conv_3\conv_4\conv_5中都是 第一层都是接了虚线的残差结构来使输入shape变成自己需要的shape

原论文中提供了3种残差结构,作者认为B结构最好

注意:

 对于18层和34层这两个浅层神经网络,他们经过最大池化下采样之后所得到的特征矩阵就是56*56*64,而conv2需要的残差结构刚好就是56*56*65,浅层网络不需要在第一层使用虚线网络结构,对于深层50 101 152 层来说,他们经过最大池化下采样的shape是56*56*64,而实线残差网络结构需要的输入shape是56*56*256,所以他们在conv2中的第一层也是虚线结构来调整深度

BN层:

在15年 谷歌提出,目的是使我们的一批(batch)feature map满足均值为0,方差为1的分布规律,它可以加速网络的收敛并提升准确率)

对于一个拥有d维的输入x,我我们对他的每一个维度进行标准化处理,d就是输入图像的channels,对于RGB图像来说d=3,x=(x^{(1)},x^{(2)},x^{(3)})其中x^{(1)}就代表我们R通道对应的特征矩阵。标准化处理也就是分别对R\G\B通道进行处理。

计算公式:

1计算一批数据 同一通道所有数据的 对应的均值、方差 (计算得出)

2原参数减去均值 除以方差 

\epsilon是一个很小的值,防止分母=0

4\gamma \beta\gamma \beta做进一步调整,\gamma调整数据方差大小,初始值为1,\beta调整均值,初始值为0,如果不用他们调整就得到均值为0,方差为1的数据分布,\gamma\beta 是通过反向传播学习得到的

举例子:

 我们所求的均值和方差是一个向量,维度和channel对应~

使用BN需要注意的问题:

迁移学习:

优势:

1快速训练出理想的结果

2数据集较小时也能训练出理想的结果

注意:使用别人预训练模型参数时,要注意别人的预处理方式

方式:学习浅层网络参数,将网络学习的底层通用特征迁移到新的网络,缩短训练时间

常见迁移学习方式:

 1要注意最后一个fc网络,最后一层fc无法载入权重参数

第二三种可以节约时间,节省硬件

使用PyTorch搭建ResNet并基于迁移学习训练


http://chatgpt.dhexx.cn/article/dJWne9Ib.shtml

相关文章

经典网络ResNet介绍

经典网络ResNet(Residual Networks)由Kaiming He等人于2015年提出,论文名为《Deep Residual Learning for Image Recognition》,论文见:https://arxiv.org/pdf/1512.03385.pdf ResNet要解决的是深度神经网络的”退化(degradation)”问题&…

六、ResNet网络详细解析(超详细哦)

1、 RestNet网络 1.1、 RestNet网络结构 ResNet在2015年被提出,在ImageNet比赛classification任务上获得第一名,因为它“简单与实用”并存,之后很多方法都建立在ResNet50或者ResNet101的基础上完成的,检测,分割&…

ResNet结构

文章目录 系列文章目录一、Residual net(残差网络)二、BatchNormalization(BN)三、ResNet结构 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开…

深度学习之图像分类(七)--ResNet网络结构

深度学习之图像分类(七)ResNet 网络结构 目录 深度学习之图像分类(七)ResNet 网络结构1. 前言2. Residual3. 网络配置4. 代码 本节学习ResNet网络结构,以及迁移学习入门,学习视频源于 Bilibili,…

[NCTF2019]SQLi 1regexp注入

[NCTF2019]SQLi&regexp注入 知识点: 无引号闭合,可以利用转义符 \ %00作为截断字符可以代替注释符#和-- - regexp注入可以配合 ^ 来爆破字符 解题: 打开题目得到: 可以看做插入语句: select * from users where…

buuctf-[NCTF2019]Keyboard

题目是这样子的: 下载完压缩包并解压后打开txt文件,发现是这样一串密文: 其实答案就在问题题目中,keyboard是键盘的意思,那结果显而易见了,o y i w u e u y u w u i i e不难发现,这些字母在键盘…

NCTF Crypto WriteUp

http://ctf.nuptzj.cn/challenges Crypto篇: 第一题、第二题、第七题和CG-CTF一样,不写了… 第三题: 说了全家桶,那就python跑吧… Flag:nctf{base64_base32_and_base16} 150分到手 第四题: 鬼知道进行…

[NCTF2019]Fake XML cookbook

BUUCTF 刷题 [NCTF2019]Fake XML cookbook BUUCTF 刷题前言一、[NCTF2019]Fake XML cookbook总结 前言 通过刷题拓宽自己的知识面 一、[NCTF2019]Fake XML cookbook (1)打开后如图所示 (2)尝试了一下万能密码,没啥用…

[NCTF2019]True XML cookbook

打开环境,看到熟悉的页面,和前面的[NCTF2019]Fake XML cookbook页面一样,应该也是XXE漏洞,这里再介绍一下XXE漏洞: XXE(XML External Entity Injection)全称为XML外部实体注入。 XML是什么? XML指可扩展…

[NCTF2019]Sore

[NCTF2019]Sore 附件: ciphertext.txt: nsfAIHFrMuLynuCApeEstxJOzniQuyBVfAChDEznppfAiEIDcyNFBsCjsLvGlDtqztuaHvHbCmuyGNsIMhGlDtbotCoDzDjhyBzHGfHGfoHsuhlssIMvwlixBHHGfDRjoCKrapNIwqNyuxIBACQhtMwCmMCfEBpsrzEuiLGBoMipTkxrznoHfAkqwzvxuzCzDbL…

[NCTF2019]babyRSA1

1.题目代码: # from Crypto.Util.number import * # from flag import flag # # def nextPrime(n): # n 2 if n & 1 else 1 # while not isPrime(n): # n 2 # return n # # p getPrime(1024) # q nextPrime(p) # n p * q # e 0x1000…

[NCTF 2018]Easy_Audit

1.打开环境,发现就是php套娃。 $_REQUEST:PHP的内置变量,是一个数组,保存传递的参数,它的特性是如果get,post一起传参,则会优先post传参,可以由此进行变量覆盖。 $_SERVER:PHP的内置变量,是一个…

第十届南京邮电大学网络攻防大赛(NCTF 2021)writeup

Web X1cT34m_API_System Author:wh1sper 题目描述:在API安全的新时代,安全圈迎来风云变幻。掀起巨浪的你?只手遮天的你?选择保护还是放弃你的曾经的伙伴?target: http://129.211.173.64:58082/ 附件链接&am…

[NCTF 2018]签到题

这题呢 看题目说签到题目 我们可以看出来 我们用F12看源代码 去搜索一下flag值在哪里 但是我们看了没有 我

NCTF2021——wp

文章目录 一、REHello せかいShadowbringer鲨鲨的秘密 二、MISC做题做累了来玩玩游戏吧Hex酱的秘密花园Hello File Format 一、RE Hello せかい ida反编译,flag明文给出 Shadowbringer 那两个函数是2次base64变异码表的编码,函数反过来换两次码表解码…

NCTF2022 calc题目复现

calc(环境变量注入getshell) 经典计算器题目,看着有点眼熟,没错,就是buu三月赛的一道题目。由于那时候web可能都算不上入门,所以也就没有复现。比赛时就网上看了看三月赛的wp,但是没有什么用&a…

[NCTF2019]SQLi

[NCTF2019]SQLi 进入页面,尝试万能密码登录: 觉得有waf,爆破一下 发现过滤了相当多的可用字符串 另外在robots.txt文件中有提示 再进入hint.txt 看到了黑名单,并且说要让查找admin的密码, 但是admin在黑名单中&am…

BUUCTF:[NCTF2019]phar matches everything

题目地址&#xff1a;https://buuoj.cn/challenges#[NCTF2019]phar%20matches%20everything 源码地址&#xff1a;https://github.com/swfangzhang/My-2019NCTF/tree/master/phar matches everything catchmime.php //catchmime.php <?php class Easytest{protected $tes…

2022NCTF的部分wp及复现

Misc Signin 程序设计实验作业,但是签到题(听zys说建议把终端字体调小一点并且只需要输入一串来自35年前的神秘秘籍 35年前的秘籍&#xff0c;就是魂斗罗的秘籍 上、上、下、下、左、右、左、右、B、A、B、A 就可以得到flag NCTF{VVe1c0m3_T0_NCTF_2022!!!} Web calc 命令…

NCTF2021 Ezsql

好兄弟&#x1f466;发来的题目&#xff0c;&#x1f474;当时没做出来&#xff0c;幸好环境还在 这道题测试一遍后&#xff0c;没什么收获&#xff0c;马后炮先扫描网站目录 发现源码&#xff0c;共有三个文件&#xff1a;config.php、DB.php、login.php 代码审计 config是…