深度学习(2)--卷积神经网络(CNN)

news2024/11/18 1:38:39

卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。

一.卷积神经网络基础概念

传统网络是二维的,而卷积网络是三维的。

例如32x32x3的图片,在传统网络中的输入是3072个像素点组合的矩阵,而在卷积网络中则是直接接受该特征图作为输入。

(1). 卷积是为了提取图像特征,通过卷积层,可以自动提取图像的高维度且有效的特征

(2). 池化主要是为了减少卷积层提取的特征个数,增加特征的鲁棒性或是为了降维

二.输入层 

数据输入层的主要目的是对原始图像数据进行预处理,其中包括:

1.去均值:把输入数据各个维度都中心化为0,如下图所示,其目的就是把样本的中心拉回到坐标系原点上。

2.归一化:幅度归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0到10,而B范围是0到10000,如果直接使用这两个特征是有问题的,好的做法就是归一化,即A和B的数据都变为0到1的范围。

原图→去均值→归一化过程

3.PCA/白化:用PCA降维;白化是对数据各个特征轴上的幅度归一化。

PCA降维参考资料:

【机器学习】降维——PCA(非常详细) - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/77151308原图→PCA降维→白化过程

三.卷积层

卷积的计算:

(1).左侧的三张图表示的是输入图片的三种颜色通道表示(eg.R,G,B),对应的卷积过程中使用的权重矩阵也需要有三种颜色通道(输入矩阵和权重矩阵的颜色通道参数应当相同) 。

(2).原始图像中选择的矩阵大小取决于Filter权重矩阵的大小,即取决于权重矩阵的前两个参数。

(3).同一个输入数据在不同的颜色通道中的像素点是不同的,对于每个颜色通道的数据需要设置不同的权重矩阵来进行过滤。

(4).输入矩阵和权重矩阵的计算通过内积来完成:即矩阵上的对应位置相乘然后再相加。

(5).通过权重矩阵过滤后得到的输出值应当是三个颜色通道分别计算出的过滤值相加再加上偏置值。

eg.如图对Input进行Filter W0计算,对于第一块选中的3x3的矩阵,Input的三个颜色通道矩阵和W0的三个颜色通道矩阵分别进行内积,得到的结果为0+2+0=2,再加上偏置值,此处设置为1,所以得到的Output矩阵中的第一个位置的值为2+1=3。

(6).每一个过滤器都能获得一个特征图,因此特征图的数量与过滤器的数量是相同的。

卷积层涉及参数:

(1).滑动窗口步长:选取的矩阵每次上下平移的单元格数量

(2).卷积核尺寸:即选择的卷积核的大小。

(3).边缘填充:边界的点对结果的影响较小,中间的点对结果的影响较大,为了使边界的点能够起到的作用更大,增加边缘填充(加一圈0,对结果没有影响),使原本边界的点能够利用的次数增多,对结果起到更大的作用。

如图,原始矩阵应当是一个5x5x3的矩阵,通过+pad 1即增加一层边缘填充,扩大成一个7x7x3的矩阵。

(4).卷积核个数:与想要得到的特征图个数相同,每个卷积核的数据都是不同的。

卷积结果计算公式:

(1).通过卷积结果计算公式计算输出特征图的长度和宽度。

(2).输出特征图的深度和卷积核的个数相同。

四.池化层

池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。

常用的池化方法:MAX POOLING

 选择分块矩阵中最大的特征值作为压缩矩阵的值。(较大的特征值更加重要)

五.整体网络架构

1.经过每个卷积层计算后都需要进行一次非线性变换(CONV → RELU)。

2.执行了几次卷积过程后,得到较大的特征图,再进行池化POOLING压缩。

3.最后一层通过全连接层(Fully Connected Layer)将特征值转换为对应类别的概率值。

eg.卷积最后得到一个32x32x10的三维特征图,而全连接层不是三维的,所以要将三维特征图拉长成一个[1,10240]的向量,全连接向量为[10240,5],两者向量相乘得到最后的分类结果。

4.层数一般就是指具有权重/参数的层数总和,即卷积层+全连接层,上图中的卷积神经网络中有6(卷积层) + 1(全连接层)=7 层。

 六.感受野

感受野(Receptive Field)的定义:卷积神经网络每一层输出的特征图(feature map)上的像素点映射回输入图像上的区域大小

如上图所示,第二次卷积得到的1x1的图像的感受野为5x5:Second Conv对应的First Conv的部分为3x3,First Conv对应Input的部分为5x5,所以Second Conv得到的图像的感受野为5x5。

感受野的计算:

由卷积计算公式反推出感受野计算公式:

N=(W-F+2P)/S+1 → W+2P=(N-1)*S+F(从下往上逐层递推)

其中N为输出特征图的长/宽,W为输入的长/宽,F表示本层卷积核的长/宽,P表示边界填充,S为滑动窗口步长。

eg.Second Conv → First Conv:(W+2P)1 = (1-1) * 0 + 3 = 3 ,所以感受野为3x3,First Conv → Input :(W+2P)2 = (3-1)*1 + 3 = 5,所以最终的感受野为5x5。

1.感受野大小的计算是从最后一层feature map开始,从下往上逐层递推进行计算即先计算最深层在前一层上的感受野,然后以此类推逐层传递到第一层。

2.感受野大小的计算不考虑padding的大小。

3.最后一层的特征图感受野的大小等于其卷积核的大小。(最后一层特征图的大小为1x1)

4.第i层特征图的感受野大小和第i层的卷积核大小和步长有关系,同时也与第(i+1)层特征图的感受野大小有关。

感受野的作用:

1.堆叠小的卷积核所需要的参数更少一些。

eg.假设输入大小均为h*w*c,并且都使用c个卷积核(得到c个特征图)

一个7*7卷积核所需参数:C x (7x7xC) = 49C^2 -- 一次卷积

三个3*3卷积核所需参数:3 x C x (3x3xC) = 27C^2 -- 三次卷积

2.卷积过程越多,特征提取的也更加细致,过程中使用的非线性变换也更多。(每次卷积后需要使用激活函数进行一次非线性变换)

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

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

相关文章

Pure-admin框架 Pure-table中获取所选中的内容的信息

最近在尝试使用Pure-admin框架来进行开发,正好遇到了多选表格需要获取选中项的id的情况,因为平台介绍说是二次封装 element-plus 的 Table ,直接拿el-table的方法来试 在table上设置属性ref"multipleTableRef" let idArr [];mult…

为什么需要放行回源IP

为什么需要放行回源IP 网站以“独享模式”成功接入WAF后,所有网站访问请求将先经过独享引擎配置的ELB然后流转到独享引擎实例进行监控,经独享引擎实例过滤后再返回到源站服务器,流量经独享引擎实例返回源站的过程称为回源。在服务器看来&…

从“渲个锤子”,浅析影视动画渲染的困难与挑战!

提起“雷神之锤”,相信大家都不陌生。它是漫威电影宇宙中“雷神”托尔所使用的武器。传说中,这把圣器可以承载魔法咒语,召唤风、雨、雷、电四种自然元素。它能在使用者的意念下对目标进行攻击,无视与使用者之间的距离和障碍物&…

C++进阶(五)二叉搜索树

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、二叉搜索树概念二、二叉搜索树操作三、二叉搜索树的实现四、二叉搜索树的应用五、二叉搜索…

(人才测评)招聘数据分析师的入职测评方案

现在是一个大数据的时代,我们的车载导航、淘宝购物、包括人才招聘、都是大数据的产物,然而光靠数据堆积是没用的,所以如何高效的进行数据挖掘与分析,就成了每一件企业思考的问题。 一、 数据分析师的基本工作标准 1、 平时需要…

【vue2】状态管理之 Vuex

文章目录 一、介绍1、概念 2、工作示意图3、安装4、简单示例 二、核心1、State1.1 组件中获取 Vuex 的状态1.2 mapState 辅助函数1.3 对象展开运算符 2、Getter2.1 基本使用2.2 通过属性访问2.3 通过方法访问2.4 mapGetters 辅助函数 3、Mutation3.1 定义 mutation3.2 commit 提…

C++初阶类与对象(三):详解复制构造函数和运算符重载

上次介绍了构造函数和析构函数:C初阶类与对象(二):详解构造函数和析构函数 今天就来接着介绍新的内容: 文章目录 1.拷贝构造函数1.1引入和概念1.2特性 2.赋值运算符重载2.1运算符重载2.2放在哪里2.3运算符重载示例2.3.…

WebRTC视频会议/视频客服系统EasyRTC进入会议室密码验证的开发与实现

基于WebRTC技术的EasyRTC视频会议系统,建设目标是让用户随时随地、快捷方便地进行视频会议,并根据行业需求有针对性地提供多样化、个性化功能,该系统是覆盖全球的实时音视频开发平台,支持一对一、一对多等视频通话,极大…

Vray渲染效果图材质参数设置

渲染是创造出引人入胜视觉效果的关键步骤,在视觉艺术领域尤为重要。不过,渲染作为一个资源密集型的过程,每当面对它时,我们往往都会遭遇到时间消耗和资源利用的巨大挑战。幸运的是,有几种方法能够帮助我们优化渲染&…

mac PyCharm 使用conda环境

1 使用conda创建虚拟环境 conda create -n test6 python3.9 -y conda activate test62 选择conda环境 本地 选择已经存在的conda环境 右下角会显示现在的环境。

Android中矩阵Matrix实现平移,旋转,缩放和翻转的用法详细介绍

一,矩阵Matrix的数学原理 矩阵的数学原理涉及到矩阵的运算和变换,是高等代数学中的重要概念。在图形变换中,矩阵起到关键作用,通过矩阵的变换可以改变图形的位置、形状和大小。矩阵的运算是数值分析领域的重要问题,对…

Go新项目-Golang使用RemoteAddr()获取远程主机地址的注意事项(9)

一、问题描述 http.Request 下的方法RemoteAddr() 可以获取客户端的地址和端口号,最近的一个项目中用到了这个方法。 使用过程中一直都没有什么问题,但是当项目上线之后就发现不管怎么获取ip,客户端地址都是127.0.0.1 。 对于这个问题一直…

Rust之旅 - Rust概念、Windows安装、环境配置

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 系列专栏目录 [Java项目…

VirtualBox安装openSUSE-Leap-15.5虚拟机并配置网络

VirtualBox安装openSUSE-Leap-15.5虚拟机并配置网络 适用于在VirtualBox平台上安装openSUSE-Leap-15.5虚拟机。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径Oracle VM VirtualBoxVirtualBox-7.0.12-159484D:\softwareopenSUSE-Leapopen…

跨Android、iOS、鸿蒙多平台框架ArkUI-X

ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升移动应用界面开发效率30%。您只需使用一套ArkTS API,就能在Android、iOS、鸿蒙多个平台上提供生动而流畅的用户界面体验。 一…

上门服务系统|上门服务小程序|上门服务系统的发展趋势

在现代社会,人们的生活节奏越来越快,对于更加便捷的服务需求也随之增加。正是基于这一背景,上门服务系统应运而生,并且迅速发展壮大。那么,上门服务系统的发展趋势又是怎样的呢? 首先,上门服务系…

中国联通助力吴江元荡生态岸线打造5G+自动驾驶生态长廊

吴江,素有“鱼米之乡”“丝绸之府”的美誉,其地理位置优越,地处太湖之滨。近年来,随着长三角生态绿色一体化发展示范区(以下简称“示范区”)的建立,元荡更是声名大噪,成为众多游客心…

如何无公网ip使用Potplayer访问群晖NAS中储存的本地资源【内网穿透】

文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是:1 使用环境要求:2 配置webdav3 测试局域网使用potplayer访问webdav3 内网穿透,映射至公网4 使用固定地址在potplayer访问webdav ​ 国内流媒体平台的内…

企业设计图纸安全、企业设计图纸安全软件

设计图纸对于企业的重要性不言而喻,因此保障设计图纸的安全显得尤为重要。以下是企业设计图纸安全需要注意的几个方面: 访问控制:只有授权人员才能访问设计图纸,需要通过账号密码或者其他验证方式进行身份认证。 加密传输&#…

【单片机】改写DS2431芯片的地址码,地址ROM,DS2431芯片解密

对DS2431里面的128字节可以进行任意读写,方式可以看这里:https://blog.csdn.net/x1131230123/article/details/132248958 但DS2431芯片的地址码是光刻不可修改的,所以只有使用模拟芯片。 原理: https://www.dianyuan.com/article…