YOLO学习(三)卷积神经网络CNN

1.基础知识

CNN,即卷积神经网络(Convolutional Neural Network),是一种深度学习模型,它在图像识别、视频分析和自然语言处理等领域表现出色。CNN通过使用卷积层来提取图像数据的局部特征,然后通过池化层(Pooling Layer)来降低特征的空间维度,最后通过全连接层(Fully Connected Layer)进行分类或回归任务。

经典的神经网络结构包含三个层次的神经网络。分别输入层,输出层以及隐藏层

其中每层的圆圈代表一个神经元,隐藏层和输出层的神经元有输入的数据计算后输出,输入层的神经元只是输入。

1.1神经网络的特点

  • 每个连接都有个权值

  • 同一层神经元之间没有连接

  • 最后的输出结果对应的层也称之为全连接层FC

  • 局部连接 + 权值共享:降低模型复杂度,减少权值数量。

1.2 主要应用场景

CNN能够自动从数据中学习特征,而无需人工设计特征提取器,使得它在处理图像和其他高维数据时非常有效。主要用于解决涉及大量非线性和高维数据的问题,尤其是在图像处理领域。它能够识别和分类图像中的物体、面部、场景等。此外,CNN也被应用于语音识别、自然语言处理、医学图像分析、推荐系统等多种任务。

1.3名词解释

  • CNN:Convolutional Neural Network
  • Filter:卷积核。用于从图像中提取特征。每个Filter都是一个特征提取器,不同的Filter可以提取出图像中的不同模式。Filter的数量等于Feature Maps的数量。不同的Feature Maps可表示输入数据的不同表示,每个表示都强调了输入数据的不同方面。更多的Filter意味着网络具有更大的能力去学习和以及数据汇总的复杂关系。
  • Feature Maps:特征图。经过Filter处理后得到的输出,可表示图像的某种特点或者模式,一个Filter对应一个Feature Map。

2. 整体结构

CNN通用结构

LeNet-5结构(由Yann LeCun等于1998年提出。主要用于手写数字识别任务,也可用于其他图像识别任务)

CNN基本组成:输入层、隐藏层、输出层。隐藏层分为:卷积层 + 池化层

2.1 输入层(Input Layer)

一般为一张原始的图片。

2.2 卷积层(Convolutional Layer)

通过使用一系列可学习的滤波器(或称为卷积核)来扫描输入图像,提取图像的局部特征。这些滤波器能够捕捉到图像中的边缘、纹理等基本特征。用于提取图像的局部特征。以LeNet-5为例:

  • 32x32 -> 6@28x28:6个 5x5卷积核。
  • 6@14x14 -> 16@10x10:5x5卷积核,且输入通道为6,输出通道为16。

通常在卷积层之后应用非线性激活函数,如ReLU(Rectified Linear Unit),以引入非线性,使得网络能够学习更复杂的任务。

2.3 池化层(Pooling Layer)

用于降低特征的空间维度,减少参数数量和计算量,提高网络的鲁棒性。常见的池化操作有最大池化(Max Pooling)和平均池化(Average Pooling)。

  • 增加感受野 : 在卷积层之间增加池化,可以扩大感受野(receptive field)
  • 保持不变性: 对微小区域内具有平移不变性,层数多时,具有不变性的区域变大
  • 降低优化参数及难度: 相比较使用卷积层对数据进行下采样,池化层不需要优化参数,而且池化后数据量更少,也确保模型参数量更少

2.3.1平移不变性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值