关于ResNet和FPN的一份介绍

在这篇文章中我将介绍ResNet和FPN这两个深度学习中重要的技术。

一、ResNet-50/101

首先我们先来看ResNet技术:

1.1 概述

ResNet技术是基于残差学习,引入Bottleneck技术以及Shortcut Connection技术,而去解决神经网络中的退化问题。

1.2 主要思想

在这个技术中,主要有三种思想,即残差映射、Bottleneck结构以及通道调整。

残差映射:

首先我们知道残差就是指预期输出与实际输出之间的差值,如果用x表示实际输出,H(x)表示预期输出,那么可以得到残差的表达式为:

而残差映射就是指通过跳跃连接(Skip Connection)将输入 x 直接传递到后续层,并与经过神经网络层后的结果相加的过程。

Bottleneck结构:

所谓Bottleneck结构就是指这样的三个过程,首先是1*1卷积降维,然后通过3*3卷积特征提取,最后进行1*1卷积升维。我们可以这样理解,就是我们要开着载货卡车通过安检,为了正常和较快的通过,我们首先卸下一部分的货物,然后对于其中关键货物进行安检,最后安检完成后重新载货出发。

通道调整:

是解决残差块的输入与输出通道数不一致问题的关键技术。当输入特征图(Input)和残差函数(Residual Function)的输出特征图通道数不同时,无法直接通过跳跃连接(Skip Connection)相加,此时需要通过通道调整使二者的维度匹配。其中常用的有两种方法,分别为1*1卷积以及补0操作。

1.3 组成

ResNet的组成有五个阶段,分别为:Conv1、Conv2、Conv3、Conv4、Conv5。其中Conv1是进行卷积以及池化操作,另外四个阶段都是Bottleneck模块。

其中根据Conv4阶段中Bottleneck模块数量的差异分为50层的网络和101层网络,所以得名ResNet-50/101。

二、FPN

2.1 概述

所谓FPN就是基于多尺度融合去构建特征金字塔。其中,它是基于多个层次的,具体有三个层次,分别为:自顶向下、自底向上以及横向连接。这三种层次可以带来不同的好处,分别为保留空间细节、将深层语义信息传递到浅层以及将语义,定位信息融合。

2.2 结构

如果我们把FPN分为两个部分,那么分别就是主干部分以及特征金字塔部分。

其中在主干部分,它是依靠刚才所说的ResNet的,即采用ResNet作为主干网络(如ResNet-50/101),通过逐阶段下采样生成多尺度特征图。

然后在特征金字塔部分,这部分主要有三小部分,先是P5生成,即从主干网络的最高层特征C5出发,通过 1×1卷积 调整通道数(例如将2048→256),生成初始的 P5;

然后是逐层采样,通过自顶向下(P5→P4→P3→P2)逐级上采样,并与主干网络的同尺度特征融合;

最后是最终优化部分,即对每个融合后的特征图(P5~P2)施加 3×3卷积。

相关推荐
終不似少年遊*11 分钟前
MindSpore框架学习项目-ResNet药物分类-模型优化
人工智能·深度学习·机器学习·计算机视觉·分类·数据挖掘·华为云
GpuGeek20 分钟前
一文走进GpuGeek | conda常用命令
人工智能·conda·gpu算力·云平台
Code_流苏36 分钟前
《Python星球日记》 第55天:迁移学习与预训练模型
python·深度学习·微调·resnet·迁移学习·预训练模型·超参数优化
背太阳的牧羊人1 小时前
SemanticSplitterNodeParser 和 Sentence-BERT 的区别和联系是什么
人工智能·深度学习·bert
海天一色y1 小时前
Pycharm(二十)张量的运算与操作
pytorch·深度学习·pycharm
饮啦冰美式1 小时前
PPO近端策略优化算法
人工智能·深度学习·算法
电棍2331 小时前
近日部署跑通的若干多模态模型总结与论文概述
人工智能·深度学习
VI8664956I261 小时前
企业级AI革命!私有化部署开源大模型:数据安全+自主可控,打造专属智能引擎
人工智能·开源
麦麦麦造1 小时前
[特殊字符]Meilisearch:AI驱动的现代搜索引擎
人工智能·搜索引擎
水煮蛋不加蛋1 小时前
AutoGen 框架解析:微软开源的多人 Agent 协作新范式
人工智能·microsoft·ai·开源·大模型·llm·agent