1. 卷积的基本结构

news2024/11/27 12:39:23

一、卷积神经网络的结构有哪些?

一般包含5种类型的网络层次结构:

输入层:卷积网络的原始输入,可以是原始或预处理后的像素矩阵

卷积层 :参数共享、局部连接,利用平移不变性从全局特征图提取局部特征

激活层 : 将卷积层的输出结果进行非线性映射

池化层:进一步筛选特征,可以有效减少后续网络层次所需的参数量

全连接层:负责对卷积神经网络学习提取到的特征进行汇总,将多维的特征输入映射为二维的特征输出,以低维度特征对应任务的学习目标(类别或回归值)

  • 卷积层
  1. 一句话定义:

从全局特征图中提取局部特征。

  1. 卷积层尝试解决的问题是什么?

(1)保留输入形状,在高和宽两个方向上的相关性均能被有效识别。

(2)避免参数尺寸过大,通过滑动窗口将同一卷积核与不同位置的输入重复计算。

  1. 卷积层有哪些基本参数?

输入

核函数

特征映射(输出)

  1. 三个思想动机是什么?

卷积运算通过三个重要的思想来帮助改进机器学习系统:稀疏交互、参数共享、等量表示。

稀疏交互: 传统的神经网络使用矩阵乘法来建立输入与输出的连接关系,卷积通过核(核大小远远小于输入的大小)来减小存储和计算。

参数共享:指在一个模型的多个函数中使用相同的参数。卷积运算中的参数共享保证了我们只需要学习一个参数集合,而不是对于每一个位置都需要学习一个单独的参数集合。

    平移等变:参数共享的特殊形式使得神经网络具有平移等变的性质,如果一个函数满足输入改变,输出也以同样的方式改变这一性质,我们就称之为等变。

  1. 卷积的主要参数有哪些?

卷积核大小:定义了卷积的感受野。在过去常设为5,现在多设为3,

感受野是输出特征图上的像素点对于原图的映射区域的大小,特征图上的一个点相对于原图的大小。

步幅:从左上方开始,从左到右、从上到下,依次在数组上滑动,将滑动的行数和列数称为步幅。

步幅的常见设置为1,表示滑窗距离为1,可以覆盖所有相邻位置的组合。下图在高上步幅为3,在宽上步幅为2。

填充(padding):在卷积核尺寸不能完美匹配输入的图像矩阵时需要进行一定的填充策略。

设置为SAME表示对不足卷积核大小的边界位置进行某种填充(通常零填充)以保证卷积输出维度与与输入维度一致;

设置为’VALID’时则对不足卷积尺寸的部分进行舍弃

    

在原输入高和宽的两侧分别添加了值为0的元素,使得输入高和宽从3变成了5,从而使得输出高和宽由2增加到4。

输入通道数 

当输入数据包含多个通道时,我们需要构造一个输入通道数与输出通道数相同的核,从而能够与含多通道的输入数据做互相关运算。

输出通道数 

我们可以理解多组卷积核作用在一个输入上,得到了多个输出通道。

指定卷积核的个数 若设置为与输入通道数一样的大小,可以保持输入输出维度的一致性;若采用比输入通道数更小的值,则可以减少整体网络的参数量。

6. 1×1卷积与什么等价?

输入和输出具有相同的高和宽,其作用与全连接层等价。

  1. 卷积核有什么类型?

标准卷积

最常用的卷积核,连续紧密的矩阵形式可以提取图像区域中的相邻像素之间的关联关系,3 × 3 的卷积核可以获得3 × 3 像素范围的感受视野

扩张卷积

引入一个称作扩张率(Dilation Rate)的参数,使同样尺寸的卷积核可以获得更大的感受视野,相应的在相同感受视野的前提下比普通卷积采用更少的参数。同样是3 × 3 的卷积核尺寸,扩张卷积可以提取5 × 5 范围的区域特征,在实时图像分割领域广泛应用

转置卷积(反卷积)

反卷积是一种特殊的正向卷积,先按照一定的比例通过补padding来扩大输入图像的尺寸,接着旋转卷积核,再进行正向卷积。需要注意的是,反卷积本质是padding补0的卷积,而不是卷积的逆运算

可分离卷积

标准的卷积操作是同时对原始图像H × W × C三个方向的卷积运算,假设有K 个相同尺寸的卷积核,这样的卷积操作需要用到的参数为H × W × C × K 个;

若将长宽与深度方向的卷积操作分离出变为H × W 与C 的两步卷积操作,则同样的卷积核个数K,只需要( H × W + C ) × K 个参数,便可得到同样的输出尺度。

可分离卷积(Seperable Convolution)通常应用在模型压缩或一些轻量的卷积神经网络中,如MobileNet 、Xception

二、激活层

激活函数也是神经网络不可缺少的部分,激活函数是用来加入非线性因素,提高网络表达能力,卷积神经网络中最常用的是ReLU,Sigmoid使用较少

 

三、池化层

池化层又称为降采样层(Downsampling Layer),作用是对感受域内的特征进行筛选,提取区域内最具代表性的特征,能够有效地降低输出特征尺度,进而减少模型所需要的参数量。

  1. 池化层的类别?

最大池化(Max Pooling):直接计算池化窗口内元素的最大值。

平均池化(Average Pooling):计算池化窗口内元素的平均。

求和池化(Sum Pooling):计算池化窗口内元素的和。

2. 卷积层和池化层的区别

卷积层核池化层在结构上具有一定的相似性,都是对感受域内的特征进行提取,并且根据步长设置获取到不同维度的输出,但是其内在操作是有本质区别的

卷积层

池化层

结构

零填充时输出维度不变,而通道数改变

通常特征维度会降低,通道数不变

稳定性

通常特征维度会降低,通道数不变

感受域内的细微变化不影响输出结果

作用

感受域内提取局部关联特征

感受域内提取泛化特征,降低维度

参数量

与卷积核尺寸、卷积核个数相关

不引入额外参数

3. 卷积层和池化层的特点:

  1. 卷积和池化作为无限强的先验,刻画了我们在看到数据之前认为什么样的模型是合理的概念。
  2. 可能会导致欠拟合,只有当先验的假设合理且正确是才有用。

当我们比较卷积模型的统计表现时,只能以基准中的其他卷积模型作为比较对象。

四、全连接层

将多维的特征输入映射为二维的特征输出

使用全连接层结构处理图像时会出现以下问题:

(1)输入图像需要将图像通过 Flatten 层拉成一维,这会导致丢失空间信息(像素位置和channel)

(2)全连接层考虑的是全局的信息,但在分类图像中,重要的是物体本身的局部信息

(3)对图像做分类时,会产生大量的参数,导致计算量过高。例如:对1000×1000 像素的图片,我们就需要处理3百万个参数。

五、批量归一化

批量归一化会让神经网络的训练变得更加稳定。

       通常来说,数据标准化预处理模型对于浅层模型基本够用了,但是随着模型训练的进行,当每层中的参数更新时,靠近输出层的输出容易造成剧烈的变化,这种不稳定性令我们难以训练出有效的模型。

       在模型训练时,批量归一化利用小批量上的均值和标准差,不断调整神经网络的中间输出,从而使整个神经网络在各层的中间输出的数值更加稳定。

批量归一化可以对全连接层做,也可以对卷积层做,两者方法略有不同。

批量归一化和丢弃层一样,在训练模式和预测模式下的均值方差不应该一样,因而结果也不同。

引用:https://blog.csdn.net/Heitao5200/article/details/104723212

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

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

相关文章

路径规划算法:基于原子搜索优化的路径规划算法- 附代码

路径规划算法:基于原子搜索优化的路径规划算法- 附代码 文章目录 路径规划算法:基于原子搜索优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

java并发编程:java内存模型介绍

文章目录 并发编程模型的两个关键问题物理计算机的内存模型缓存不一致的问题总线加LOCK#锁的方式缓存一致性协议 Java内存模型 并发编程模型的两个关键问题 线程间如何通信?即:线程之间以何种机制来交换信息 线程间如何同步?即:…

JavaEE-Servlet(CookieSession)

目录 CookieCookie从哪里来?Cookie到哪里去?Cookie有啥用? SessionServlet中操作 Cookie 和 Session 的APIHttpServletRequest小案例:模拟实现登录功能 HttpServletResponseHttpSessionCookie 类中的相关方法小案例:上…

【深入浅出C#】章节 1:C#入门介绍:C#开发环境的设置和配置

一、环境准备 1.1 安装和配置.NET Core 当配置C#开发环境时,安装.NET Core是一个重要的步骤。以下是安装.NET Core的基本过程: 访问官方网站:打开浏览器,访问.NET Core的官方网站:https://dotnet.microsoft.com/en-u…

【vue】三:核心处理---vue的生命周期

文章目录 1.Vue生命周期的四个阶段,八个钩子2.vue的生命周期图例3. 初始阶段:虚拟DOM生成4. 挂载阶段:真实DOM生成5. 更新阶段:data变化重新渲染6. 销毁阶段:卸载所有,销毁vm 1.Vue生命周期的四个阶段&…

Python+Django人脸识别考勤系统网站

程序示例精选 PythonDjango人脸识别考勤系统网站 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonDjango人脸识别考勤系统网站>>编写代码&#xff0c;代码整洁&#xff0c…

文本分类系统Python,基于深度学习CNN卷积神经网络

一、介绍 文本分类系统&#xff0c;使用Python作为主要开发语言&#xff0c;通过TensorFlow搭建CNN卷积神经网络对十余种不同种类的文本数据集进行训练&#xff0c;最后得到一个h5格式的本地模型文件&#xff0c;然后采用Django开发网页界面&#xff0c;实现用户在界面中输入一…

I.MX6ull 按键抖动消除

1 按键消抖的原理 其实就是在按键按下以后延时一段时间再 去读取按键值&#xff0c;如果此时按键值还有效那就表示这是一次有效的按键&#xff0c;中间的延时就是消抖的。 延时函数实现 会浪费 CPU 性能&#xff0c;因为延时函数就是空跑。 我们可以借助定时器来实现消抖&…

小程序服务器SSL证书替换,访问小程序异常

小程序最近SSL证书过期&#xff0c;访问小程序errno: 600001, errMsg: “request:fail -102:net::ERR_CONNECTION_REFUSED“。 1.在阿里云申请DV证书&#xff0c; DV证书&#xff1a;域名验证型证书&#xff0c;证书审核方式为通过验证域名所有权即可签发证书。 DV证书只验证…

基于Yolov5目标检测的物体分类识别及定位(一) -- 数据集原图获取与标注

从本篇博客正式开始深度学习项目的记录&#xff0c;实例代码只会放通用的代码&#xff0c;数据集和训练数据也是不会全部放出。 系列文章&#xff1a; 基于Yolov5目标检测的物体分类识别及定位&#xff08;一&#xff09; -- 数据集原图获取与标注 基于Yolov5目标检测的物体分类…

【计算机组成原理与体系结构】硬件系统概述

目录 一、计算机的发展 二、计算机的硬件系统 三、硬件的工作原理 四、计算机系统的层次结构 五、计算机的性能指标 一、计算机的发展 第一代计算机&#xff1a;电子管计算机 第一台电子计算机&#xff1a;ENIAC&#xff08;1946&#xff09; 设计目的&#xff1a;计算导弹…

实验篇(7.2) 06. 通过安全隧道访问远端内网服务器 (SSL) ❀ 远程访问

【简介】直接映射服务器到公网&#xff0c;没有验证不安全&#xff1b;通过Web浏览器访问远程内网服务器&#xff0c;有验证也安全&#xff0c;但是支持的协议太少。那有没有即安全&#xff0c;又能支持所有协议的访问方法呢&#xff1f;我们来看看SSL VPN的隧道模式。 实验要求…

基于Yolov5目标检测的物体分类识别及定位(二) -- yolov5运行环境搭建及label格式转换

刚开始跟着网上的教程做&#xff0c;把环境安装错了&#xff0c;后来直接用GitHub的官方教程来安装环境。 地址是yolov5官方团队代码及教程&#xff0c;看readme文件就可以。 系列文章&#xff1a; 基于Yolov5目标检测的物体分类识别及定位&#xff08;一&#xff09; -- 数据集…

【MySQL】一文带你了解表的增删改查 CRUD

文章目录 1. 增加&#xff08;Create&#xff09;1.1 单行插入 全列插入1.2 多行插入 指定列插入 2. 查询&#xff08;Retrieve&#xff09;2.1 全列查询2.2 指定列查询2.3 查询字段为表达式2.4 别名2.5 去重2.6 排序 3. 条件查询&#xff08;Where&#xff09;3.1比较运算符…

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示 上一章Bayesian Networks本章&#xff1a;观测学习学习学习元素机器学习概论机器学习对什么有用自动语音识别计算机视觉Information retrieval—信息检索 机器学习机器学习&#xff1a;定义 电子邮件过滤问题…

全志V3S嵌入式驱动开发(gpio输出)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 不管是对mcu&#xff0c;还是对soc来说&#xff0c;gpio肯定是越多越好。但是一个芯片上&#xff0c;它的引脚总是有限的&#xff0c;特别对于非BG…

修改邻接变量-0day漏洞利用原理(6)

大多数情况下,局部变量在栈中的分布是相邻的,但也有可能出于编译优化等需要而有所例外。具体情况我们需要在动态调试中具体对待,这里出于讲述基本原理的目的,可以暂时认为局部变量在栈中是紧挨在一起的。 提供理论基础 下一篇利用:非法的超长密码去修改 bufer 的邻接变量…

支持向量机练习

练习5&#xff1a;支持向量机 介绍 在本练习中&#xff0c;我们将使用支持向量机&#xff08;SVM&#xff09;来构建垃圾邮件分类器。 在开始练习前&#xff0c;需要下载如下的文件进行数据上传&#xff1a; data.tgz -包含本练习中所需要用的数据文件 其中&#xff1a; e…

2. 卷积的经典模型

一、什么是卷积神经网络 卷积神经网络就是含有卷积层的网络。 二、有哪些经典的模型&#xff1f;每一次的技术进步在哪里&#xff1f; 卷积神经网络&#xff08;LeNet&#xff09; LeNet第一次将卷积神经网络推上舞台&#xff0c;通过梯度下降训练卷积神经网络可以达到手写数字…

chatgpt赋能python:Python中取出中间文本的方法

Python中取出中间文本的方法 在Python开发中&#xff0c;我们常常需要从字符串中取出特定位置的文本&#xff0c;例如从一个网页源码中提取出指定的内容。而且&#xff0c;一份好的代码需要清晰易懂、高效可靠。那么&#xff0c;在Python中如何取出中间文本呢&#xff1f;下面…