CNN卷积神经网络

简介: 一、BP神经网络回顾人工全连接神经网络(1)每相邻两层之间的每个神经元之间都是有边相连的(2)当输入层的特征维度变得很高时,这时全连接网络需要训练              的参数就会增大很多,计算速度就会变得...

一、BP神经网络回顾


人工全连接神经网络
(1)每相邻两层之间的每个神经元之间都是有边相连的
(2)当输入层的特征维度变得很高时,这时全连接网络需要训练
              的参数就会增大很多,计算速度就会变得很慢
传统神经网络存在的问题:
(1)权值太多,计算量太大
(2)权值太多,需要大量样本进行训练

二、CNN卷积神经网络
1、CNN的主要概述
卷积层的神经元只与前一层的 部分神经元节点相连 ,即它的神经元间的连接是非全连接的,且同一层中某些神经元之间的连接的 权重w 偏置b 是共享的(即相同的)
      大量地减少了需要训练参数的数量
CNN主要特点 :减少权值,局部连接,权值共享
CNN通过 感受野 权值共享 减少了神经网络需要训练的参数的个数。
2、CNN的一般结构
输入层 :用于数据的输入
卷积层 :使用 卷积核 进行 特征提取 特征映射
激励层 :由于卷积也是一种线性运算,因此需要增加非线性映射
池化层 :压缩数据和参数的量,减小过拟合。
全连接层 :通常在 CNN 的尾部进行重新拟合,减少特征信息的损失
输出层 :用于输出结果
(1)输入层
在CNN的输入层中,(图片)数据输入的格式与全连接神经网络的输入格式(一维向量)不太一样。CNN的输入层的输入 格式保留了图片本身的结构
对于黑白的 28×28 的图片,CNN的输入是一个28×28 的的 二维神经元
对于RGB格式的28×28图片,CNN的输入则是一个 3×28×28 的 三维神经元 (RGB中的每一个颜色通道都有一个 28×28 的矩阵),如下图所示:

(2)卷积层
需要明确的几个概念:
感受视野(  local receptive fields
    即感受 上一层的部分特征。在卷积神经网络中,隐藏层中的神经元的感受视野比较小,只能看到上一次的 部分特征 ,上一层的其他特征可以通过 平移感受视野 来得到同一层的其他神经元。
卷积核
    感受视野中的 权重矩阵
共享权值( shared weights
步长( stride
    感受 视野对输入的扫描间隔称为 步长( stride
边界扩充( pad
     当 步长比较大时( stride>1 ),为了扫描到边缘的一些特征,感受视野可能会 “出界” ,这时需要对 边界扩充 (pad)
特征映射图( feature map
     通过一 个带有 卷积核 感受视野  扫描生成的下一层神经元矩阵 称为一个 特征映射图( feature map
通过以下图理解以上概念及卷积计算



(3)激励层
激励层主要对卷积层的输出进行一个 非线性映射 ,因为卷积层的计算还是一种线性计算。使用的激励函数一般为 ReLu 函数
      卷积 层和激励层通常合并在一起称为“卷积层”。
(4)池化层
当输入经过卷积层时,若感受视野比较小,布长 stride 比较小,得到的 feature map (特征映射图)还是比较大,可以通过池化层来对每一个 feature map 进行 降维操作 ,输出的深度还是不变的,依然为 feature map 的个数。
池化层也有一个“池化视野( filter )”来对 feature map 矩阵进行扫描,对“池化视野”中的 矩阵值进行计算 ,一般有两种计算方式:
   (1 Max pooling :取“池化视野”矩阵中的 最大值
   (2 Average pooling :取“池化视野”矩阵中的 平均值


(5)全连接层和输出层
全连接层 主要对特征进行重新拟合,减少特征信息的丢失。
输出层 主要准备做好最后目标结果的输出。
(6)中间还可以使用其他的功能层
归一化层 Batch Normalization ):在 CNN 中对特征的归一化
  切分层 :对某些(图片)数据的进行分区域的单独学习
   融合层 :对独立进行特征学习的分支进行融合



CNN卷积神经网络实现Mnist数据集:








参考博客资料:




相关文章
|
8天前
|
算法
m基于Faster-RCNN网络的人员摔倒检测系统matlab仿真,带GUI操作界面
m基于Faster-RCNN网络的人员摔倒检测系统matlab仿真,带GUI操作界面
18 9
|
14天前
|
机器学习/深度学习 测试技术 Ruby
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
27 2
|
16天前
|
机器学习/深度学习 编解码 PyTorch
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)
|
22天前
|
机器学习/深度学习 网络架构 计算机视觉
CNN经典网络模型之GoogleNet论文解读
GoogleNet,也被称为Inception-v1,是由Google团队在2014年提出的一种深度卷积神经网络架构,专门用于图像分类和特征提取任务。它在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)比赛中取得了优异的成绩,引入了"Inception"模块,这是一种多尺度卷积核并行结构,可以增强网络对不同尺度特征的感知能力。
|
1月前
|
机器学习/深度学习 算法 PyTorch
简单讲解CNN(卷积神经网络)
简单讲解CNN(卷积神经网络)
25 1
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习及CNN、RNN、GAN等神经网络简介(图文解释 超详细)
深度学习及CNN、RNN、GAN等神经网络简介(图文解释 超详细)
90 1
|
2月前
|
机器学习/深度学习
CNN卷积神经网络手写数字集实现对抗样本与对抗攻击实战(附源码)
CNN卷积神经网络手写数字集实现对抗样本与对抗攻击实战(附源码)
20 0
|
2月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
25 0
|
2月前
|
机器学习/深度学习 并行计算 算法
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
42 0
|
2月前
|
机器学习/深度学习 存储 自然语言处理
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
61 0

热门文章

最新文章

相关产品