cnn算法

article/2025/9/25 23:19:26

机器学习算法完整版见fenghaootong-github

卷积神经网络原理(CNN)

卷积神经网络CNN的结构一般包含这几个层:

  • 输入层:用于数据的输入
  • 卷积层:使用卷积核进行特征提取和特征映射
  • 激励层:由于卷积也是一种线性运算,因此需要增加非线性映射
  • 池化层:进行下采样,对特征图稀疏处理,减少数据运算量。
  • 全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失

CNN的三个特点:

  • 局部连接:这个是最容易想到的,每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。这样就减少了很多参数
  • 权值共享:一组连接可以共享同一个权重,而不是每个连接有一个不同的权重,这样又减少了很多参数。

  • 下采样:可以使用Pooling来减少每层的样本数,进一步减少参数数量,同时还可以提升模型的鲁棒性。

这里写图片描述

输入层

在CNN的输入层中,(图片)数据输入的格式 与 全连接神经网络的输入格式(一维向量)不太一样。CNN的输入层的输入格式保留了图片本身的结构。

对于黑白的 28×28 的图片,CNN的输入是一个 28×28 的的二维神经元:

而对于RGB格式的28×28图片,CNN的输入则是一个 3×28×28 的三维神经元(RGB中的每一个颜色通道都有一个 28×28 的矩阵)

卷积层

这一层就是求内积

这里写图片描述

左边是输入,中间部分是两个不同的滤波器Filter w0、Filter w1,最右边则是两个不同的输出。

最左边是输出为:

ai.j=f(m=02n=02wm,nxi+m,j+n+wb) a i . j = f ( ∑ m = 0 2 ∑ n = 0 2 w m , n x i + m , j + n + w b )

以上图为例:

  • wm,n w m , n :filter的第m行第n列的值
  • xi,j x i , j : 表示图像的第i行第j列元素
  • wb w b :用表示filter的偏置项
  • ai,j a i , j :表示Feature Map的第i行第j列元素
  • f f :表示Relu激活函数

激励层

激励层主要对卷积层的输出进行一个非线性映射,因为卷积层的计算还是一种线性计算。使用的激励函数一般为ReLu函数:

f(x)=max(x,0)

卷积层和激励层通常合并在一起称为“卷积层”。

池化层

当输入经过卷积层时,若感受视野比较小,布长stride比较小,得到的feature map (特征图)还是比较大,可以通过池化层来对每一个 feature map 进行降维操作,输出的深度还是不变的,依然为 feature map 的个数。

池化层也有一个“池化视野(filter)”来对feature map矩阵进行扫描,对“池化视野”中的矩阵值进行计算,一般有两种计算方式:

  • Max pooling:取“池化视野”矩阵中的最大值
  • Average pooling:取“池化视野”矩阵中的平均值

这里写图片描述

全连接层

  • 和神经网络一样

卷积神经网络的训练

  1. 前向计算每个神经元的输出值 aj a j ( 表示网络的第j个神经元,以下同);
  2. 反向计算每个神经元的误差项 σjσj σ j , σ j 在有的文献中也叫做敏感度(sensitivity)。它实际上是网络的损失函数 Ed E d 对神经元加权输入的偏导数
  3. 计算每个神经元连接权重 wi,j w i , j 的梯度( wi,j w i , j 表示从神经元i连接到神经元j的权重)
    • 最后,根据梯度下降法则更新每个权重即可。

实例

CNN实例


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

相关文章

cnn-lstm介绍(2)

1. CNN-LSTM模型。CNN具有注意最明显的特征,因此在特征工程中得到了广泛的应用。LSTM有,按时间顺序扩张的特性,广泛应用于时间序列中。 根据CNN和LSTM股票预测模型的特点 建立了基于CNN的LSTM模型-e模型结构 示意图如图1所示,主…

实例分割模型Mask R-CNN详解:从R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN

Mask R-CNN是ICCV 2017的best paper,彰显了机器学习计算机视觉领域在2017年的最新成果。在机器学习2017年的最新发展中,单任务的网络结构已经逐渐不再引人瞩目,取而代之的是集成,复杂,一石多鸟的多任务网络模型。Mask …

CNN与RNN的区别

从应用方面上来看,我了解到的CNN用到做图像识别比较多,而RNN在做到语言处理多一点,如果拿来比喻的话,CNN如同眼睛一样,正是目前机器用来识别对象的图像处理器。相应地,RNN则是用于解析语言模式的数学引擎&a…

卷积神经网络(CNN)结构详解

一、CNN的基本结构: 1.图像就是输入层 2.接着是CNN特有的卷积层(convolution),卷积层的自带激活函数使用的是ReLU 3.接着是CNN特有的池化层(pooling), 4.卷积层池化层的组合可以在隐藏层中出…

CNN的实现(附代码)

前言 前文已经单独实现了卷积层和池化层,现在来组合这些层,搭建进行手写数字识别的CNN。 这个简单的CNN网络构成如下。 网络的构成是“Convolution - ReLU - Pooling -Affine - ReLU - Affine - Softmax”,我们将它实现为名为SimpleConvNet…

CNN卷积网络简介

CNN卷积网络 CNN卷积网络的结构 输入层: 输入层是3232 RGB图像。 注:有必要计算每一层输出的图片大小。 卷积层: 卷积层的核心在于卷积核与激活函数。   卷积层最主要的作用是寻找与卷积核匹配的特征,因为与卷积核符合(卷积核…

CNN的通俗理解

Agenda 1 卷积神经网络Convolutional Neural Networks,CNN1.1 前言1.2 图像转化成矩阵1.3 卷积核1.4 特征图feature map1.5 激活函数1.6 池化1.7 训练 1 卷积神经网络Convolutional Neural Networks,CNN 1.1 前言 卷积神经网络是针对图像的深度学习框架。 1.2 图像转化成矩阵…

CNN网络详解

分割线----------------------------------   这里更新过一次,在朋友的提醒下,我发现这份代码不是很容易懂。我使用了Pytorch给的官方demo重新实现了LeNet,并做出了详细解释,如果理解下面代码有问题,可以先看我的这篇…

卷积神经网络(CNN)基本概念

一、卷积神经网络基本概念 卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元相连接。在CNN的一个卷积层中,通常包含若干个特征平面,每个特征平面都由一些矩形排列的神经元…

CNN简单介绍及基础知识

文章目录 一)卷积神经网络历史沿革 二)CNN简单介绍 三)CNN相关基础知识 前言 在过去的几年里,卷积神经网络(CNN)引起了人们的广泛关注,尤其是因为它彻底改变了计算机视觉领域,它是近年来深度学习能在计算机…

一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD

一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD 前言 之前我所在的公司七月在线开设的深度学习等一系列课程经常会讲目标检测,包括R-CNN、Fast R-CNN、Faster R-CNN,但一直没有比较好的机会深入(但当你对目标检测…

理解 CNN

理解 CNN 注意:下面提到的图像指位图 目录 理解 CNNCNN人类的视觉原理几个关键层卷积层(fliter、kernel)池化层 (pooling) 激活层(activate)全连接层(Linear) pytorch实现TextCNN卷积传播图解不同视角看CNN 参考 CNN 卷积神经网络-CNN 最擅长的就是图片的处理。它…

【深度学习】CNN算法

一.定义: 卷积神经网络(CNN),是一类包含卷积计算且具有深度结构前馈神经网络,是深度学习(deep learning)的代表算法之一。 卷积神经网络具有表征能力,能够按其阶层结构对输入信息进…

Python CNN卷积神经网络实例讲解,CNN实战,CNN代码实例,超实用

一、CNN简介 1. 神经网络基础 输入层(Input layer),众多神经元(Neuron)接受大量非线形输入讯息。输入的讯息称为输入向量。 输出层(Output layer),讯息在神经元链接中传输、分析、权…

CNN(卷积神经网络)详解

Why CNN 首先回答这样一个问题,为什么我们要学CNN,或者说CNN为什么在很多领域收获成功?还是先拿MNIST来当例子说。MNIST数据结构不清楚的话自行百度。。 我自己实验用两个hidden layer的DNN(全连接深度神经网络)在MNIST上也能取得不错的成绩…

CNN(Convolutional Neural Network)

CNN的基本结构 图中是一个图形识别的CNN模型。可以看出最左边的船的图像就是我们的输入层,计算机理解为输入若干个矩阵,这点和DNN基本相同。 接着是卷积层(Convolution Layer),这个是CNN特有的。卷积层的激活函数使用的是ReLU。我…

CNN(卷积神经网络)是什么?(转)

 作者:机器之心 链接:https://www.zhihu.com/question/52668301/answer/131573702 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 卷积神经网络,听起来…

CNN

卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。CNN在图像分类数据集上有非常突出的表现。 DNN与CNN 下图为DNN: 下图为CNN: 虽然两张图的结构…

CNN卷积神经网络(图解CNN)

文章目录 什么是卷积神经网络:1)网络结构2)局部感受野与权值共享3)卷积层、下采样层、全连接层卷积神经网络相比一般神经网络在图像理解中的优点:边缘检测卷积运算卷积层卷积后维度公式及运算示例 Padding填充Valid卷积…

CNN-卷积神经网络

一、基本的神经网络结构 神经网络其实就是按照一定规则连接起来的多个神经元,输入向量的维度和输入层(Input Layer)神经元个数相同,分类问题的类别个数决定输入层(Output Lazyer)的神经元个数。第N层的神经…