一篇文章搞懂CNN(卷积神经网络)及其所含概念

简介: 一篇文章搞懂CNN(卷积神经网络)及其所含概念


当下,计算机视觉在人工智能领域中扮演着至关重要的角色。而卷积神经网络(Convolutional Neural Network,CNN)则是计算机视觉任务中最为常用且高效的模型之一。本文将介绍CNN的基本原理、架构和一些经典网络模型。并且解释上面这幅图。

1. 什么是卷积神经网络:

卷积神经网络 = 神经网络 + 其他层次

看到了吗,上图中只有绿色的部分是全连接神经网络,其余都是CNN加入的其他层次

2. 应用领域:

主要应用与计算机视觉领域(视频等于一张张图片)(一般用gpu(图像处理单元)比CPU快几百倍)

  1. 检测任务
  2. 分类与检索
  3. 超分辨率重构
  4. 人脸识别

3. 架构:

我们正式开始介绍CNN的架构,包括四个部分:

  1. 输入层

输入图像(h×w×c)

  1. 卷积层(CONV)

新概念:

卷积核(filter W)(权重参数矩阵)

过程:

通道的每个像素点(起初是 图像颜色通道:RGB(R channel,G channel,B channel))与每个卷积核维度卷积(与卷积核内积)后得到一个特征值

对每个颜色通道都要做卷积(这三个卷积核可以不一样),算完之后这三个通道结果加起来再加上偏置b,得到一个特征图(可以用多个卷积核卷积得到多个特征图)

总结就是:卷积核把箱子拍扁成一个一维度的更小的纸(等于 内积之和+偏置)

  1. 池化层(POOL)(压缩、下采样)

池化方法:

最大池化(MAX POOLING):提取最大值代替

不改特征图个数c,只缩减高h和宽w

  1. 全连接层(FC)

全连接开始前 卷积、激活函数(非线性变换 激活函数 RELU)、池化 循环使用,把最后结果拉成一条特征向量后交给全连接层

全连接层结构在这里就不多赘述了

4. 卷积层的参数和名词

参数:

  1. 边缘填充(pad):在最外层添加一圈数字(一般是0,因为0×任何数字都是0,防止干扰数据)从而防止对边缘的计算过少
  2. 卷积核个数:有多少个则得到多少个特征值
  3. 步长(S):卷积核移动的步长

卷积结果计算公式:

如果输入数据是32*32*3的图像,用10个5*5*3的filter来进行卷积操作指定步长为1,边界填充为2,最终输入的规模为?

(32-5+22)/1+1=32,所以输出规模为3232*10经过卷积操作后也可以保持特征图长度、宽度不变。

名词:

感受野:卷积后的一个像素点是由原来多少个像素计算得到的(比如上图的感受野就是3*3)

5. 注意:

带参数计算的(有w和b的、要根据设定更新东西的)层叫做一层,只有卷积层和全连接层被叫做层

堆叠小的卷积核比用一个大的卷积核需要的参数少(可以自己计算)

6. 经典网络:

在计算机视觉领域,有几个经典的CNN模型:

AlexNet:是2012年ImageNet竞赛的冠军,它引入了深度学习在计算机视觉中的重要性,并采用了多层卷积和全连接层的架构。

VGG:由牛津大学的研究团队提出,其特点是网络结构非常深,使用了连续的小卷积核进行卷积操作,参数量较大。

ResNet:引入了残差连接的思想,解决了深层网络训练中的梯度消失和梯度爆炸问题,使得网络可以更深。

目录
相关文章
|
29天前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
171 0
|
1月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
113 0
|
2月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
184 7
|
5月前
|
机器学习/深度学习 人工智能 算法
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
|
4月前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。
|
4月前
|
机器学习/深度学习 数据采集 并行计算
基于WOA鲸鱼优化的TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于TCN(Temporal Convolutional Network)与WOA(Whale Optimization Algorithm)的时间序列预测算法。TCN通过扩张卷积捕捉时间序列长距离依赖关系,结合批归一化和激活函数提取特征;WOA用于优化TCN网络参数,提高预测精度。算法流程包括数据归一化、种群初始化、适应度计算及参数更新等步骤。程序基于Matlab2022a/2024b开发,完整版含详细中文注释与操作视频,运行效果无水印展示。适用于函数优化、机器学习调参及工程设计等领域复杂任务。
|
7月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
390 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
7月前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-LSTM-SAM网络时间序列预测算法。使用Matlab2022a开发,完整代码含中文注释及操作视频。算法结合卷积层提取局部特征、LSTM处理长期依赖、自注意力机制捕捉全局特征,通过粒子群优化提升预测精度。适用于金融市场、气象预报等领域,提供高效准确的预测结果。
|
8月前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目使用MATLAB 2022a实现时间序列预测算法,完整程序无水印。核心代码包含详细中文注释和操作视频。算法基于CNN-LSTM-SAM网络,融合卷积层、LSTM层与自注意力机制,适用于金融市场、气象预报等领域。通过数据归一化、种群初始化、适应度计算及参数优化等步骤,有效处理非线性时间序列,输出精准预测结果。