Convolutional Neural Network(CNN)——卷积神经网络

1.NN的局限性

  • 拓展性差
    • NN的计算量大性能差,不利于在不同规模的数据集上有效运行
    • 若输入维度发生变化,需要修改并重新训练网络
  • 容易过拟合
    • 全连接导致参数量特别多,容易过拟合
    • 如果增加更多层,参数量会翻倍
  • 无法有效利用局部特征
    • 输入数据需要展平成一维,丢弃了图像等数据中的二维结构信息
    • 相邻层完全连接,关注的是全局,没有关注局部区域
  • 不具有平移不变性
    • 信息位置变换时,识别率就大幅降低

2.CNN的优势

• 大大降低过拟合的风险

• 利用数据中的局部结构

        • 局部结构比全局特征具有更好的泛化能力

        • 许多有用信息局限于局部区域

• 提高神经网络的鲁棒性

        • 平移不变性:位置的改变不会改变输出

        CNN常用于图像任务中

3.卷积

3.1 卷积操作

        CNN的核心部分在于卷积操作,其使用卷积过滤器/卷积核(convolution filters/kernels)。通过卷积操作可以实现特征提取。

        卷积操作如何实现?假设有一个5×5输入图像,使用一个3×3的卷积核(具体参数是什么意思会在后面介绍,这里不关键),卷积核参数如图。

        然后卷积核在输入图像上从左上角开始,从左到右,从上到下移动,每次移动一格,如果移动到右边位置不够一个卷积核大小则换行,如果移动到下面位置不够则直接结束,对应位置相乘相加再加上偏置项(可选)便是卷积后的输出

                                                                   

滑动6次后,下面已经不够位置了,卷积结束

        这里给出第一行怎么算出来的

        

        使用不同参数的卷积核可以达到不一样的效果

        同样的在卷积操作后会使用激活函数

        每一个数据点均经过激活函数进行非线性变换

3.2 卷积核

        卷积核包括如下几个参数

  • 卷积核大小:w×h,更大的卷积核会使输出尺寸更加小。常使用的有1×1,3×3,5×5,7×7。
  • 步长stride:卷积核每次滑动多少格。步长可以成倍的减少输出尺寸。
  • 输入通道数in_channels:就是输入数据是多少张叠加的,例如RGB图片就由R,G,B三通道合成的。输入通道为多少,就会使用多少个相同卷积核,分别对各个通道进行卷积,然后对应位置相加合成一个通道输出
  • 输出通道数out_channels:通过卷积可以生成多少个通道特征图,使用多少组卷积核就可以生成多少个输出通道。
  • 填充padding:在四周填充0像素的宽度,可以增大输出的尺寸。同时也可以解决常常丢失边缘像素的问题

        所以在1.的例子中,完整的描述应该是输入图像大小为5×5,通道数为1,设定卷积核大小为3×3,步长为1,输入通道数和输出通道数都为1,填充为0。

——卷积核上的权重参数同样通过训练学习而得,他就是CNN的神经元。

——输入的位置信息嵌入到特征通道中
——在一次卷积中不同位置用的都是同一个卷积核,只是它在移动的,因此输出共享权重,因此
显著减少参数数量
——卷积核每次都会卷积一个局部区域,因此它可以在数据中查找局部结构

——使用多个卷积核,每个卷积核都会专注于输入数据的不同属性,从而生成不同的特征

…………………………………………………………………………………………………………………

几个关于通道数的例子

1.输入通道数为3。设置卷积核大小为3×3,输入通道数为3,输出通道数为1,使用三个卷积核

2.输入通道数为3。设置卷积核大小为3×3,输入通道数为3,输出通道数为4。会使用4组每组3个卷积核。

3.输入通道数为1。设置卷积核大小为3×3,输入通道数为1,输出通道数为3。会使用3组每组1个卷积核。

        将所有这些通道堆叠在一起,我们可以得到一个特征图。

…………………………………………………………………………………………………………………

如何计算输出尺寸

卷积层输出大小 = (输入图像大小 - 卷积核大小 + 2 × 填充数) ÷ 步幅大小 + 1

output = (input - kernel_size + 2padding) / stride + 1

如果输入宽高可以被步幅整除,那么

output = input / stride

4.池化

        池化同样会使用一个核,然后滑动,但这个核不带权重参数。池化层不会改变通道数,常用于减小特征图的尺寸。

其参数如下:

1.卷积核大小

2.步长

3.填充

        输出尺寸计算同卷积操作。当有多个输入通道数,会对每一个输入通道进行池化操作然后合并输出通道只有一个

池化层的作用:

  • 下采样(减少尺寸)减少过多的信息。这也会导致信息丢失
  • 增加额外的非线性变换,减少过拟合
  • 引入平移不变性
  • 关注特征而不是它们的位置,降低对位置的敏感性(通过下面两个操作就知道为什么)。卷积操作对位置很敏感。

1.最大池化(Max pooling)

        取核对应部分的最大值

• 达到特征选择的效果
• 引入额外的非线性映射

2.平均池化(Average pooling)

        取核对应部分的平均值

• 比起最大池化层更好地保留信息

• 减少神经元数量

• 线性操作

• 全局平均池化可以有效抵抗深度CNN中的过拟合。

全局平均池化(GAP)是一种对整个特征图进行操作的池化方法。它的操作步骤如下:

  1. 对于给定的特征图,针对每个通道,计算该通道内所有元素的平均值。
  2. 将每个通道内的平均值作为该通道的汇总特征。
  3. 最终得到一个包含所有通道汇总特征的向量
  4. 全局平均池化通常用作最后一层卷积层之后,用来减少特征图的维度,并生成一个包含每个通道重要特征的向量。这个向量可以输入到全连接层或分类器中,以进行最终的分类或预测任务。

最终得到的汇聚特征向量可以看作是整个特征图的全局信息表示

5.卷积块

        一个基本的卷积块通常由卷积+激活+池化构成

6.卷积神经网络

卷积神经网络通常包含若干个卷积块用于特征提取,接着使用全局平均池化层生成一个包含每个通道重要特征的向量并通过flatten拉成一维列向量,接着使用一个全连接层,全连接层输出大小一般是分类数目,接着连接一个softmax完成分类任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

结构型设计模式(三)享元模式 代理模式 桥接模式

享元模式 Flyweight 1、什么是享元模式 享元模式的核心思想是共享对象,即通过尽可能多地共享相似对象来减少内存占用或计算开销。这意味着相同或相似的对象在内存中只存在一个共享实例。 2、为什么使用享元模式 减少内存使用:通过共享相似对象&#…

汽车UDS诊断——SecureDataTransmission 加密数据传输(0x84)

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍诊断和通讯管理功能单元下的84服务SecureDataTransmission,在常规诊断通信中,数据极易被第三方获取,所以在一些特殊的数据传输时,标准定义了加密数据传输的服务。 简而言之,就是在发送诊断数据时,发送方先把数…

fragstats:景观指数的时间序列分析框架

作者:CSDN _养乐多_ 本文将介绍景观指数的时间序列分析计算的软件使用方法和 python 代码,该框架可用于分析景观指数时间序列图像的趋势分析、突变分析、机器学习(分类/聚类/回归)、相关性分析、周期分析等方面。 文章目录 一、…

智能优化算法应用:基于人工电场算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工电场算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工电场算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工电场算法4.实验参数设定5.算法结果6.…

04-Revision和流量管理

1 Revision 关于Revision 应用程序代码及相关容器配置某个版本的不可变快照KService上的spec.template的每次变动,都会自动生成一个新的Revision通常不需要手动创建及维护 Revision的使用场景 将流量切分至不同版本的应用程序间(Canary Deployment、Blu…

静态路由及动态路由

文章目录 静态路由及动态路由一、静态路由基础1. 静态路由配置2. 负载分担3. 路由备份4. 缺省路由5. 静态路由实操 二、RIP 动态路由协议1. RIP 协议概述2. RIP 协议版本对比2.1 有类路由及无类路由 3. RIP 路由协议原理4. RIP 计时器5. 度量值6. 收敛7. 示例 静态路由及动态路…

Kafka基本原理及使用

目录 基本概念 单机版 环境准备 基本命令使用 集群版 消息模型 成员组成 1. Topic(主题): 2. Partition(分区): 3. Producer(生产者): 4. Consumer(…

使用TensorRT对Yolov5进行部署【基于Python】

如果还未配置TensorRT,请看这篇博文:Win11下TensorRT环境部署 这里使用TensorRT对Yolov5进行部署流程比较固定:先将pt模型转换为onnx,再将onnx模型转为engine,所以在执行export.py时要将onnx、engine给到include。 P…

Linear Regression线性回归(一元、多元)

目录 介绍: 一、一元线性回归 1.1数据处理 1.2建模 二、多元线性回归 2.1数据处理 2.2数据分为训练集和测试集 2.3建模 介绍: 线性回归是一种用于预测数值输出的统计分析方法。它通过建立自变量(也称为特征变量)和因变…

【Redis】五、Redis持久化、RDB和AOF

文章目录 Redis持久化一、RDB(Redis DataBase)触发机制如何恢复rdb文件 二、AOF(Append Only File)三、扩展 Redis持久化 面试和工作,持久化都是重点! Redis 是内存数据库,如果不将内存中的数据…

微服务实战系列之ZooKeeper(实践篇)

前言 关于ZooKeeper,博主已完整的通过庖丁解牛式的“解法”,完成了概述。我想掌握了这些基础原理和概念后,工作的问题自然迎刃而解,甚至offer也可能手到擒来,真实一举两得,美极了。 为了更有直观的体验&a…

uniapp 预览图片

preImg(index){let urls []this.images.map((item,i) > {if(indexi){urls.unshift(item.file_path)}else{urls.push(item.file_path)}})uni.previewImage({urls})}

linux之Samba服务器

环境:虚拟机CENTOS 7和 测试机相通 一、Samba服务器_光盘共享(匿名访问) 1.在虚拟机CENTOS 7安装smb服务,并在防火墙上允许samba流量通过 2. 挂载光盘 3.修改smb.conf配置文件,实现光盘匿名共享 4. 启动smb服务 5.在…

JVM基础扫盲

什么是JVM JVM是Java设计者用于屏蔽多平台差异,基于操作系统之上的一个"小型虚拟机",正是因为JVM的存在,使得Java应用程序运行时不需要关注底层操作系统的差异。使得Java程序编译只需编译一次,在任何操作系统都可以以相…

英码科技受邀参加2023计算产业生态大会,分享智慧轨道交通创新解决方案

12月13-14日,“凝心聚力,共赢计算新时代”——2023计算产业生态大会在北京香格里拉饭店成功举办。英码科技受邀参加行业数字化分论坛活动,市场总监李甘来先生现场发表了题为《AI哨兵,为铁路安全运营站好第一道岗》的精彩主题演讲&…

1951 年以来的美国ACIS 气候地图数据集(5 公里空间分辨率)

应用气候信息系统 (ACIS) NRCC NN ACIS是Applied Climate Information System的缩写,是由美国国家气象局(NOAA)开发的一种气候信息系统。ACIS气候地图是通过收集和整理全球的气象数据,利用计算机技术和数据分析方法生成的气候图表…

计算机组成原理-选择语句和循环语句的汇编表示

文章目录 选择语句jmpjxx示例:选择语句的机器级表示扩展:cmp指令的底层原理 循环语句使用条件转移指令实现循环用loop指令实现循环 选择语句 不一定知道指令的位置,所以jmp直接跳转到指令的位置很难办 jmp 标号相当于位置,名字…

解决win11杀毒(不能安装破解软件的问题)

1、下载火绒APP,打开火绒APP软件 2、点击菜单,选择安全设置 3、选择病毒防护,修改病毒处理方式为询问我 4、这样在解压激活的软件就不会被windows的杀毒软件自动删除了 5、问题解决了就点击三连吧

永久删除的文件如何恢复?这3个简单方法可以帮到你!

“我在清理电脑的过程中,一不小心就删除了一些很重要的文件和数据,很想通过某种方法将这些数据找回来,但是不知道应该如何操作,有朋友可以分享一下文件找回的简单方法吗?” 在日常生活和工作中,我们时常会遇…

【JAVA基础(对象和封装以及构造方法)】----第四天

对象和封装以及构造方法 面向对象和面向过程面向过程面向对象 类与对象及其使用定义类创建一个对象,操作类补充(成员变量和局部变量) private 修饰类 封装练习编写类编写测试输出结果 面向对象和面向过程 面向过程 在了解面向对象之前先来了…