| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【深度学习】ResNet网络详解 -> 正文阅读 |
|
[人工智能]【深度学习】ResNet网络详解 |
ResNet参考ResNet论文: 结构概况ResNet的网络结构图如图所示: 这是ResNet不同层数的网络 结构图。 可以看到,结构大差不差。不论是18层、34层、50层、还是101层、152层。 上来都是一个 然后就是按照图中的 最后再跟一个平均池化下采样,和全连接层,sofmax输出。 conv1与池化层我们先看一下前两层。 首先呢,ResNet使用ImagesNet数据集,采用的默认输入尺寸是224x224,RGB图像,三通道 按照表中,我们可以看到,图片输入之后,首先是一个 也就是一个卷积层,卷积核大小为7x7,输出通道为64(也就是卷积核个数),stride=2。 没说padding,我们需要自己算一下,表里写了这一层的输出是112x112
那就是说 112 = (224 - 7 + 2P)/ 2 + 1 化简后就是 111 = (217 + 2P)/2 = 108.5+P 所以P=3 所以Padding是3 所以我们输入图片进来,第一层是 没有偏置bias。经过这一层我们会得到大小为112x112的尺寸,通道数为64 然后经过一个3x3的最大池化下采样,stride=2 W o u t = ( W i n ? F + 2 P ) / S + 1 W_{out}= (W_{in} - F + 2P)/S + 1 Wout?=(Win??F+2P)/S+1 池化层也采用向下取整。所以 56=(112 - 3 + 2P)/2 +1 计算出来P=1 所以第二层池化层是 经过池化层,我们会得到一个56x56,64通道的输出,紧接着就是 残差结构经过前面两层,我们得到一个56x56,64通道的输出 紧接着是 这就是残差块,残差块大致有两种类型,一种是两层卷积的,一种的三层卷积的,就是途中红框画的。 比如如果是ResNet34,那么池化层之后,就是两个3x3,64的卷积层,这两个组成一个残差块。 如果是ResNet50,那么池化层之后就是1x1,64的卷积层 + 3x3,64的卷积层 + 1x1,256的卷积层,三个组成一个残差块。 后面写的 如下图所示,关于残差结构的原理,不多说了,这里主要讲实现。 有几个点需要注意: 以ResNet34为例,按照表格里面写的,池化之后,我们的大小是56x56x64,那么经过 输入和输出特征矩阵的大小一样,那么就说明
所以经过这两层之后呢,得到的还是56x56x64的特征图,可以直接与残差块那个分支相加。 但是呢这里需要注意,我们看 到 这时候要注意一个问题,分支与主分支的结果就无法相加了,大小不一致,维度不一致啊 怎么办呢,所以还有一种虚线连接的残差块,如图 在分支里面做了一个1x1的卷积层,1x1的卷积层主要是用来升维和降维的。同时通过设置stride可以改变尺寸 所以就通过这个卷积层得到了28x28,128通道的特征图,可以与主分支直接相加了
对于ResNet50和101,深层次的ResNet也是按照这样的方法处理的 但是注意啊,这种虚线结构只是为了解决尺寸不一样无法相加的情况 什么情况下需要用这个呢? 对于ResNet18和ResNet34而言, 可以看到表里面,ResNet34的 而对于ResNet50和ResNet101,ResNet152而言, 因为ResNet50从 所以,我们根据表格可以看到ResNet50中, 同样的, 另外再注意一个改进: Batch NormalizationBatch Normalization的目的是使我们的一批(Batch)feature map满足均值为0,方差为1的分布规律。 这里关于BN层的原理就不写了,可以看这个视频和博客
我们需要知道的是 建议将bn层放在卷积层(Conv)和激活层(例如Relu)之间,且卷积层不要使用偏置bias 所以说,我们实际上的残差网络块应该是如图,这个样子的 总结至此,整个ResNet的网络结构就清晰了。其中需要注意的点主要就是:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:51:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |