第 4 章 第 4 章 卷积神经网络-datawhale ai夏令营

news2024/9/21 15:24:59

        独热向量 y ′ 的长度决 定了模型可以识别出多少不同种类的东西。我们希望 y ′ 和 yˆ 的交叉熵越小越好。

        为了避免过拟合,在做图像识别的时候,考虑到图像本身的特性,并不一定 需要全连接,即不需要每个神经元跟输入的每个维度都有一个权重。

4.1 观察 1:检测模式不需要整张图像

        要知道图像有没有一个鸟嘴,只要看非常小的范围。这些神经元不需要把整张图像当作输入, 只需要把图像的一小部分当作输入,就足以让它们检测某些特别关键的模式是否出现,这是 第 1 个观察。

4.2 简化 1:感受野

        蓝色的神经元的守备范围就是红色正方体框的感受野。这个感受野里面有 3 × 3 × 3 个数值。对蓝色的神经元,它只需要关心这个小范围

        Q: 感受野一定要相连吗?所以通常的感受野都是相连的领地,但如果要设计很奇怪的感受野去解决 很特别的问题,完全是可以的,这都是自己决定的。

        一般同一个感受野会有一组神经元去守备这个范围,比如 64 个或者是 128 个神经元去守 备一个感受野的范围。

我们把左上角的感受野往右移一个步幅,就制造出一个新的守备范围,即新的感受野。 移动的量称为步幅(stride),接下来需要考虑一个问题:感受野超出了图像的范围,怎么办呢?超出范围就做填充(padding),填充就是补值,一般使用零填充(zero padding),超出范围就补 0,其实也有别的补值的方法,比如补整张图像里面所有值的 平均值或者把边界的这些数字拿出来补没有值的地方。4.3 观察 2:同样的模式可能会出现在图像的不同区域

        如图,因为出现在左上角的鸟嘴,它一定落在某一个感受野里面。因 为感受野是盖满整个图像的,所以图像里面所有地方都在某个神经元的守备范围内。假设在 某个感受野里面,有一个神经元的工作就是检测鸟嘴,鸟嘴就会被检测出来。所以就算鸟嘴出 现在中间也没有关系。假设其中有一个神经元可以检测鸟嘴,鸟嘴出现在图像的中间也会被 检测出来。

4.4 简化 2:共享参数

        简单来说就是有一个老师在上课,它可以一个班一个班的上,没必要这么麻烦,直接开个大班上课。所谓参数共享就是两个神经元的权重完全是一样的。

 上面神经元 跟下面神经元守备的感受野是不一样的,但是它们的参数是相同的。虽然两个神经元的参数 是一模一样,但它们的输出不会永远都是一样的,因为它们的输入是不一样的,它们照顾的范 围是不一样的。

如图 4.15 所示,每个感受野都有一组神经元在负责守备,比如 64 个神经元,它们彼此 之间可以共享参数。图 4.16 中使用一样的颜色代表这两个神经元共享一样的参数,所以每个 感受野都只有一组参数,就是上面感受野的第 1 个神经元会跟下面感受野的第 1 个神经元共 用参数,上面感受野的第 2 个神经元跟下面感受野的第 2 个神经元共用参数 · · · · · · 所以每个 感受野都只有一组参数而已,这些参数称为滤波器(filter)。这是第 2 个简化的方法。

4.5 简化 1 和 2 的总结

        全连接网络可以决定它看整张图像还是只看一个范围,如果它只想看一个范围,可以 把很多权重设成 0。全连接层(fully-connected layer,)可以自己决定看整张图像还是一个小范围。感受野加上参数共享就是卷积层 (convolutional layer),用到卷积层的网络就叫卷积神经网络。卷积神经网络的偏差比较大。 但模型偏差大不一定是坏事,因为当模型偏差大,模型的灵活性较低时,比较不容易过拟合。

        接下来通过第 2 个版本的故事来说明卷积神经网络。 一个卷积层里面就是有一排的滤波器,每个滤波器都是一 个 3 × 3 × 通道,其作用是要去图像里面检测某个模式。

        假设这些滤波器里面的数值已经找出来了,如图 4.20 所示,这是一个 6 × 6 的大小的图像。先把滤波器放在图像的左 上角,接着把滤波器里面所有的 9 个值跟左上角这个范围内的 9 个值对应相乘再相加,也就 是做内积,结果是 3。

如果有 64 个滤波器,就可 以得到 64 组的数字。这组数字称为特征映射(feature map)。当一张图像通过一个卷积层 里面一堆滤波器的时候,就会产生一个特征映射。假设卷积层里面有 64 个滤波器,产生的特 征映射就有 64 组数字。特征映射可以看成是另外一张新的图像,只是这个图像的通道不是 RGB 3 个通道,有 64 个通道,每个通道就对应到一个滤波器。

4.6 观察 3:下采样不影响模式检测

        把一张比较大的图像做下采样(downsampling), 把图像偶数的列都拿掉,奇数的行都拿掉,图像变成为原来的 1/4,但是不会影响里面是什么 东西。

4.7 简化 3:汇聚

最大汇聚在每一组里面选一个代表, 选的代表就是最大的一个,如图 4.28 所示。除了最大汇聚,还有平均汇聚(mean pooling), 平均汇聚是取每一组的平均值。

假设要检测的是非常微细的东西,随便做下采样,性能 可能会稍微差一点。所以近年来图像的网络的设计往往也开始把汇聚丢掉,它会做这种全卷 积的神经网络,整个网络里面都是卷积,完全都不用汇聚。

        一般架构就是卷积加汇聚,汇聚是可有可无的,很多人可能会选择不用汇聚。如图 4.30 所示,如果做完几次卷积和汇聚以后,把汇聚的输出做扁平化(flatten),再把这个向量丢进 全连接层里面,最终还要过个 softmax 来得到图像识别的结果。这就是一个经典的图像识别 的网络,里面有卷积、汇聚和扁平化,最后再通过几个全连接层或 softmax 来得到图像识别 的结果。

扁平化就是把图像里面本来排成矩阵样子的东西“拉直”,即把所有的数值“拉直”变成一 个向量。

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

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

相关文章

进程通信——消息队列

文章目录 1.概念1.0 IPC1.1 什么是消息队列1.2 消息队列工作机制1.3 消息队列与其他进程通信机制的比较: 2.使用System-V版2.1 用户消息缓冲区2.2 创建消息队列msgget2.3 添加消息到消息队列msgsend2.4 从消息队列读取消息、2.5 消息队列的控制函数msgctrl2.6 msqid…

SpringBoot中,启动A服务,naocs却注册B服务,解决思路。

今天遇到了一个令我非常费解的报错,我明明启动的是auth服务,但是nacos愣是给我注册的patient服务,下面看看解决思路(虽然我这个问题很乌龙,但如果真的是你的配置有问题,那么这篇文章也是可以帮助到你。&…

开源通用验证码识别OCR —— DdddOcr 源码赏析(二)

文章目录 前言DdddOcr分类识别调用识别功能classification 函数源码classification 函数源码解读1. 分类功能不支持目标检测2. 转换为Image对象3. 根据模型配置调整图片尺寸和色彩模式4. 图像数据转换为浮点数据并归一化5. 图像数据预处理6. 运行模型,返回预测结果 …

如何在Windows和Mac上免费提取RAR文件?这里有方法

序言 你有没有下载过一个文件,却发现它有一个奇怪的.rar文件扩展名?RAR是一种压缩文件格式,与ZIP文件非常相似,在本文中,我们将向你展示如何在Windows或macOS上打开RAR文件。 如何在Windows 11上打开RAR文件 Windows 11在2023年增加了对RAR文件的原生支持。从那时起,你…

前端框架vue3中的条件渲染(v-show,v-if,v-else-if,v-else)

目录 v-show: 需求&#xff1a; v-if 区别与v-show&#xff1a; v-if和v-show的选择&#xff1a; v-else-if和v-else 联合使用&#xff1a; v-show: 部分代码如图&#xff1a; <body><div id"root"><div ><h1>n的值为{{n}}</h1>…

【计算机网络】浏览器输入访问某网址时,后台流程是什么

在访问网址时&#xff0c;后台的具体流程可以因不同的网站、服务器和应用架构而异。 实际过程中可能还涉及更多的细节和步骤&#xff0c;如缓存处理、重定向、负载均衡等。 此外&#xff0c;不同的网站和应用架构可能会有不同的实现方式和优化策略。 部分特定网站或应用&#x…

数据仓库系列19:数据血缘分析在数据仓库中有什么应用?

你是否曾经在复杂的数据仓库中迷失方向&#xff0c;不知道某个数据是从哪里来的&#xff0c;又会流向何方&#xff1f;或者在处理数据质量问题时&#xff0c;无法快速定位根源&#xff1f;如果是这样&#xff0c;那么数据血缘分析将会成为你的得力助手&#xff0c;帮助你在数据…

协议转换桥+高速协议传输终端

多路协议传输终端&#xff08;正在更新&#xff09; 整体框图&#xff08;正在更新&#xff09; 万兆UDP协议栈 整体框图 10G 8b10b phy层设计 整体框图 报文格式

从pdf复制的表格内容粘贴到word或excel表格保持表格格式

对于it工作&#xff0c;硬件和软件&#xff0c;经常需要从pdf复制表格内容到word或excel&#xff0c;但是windows的ctrlc和ctrlv只能复制内容而不能保留表格的格式。 粘贴进word或excel的表格后&#xff0c;不能保持原来表格的排列&#xff0c;特别是word&#xff0c;复制的pdf…

[Leetcode] 接雨水(相向双指针)

可以直接移步大神的解题思路&#xff0c;非常详细 -> 盛最多水的容器 接雨水_哔哩哔哩_bilibili 11. 盛最多水的容器 https://leetcode.cn/problems/container-with-most-water/description/ 42. 接雨水 https://leetcode.cn/problems/trapping-rain-water/description/ 11…

并发编程之LockSupport的 park 方法及线程中断响应

并发编程之LockSupport的 park 方法及线程中断响应-CSDN博客

STM32CubeIDE

文章目录 Stm32CubeIDE开发环境介绍获取路径 新建工程 Stm32CubeIDE 开发环境介绍 也就是说IDE是集合了CubeMX 和MDK5的。 区别&#xff1a; 获取路径 官网&#xff1a;https://www.st.com/en/development-tools/stm32cubeide.html A盘路径&#xff1a;A盘\6&#xff0c;软…

Signed distance fields (SDFs) and Truncated Signed Distance Field(TSDF)

1. Signed distance fields (SDFs) 笔记来源&#xff1a; [1] Signed distance fields (SDFs) [2] Signed Distance Function (SDF): Implicit curves or surfaces [3] Ray Marching and Signed Distance Functions [4] Truncated Signed Distance Function [5] Wiki/Signed d…

个人旅游网(4)——功能详解——收藏功能

文章目录 一、收藏排行榜功能1.1、接口详解1.1.1、findRouteList 二、收藏功能2.1、接口详解2.1.1、find&#xff08;用于判断当前旅游路线是否已被收藏&#xff09;2.1.2、add-favorite&#xff08;用于实现收藏功能&#xff09;2.1.3、remove-favorite&#xff08;用于实现取…

ubuntu20.04搭建kubernetes1.28.13集群配置calico网络插件

写在前面 这里是我在搭建过程中从某站找到的教学视频,搭载的都是最新的,大家可以参考一下 搭建kubernetes集群学习视频: 视频链接。最后面会有我遇见报错信息的所有连接和解决方案,自行查看 不说废话,直接开搭 搭建集群大纲 一、三台虚拟机的初始化 二、三台虚拟机连接…

内存管理篇-19 TLB和Table wake unit

TLB这几节&#xff0c;停下来感觉怪怪的。没有从TLB的引入&#xff0c;工作原理&#xff0c;实际源码应用来深入分析。 TLB 是一种高速缓存&#xff0c;用于存储最近使用的页表项&#xff08;Page Table Entries, PTEs&#xff09;。它的主要目的是加速虚拟地址到物理地址的转换…

卷积公式的几何学理解

1、Required Knowledge 1.1、概率密度函数 用于描述连续型随机变量在不同取值上的概率密度&#xff0c;记作 f ( x ) f(x) f(x)。 如随机变量 X X X的分布为正态分布&#xff0c;则其概率密度函数为&#xff1a; f ( x ) 1 σ 2 π e − ( x − μ ) 2 2 σ 2 f(x)\frac{1}…

容器化你的应用:使用 Docker 入门指南

Docker 是一个流行的平台&#xff0c;它允许开发者将应用程序及其依赖项打包在一起&#xff0c;形成一个轻量级、可移植的容器。这种做法极大地简化了开发、测试和部署流程&#xff0c;因为无论是在本地还是在云端&#xff0c;容器都能确保应用的一致性。本指南将带你从头开始学…

粗心的懒洋洋做Python二级真题(错一大堆,分享错题)

以下内容&#xff0c;皆为原创&#xff0c;制作不易。感谢大家的点赞和关注。 一.数据流图 数据流图&#xff08;Data Flow Diagram&#xff0c;简称DFD&#xff09;是一种图形化表示法&#xff0c;用于展示信息系统中数据的流动和处理过程。 考点&#xff1a;数据流图是系统逻…

【我要成为配环境高手】Visual Studio中Qt安装与配置(无伤速通)

1.下载安装Qt和VSIX插件 2.本地环境变量配置 添加如下&#xff1a; D:\ProgramData\Qt\Qt5.14.2\5.14.2\msvc2017_64\libD:\ProgramData\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin3.VS配置 ⭐项目右键->属性->调试->环境&#xff0c;添加如下&#xff1a;(很重要&#x…