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

news2024/11/26 0:57:13

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.coloradmin.cn/o/1321085.html

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

相关文章

【华为数据之道学习笔记】5-9图模型设计

图模型作为当前流行的信息处理加工技术,自提出以来,迅速在学术界和工业界得到了普及,在智能推荐、决策分析等方面有着广泛的应用。 图模型由节点和边组成。节点表示实体或概念,边则由属性或关系构成。实体指的是具有可区别性且独立…

区域和检索算法(leetcode第303题)

题目描述&#xff1a; 给定一个整数数组 nums&#xff0c;处理以下类型的多个查询:计算索引 left 和 right &#xff08;包含 left 和 right&#xff09;之间的 nums 元素的 和 &#xff0c;其中 left < right 实现 NumArray 类&#xff1a;NumArray(int[] nums) 使用数组…

Spark编程实验二:RDD编程初级实践

目录 一、目的与要求 二、实验内容 三、实验步骤 1、pyspark交互式编程 2、编写独立应用程序实现数据去重 3、编写独立应用程序实现求平均值问题 4、三个综合实例 四、结果分析与实验体会 一、目的与要求 1、熟悉Spark的RDD基本操作及键值对操作&#xff1b; 2、熟悉使…

Flutter ios 使用ListView 。滚动时 AppBar 改变颜色问题

在Ios 中 列表滚动条向下滚动一段距离后 会导致 AppBar 颜色改变 可以给 AppBar 或者 AppBarTheme。 scrolledUnderElevation: 0.0 属性 全局&#xff1a; MaterialApp(theme: ThemeData(appBarTheme: AppBarTheme(scrolledUnderElevation: 0.0)) ) 局部&#xff1a; App…

C语言判断素数(求素数)(两种方法)

素数又称质数。所谓素数是指除了 1 和它本身以外&#xff0c;不能被任何整数整除的数&#xff0c;例如17就是素数&#xff0c;因为它不能被 2~16 的任一整数整除。 思路1)&#xff1a;因此判断一个整数m是否是素数&#xff0c;只需把 m 被 2 ~ m-1 之间的每一个整数去除&#…

Mybatis-Plus之内置接口(一起了解Mybatis-Plus的内置接口)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringBoot开发之Mybatis-Plus系列》。&#x1…

飞天使-jumpserver-docker跳板机安装

文章目录 jumpserverdocker 更新到最新下载安装包mysql启动mysql 命令 验证字符集,创建数据库使用jumpserver 进行连接测试 redis部署jumpserver 写入变量建jumpserver 容器正确输出登录验证 jumpserver 基础要求 硬件配置: 2 个 CPU 核心, 4G 内存, 50G 硬盘&#xff08;最低…

未来医疗的新希望:人工智能与智能器官的奇妙融合

导言 人工智能技术的不断演进在医疗领域掀起了一场革命。随着智能器官与人工智能的深度融合&#xff0c;虽然医学领域迎来了前所未有的机遇&#xff0c;但同时也伴随着一系列潜在的问题与挑战。本文将深入探讨人工智能如何与智能器官相互融合&#xff0c;为医学带来新的治疗可能…

接口测试的工具(2)----postman+node.js+newman

1.下载地址&#xff1a;Index of /download/release/latest/ 2.检查下本地是否有安装&#xff1a;npm -v 4.双击安装&#xff0c;一路下一步&#xff0c;等待安装成功就行了&#xff0c;剩下的就交给时间就行 5.检查是否安装成功&#xff1a;注意一定重新进入一次命令窗口

python 1200例——【2】求闰年

在Python中&#xff0c;判断一个年份是否为闰年&#xff08;Leap Year&#xff09;的方法是&#xff1a; 如果年份能被4整除但不能被100整除&#xff0c;那么它是一个闰年。如果年份能被400整除&#xff0c;那么它也是一个闰年。 基于以上规则&#xff0c;我们可以编写一个Py…

【 USRP安装教程】MATLAB 2023B

步骤 matlabdocusrp驱动包 doc 安装包内容列表 双击“R2023b_Doc_Windows.iso” 打开cmd 查看盘符 切换盘符 因为是F盘&#xff0c;所以cmd输入&#xff1a;“F:” F:进入可安装界面 cd F:\bin\win64安装离线文档库 .\mpm install-doc --matlabroot"C:\MATLAB\R202…

数据库操作习题12.12

考虑如下的人员数据&#xff0c;其中加下划线的是主码&#xff0c;数据库模式由四个关系组成: employee (empname, street, city) works (empname, compname, salary) company(id, compname, city) managers (empname, mgrname) 其中 关系 employee 给出人员的基本信息,包括人员…

Idea远程debugger调试

当我们服务部署在服务器上&#xff0c;我们想要像在本地一样debug,就可以使用idea自带的Remote JVM Debug 创建Remote JVM Debug服务器启动jar打断点进入断点 当我们服务部署在服务器上&#xff0c;我们想要像在本地一样debug,就可以使用idea自带的 Remote JVM Debug) 创建Rem…

掌握 Babel:让你的 JavaScript 与时俱进(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Guitar Pro8.1最新2024中文免激活版下载(附教程)

Guitar Pro 8是一款功能强大的指法阅读器和编辑器&#xff0c;它允许您编辑吉他、贝斯和尤克里里的乐谱和指法谱&#xff0c;并为鼓或钢琴创建背景音轨。轻松创建、播放和共享您的标签&#xff01;快速的进行乐谱播放并进行练习&#xff0c;也可以进行编辑操作&#xff0c;允许…

探索拉普拉斯算子:计算机视觉中用于边缘检测和图像分析的关键工具

一、介绍 拉普拉斯算子是 n 维欧几里得空间中的二阶微分算子&#xff0c;表示为 ∇。它是函数梯度的发散度。在图像处理的上下文中&#xff0c;该运算符应用于图像的强度函数&#xff0c;可以将其视为每个像素具有强度值的二维信号。拉普拉斯算子是计算机视觉领域的关键工具&am…

电影小镇智慧旅游项目技术方案:PPT全文111页,附下载

关键词&#xff1a;智慧旅游项目平台&#xff0c;智慧文旅建设&#xff0c;智慧城市建设&#xff0c;智慧文旅解决方案&#xff0c;智慧旅游技术应用&#xff0c;智慧旅游典型方案&#xff0c;智慧旅游景区方案&#xff0c;智慧旅游发展规划 一、智慧旅游的起源 智慧地球是IB…

gun-fight枪战对决游戏(自创)

前言 好久都没有更新过啦&#xff01; 游戏介绍 这是一款枪战游戏&#xff0c;你将和人机对战&#xff0c;在火线中对决&#xff01;具体是怎么样的快下载试试吧&#xff01; 下载链接 文件 密码是1111 后言 点个赞吧&#xff01;

OpenCV技术应用(7)— 将图像转为热力图

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。本节课就手把手教大家如何将一幅图像转化成热力图&#xff0c;希望大家学习之后能够有所收获~&#xff01;&#x1f308; 目录 &#x1f680;1.技术介绍 &#x1f680;2.实现代码 &#x1f680;1.技术介绍 伪彩色处…

YOLOv5改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)

一、本文介绍 本文给大家带来的改进是Triplet Attention三重注意力机制。这个机制&#xff0c;它通过三个不同的视角来分析输入的数据&#xff0c;就好比三个人从不同的角度来观察同一幅画&#xff0c;然后共同决定哪些部分最值得注意。三重注意力机制的主要思想是在网络中引入…