注:深度好像就是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,其中就代表我们R通道对应的特征矩阵。标准化处理也就是分别对R\G\B通道进行处理。

计算公式:

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

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

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

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

举例子:

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

使用BN需要注意的问题:

迁移学习:

优势:

1快速训练出理想的结果

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

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

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

常见迁移学习方式:

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

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

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

ResNet网络结构相关推荐

  1. ResNet网络结构详解,网络搭建,迁移学习

    前言: 参考内容来自up:6.1 ResNet网络结构,BN以及迁移学习详解_哔哩哔哩_bilibili up的代码和ppt:https://github.com/WZMIAOMIAO/deep-le ...

  2. pytorch图像分类篇:6. ResNet网络结构详解与迁移学习简介

    前言 最近在b站发现了一个非常好的 计算机视觉 + pytorch 的教程,相见恨晚,能让初学者少走很多弯路. 因此决定按着up给的教程路线:图像分类→目标检测→-一步步学习用pytorch实现深度学 ...

  3. ResNet网络结构,BN以及迁移学习详解

    看b站up主霹雳吧啦Wz视频,以及一些文章参考,所做笔计 链接: 6.1 ResNet网络结构,BN以及迁移学习详解_哔哩哔哩_bilibili 深度学习之残差神经网络(ResNet) - 知乎 (z ...

  4. cnn卷积过程,通道数,《6.1 ResNet网络结构,BN以及迁移学习详解》

    6.1 ResNet网络结构,BN以及迁移学习详解_哔哩哔哩_bilibili CNN科普讲解:李宏毅讲解卷积神经网络(带字幕)_哔哩哔哩_bilibili 1.图像中的RGBpython rgb 图 ...

  5. ResNet网络结构的搭建(一)

    目录 1.基本结构:BasicBlock和BottleNeck 2.构建ResNet网络 3.完整代码 代码部分参考b站视频 1.基本结构:BasicBlock和BottleNeck ResNet中最 ...

  6. resnet网络结构_深度学习之16——残差网络(ResNet)

    残差网络在设计之初,主要是服务于卷积神经网络(CNN),在计算机视觉领域应用较多,但是随着CNN结构的发展,在很多文本处理,文本分类里面(n-gram),也同样展现出来很好的效果. 首先先明确一下几个 ...

  7. resnet网络结构_ResNet网络详细解析(超详细哦)

    1.RestNet网络 1.1.RestNet网络结构 ResNet在2015年被提出,在ImageNet比赛classification任务上获得第一名,因为它"简单与实用"并存 ...

  8. resnet50网络结构_学习笔记(一):分析resnet源码理解resnet网络结构

    最近在跑实验的过程中一直在使用resnet50和resnet34,为了弄清楚网络的结构和原理的实现,打开resnet的源码进行了学习. 残差网络学习的原理 针对神经网络过深而导致的学习准确率饱和甚至是 ...

  9. 论文笔记:再看ResNet——ResNet典型网络结构

    前言 第一次看ResNet论文的时候,由于刚接触深度学习不久,对ResNet的理解仅仅停留在论文中阐述的一些基本思想.加上当时实验室的硬件条件很有限,用的模型基本上以AlexNet和VGG为主,并没有 ...

  10. bottleneck resnet网络_关于ResNet网络的一点理解(网络结构、building block 及 “bottleneck” building block)...

    [时间]2018.10.05 [题目]关于ResNet网络的一点理解(网络结构.building block 及 "bottleneck" building block) 概述 本 ...

最新文章

  1. 中国世界工厂地位为什么不会动摇
  2. python os.path模块学习(转)
  3. java 百亿计算器_设计一个一百亿的计算器
  4. Python 代码实现模糊查询
  5. QT中Qpixmap与QImage的转化
  6. C语言字符串中删除重复的字符的算法(附完整源码)
  7. Elasticsearch大文件搜索
  8. oracle 导出空表问题
  9. flink离线mysql_Flink 流模式跑离线任务
  10. python1加到100总和_从1加到一百总和是多少?有什么公式吗?
  11. AWT_addKeyListener键盘监听事件(Java)
  12. 解决Zabbix网页端Get value error: cannot connect to [[192.168.238.139]:10050]: [113] No route to host问题...
  13. CentOS和Ubuntu哪个好?
  14. 詹姆斯高斯林_詹姆斯·高斯林(James Gosling)关于Java的立场:我几乎不在乎
  15. 使用pthread后,界面假死现象问题
  16. Android浏览器翻译功能调研
  17. 龟背驼腰下一句更精彩
  18. 满足哪些条件的商品有资格参与亚马逊秒杀卖家们知多少?
  19. java内嵌_Java内嵌类
  20. Object类中的hashCode方法

热门文章

  1. GD32F103学习笔记(3)——新建工程
  2. Mate30安装谷歌全家桶(20200215,成功)
  3. 四川信息职业技术学院计算机多媒体技术,成都市计算机多媒体技术最好学校在哪...
  4. 国际C语言混乱代码大赛 获奖作品
  5. h5快速制作工具-企业级. 非个人无水印
  6. mac安装maven
  7. 上,下拉电阻的作用与计算
  8. hadoop put命令的格式_hadoop Shell命令详解
  9. 计算机键盘space键在哪,space键在哪
  10. wifi 小米pro 驱动 黑苹果_小米笔记本 pro 安装黑苹果