【神经网络】CNN

article/2025/10/2 6:16:41

CNN工作原理笔记

  • 卷积神经网络定义
  • 卷积运算
  • 池化
  • 激活函数
  • 全连接
  • 反向传播算法
  • 其他应用
  • 延伸知识

首先放个学习视频链接: 大白话讲解卷积神经网络工作原理.

卷积神经网络定义

CNN其实就相当于黑箱,有输入输出
输入:二维像素阵列
输出:判决结果(图片语义)

鲁棒性抗干扰性

即使有部分旋转,但是特征仍然保留
为了与原图进行对比,因此我们需要提取出原图的特征,叫做卷积核特征提取器

卷积核/特征提取器
卷积操作:把原图中包含此特征的部分提取出来。

卷积运算

在这里插入图片描述绿色表示原图数据,黄色表示卷积核与其相乘,得到的值放在一个新的矩阵上,叫做Feature Map,就相当于卷积核把原图的特征提取出来反映在Map上。
卷积数学操作示意图在这里插入图片描述
当然,不同的卷积核与原图进行卷积就能得到不同的结果:
不同卷积核与原图进行卷积注意:原图中一定要卷积核,如果原图中不包含,则出来都是乱码。
3.27补充:实际进行图像处理时提取卷积核:

图片来源

池化

上面我们已经介绍了卷积神经网络中最重要的一步,也就是卷积,但是在实际应用中,实时性要求非常高,我们需要在短时间内得到结果,所以我们要将Feature Map进行缩小。

这里缩小的操作叫做池化,也叫下采样
池化示意图
当然,减少数据量就意味着会牺牲一部分信息,当然,这需要在我们的可接受范围内。

池化的方式又分为两种:
max pooling:选取最大值作为代表
average pooling:选取平均值作为代表
一般选用第一种

注:卷积时设置了步长,如果矩阵维数不是步长的整数倍,则最后要进行补零操作(zero padding)。

激活函数

修正线性单元:Rectified Linear Units(ReLUs)简单来说就是把所有小于0的抹成0,大于0的不变。
好处:矩阵运算,梯度下降

全连接

将矩阵从左往右排排坐

每个像素点都有权重

全连接的概念:判决时与每一个神经元相连接,是所有的神经元乘以权重后进行相加。


IMAGENET

卷积3D可视化

反向传播算法

损失函数:将神经网络的结果与原图进行比较计算
我们的目标就是把误差函数降到最低
通过修改卷积核的参数修改全连接每一个神经元的权重进行微调,最后使得损失函数最小。
之所以叫反向传播,是因为误差是一层一层反馈回去的。
通过喂大量的数据,这也就是机器学习能力。

梯度下降算法:怎么将损失函数降到最低呢,对其求导,找到其最小值。

当找到损失函数最小值时,我们就认为成功了。

Hyperparameters:初始参数,首先人为定好

搭框架主要靠经验,多少层合适?怎么排合适?其实都是随意的,但是一般都有规律可循。

其他应用

视频:随时间(时间与频谱)
音频:声音也可以转成图片类似的数据,声音转为文本
纵轴是词在词典中的位置

但是也有一些不能用神经网络处理的:
这些行之间改变,影响不大
但是你看比如图像,行之间改变,就不是原来的图像了,影响很大。

延伸知识

之前大家一直使用的是支持向量机,错误率很高
但是2012年神经网络横空出世,大幅降低错误率

GoogLeNet:
VGG:牛津 在迁移学习中较强
ResNet:深度残差网络 大幅减少参数数量


http://chatgpt.dhexx.cn/article/lGt5USUL.shtml

相关文章

CNN+RNN

CNN,RNN(recurrent, 下同)结合到一起可以建立一个更好的model 1. CRNN(先CNN,后RNN) References: An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition 一般用于基…

CNNs: ZFNet之CNN的可视化网络介绍

CNNs: ZFNet之CNN的可视化网络介绍 导言Deconvnet1. Unpooling2. ReLU3. Transpose conv AlexNet网络修改AlexNet Deconv网络介绍特征可视化 导言 上一个内容,我们主要学习了AlexNet网络的实现、超参数对网络结果的影响以及网络中涉及到一些其他的知识点&#xff0…

吊炸天的CNNs,这是我见过最详尽的图解!(上)

导读:卷积神经网络(CNNs)在“自动驾驶”、“人脸识别”、“医疗影像诊断”等领域,都发挥着巨大的作用。这一无比强大的算法,唤起了很多人的好奇心。当阿尔法狗战胜了李世石和柯杰后,人们都在谈论“它”。但…

深度学习—CNN

CNN简介 卷积神经网络 – CNN 最擅长的就是图片的处理。它受到人类视觉神经系统的启发。 CNN 有2大特点: 能够有效的将大数据量的图片降维成小数据量能够有效的保留图片特征,符合图片处理的原则 目前 CNN 已经得到了广泛的应用,比如&…

吊炸天的CNNs,这是我见过最详尽的图解!(下)

【摘要】本文详细介绍了卷积神经网络的运行原理,特别是池化、全连接等过程。为了使大家更快、更轻松的入门,文章没有晦涩难懂的术语和公式,全部采用“图形”的方式来描述。文末的延展阅读部分,更加入了彩色图片卷积原理的手工演算…

CNNs:ZFNet之基于AlexNet特征可视化实验分析

CNNs:ZFNet之基于AlexNet特征可视化实验分析 导言基于AlexNet网络的实验分析实验一:不同卷积层特征提取分析实验二:不同卷积层提取特征收敛分析 ZFNet网络介绍基于ZFNet网络的实验分析实验三:针对AlexNet特征提取改善可视化实验四:特征不变性…

CNN详细学习

前馈神经网络 MLP:multi-layer percetron Feed Forward and Back error propagation解决异或划分问题 缺点: 容易过拟合容易陷入局部最优化梯度消失计算资源不充分,训练集小 DNN 深一点效果好,宽一点容易理解,发现…

CNNs 入门论文汇总

Introduction 本文主要总结了卷积神经网络在机器视觉领域的重要发展及其应用。我们将介绍几篇重要的公开发表的论文,讨论它们为何重要。前一半的论文(AlexNet到ResNet)将主要涉及整体系统架构的发展和演变,后一半论文将主要集中在…

论文阅读和分析:《DeepGCNs: Can GCNs Go as Deep as CNNs?》

下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1、EEG-SEED数据集作者的—基线论文阅读和…

Gated-SCNN: Gated Shape CNNs for Semantic Segmentation

目录 作者 一、Model of Gated-SCNN 二、 Gated Shape CNN 1.Regular Stream 2.Shape Stream 3. Gate Conv Layer 4.ASPP 5 总代码 三 损失函数 1.BoundaryBCELoss 2.DualTaskLoss 作者 一、Model of Gated-SCNN 文章使用了双流CNN来处理语义分割中的边界问题,分为R…

(整理)吊炸天的CNNs,这是我见过最详尽的图解!(下)

之前在CSDN上看到这篇文章,觉得通俗易懂,写的非常好。不过近来再次查看,发现文章的照片莫名其妙的没有了,没有图就根本看不懂了。找到了之前关注的微信公众号:AI传送门 。 在里面找到了这篇文章,决定再把这…

CNNs详尽图解

已经成为每一个初入人工智能——特别是图像识别领域的朋友,都渴望探究的秘密。 本文通过“算法可视化”的方法,将卷积神经网络的原理,呈献给大家。教程分为上、下两个部分,通篇长度不超过7000字,没有复杂的数学公式&a…

学习笔记:利用CNNs进行图像分类

1.神经网络图像(CNNs)分类简介 本文将重点关注卷积神经网络,也被称为CNNs或Convnets。CNNs是一种特殊类型的神经网络,特别适合于图像数据。自2012年以来,ImageNet竞赛(ImageNet)一直由CNN架构赢得。 在本文中&#x…

(整理)吊炸天的CNNs,这是我见过最详尽的图解!(上)

之前在CSDN上看到这篇文章,觉得通俗易懂,写的非常好。不过近来再次查看,发现文章的照片莫名其妙的没有了,没有图就根本看不懂了。找到了之前关注的微信公众号:AI传送门 。 在里面找到了这篇文章,决定再把这…

交叉验证

概述Holdout 交叉验证K-Fold 交叉验证Leave-P-Out 交叉验证总结 概述 交叉验证是在机器学习建立模型和验证模型参数时常用的办法。 顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集。 用训练集来训练模型&…

交叉验证评估模型性能

在构建一个机器学习模型之后,我们需要对模型的性能进行评估。如果一个模型过于简单,就会导致欠拟合(高偏差)问题,如果模型过于复杂,就会导致过拟合(高方差)问题。为了使模型能够在欠拟合和过拟合之间找到一个折中方案,我们需要对模型进行评估,后面将会介绍holdout交叉…

Python实现:Hold-Out、k折交叉验证、分层k折交叉验证、留一交叉验证

模型在统计中是极其重要的,可以通过模型来描述数据集的内在关系,了解数据的内在关系有助于对未来进行预测。一个模型可以通过设置不同的参数来描述不同的数据集,有的参数需要根据数据集估计,有的参数需要人为设定(超参…

深度理解hold-out Method(留出法)和K-fold Cross-Validation(k折交叉验证法)

模型评估(Model Evaluation) 1.测试集(testing set) 测试集(testing set): 通常,我们可通过实验测验来对学习器的泛化误差进行评估并进而做出选择,为此,需要一个“测试集”来测试学习器对新样本的判别能力。然后以测试集上的“测…

cross-validation:从 holdout validation 到 k-fold validation

构建机器学习模型的一个重要环节是评价模型在新的数据集上的性能。模型过于简单时,容易发生欠拟合(high bias);模型过于复杂时,又容易发生过拟合(high variance)。为了达到一个合理的 bias-vari…