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数据集:








参考博客资料:




相关文章
|
12天前
|
机器学习/深度学习 计算机视觉 网络架构
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
纵观近年的顶会论文和研究热点,我们不得不承认一个现实:CNN相关的研究论文正在减少,曾经的"主角"似乎正逐渐淡出研究者的视野。
45 11
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。
|
6天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
7天前
|
机器学习/深度学习 人工智能 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
17 1
|
11天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
15天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
12天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
29 0
|
15天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第32天】本文将介绍深度学习中的一个重要分支——卷积神经网络(CNN),以及其在图像识别领域的应用。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库构建一个基本的CNN模型,并对其进行训练和测试。
|
1月前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第7天】本文将深入探讨卷积神经网络(CNN)的基本原理,以及它如何在图像识别领域中大放异彩。我们将从CNN的核心组件出发,逐步解析其工作原理,并通过一个实际的代码示例,展示如何利用Python和深度学习框架实现一个简单的图像分类模型。文章旨在为初学者提供一个清晰的入门路径,同时为有经验的开发者提供一些深入理解的视角。

热门文章

最新文章

下一篇
无影云桌面