深度学习入门教学——卷积神经网络CNN
目录
一、CNN简介
一、输入层
二、卷积层
三、池化层
四、全连接层
一、CNN简介
1、应用领域
- 检测任务
- 分类与检索
- 超分辨率重构
2、卷积网络与传统网咯的区别
- 传统神经网络和卷积神经网络都是用来提取特征的。
- 神经网络:
- 可以将其看作是一个二维的。
- 卷积神经网络:
- 可以将其看作是一个三维的。
3、整体框架
一、输入层
- 该层主要是对原始图像数据进行预处理,保留了图片本身的结构。
- 对于黑白的32×32的图片,CNN的输入是一个32*32的二维神经元;对于RGB格式的28×28 图片,CNN的输入则是一个32*32*3的三维神经元。
- 三维包括宽度、高度和深度。
- 深度可以看作是不同的颜色通道,例如:RGB,可拆分为R、G、B三个通道。
二、卷积层
1、卷积的任务
- 卷积的任务,就是将图像分成若干区域,然后计算每个区域的特征值。
- 例如:
- 将图像分割为5*5*3个小块,每3*3*3个小块矩阵看作是一个区域,从每个区域中提取一个特征。(上图只演示了一个通道)
- 区域的数据:,区域的权重参数矩阵:,特征图:
2、卷积特征值计算方法
2.1、图像颜色通道
- 计算特征值的过程中,让每个通道都要做计算,然后将每个通道的结果加在一起。
2.2、特征值计算过程
- ,每一个通道会有一个权重参数矩阵,方法是计算它们的内积,3个通道的计算结果之和加上偏移值(b0=1),即为最终特征值。
- 【注】上图中的三个权重参数矩阵,统称为卷积核。
- 例如:
- 最终结果:
- (0+2+0)+b=3(b为偏置值,已知为1)
3、特征图表示
- 特征图可以不唯一,下图中就有两个特征图。
- 主要原因是,卷积核可以不唯一(使用不同的方法进行特征提取),这样的话就会计算出多个特征图来,如下图。
- 【注】有几个卷积核就有几个特征图;卷积核中权重参数矩阵的个数与输入的通道个数相同。
- 计算特征图时,每个区域平移了两个单元格(可自行定义)即步长为2,如下图。
4、步长与卷积核大小对结果的影响
4.1、堆叠的卷积层
- 由下图可知,在分类图像的过程中,做了很多次卷积。
- 多次卷积并不是对一张图片从粗到细地多次计算特征,而是从所得到特征图的基础上去做卷积,如下图。
4.2、卷积层涉及参数
4.2.1、滑动窗口步长
- 步长为1的卷积
- 步长为2的卷积
- 步长越小,得到的特征越丰富,但计算效率越慢。
4.2.2、卷积核尺寸
- 卷积核尺寸即为卷积核中权重参数矩阵的维度。下图卷积核的尺寸即为3*3*3。
- ,也可以4*4*3,卷积核尺寸越小,得到的特征越丰富。
4.2.3、边缘填充
- 一张图片在划分区域计算特征时,有些点会被重复利用,即会影响多个结果。例如下图划红线的区域,就会影响特征图中的两个值。
- 边缘的点只会影响一个值,而靠近中心的点可能会影响多个值,这对边缘来说是不公平的。例如下图画圈的点,影响了特征图中的四个值。
- 原始输入中,即为下图5*5紫色矩阵。在其边界加上一圈全0的值,这样的话,原本的边界就不再是边界了,一定程度上弥补了边界信息缺失的问题。
- ,添加0对最终结果不会产生影响。
4.2.4、卷积核个数
- 卷积核个数决定了最终得到的特征图个数。
- 每个卷积核的数值是不同的。
5、特征图尺寸计算与参数共享
5.1、卷积结果计算公式
- 长度:
- 宽度:
- 其中W1、H1表示输入的宽度、长度;W2、H2表示输出特征图的宽度、长度;F表示卷积核长和宽的大小;S表示滑动窗口的步长;P表示边界填充(加几圈0)。
- 例如:
5.2、卷积参数共享
- 图片中的每个区域,都是使用同一卷积核进行计算,然后得到一个特征图,即为参数共享。
- 这样可以大量节省参数,例如:
三、池化层
1、池化层的作用
- 池化层的作用是对得到的特征图进行压缩。
- 下图就是对特征图的长、宽进行了压缩,而不是减少特征图的个数。
2、最大池化
- 池化过程中,是选择某个区域中最大的特征值(值越大,越重要),如下图。
四、全连接层
- 全连接层的作用:将得到的所有特征图整合起来,便于分类处理。
- 全连接层把所有二维特征图转换为一个二维向量。
相关文章:
深度学习入门教学——卷积神经网络CNN
目录 一、CNN简介 一、输入层 二、卷积层 三、池化层 四、全连接层 一、CNN简介 1、应用领域 检测任务 分类与检索 超分辨率重构 2、卷积网络与传统网咯的区别 传统神经网络和卷积神经网络都是用来提取特征的。神经网络: 可以将其看作是一个二维的。卷积神经…...
【MySQL】MySQL系统变量(system variables)列表(mysqld --verbose --help的结果例)
文章目录 【MySQL】MySQL系统变量(system variables)列表(mysqld --verbose --help的结果例)mysqld --verbose --help的结果例参考 【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和…...
Python学习之四 数据输入与输出
(一) 脚本编程 前面的章节,组要学习了一些简单的Python编程,使用的是交互式解释器,本章节将开始进行脚本编程。可以使用多种编辑器或者IDE完成编码,主要使用vim。 参考前续小节的写法,我们给a、b分别赋值3和5。 在终端运行程序后发现,没有任何输出。这就是本次我们将要…...
VBA技术资料MF51:VBA_在Excel中突出显示唯一值
【分享成果,随喜正能量】世间万物,因果循环不休,你的善心善行,都可能成为你的善缘善果。每天忆佛念佛,每天都在佛菩萨的加持下生活,自然吉祥如意,法喜充满。 。 我给VBA的定义:VBA是…...
Mqtt学习笔记--交叉编译移植(1)
简述 Mqtt目前在物联网行业的应用比较多,mqtt属于应用层的一个中间件,这个中间件实现消息的订阅发布机制。网上介绍Mqtt的实现原来的比较多,这里不细介绍。 其实在我们之前的产品中,自己也开发的有类似的中间件,除了具…...
Gateway的服务网关
Gateway服务网关 Gateway网关是我们服务的守门神,所有微服务的统一入口。 网关的核心功能特性: 请求路由 权限控制 限流 架构如下: gateway使用 引入依赖 创建gateway服务,引入依赖 <!--网关--> <dependency>…...
信息化发展18
存储技术 1 、存储分类 2 、常用存储模式的技术与应用对比: ( 1 ) 存储虚拟化( Storage Virtualization ) 是“ 云存储” 的核心技术之一。 它带给人们直接的好处是提高了存储利用率, 降低了存储成本, 简…...
TypeScript学习 + 贪吃蛇项目
TypeSCript简介 TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。TS完全兼容JS,换言之,任何的JS代码都可以直…...
YOLO-NAS详细教程-介绍如何进行物体检测
对象检测是计算机视觉中的一项核心任务,可以检测和分类图像中的边界框。自从深度学习首次取得突破以来,它就以极快的速度获得普及和普及,并推动了医疗领域、监控、智能购物等众多公司的发展。考虑到它最终满足了两个基本需求,这一点也就不足为奇了端到端方式:找到所有当前…...
容器没有命令时,如何查看进程、容器executable file not found in $PATH: unknown
前言 当容器没有ps -ef命令时,可以通过以下的命令来查看容器的进程。 docker container top查看容器运行的进程(该命令很有用) #docker container top 命令用于查看容器运行的进程 #当容器里面没有ps -ef命令时,使用docker con…...
如何使用 Amazon EMR 在 Amazon EKS 上构建可靠、高效、用户友好的 Spark 平台
这是 SafeGraph 技术主管经理 Nan Zhu 与亚马逊云科技高级解决方案架构师 Dave Thibault 共同撰写的特约文章。 SafeGraph 是一家地理空间数据公司,管理着全球超过 4100 万个兴趣点(POI,Point of Interest),提供品牌隶…...
国产IDE如何获得捐赠和风险投资
有人在开发VB6 脚本工具,有人在开发VB6的插件,把VB6变成VSCODE界面模式,再加上NUGET,NPM等包管理器原理的在线组件、源码下载功能。 还有TWINBASIC几乎80%代替了VB6,radbasic一直封闭,听说也收到了不少众筹…...
【数学建模】清风数模正课5 相关性分析
相关系数 相关性分析的关键是计算相关系数,在本节课中将会介绍两种常用的相关系数:皮尔逊相关系数(Pearson)和斯皮尔曼相关系数(Spearman)。 它们可以用来衡量两个变量间相关性的大小,对于不同…...
Java设计模式:一、六大设计原则-03:里氏替换原则
文章目录 一、定义:里氏替换原则1.1 里氏替换原则1.2 里氏替换原则的作用 二、模拟场景:里氏替换原则三、违背方案:里氏替换原则3.1 工程结构3.2 储蓄卡和信用卡3.2.1 储蓄卡3.2.2 信用卡 3.3 单元测试3.3.1 储蓄卡测试3.3.2 信用卡测试 四、…...
jmeter 固定定时器
固定定时器(Constant Timer)是一个定时器元件,可以在线程组中的每个线程之间添加固定的延迟时间。固定定时器会对每个线程的执行进行一定的暂停。 聊一下和线程组中的调度器对线程组执行时长的影响: 相同: 都会影响线…...
【微服务部署】07-调用链追踪
文章目录 集成SkyWalking实现调用链追踪1. SkyWalking架构图2. 代码集成SkyWalking 集成SkyWalking实现调用链追踪 1. SkyWalking架构图 Receiver是SkyWalking的入口,支持gRPC和HTTP协议。 SkyWalking内部有分析和查询两个部分 存储方面SkyWalking支持Elasticsearc…...
【C++入门】命名空间、缺省参数、函数重载、引用、内联函数
👻内容专栏: C/C编程 🐨本文概括: C入门学习必备语法 🐼本文作者: 阿四啊 🐸发布时间:2023.9.3 前言 C是在C的基础之上,容纳进去了面向对象编程思想,并增加…...
c++ 学习之 构造函数的使用规则
上规则 // 默认情况下,c 编译器至少给一个类添加三个函数 //1.默认构造函数(无参,函数体为空) //2.默认析构函数 (无参 ,函数体为空) //3.默认拷贝函数,对其属性进行值拷贝 //构…...
C++操作符重载的注意事项
关于C操作符重载,可以用类内的成员运算符重载或友元函数。但是注意两个不能同时出现,不然编译出错。 #include<iostream> using namespace std; class Complex{public:Complex(int r0,int i0){real r;imag i;}//#if 0Complex operator(Complex …...
10 | Spark 查找每个单词的最大行号
假设你有一个包含文本行号和文本内容的RDD,现在你想找出每个单词出现在哪些行,并计算它们出现的最大行号。 需求是从包含文本行号和文本内容的RDD中找出每个单词出现在哪些行,并计算它们出现的最大行号。 具体需求如下: 数据输入: 代码从一个包含文本行号和文本内容的RD…...
CRE66365
CRE66365是一款高度集成的电流模式PWM控制IC,为高性能、低待机功耗和低成本的隔离型反激转换器。在正常负载条件下,AC输入高电压下工作在QR模式。为了最大限度地减少开关损耗,QR 模式下的最大开关频率被内部限制为 77kHz。当负载较低时&#…...
React hook 10种常见 Hook
React Hook是什么? React官网是这么介绍的: Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 完全可选的 你无需重写任何已有代码就可以在一些组件中尝试 Hook。但是如果你不想,你不…...
图文详解PhPStudy安装教程
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 官方下载 请在PhPStudy官方网站下载安装文件,官方链接如下:https://m.xp.cn/linux.html;图示如下: 请下载PhPStudy安装文件…...
stable diffusion实践操作-hypernetworks
系列文章目录 本文专门开一节写hypernetworks的内容,在看之前,可以同步关注: stable diffusion实践操作 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、h…...
Win10搭建VisualSvn Server
Win10搭建VisualSvn Server 目录 Win10搭建VisualSvn Server一、下载VisualSvn Server安装包二、安装VisualSvn Server三、配置和使用VisualSVN Server四、添加用户及权限设定方法五、创建目录及配置权限 1、服务端:有集成了Subversion和Apache、安装使用非常简单且…...
Golang网络编程
Golang网络编程 网络编程简介网络编程协议网络分层模型TCP/IP协议什么是DNS套接字(Socket)客户端服务器模型TCP/UDP的区别HTTP协议会话sessionCookiehttpsHTTP请求格式HTTP响应格式http头信息http请求头信息http响应头信息HTTP状态码http内容类型和内容…...
详解vue3中ref和reactive用法和区别
vue3中ref和reactive区别 1、前言2、基本用法2.1 ref2.2 reactive 3、ref和reactive定义数组对比3.1 ref定义数组3.1 reactive定义数组 4、ref 和reactive的区别 1、前言 ref和reactive是Vue3中用来实现数据响应式的API,一般情况下,ref定义基本数据类型…...
QML与C++的交互操作
QML旨在通过C 代码轻松扩展。Qt QML模块中的类使QML对象能够从C 加载和操作,QML引擎与Qt元对象系统集成的本质使得C 功能可以直接从QML调用。这允许开发混合应用程序,这些应用程序是通过混合使用QML,JavaScript和C 代码实现的。除了从QML访问…...
Java_理解方法调用
理解方法调用 首先什么是隐式参数 --->隐式参数是调用该方法的对象本身。 接下来方法的名称和参数列表被称为方法的签名(signature)。在Java中,方法的签名由方法的名称和参数列表组成,用于唯一标识一个方法。返回类型不是签名的…...
Mysql 性能分析(慢日志、profiling、explain)、读写分离(主从架构)、分库分表(垂直分库、垂直分表、水平分表)
查看系统性能参数 一条sql查询语句在执行前,需要确定查询执行计划,如果存在多种执行计划的话,mysql会计算每个执行计划所需要的成本,从中选择 成本最小的一个作为最终执行的执行计划 想要查看某条sql语句的查询成本,可…...
网站建设教程视频/2022年seo还值得做吗
对w3wp.exe的一点认识!很想看一个网站的内容,但是这个网站没有RSS,还得整天的去打这个网站!感觉比较郁闷,正好今天有时间,你不能提供订阅,我自己来生成RSS,自己来搞定订阅的问题. 实现这个功能的思路比较简单:获取该网址的Html源代码,通过正则表达式过滤出有用的数据,将这些有用…...
东莞做网站有哪些/快速网站推广优化
sudo -s cd /media/VMware Tools tar xvzf VMwareTools-9.6.0-1294478.tar.gz -C /root cd /root/vmware-tools-distrib ./vmware-install.pl -d...
深圳个人网站建设/泉州关键词排名工具
def spot(waitByTime30,waitByTime1):try:elm waitByTime1.until(lambda x: x.find_element_by_name("captcha"))print(elm)except:#没有找到这个验证码return...
微信公众号 链接微网站/茶叶网络推广方案
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:添加菜单(Menu)(菜单功能、创建菜单、处理选项动作) * 作 者: 雷恒…...
上海高端网站建设公/18岁以上站长统计
最近系统升级,安装另一种杀毒软件。一般情况下,必须先删除原来的杀毒软件,然后安装新软件。可有的时候操作失误,造成两种杀毒软件的存在。前天就出现了这种情况。如果在本机,到安全模式删除旧杀毒软件就是了。可是&…...
网站招代理/电商网站建设方案
原文:http://msdn2.microsoft.com/en-us/library/bb428649.aspxMS Office Excel 2007与上一版的Excel一样,都提供了对用户定义函数(UDF)的支持。UDF用于扩展Excel的计算和数据导入能力。我们可以利用UDF来: 提供默认的Excel函数库中没有提供的…...