YOLOv5基础知识点——卷积神经网络

这篇具有很好参考价值的文章主要介绍了YOLOv5基础知识点——卷积神经网络。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)- 产品经理的人工智能学习库 (easyai.tech)

人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。下面是人脑进行人脸识别的一个示例: 

YOLOv5基础知识点——卷积神经网络

 深度学习算法(包括CNN)的灵感来源:模仿人类大脑的这个特点,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类

YOLOv5基础知识点——卷积神经网络

 卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量级(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。


卷积——提取特征

YOLOv5基础知识点——卷积神经网络

 这个过程我们可以理解为我们使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。

在具体应用中,往往有多个卷积核,可以认为,每个卷积核代表了一种图像模式,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。

YOLOv5基础知识点——卷积神经网络

 CNN中feature map、卷积核、卷积核个数、filter、channel的概念解释,以及CNN 学习过程中卷积核更新的理解_xys430381_1的博客-CSDN博客_卷积核个数

卷积核

卷积核也称为过滤器(filter),具有长宽深三个维度,长宽是人为指定,深度与当前图像的深度相同。

YOLOv5基础知识点——卷积神经网络

 CNN中feature map、卷积核、卷积核个数、filter、channel的概念解释,以及CNN 学习过程中卷积核更新的理解_xys430381_1的博客-CSDN博客_卷积核个数

 漫画:卷积神经网络中的卷积核到底是什么? - 知乎 (zhihu.com)

YOLOv5基础知识点——卷积神经网络

对于不能识别的特征,计算值非常小:

YOLOv5基础知识点——卷积神经网络

 综上,提取图片特征的关键,是设计合理的卷积核,做完卷积后,再经过池化,就可以得到相应的值。

为什么要卷积?

YOLOv5基础知识点——卷积神经网络

 用输出图像中更亮的像素表示原始图像中存在的边缘。通常,卷积有助于我们找到特定的局部图像特征(如边缘),用在后面的网络中。

总结:卷积层的通过卷积核的过滤提取出图片中局部的特征,跟上面提到的人类视觉的特征提取类似。


池化层(下采样)——数据降维,避免过拟合

YOLOv5基础知识点——卷积神经网络

 上图就是一个池化的示意图,用了一个10*10的卷积核,对20*20的图像分块不重叠的进行了池化,池化之后featuremap为2*2的大小。

(34 封私信 / 80 条消息) 池化是什么意思? - 知乎 (zhihu.com)

池化也称下采样层,会压缩输入的特征图,一方面减少特征,导致参数减少,进而简化了卷积网络计算时的复杂度;另一方面保持了特征的某种不变性(旋转、平移、伸缩等)。

池化操作组要分为两种:平均池化、最大池化

YOLOv5基础知识点——卷积神经网络

YOLOv5基础知识点——卷积神经网络

 为什么要池化?

图像中的相邻像素倾向于具有相似的值,因此通常卷积层相邻的输出像素也具有相似的值。这意味着,卷积层输出中包含的大部分信息都是冗余的。如果我们使用边缘检测滤波器并在某个位置找到强边缘,那么我们也可能会在距离这个像素1个偏移的位置找到相对较强的边缘。但是它们都一样是边缘,我们并没有找到任何新东西。池化层解决了这个问题。这个网络层所做的就是通过减小输入的大小降低输出值的数量

池化(下采样)是什么?图像池化与卷积的区别_Dontla的博客-CSDN博客_池化下采样

总结:池化层相比卷积层可以更有效的降低数据维度,这么做不但可以大大减少运算量,还可以有效的避免过拟合。


全连接层——输出结果

YOLOv5基础知识点——卷积神经网络

经过卷积层和池化层降维过的数据,全连接层才能”跑得动”,不然数据量太大,计算成本高,效率低下。

典型的 CNN 并非只是上面提到的3层结构,而是多层结构。

如卷积层 – 池化层- 卷积层 – 池化层 – 卷积层 – 全连接层......

YOLOv5基础知识点——卷积神经网络

全连接层详解_pogg_的博客-CSDN博客_全连接层

全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”(下面会讲到这个分布式特征)映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现:

对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为hw的全局卷积,hw分别为前层卷积结果的高和宽。

全连接的核心操作就是矩阵向量乘积 y = Wx

深入理解卷积层,全连接层的作用意义_向阳+的博客-CSDN博客_卷积池化全连接的作用
卷积取的是局部特征,全连接就是把以前的局部特征重新通过权值矩阵组装成完整的图。

例如经过卷积,relu后得到3x3x5的输出。

那它是怎么样把3x3x5的输出,转换成1x4096的形式?

很简单,可以理解为在中间做了一个卷积。

从上图我们可以看出,我们用一个3x3x5的filter 去卷积激活函数的输出,得到的结果就是一个fully connected layer 的一个神经元的输出,这个输出就是一个值。因为我们有4096个神经元。我们实际就是用一个3x3x5x4096的卷积层去卷积激活函数的输出。

这样做,有一个什么好处就是大大减少特征位置对分类带来的影响

从上图我们可以看出,猫在不同的位置,输出的feature值相同,但是位置不同。

对于电脑来说,特征值相同,但是特征值位置不同,那分类结果也可能不一样。

这时全连接层filter的作用就相当于喵在哪我不管,我只要喵,于是我让filter去把这个喵找到,实际就是把feature map 整合成一个值,这个值大,有喵,这个值小,那就可能没喵和这个喵在哪关系不大了,鲁棒性有大大增强。

全连接层参数特多(可占整个网络参数80%左右)

全连接层对模型影响参数就是三个:

  1. 全接解层的总层数(长度)
  2. 单个全连接层的神经元数(宽度)
  3. 激活函数

总结:全连接层的作用就是通过特征提取,实现分类文章来源地址https://www.toymoban.com/news/detail-453868.html

到了这里,关于YOLOv5基础知识点——卷积神经网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《人工智能专栏》必读150篇 | 专栏介绍 & 专栏目录 & Python与PyTorch | 机器与深度学习 | 目标检测 | YOLOv5及改进 | YOLOv8及改进 | 关键知识点 | 工具

    各位读者们好,本专栏最近刚推出,限于个人能力有限,不免会有诸多错误,敬请私信反馈给我,接受善意的提示,后期我会改正,谢谢,感谢。 第一步 :[ 购买点击跳转 ] 第二步 : 代码函数调用关系图(全网最详尽-重要) 因文档特殊,不能在博客正确显示,请移步以下链接

    2024年02月02日
    浏览(78)
  • 深度学习卷积神经网络YOLOv5详解

    Yolov5官方代码中,给出的目标检测网络中一共有4个版本,分别是 Yolov5s、Yolov5m、Yolov5l、Yolov5x 四个模型。 学习一个新的算法,最好在脑海中对 算法网络的整体架构 有一个清晰的理解。 但比较尴尬的是, Yolov5代码 中给出的网络文件是 yaml格式 ,和原本Yolov3、Yolov4中的 cfg 不

    2024年02月04日
    浏览(45)
  • 卷积神经网络中的图像特征——以YOLOv5为例进行可视化

    一、图像特征 1. 图像低层特征 图像低层特征指的是:边缘、颜色和纹理等特征。 低层特征的分辨率较高,包含较多的位置、细节信息,但其包含的语义信息较少,噪声较多。 原始图像和浅层卷积网络输出的特征图属于低层特征,从低层特征图中可以看清轮廓、边缘等信息。

    2024年02月05日
    浏览(41)
  • Kubernetes基础知识点

    k8s可以看做是一个集群操作系统,能够对容器进行调度和编排。 Kubernetes中的基本对象 pod 是k8s中的最小单位,一个pod封装一个或者多个容器,存储资源。 deployment 是对pod的服务化封装,可以包含一个或多个pod statefulset 为每一个pod维护一个固定化id job 用来控制批处理型人物的

    2024年02月15日
    浏览(48)
  • CSS基础知识点

    目录 ​编辑一、基本语法规范 二、CSS 选择器 1、简单选择器  (1)标签选择器 (2)类选择器 (3)ID 选择器 2、复合选择器 (1)后代选择器 (2)子选择器 (3)并集选择器 三、CSS常用属性值 1、设置字体家族 2、设置字体大小 3、设置字体的粗细 4、文字倾斜设置 5、文字

    2024年02月11日
    浏览(61)
  • HTML基础知识点

    1、HTML基础 1.1、什么是网页?        网页是一个包含HTML标签的纯文本文件,它可以存放在世界某个角落的某一台计算机中,是万维网中的一页,是超文本标记语言格式。它通常是由图片、文字、链接、声音、视频等元素组成。通过网页浏览器访问。 1.2、什么是HTML?   

    2024年02月07日
    浏览(47)
  • 集合基础知识点

    当 Java 程序中需要存放数据的时候,通常会定义变量来实现数据的存储,但是,当需要存储大量数据的时候该怎么办呢?这时首先想到的是数组,但是!数组只能存放同一类型的数据,而且其长度是固定的,那怎么办了?集合便应运而生了。 Java 集合类存放在 java.util 包中,

    2024年02月03日
    浏览(60)
  • Java 基础知识点

    Object 类相关方法   getClass 获取当前运行时对象的 Class 对象。 hashCode 返回对象的 hash 码。 clone 拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用;深拷贝对基本类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相

    2024年02月13日
    浏览(63)
  • FPGA基础知识点

    基础知识 逻辑值 逻辑0:表示低电平,也就是对应电路GND 逻辑1:表示高电平,也就是对应电路VCC 逻辑X:表示未知,有可能是高电平也有可能是低电平 逻辑Z:表示高阻态,外部没有激励信号,是一个悬空状态 数字进制格式 Verilog数字进制格式包括 二进制(b) , 八进制(

    2024年02月03日
    浏览(52)
  • 硬件基础知识点

    D:十进制 B:二进制 H:十六进制 二进制→十六进制 整数部分从右往左,小数部分从左往右。 四个二进制数看作一个十六进制数,不足的补零。 十六进制→二进制同理。 十进制→二进制 方法一:短除法 除二倒取整,乘二正取余 方法二:拆分法(二进制减法) 十进制数转

    2024年02月06日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包