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

      大家好,我是带我去滑雪!

      卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的前馈神经网络,主要用于图像视频识别分类分割标注等计算机视觉任务。它主要由卷积层池化层全连接层激活函数层等组成。其中,卷积层通过一组卷积核(权值矩阵)提取输入图像的不同特征、对其进行特征提取和抽象;池化层则通过降采样的方式减小特征图的大小,提高模型的泛化能力;全连接层则负责将卷积层和池化层的输出映射到模型最后的分类结果上。最后,激活函数层利用非线性变换使模型更加具有表达能力和拟合能力。下面依次学习关于卷积神经网络的相关知识。

目录

1、认识图像数据

2、卷积运算与池化运算

(1)卷积运算      

(2)池化运算

3、卷积神经网络的处理过程

4、卷积层

(1)局部连接

(2)权重共享

5、多维数据的卷积层输入与输出

6、Dropout层


1、认识图像数据

      位图是一种图像文件格式,也叫做栅格图像(Raster Image),它是由象素组成的图像。简单来说,一个位图就是由很多个像素点组成的。每个像素点可以保存图像中的颜色信息和位置信息,其大小和位数决定着位图的清晰度和占用的存储空间。 在位图图像中,每个像素点只能表示一种颜色,且颜色深度是固定的。由于是由固定数量的像素点组成的,所以缩放、旋转等图像变换会使图像出现锯齿等失真现象。位图通常用于存储比较简单的图形、图标、照片等,常见的位图格式有BMP、JPEG、GIF、PNG等。

     卷积神经网络处理的就是位图,位图类似矩阵,每一个像素是矩阵中的一个元素,依据像素色彩分为两种:

  • 黑白图:每一个像素的元素值为0~255的灰度值;
  • 彩色图:每一个像素的元素值为RGB红蓝绿三原色值的向量,称为通道,三个值的范围均为0~255,其中黑色为[0,0,0],白色为[255,255,255],红色为[255,0,0],绿色为[0,255,0],蓝色为[0,0,255]。

      卷积神经网络是模仿人脑视觉,使用特征来识别图片,下面学习卷积运算和池化运算。

2、卷积运算与池化运算

(1)卷积运算      

      卷积运算(Convolutional operation):卷积运算是指利用卷积核在图像或特征图上进行卷积操作,得到一系列新的卷积特征图。卷积核通常是一个小的矩阵,它在原始图像上按照步长移动,并与图片像素一一对应地相乘并求和,最终将卷积核的所有结果汇总在一起形成一个新的特征图。卷积运算通过不断地提取特征,将图像或特征图逐渐压缩和减小,使得后续的神经网络处理更加高效。

(2)池化运算

       池化运算(Pooling operation):池化运算是对卷积特征图进行压缩或减小的一种操作,通常使用的是最大池化或平均池化,即在每个小的窗口内求取最大值或平均值,并将这个值作为该窗口的池化结果,池化运算一样采用滑动窗格。池化运算可以降低特征图的数据量,减少运算量,防止过拟合,同时能保留特征图的主要特征,使得神经网络更加易于训练和泛化

      卷积和池化在卷积神经网络中频繁使用,它们相辅相成,相互配合,共同完成图像特征的提取和抽取。

3、卷积神经网络的处理过程

     卷积神经网络的处理过程:

3885412a58734265b78b060ccce21975.png

      卷积神经网络到底学习什么呢?卷积神经网络学习卷积层的权重,即滤波器,首先使用随机数初始化滤波器的矩阵内容,然后使用正向和反向传播学习权重后,滤波器可以自动识别图片所需提取的特征。

4、卷积层

       卷积神经网络的卷积层,是卷积神经网络的主要组成部分之一,也是卷积神经网络中最核心的层之一。卷积层的操作是将位图原来点对点的全域比对,转换为滤波器较小范围的局部对比,通过局部小范围一块一块的特征研判来综合出识别的结果。

      卷积层和全连接层有合不同:

  • 在卷积神经网络中,使用全连接层,神经网络的参数量过大;
  • 卷积层相比于全连接层,可以实现局部连接与权重共享;

(1)局部连接

       卷积神经网络使用局部连接,从局部扩展至全域,一个一个小区域去认识,通过从各个小区域得到局部特征后,然后汇总局部特征得到完整的全域信息。

(2)权重共享

       权重共享是指每一个局部连接的神经元都使用相同的权重,使用权重共享后神经网络的参数个数将会大大下降。

5、多维数据的卷积层输入与输出

(1)卷积层的输入通道数根据图片而定,彩色图的通道数为3,灰度图的通道数为1。

(2)滤波器的通道数和卷积层的输入通道数相同。

(3)卷积层的输出通道数需根据滤波器的数量而定,而卷积层的输出通道就是下一层卷积层的输入通道数。

6、Dropout层

       Dropout层是神经网络的一种优化方法,可以在不增加训练数据集的情况下,对抗过拟合问题。Dropout层的目的是在损失函数中加入随机性,破坏各层神经元之间的共适性来修正前一层神经层学习方向的错误,能够让预测模型更加强壮,并提升预测模型的泛化性。

 

更多优质内容持续发布中,请移步主页查看。

   点赞+关注,下次不迷路!

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

手机技巧:安卓微信 8.0.38 内测版本功能一览

2023年6月14号安卓版本的微信8.0.38又开始内测了,今天就赶紧下载体验一下,下面就来给大家一一介绍,本次安卓微信内测版本功能更新,感兴趣的朋友可以文末下载体验一下! 首先看一下官方的更新内容: 本次更新…

网络安全实验室|网络信息安全攻防学习平台(脚本关1-6)

传送门: http://hackinglab.cn/ 1. key又又不见了 点击此处开启抓包,send ti repeater 模块 yougotit_script_now2. 快速口算 脚本来源: https://blog.csdn.net/hzxtjx/article/details/125692349 import requests,re# 自动处理cookies&a…

Java+Swing+mysql仿QQ聊天工具

JavaSwingmysql仿QQ聊天工具 一、系统介绍二、功能展示1.用户登陆2.好友列表3.好友聊天4.服务器日志 三、系统实现四、其它1.其他系统实现2.获取源码 一、系统介绍 系统主要功能:用户登陆、好友列表、好友聊天、服务器日志 二、功能展示 1.用户登陆 2.好友列表 3…

Ubuntu远程装载硬盘Mount and unmount disk

小虎本来以为Ubuntu(Linux系统)不能够远程装载硬盘,每次重开机都要线下重新装载硬盘。但是苦于工作站不在身边,跑来跑去太麻烦,所以想远程装载一下。 解决方法 遍历搜索所有硬盘。找到对应名字。 lsblk创建一个文件…

Unity中Camera参数—Culling Mask详解

Culling Mask 如下图所示: 显示层级如下: 应用: Culling Mask :主要是相机针对不同层级的物体进行渲染的操作(想让相机渲染哪个层就勾选哪个层) 层级介绍: unity中的层前7个被unity锁定&#…

RISC-V体系结构的U-Boot引导过程 第一阶段

RISC-V体系结构的U-Boot引导过程 第一阶段 flyfish .globl _start _start:.globl使符号对链接器可见相当于C语言中的Extern,声明此变量,并且告诉链接器此变量是全局变量,外部可以访问.u-boot.lds里的ENTRY(_start)也是这里的_start。 即指定…

儿童遗留监测成为「加分项」,多种技术路线「争夺战」一触即发

儿童遗留密闭车内,温度可以在短短15分钟内达到临界水平,从而可能导致中暑和死亡,尤其是当汽车在太阳底下暴晒。 按照Euro NCAP给出的指引,与车祸相比,儿童因车辆中暑而死亡的情况较少,但却是完全可以避免的…

基于改进MRAS算法的永磁同步电机参数辨识

基于改进MRAS算法的永磁同步电机参数辨识 摘 要永磁同步点电机参数辨识算法介绍永磁同步电机数学模型改进MRAS参数辨识算法递推最小二乘法辨识原理递推最小二乘法结合MRAS算法原理仿真结果分析总结 摘 要 在永磁同步电机运行时,电机的电气参数会受到温度以及磁链饱…

【使用指导】wifi蓝牙二合一模块LCS2028与服务器的数据收发功能测试指导

在物联网智能家居、智能照明、智能楼宇、智慧工厂、智能制造等领域的数据透传、智能控制应用中,支持UART串口通信的低功耗WiFi蓝牙二合一模块应用极为广泛。模块性能测试环节中会测试模块与服务器的数据收发功能,确保功能性能够满足项目应用需求。本篇就…

在Mybatis执行插入数据时,如何将Date类型字段设置为“yyyy-MM-dd”的格式

1、问题描述 使用mybatis新增插入一条数据到MySQL数据库时, 其中实体类对象的一个属性”hiredate“的类型是日期类型Date, 此属性在数据库中对应的字段“hiredate”类型也是日期Date类型, 但是在数据库中要求“hiredate”字段的字段值为“yy…

Kendo UI R2 2023 crack

Kendo UI R2 2023 crack 新组件:角度PDFViewer 直接在Angular应用程序中查看PDF文件,无需第三方软件或附加组件。 凭借直观的分页机制、强大的搜索功能和灵活的缩放选项,用户可以轻松导航和浏览PDF内容。 角度16支架 Angular 16引入了一系列改…

视频网页前端禁止截屏代码实现js

有言在先 原理是采用商业级DRM实现,DRM 许可证费用目前没有免费服务商,腾讯云价格是0.0056元/次。 另外此功能不兼容安卓,安卓系统无法正常播放视频! 先展示效果 可以看到截屏时刻出现黑屏,录屏也能保证全黑状态。…

搭建Freekan私人影视电影网站,cpolar内网穿透发布上线

文章目录 1.前言2.本地网页搭建2.1 环境使用2.2 支持组件和环境设置2.3 支持组件选和环境设置2.4 网页安装2.5 测试和使用2.6 问题解决 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 转发自CSDNprobezy的文章:使用Cpolarfreekan源码…

驱动开发:内核RIP劫持实现DLL注入

本章将探索内核级DLL模块注入实现原理,DLL模块注入在应用层中通常会使用CreateRemoteThread直接开启远程线程执行即可,驱动级别的注入有多种实现原理,而其中最简单的一种实现方式则是通过劫持EIP的方式实现,其实现原理可总结为&am…

Spring Security --- 自定义登录逻辑

目录 UserDetailsService详解 返回值 方法参数 异常 PasswordEncoder密码解析器详解 接口介绍 内置解析器介绍 BCryptPasswordEncoder简介 代码演示 自定义登录逻辑 编写配置类 自定义逻辑 UserDetailsService详解 当什么也没有配置的时候,账号和密码是…

基于51单片机设计的呼吸灯

一、项目介绍 呼吸灯是一种常见的LED灯光效果,它可以模拟人类呼吸的变化,使灯光看起来更加柔和和自然。51单片机是一种广泛使用的微控制器,具有体积小、功耗低、成本低等优点,非常适合用于控制LED呼吸灯。本项目的呼吸灯将使用PWM(脉冲宽度调制)技术控制LED亮度,从而实…

ES6学习笔记

作用域 1.4垃圾回收机制 内存的生命周期 JS环境中分配的内存,一般有如下生命周期 内存分配:当我们声明变量、函数、对象的时候,系统会自动为他们分配内存1.2.内存使用:即读写内存,也就是使用变量、函数等内存回收: 使用完毕,由…

BRC20赛道的刚需基础设施,BrccSwap如何延续新的造富神话?

引言 BRC20代币和去中心化交易所的背景 BRC20代币赛道的刚需SWAP BrccSwap如何延续新的造富神话 结语 引言 随着加密货币市场的不断发展,BRC20代币和去中心化交易所成为了越来越受欢迎的概念。BRC20代币是建立在比特币区块链上的代币,具有高级别的…

Dalamud 插件开发白皮书 P1 - Getting started

文章目录 从哪里开始 How do I get started?Dalamud 插件例子Dalamud 底层探究XIVLauncher 启动器 在哪里寻找帮助 Where do I ask for help?如何热重载插件 How do I hot-reload my plugin?如何调试插件,甚至游戏?如何在编码过程中使用 How do I use…

浅谈微前端

本文呢是我梳理的一个扫盲文,由于最近团队准备使用微前端对项目进行改造,所以我呢就先浅了解一下: 微前端到底是什么? 为什么要使用微前端? 都有哪些微前端方案? 微前端有什么不好的地方吗? 通过…