一文理解CNN中基础核心概念

卷积神经网络 (CNN) 改变了计算机视觉,并广泛用于图像分类、对象识别和图像分割。对于初学者来说,理解这个 CNN 模型的模型架构可能会很困难,因为他们会发现一些未知的术语。我将在这里列出并描述其中一些术语,希望对您的深度学习之旅有所帮助。

Backbone(主干网络)

主干网络常见于目标检测模型架构中。Backbone 负责从输入数据中提取特征并进行编码。它充当核心特征提取器,从输入数据中捕获低级和高级特征。
在这里插入图片描述

  • Input: 数据增广后的 图像 、图像块;
  • Backbone: 用于特征抽取的预训练分类模型,针对同尺度的目标有不同的层次;
  • Neck: 上采样及拼接机制以融合不同阶段的特征图;
  • Head:关于检测目标的类别和检测框的预测。

初学者往往会将 Backbone 模型与 Baseline 模型混淆。那么 Baseline 模型到底是什么?基线和主干有什么区别?让我们找出区别吧!

Baseline(基线)

基线模型是一个简单的模型,用作起点或比较基准。基线模型通常用作评估更先进或复杂模型或技术有效性的基线。它可以作为衡量更先进方法所取得的改进的比较基准。

Backbone vs Baseline

基线模型是用于比较的简单参考模型,而主干模型是负责特征提取的更复杂的架构。基线模型作为评估的起点,而主干模型提供特定任务解决所需的特征表示。

Neck

Neck 负责进一步转换和细化主干模型提取的特征。其目标是改进主干提取的特征,并提供更多信息的特征表示。

Backbone vs Neck

主干负责从输入数据中提取初始特征,而Neck则增强和合并这些特征以提高模型的性能。

Head

头部由特定于任务的层组成,这些层旨在根据 Backbone 和 Neck 提取的信息产生最终的预测或推理。

Bottleneck

在神经网络中,Bottleneck 只是一个神经元数量少于其下方或上方层的层。这样一个层的存在使网络能够压缩特征表示以尽可能最好地适应给定的空间。
请添加图片描述

残差块(Residual Block)

残差块是一种层堆叠,其排列方式使得将一层的输出添加到块中更深的另一层中。
请添加图片描述

跳跃连接

跳跃连接是一种快捷方式,它将一层的输出连接到相邻层的输入。
请添加图片描述

残差块与跳跃连接

跳跃连接是一个通用概念,指的是层之间任何形式的直接连接,而残差连接是 ResNet 架构中常用的特定类型的跳跃连接。残差连接的主要目的是让网络学习变化而不是直接学习整个变换

下采样

从 CNN 第一层提取特征后,如果我们直接将输出提供给第二层,那么该过程的计算量会变得很大。为了减少输出的大小,我们提取最小影响特征并将其提供给下一层。这种在不丢失重要信息的情况下减少输出大小的过程称为下采样。下采样最常见的方法是最大池化(Max pooling)
请添加图片描述

最大池化

最大池化是一种池化操作,可计算特征图块的最大值,并使用它来创建下采样特征图。
请添加图片描述

1 x 1 卷积

什么 ?1 x 1 卷积 ? 卷积滤波器的大小应该大于 1 x 1,这样它们才有意义!让我们了解 1 x 1 卷积以及使用它们的意义。

输入的深度或卷积层中使用的滤波器的数量经常随着网络深度的增加而增加,从而导致特征图数量的增加。如下图所示,突出显示的数字是每层之后的特征数,增加为 64 , 128 , 256 , 512 。卷积神经网络中的大量特征图可能会导致问题,因为必须执行卷积运算向下穿过输入的深度。
请添加图片描述

池化层旨在将网络中的特征图宽度和高度缩小一半。但池化层对模型的滤波器数量、深度或通道数量没有影响。

为了减少模型的通道数或深度,人们使用 1 x 1 卷积技术。1X1 卷积简单地说就是滤波器的尺寸为 1X1。该 1X1 过滤器将逐像素地对整个输入图像进行卷积。

例如,如果输入为 64X64X3(高 X 宽 X 通道),如果我们选择 1X1 滤波器(即 1X1X3),则输出将具有与输入相同的高度和宽度,但只有一个通道 64X64X1。
请添加图片描述
更详细的1x1卷积的解释请参考如下链接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/263083.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.10多种编码方式,编码方案选择策略(递归级联),PDE,RLE代码

作者如何选择和设计编码方案,以实现高效的解压缩和高压缩比?BtrBlocks是否适用于所有类型的数据? 选择和设计编码方案: 结合多种高效编码方案:BtrBlocks 通过选择一组针对不同数据分布的高效编码方案,实现…

HTML行内元素与块级元素有哪些及区别

文章目录 一、HTML常见的行内元素二、HTML常见的块级元素三、行内元素与块级元素的区别 一、HTML常见的行内元素 最常用的是span,其他还有a、 img、 input、textarea、select、label 还有包括一些文本元素如:br 、b、 strong、sup 、sub、 i、em 、del、…

WorkPlus即时通讯,让沟通零障碍!企业协作更高效

如今,随着信息技术的快速发展,企业对于高效沟通和即时协作的需求也日益增长。在这个数字化时代,WorkPlus作为一款领先的企业级移动办公平台,以其强大的即时通讯功能和卓越的用户体验,成功为企业打造了高效沟通的新时代…

数据结构和算法-单链表

数据结构和算法-单链表 1. 链表介绍 链表是有序的列表,但是它在内存中是存储如下 图1 单链表示意图 小结: 链表是以节点的方式存储每个节点包含data域,next域,指向下一个节点。如图:发现链表的各个节点不一定是连续存储。比如地…

阵列信号处理-波束方向图参数

波束方向图的参数有: 3dB带宽(半功率波束宽度,HPBW,half-power beamwidth)到第一零点距离(这个距离的两倍称为 B W N N BW_{NN} BWNN​)到第一旁瓣的距离第一旁瓣的高度其余零点的位置旁瓣的衰减速率栅瓣 波束方向图的主波束 3dB波束宽度 3…

MMdetection3.0 debug

MMdetection3.0 Train debug MMdetection3.0框架使用detr模型进行train debug ,查看中间结果。 条件: 1、NWPU-VHR-10数据集,类别为10,训练455张,验证195张;batch-size设为了2 结果: 1、文件路…

谷歌承认Gemini视频是“剪出来”的,想赶超GPT-4想疯了

前天谷歌DeepMind新发布的Gemini模型刷屏了,大家是不是也和奶茶一样被Gemini的效果震撼到了。觉得谷歌终于又“可以”了,第一个超越GPT-4的模型终于出现了! 然而,仅仅不到一天,谷歌Gemini就翻车了——网友们在仔细分析…

Go压测工具

前言 在做Go的性能分析调研的时候也使用到了一些压测方面的工具,go本身也给我们提供了BenchMark性能测试用例,可以很好的去测试我们的单个程序性能,比如测试某个函数,另外还有第三方包go-wrk也可以帮助我们做http接口的性能压测&…

【数据结构】——二叉树功能

前言:我们前面已经了解了二叉树的一些概念,那么我们今天就来了解下二叉树的遍历实现和一些性质。 二叉树的遍历方式有三种:前序,中序,后序。 前序:先根节点,再左子树,最后右子树。 中…

计算机硬件知识小结

计算机组成概览 计算机硬件的五大单元 在介绍计算机硬件基础之前,我们必须了解一下计算机硬件的五大单元(注意这里说的是硬件的五大单元并不是计算机五大单元): 输入设备:无论是计算机五大单元还是计算机硬件的五大单元,这其中必须包含的东西肯定是输入…

Unity中后处理 脚本 和 Shader

文章目录 前言一、我们先创建一个默认的后处理Shader,用于脚本测试二、在脚本中使用Graphics.Blit();1、我们先公开一个材质,用于测试后处理效果2、因为在实际开发中,我们不可能为每一个后处理Shader创建对应的材质球。所以,需要对…

C语言实战演练之跳动的爱心C语言版

跳 动 的 爱 心 - LOVE - 完整程序 #include <stdio.h> #include <math.h> #include <windows.h> #include <tchar.h> float f(float x, float y, float z) {float a x * x 9.0f / 4.0f * y * y z * z - 1;return a * a * a - x * x * z * z …