机器学习之卷积神经网络--CNN介绍

简介: 机器学习之卷积神经网络--CNN介绍

卷积神经网络--CNN

1. 卷积神经网络介绍

卷积神经网络(Convolutional Neural Networks,CNN)是一种包
含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
常见的CNN网络有LeNet-5、VGGNet、GoogleNet、ResNet、
DenseNet、MobileNet等。
CNN主要应用场景: 图像分类、图像分割 、 目标检测 、 自然语言处
理等领域。

2. 卷积神经网络基本结构及原理

卷积神经网络基本结构

在这里插入图片描述

CNN基本结构:INPUT -> 卷积->激活 -> 池化 -> 全连接 ->OUTPUT

卷积层

对输入的图像数据与卷积核做卷积运算提取图像的高阶特征
卷积过程的几个参数
1、深度(depth):卷积核个数,也称神经元个数,决定输出的特征图的数量。
在这里插入图片描述

2、步长(stride):卷积核滑动一次的大小,决定滑动多少步可以到达边缘。
在这里插入图片描述
在这里插入图片描述

3、填充值(padding):在外围边缘补充0的层数。

卷积过程

在这里插入图片描述

卷积网络最主要的两个特征
1、局部感知
2、权值共享
激活层、Relu函数

池化层

下采样(downsamples),对输入的特征图进行压缩;
一方面使特征图变小,简化网络计算复杂度,有效控制过拟合;
另一方面进行特征压缩,提取主要特征。
池化,规模一般为 2*2,操作一般有2种:

  • 最大池化(Max Pooling)。取4个点的最大值。这是最常用的池化方法。
  • 均值池化(Mean Pooling)。取4个点的均值。
  • 在这里插入图片描述

全连接层

连接所有的特征,将输出值送给分类器,实现分类。
在这里插入图片描述

3. pytorch中卷积的实现

卷积层

torch.nn.Conv2d()
参数说明
in_channels:输入通道数(深度)
out_channels:输出通道数(深度)
kernel_size:滤波器(卷积核)大小
stride:表示滤波器滑动的步长
padding:是否进行零填充
bias:默认为 True,表示使用偏置
groups:控制分组卷积,默认不分组,为1组。
dilation:卷积对输入的空间间隔,默认为 True

激活层

torch.nn.ReLU()
参数说明
inplace:是否在原数据进行操作,默认是False

池化层

torch.nn.MaxPool2d()
torch.nn.AvgPool2d()
参数说明
kernel_size :表示做最大池化的窗口大小
stride:步长
padding:是否进行零填充
dilation:卷积对输入的空间间隔,默认为 True

全连接层

torch.nn.Linear()
参数说明
in_features :输入特征数;
out_features:输出特征数;
bias:默认为 True,表示使用偏置

4. 经典卷积神经网络介绍

Lenet-5

LeNet5卷积神经网络源于Yann LeCun在1998年发表的论文:Gradient-
based Learning Applied to Document Recognition,是一种用于手写数字识别的
卷积神经网络。
LeNet-5是CNN网络架构中最知名的网络模型,是卷积神经网络的开山之
作。

AlexNet

2012 年, AlexNet 横空出世。AlexNet 使⽤卷积神经⽹络,并以很⼤的优
势赢得了ImageNet 2012 图像识别挑战赛冠军。
Alexnet模型由5个卷积层和3个池化Pooling 层 ,其中还有3个全连接层构
成。AlexNet 跟 LeNet 结构类似,但使⽤了更多的卷积层和更⼤的参数空间来拟
合⼤规模数据集 ImageNet。它是浅层神经⽹络和深度神经⽹络的分界线。

cifar10数据介绍

CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一
个用于识别普适物体的小型数据集。一共包含 10 个类别的 RGB 彩色图 片:飞
机( a叩lane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿
( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车
( truck )。图片的尺寸为 32×32 ,数据集中一共有 50000 张训练圄片和
10000 张测试图片在这里插入图片描述

VGGNet

VGGNet 是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提
出的一种深层卷积网络结构,他们以 7.32% 的错误率赢得了 2014 年 ILSVRC 分
类任务的亚军。
VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了
16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络
最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的
泛化性也非常好。到目前为止,VGG仍然被用来提取图像特征。
VGG可以看成是加深版本的AlexNet。都是conv layer + FC layer

GoogleNet

GoogleNet是2014年Google团队提出的一种全新的深度学习结构,赢得了
2014 年 ILSVRC 分类任务的冠军。
GoogLeNet是第一个使用并行网络结构的经典模型,这在深度学习的发展
历程中是具有开创性意义的。
GoogLeNet最基本的网络块是Inception,它是一个并联网络块,经过不断
的迭代优化,发展出了Inception-v1、Inception-v2、Inception-v3、Inception-v4、
Inception-ResNet共5个版本。
Inception家族的迭代逻辑是通过结构优化来提升模型泛化能力、降低模型
参数。

ResNet

ResNet(残差网络) 网络是在 2015年 由微软实验室中的何凯明等几位大神
提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO
数据集中目标检测第一名,图像分割第一名。
它使用了一种连接方式叫做“shortcut connection”,顾名思义,shortcut就
是“抄近道”的意思。在这里插入图片描述
ResNet block有两种,一种两层结构,一种三层结构在这里插入图片描述

MobileNet

MobileNet是谷歌在2017年提出,专注于移动端或者嵌入式设备中的轻量
级CNN网络。
MobileNet的基本单元是深度可分离卷积,其可以分解为两个更小的操作:
depthwise convolution和pointwise convolution。

目录
相关文章
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
2月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
373 11
|
5月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本内容展示了一种基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测方法。通过 MATLAB2022a 实现,完整程序运行无水印,核心代码附详细中文注释及操作视频。算法利用 PSO 优化 TCN 的超参数(如卷积核大小、层数等),提升非线性时间序列预测性能。TCN 结构包含因果卷积层与残差连接,结合 LSTM 构建混合模型,经多次迭代选择最优超参数,最终实现更准确可靠的预测效果,适用于金融、气象等领域。
|
2月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
463 0
|
2月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
206 0
|
3月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
135 0
|
4月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
277 7
|
6月前
|
机器学习/深度学习 人工智能 算法
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
|
6月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于PSO(粒子群优化)改进TCN(时间卷积神经网络)的时间序列预测方法。使用Matlab2022a运行,完整程序无水印,附带核心代码中文注释及操作视频。TCN通过因果卷积层与残差连接处理序列数据,PSO优化其卷积核权重等参数以降低预测误差。算法中,粒子根据个体与全局最优位置更新速度和位置,逐步逼近最佳参数组合,提升预测性能。
|
5月前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。