深度学习基础之《TensorFlow框架(18)—卷积神经网络(2)》

一、卷积层

1、卷积层(Convolutional Layer)介绍
卷积神经网络中每层卷积层由若干卷积单元(卷积核)组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的
卷积运算的目的是特征提取,第一层卷积层可能只能提取一些低级的特征,如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征

2、卷积核(Filter)的四大要素
卷积核 - Filter - 过滤器 - 模型参数
(1)卷积核个数
(2)卷积核大小
(3)卷积核步长
(4)卷积核零填充大小
接下来我们通过计算案例讲解,假设图片是黑白图片(只有一个通道)

3、卷积如何计算-大小
卷积核我们可以理解为一个观察的人,带着若干权重和一个偏置去观察,进行特征加权运算

注:上述要加上偏置

输入的图像:5 * 5,filter是3 * 3 * 1,乘以1个通道1
步长:是1,一次移动1格
输出:3 * 3 * 1

卷积核常用的大小:1 * 1,3 * 3,5 * 5
通常卷积核大小选择这些大小,是经过研究人员实验证明比较好的效果

观察之后会得到一个运算结果,那么这个人想观察所有这张图的像素怎么办?那就需要平移:

4、卷积如何计算-步长
需要去平移卷积核观察这张图片,需要的参数就是步长

假设移动的步长为一个像素,那么最终这个人观察的结果以下图为例:
5 * 5的图片,3 * 3的卷积大小,一个步长运算得到3 * 3的大小观察结果

如果移动的步长变成2,那么结果是这样:
5 * 5的图片,3 * 3的卷积大小,2个步长运算,得到2 * 2的大小观察结果

5、卷积如何计算-卷积核个数
那么如果在某一层结构当中,不止是一个人观察,多个人(卷积核)一起去观察,那就得到多张观察结果(盲人摸象?)
不同的卷积核带的权重和偏执都不一样,即随机初始化的参数

我们已经得出输出结果的大小由大小和步长决定的,但是只有这些吗?
还有一个就是零填充。Filter观察窗口的大小和移动步长有时会导致超过图片像素宽度!

6、卷积如何计算-零填充大小
零填充就是在图片像素外围填充一圈值为0的像素

7、总结-输出大小计算公式
如果已知输入图片形状,卷积核数量,卷积核大小,以及移动步长,那么输出图片形状如何确定?

通过一个例子来理解公式:
计算案例:
(1)假设已知条件:输入图像32*32*1,50个Filter,大小为5*5,移动步长为1,零填充大小为1。请求出输出大小?
H1 = 32
W1 = 32
D1 = 1
K = 50
F = 5
S = 1
P = 1

H2 = (H1 - F + 2P) / S + 1 = (32-5+2*1)/1+1 = 30
W2 = (H1 - F + 2P) / S + 1 = (32-5+2*1)/1+1 = 30
D2 = K = 50
所以输出大小为[30, 30, 30]

(2)假设已知条件:输入图像32*32*1,50个Filter,大小为3*3,移动步长为1,未知零填充,输出大小32*32,求零填充大小?
H1 = 32
W1 = 32
D1 = 1
K = 50
F = 3
S = 1
P = ?
H2 = 32

H2 = (H1 - F + 2P) / S + 1 = (32-3+2*P)/1+1 = 32
W2 = (H1 - F + 2P) / S + 1 = (32-3+2*P)/1+1 = 32
所以零填充大小为:1 * 1

8、多通道图片如何观察
如果是一张彩色图片,那么就有三种表分别为R,G,B。原本每个需要带一个3*3或者其他大小的卷积核,现在需要带3张3*3的权重和一个偏置,总共就27个权重。最终每个人还是得出一张结果:

输入图片:7 * 7 * 3
Filter:3 * 3 * 3 + bias,有2个filter
H1 = 5
D1 = 3
K = 2
F = 3
S = 2
P = 1
H2 = (5-3+2)/2+1 = 3
W2 = 和H2一样 = 3
D2 = 2

输出:3 * 3 * 2

9、卷积网络API
tf.nn.conv2d(input, filter, strides=, padding=, name=None)
说明:
(1)计算给定4-D input和filter张量的2维卷积
(2)input:输入图像,给定的输入张量,具有[batch, height, width, channel]四阶的形状,类型为float32,64
(3)filter:指定过滤器的权重数量,[filter_height, filter_width, in_channels, out_channels]
    filter_height:filter的高
    filter_width:filter的宽
    in_channels:输入图片的通道数
    out_channels:输出图片的通道数
(4)strides:需要传一维数组,strides = [1, stride, stride, 1],步长
(5)padding:"SAME","VALID",具体解释见下面

Tensorflow的零填充方式有两种,SAME和VALID
(1)SAME:越过边缘取样,取样的面积和输入图像的像素宽度一致
    公式:ceil(H/S)
    H为输入的图片的高或者宽,S为步长
    无论过滤器的大小是多少,零填充的数量由API自动计算
(2)VALID:不越过边缘取样,取样的面积小于输入人的图像的像素宽度。不填充

在Tensorflow当中,卷积API设置"SAME"之后,如果步长为1,输出高宽与输入大小一样(重要)

二、激活函数

1、sigmoid函数
随着神经网络的发展,大家发现原有的sigmoid等激活函数并不能达到好的效果,所以采取新的激活函数

2、ReLU函数

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

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

相关文章

Gradle和Maven项目解决Spring Boot Configuration Annotation Processor not configured警告

问题描述 写了一个配置类,加了注解@ConfigurationProperties(prefix = “xxx”) 后一直报警告:Spring Boot Configuration Annotation Processor not configured 意思是 Spring boot 未配置注解处理器 解决过程 出现这个问题后,百度查了解决方式 1.maven项目 maven项目是…

学习前端第四十四天(浏览器事件简介)

一、事件处理程序 对事件作出响应&#xff0c;可以分配一个 处理程序 &#xff0c; 一个在事件发生时运行的函数 1、HTML特性绑定事件处理函数 <button id"btn1" οnclick"fn();console.log(xc)">保存1</button> 2、DOM属性绑定事件处理函数…

纯软件双机热备

在信息化高速发展的今天&#xff0c;企业对于业务连续性的需求愈发强烈。无论哪个行业&#xff0c;系统的稳定运行都至关重要。为了确保系统的高可用性和业务连续性&#xff0c;纯软件双机热备技术应运而生&#xff0c;成为了企业IT架构中的关键一环。 双机热备软件下载 …

04信号量

如果有两个或者两个以上的任务(进程 / 线程&#xff0c;并发的实体)&#xff0c;去访问一个共享资源(硬件上面的&#xff0c;软件上的)。我们必须要保证这个共享资源的有序访问&#xff0c;否则会产生不可预知的后果 例子: very_important_i 5; // 共享资源 fun(…

vue3父组件使用ref获取子组件的属性和方法

在vue3中父组件访问子组件中的属性和方法是需要借助于ref: 1.<script setup> 中定义响应式变量 例如&#xff1a; const demo1 ref(null) 2.在引入的子组件标签上绑定ref属性的值与定义的响应式变量同名( <demo1 ref"demo1"/>)。 父组件代码如下&…

cPanel中如何进行网站质量检测

最近我在维护网站的时候需要查看网站质量如何&#xff0c;我使用的是Hostease的主机安装的WordPress网站&#xff0c;随后在咨询了他们的技术支持后获得了方法。 当您在cPanel中部署了网站后&#xff0c;确保网站的质量和性能是至关重要的。cPanel提供了一个便捷的功能Site Qu…

Postman进阶功能-Mock服务与监控

大家好&#xff0c;前面跟大家分享一些关于 Postman 的进阶功能&#xff0c;当我们深入探索 Postman 的进阶功能时&#xff0c;Mock 服务与监控这两个重要方面便跃然眼前。 首先&#xff0c;Mock 服务为我们提供了一种灵活便捷的方式&#xff0c;让我们在某些实际接口尚未准备好…

18.SpringCloud Gateway

简介 SpringCloud Gateway是spingcloud家族的产品&#xff0c;使用netty实现的高性能服务网关&#xff0c;用于替换netflix公司的zuul网关实现。 参考地址&#xff1a; https://spring.io/projects/spring-cloud 术语 工作原理 Route Predicate Factories GatewayFilte…

科大讯飞笔试题---字符串切割

1、 题目描述 小红拿到了一个字符串&#xff0c;她希望你帮她切割成若干子串&#xff0c;满足以下两个条件&#xff1a; 子串长度均为不小于 3 的奇数。 子串内部的字符全部相同。 输入 第一行输入一个正整数n&#xff0c;代表字符串长度。第二行输入一个字符串&#xff0c;仅…

前端基础入门三大核心之HTML篇:解密标签、标题与段落的艺术

前端基础入门三大核心之HTML篇&#xff1a;解密标签、标题与段落的艺术 一、HTML标签&#xff1a;网页元素的建筑砖石1.1 HTML标签的基本概念1.2 基础标签示例自闭合标签示例&#xff1a;图片标签 1.3 实战应用&#xff1a;使用<meta>标签优化网页 二、标题标签&#xff…

运行时间比较

subprocess.run() 函数参数的含义&#xff1a; shell_command&#xff1a;这是要执行的命令。它可以是一个字符串&#xff0c;也可以是一个包含命令和参数的列表。例如&#xff0c;“ls -l” 或 [“ls”, “-l”]。shellTrue&#xff1a;这是一个布尔值参数&#xff0c;指示是…

新一代分布式链路追踪skywalking编码实战教程(下)

&#x1f680; 作者 &#xff1a;“二当家-小D” &#x1f680; 博主简介&#xff1a;⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人&#xff0c;8年开发架构经验&#xff0c;精通java,擅长分布式高并发架构,自动化压力测试&#xff0c;微服务容器化k…

PostgresSQL开启归档模式

文章目录 一、查询数据库归档是否开启1、查看数据目录(找出conf文件位置)2、查看归档是否开启 二、开启归档模式&#xff08;开启后有一定的性能损耗&#xff09;1、创建归档目录2、修改postgresql.conf配置文件3、重启pg 三、验证归档情况1、查看归档是否开启2、检查点 , 刷新…

利用远控工具横向

一.横向移动介绍和方式 1.介绍 内网渗透的横向移动是指攻击者在成功进入内网后&#xff0c;通过利用内部系统的漏洞或者获取的合法访问权限&#xff0c;从一个受感染的系统向其他系统扩散或移动。这种横向移动的目的通常是为了获取更多的敏感信息、提升权限、扩大攻击面或者更…

【蓝桥杯】

题目列表 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using llunsigned long long; #define int ll const int N2e510; int k0; std::string s; int a,b,c,d; void solve() {char op;std::cin>>op;if(opA){std::string s;for(int i1;i&l…

文心一言指令解析

1、介绍 文心一言是一款灵感启发类的产品&#xff0c;它以简洁而深刻的文字表达来激发读者的思考和感悟。该产品通过每天提供一句精选的短语&#xff0c;让用户在繁忙的生活中停下脚步&#xff0c;思考人生和内心的真实需求。 每一句文心一言都经过精心挑选&#xff0c;它们通…

小程序-滚动触底-页面列表数据无限加载

// index/index.vue <template> <!-- 自定义导航栏 --> <CustomNavbar /> <scroll-view scrolltolower"onScrolltolower" scroll-y class"scroll-view"> <!-- 猜你喜欢 --> <Guess ref"guessRef" /> </s…

Hugging Face的TrainingArguments常用参数学习

Hugging Face的TrainingArguments类是用于设置和管理训练模型时的各种参数。下面是一些关键参数及其原理和使用示例&#xff1a; 1. 输出目录 (output_dir) 描述&#xff1a;保存模型和检查点的目录。 示例&#xff1a; output_dir./results2. 训练和验证批次大小 (per_devi…

蓝桥杯高频考点真题单——4.修改数组

修改数组 8.修改数组 - 蓝桥云课 (lanqiao.cn) 本来我的思路很一般&#xff0c;用一个set&#xff0c;记录每一段的最值&#xff0c;然后分情况讨论&#xff0c;如果查询到未记录的&#xff0c;那就直接输出&#xff0c;并记录。如果当前值前面已经有过&#xff0c;那就直接从…

恶劣天气下的车辆探测:多方关注 多模态融合方法

摘要 在自动驾驶汽车技术领域&#xff0c;多模式车辆检测网络(MVDNet)代表了一个重大的飞跃&#xff0c;特别是在具有挑战性的天气条件下。本文主要通过集成多头关注层对MVDNet进行增强&#xff0c;旨在改进其性能。MVDNet模型中集成的多头关注层是一个关键的改进&#xff0c;…