深度学习入门基础CNN系列——感受野和多输入通道、多输出通道以及批量操作基本概念

news2024/11/24 4:40:26

本篇文章主要讲解卷积神经网络中的感受野和通道的基本概念,适合于准备入门深度学习的小白,也可以在学完深度学习后将其作为温习。

如果对卷积计算没有概念的可以看本博主的上篇文章深度学习入门基础CNN系列——卷积计算

一、感受野(receptive field)

这里先给出概念,感受野:在卷积神经网络CNN中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野(receptive field)。
输出特征图上每个点的数值,是由输入图片上大小为 k h × k w k_h\times k_w kh×kw的区域的元素与卷积核对应每个元素相乘再相加得到的,所以输入图像上 k h × k w k_h\times k_w kh×kw区域内每个元素数值的改变,都会影响输出点的像素值。==我们将这个区域叫做输出特征图上对应点的感受野。==感受野内每个元素数值的变动,都会影响输出点的数值变化。比如 3 × 3 3\times3 3×3卷积对应的感受野大小就是 3 × 3 3\times3 3×3,如下图所示:
在这里插入图片描述
而通过两层 3 × 3 3\times3 3×3卷积之后,感受野的大小将会增加到 5 × 5 5\times5 5×5,如下图所示:
在这里插入图片描述
因此,当增加卷积网络深度的同时,感受野将会增大,输出特征图中的一个像素点将会包含更多的图像语义信息。

二、多输入通道、多输出通道和批量操作

前面几篇文章的卷积计算过程比较简单,实际应用时,处理的问题要复杂的多。例如:对于彩色图片有RGB三个通道,需要处理多输入通道的场景。输出特征图往往也会具有多个通道,而且在神经网络的计算中常常是把一个批次的样本放在一起计算,所以卷积算子需要具有批量处理多输入和多输出通道数据的功能,下面将分别介绍这几种场景的操作方式。

2.1 多输入通道场景

在上面的例子中,卷积层的数据是一个2维的数组,但实际上一张图片往往含有RGB三个通道,要计算卷积的输出结果,卷积核的形式也会发生改变,假设输入图片的通道数为 C i n C_{in} Cin,输入数据的形式是 C i n × H i n × W i n C_{in}\times H_{in}\times W_{in} Cin×Hin×Win,计算过程如下图所示。
在这里插入图片描述
步骤如下:

  1. 对每个通道分别设计一个2维数组作为卷积核,卷积核数组的形状为 C i n × K h × K w C_{in}\times K_{h} \times K_{w} Cin×Kh×Kw
  2. 对任意一个通道 C i n ∈ [ 0 , C i n ) C_{in} \in [0,C_{in}) Cin[0,Cin),分别用大小为 k h × k w k_{h}\times k_{w} kh×kw的卷积核在大小为 H i n × W i n H_{in}\times W_{in} Hin×Win的二维数组上做卷积。
  3. 将这 C i n C_{in} Cin个通道的计算结果相加,得到的是一个形状为 H o u t × W o u t H_{out}\times W_{out} Hout×Wout的二维数组。

2.2 多输出通道场景

一般来说,卷积操作的输出特征图也会具有多个通道 C o u t C_{out} Cout,这时候我们需要设计 C o u t C_{out} Cout个维度为 C i n × k h × k w C_{in} ×k_{h} ×k_{w} Cin×kh×kw的卷积核,卷积核数组的维度是 C o u t × C i n × k h × k w C_{out}\times C_{in}\times k_h \times k_w Cout×Cin×kh×kw,如下图所示:
在这里插入图片描述
步骤如下:

  1. 将任意一输出通道 C o u t ∈ [ 0 , C o u t ] C_{out}\in[0,C_{out}] Cout[0,Cout],分别使用上面描述的形状为 C i n × k h × k w C_{in} ×k_{h} ×k_{w} Cin×kh×kw的卷积核对输入图片进行卷积。
  2. 对这 C o u t C_{out} Cout个形状为 H o u t × W o u t H_{out}\times W_{out} Hout×Wout

说明:
通常将卷积核的输出通道数叫做卷积核的个数。

2.3 批量操作

在卷积神经网络的计算中,通常将多个样本放在一起形成一个mini-batch进行批量操作,即输入数据的维度是 N × C i n × H i n × W i n N\times C_{in}\times H_{in}\times W_{in} N×Cin×Hin×Win。由于会对每张图片使用同样的卷积核进行卷积操作,卷积核的维度与上面多输出通道的情况一样,仍然是 C o u t × C i n × k h × k w C_{out}\times C_{in}\times k_h \times k_w Cout×Cin×kh×kw,输出特征图的维度是 N × C o u t × H o u t × W o u t N\times C_{out} \times H_{out} \times W_{out} N×Cout×Hout×Wout,如下图所示:

在这里插入图片描述

附:
深度学习入门基础CNN系列——填充(padding)与步幅(stride)
深度学习入门基础CNN系列——卷积计算

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

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

相关文章

基于Java+SpringBoot+Vue+uniapp微信小程序零食商城系统设计和实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

【从零开始学习深度学习】47. Pytorch图片样式迁移实战:将一张图片样式迁移至另一张图片,创作自己喜欢风格的图片【含完整源码】

目录1. 图片样式迁移的方法介绍2. 读取内容图像和样式图像3. 图像的预处理和后处理4. 图像的抽取特征5.1 内容损失5.2 样式损失5.3 总变差损失5.4 损失函数6. 创建和初始化合成图像7. 训练模型并输出合成图像总结本文将介绍如何使用卷积神经网络自动将某图像中的样式应用在另一…

分享回顾|新岁序开,2023 和Jina AI共同码梦!

在坚持开放协作精神、具备全球影响力的 Jina AI 开源社区,每天都有来自世界各地的开发者来到这里,因为技术产生联结,因为联结产生共创。一直以来,我们都为拥有这样一个全球化、多元化和高速发展的社区而感到自豪和感激&#xff01…

golang解决跨域问题

文章目录前言一、跨域问题1.是什么2.跨域的特征(跨域报错)二、解决跨域问题的方法1.golang解决跨域问题2.简单请求3.非简单请求过程分析(复杂请求):三、状态码设置为200依旧出错前言 今天中午在部署golang与vue搭建的一个项目时&…

JavaWeb开发(三)3.3——Spring Bean详解(基于XML方式)

一、Bean的概念 由 Spring IoC 容器负责创建、管理所有的Java对象&#xff0c;这些管理的对象称为 Bean&#xff0c;Bean 根据 Spring 配置文件中的信息创建。 二、基于XML方式管理bean对象 eg&#xff1a; <?xml version"1.0" encoding"UTF-8"?&…

JupyterLab,极其强大的 10 个秘密技巧

之前一篇文章&#xff1a;整理了上千个 Python 工具库&#xff0c;涵盖24个大方向 没想到火了。喜欢的可以看一下。 今天我给大家分享一下 Jupyter Lab 的一些内容。 JupyterLab 是 Jupyter 主打的最新数据科学生产工具&#xff0c;某种意义上&#xff0c;它的出现是为了取代…

瑞芯微的接口结构学习总结

MPI 接口使用的主要数据结构&#xff1a; 瑞芯微提供的媒体处理软件平台&#xff08;Media Process Platform&#xff0c;简称 MPP&#xff09;是适用于瑞芯微芯片系列的 通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理&#xff0c;其目的是为了屏蔽不 …

2022 全球网络黑产常用攻击方法 Top 10

近几年&#xff0c;借助互联网产业发展的东风&#xff0c;网络黑产也迎来更加巅峰的状态&#xff0c;不论是从攻击效率&#xff0c;组织规模&#xff0c;亦或是收益变现能力&#xff0c;都在一天天变的成熟完善。根据艾瑞咨询 2020 年发布的《现代网络诈骗分析报告》&#xff0…

哪些数据库开了全文索引

大家好&#xff0c;才是真的好。 今天我们讨论Domino运维管理问题&#xff1a;哪些数据库开启了全文索引&#xff1f; 在前面的某些篇章中&#xff0c;我们介绍过什么是Notes应用的全文索引Full Text Index&#xff0c;以下简称FTI。它是Notes库中的单词的文本索引或列表&…

HTML零基础教程,九大知识点带你玩转前端(下)

博主&#xff1a;冰小九&#xff0c;新人博主一只&#xff0c;欢迎大佬前来指导 冰小九的主页喜欢请给个三连加关注呀&#xff0c;谢谢&#x1f337;&#x1f337;&#x1f337;三连加关注&#xff0c;追文不迷路&#xff0c;你们的支持就是我最大的动力&#xff01;&#xff0…

javaAPI操作-Zookeeper

## 4)ZooKeeper JavaAPI 操作 4.1)Curator介绍 •Curator 是 Apache ZooKeeper 的Java客户端库。 •常见的ZooKeeper Java API &#xff1a; •原生Java API •ZkClient •Curator •Curator 项目的目标是简化 ZooKeeper 客户端的使用。 •Curator 最初是 Netfix 研发的…

电影购票系统项目实战

电影购票系统项目实战电影购票系统简介、项目功能演示。日志框架搭建、系统角色分析首页、登录、商家界面、用户界面实现商家功能-展示详情、影片上架、退出商家功能-影片下架、影片修改用户功能-展示全部影片用户功能-购票功能用户功能-评分功能用户功能-根据片名查询全部影片…

绝缘手套穿戴智能识别算法 yolov5

绝缘手套穿戴智能识别算法通过opencvpython深度学习技术&#xff0c;对现场人员是否佩戴绝缘手套进行识别检测&#xff0c;当检测到现场人员违规行为未佩戴绝缘手套时立刻抓拍告警。我们使用YOLO(你只看一次)算法进行对象检测。YOLO是一个聪明的卷积神经网络(CNN)&#xff0c;用…

初学者C语言练习题-入门

一、入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好&#xff0c;可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言&#xff0c;所以说学习C语言是进入编程世…

Python SciPy 模块列表

SciPy 模块列表以下列出了 SciPy 常用的一些模块及官网 API 地址&#xff1a;模块名功能参考文档scipy.cluster向量量化cluster APIscipy.constants数学常量constants APIscipy.fft快速傅里叶变换fft APIscipy.integrate积分integrate APIscipy.interpolate插值interpolate API…

Android自定义控件(八) Android仿招商银行APP手势解锁

前言 目前大部分APP的登录方式有多种类型&#xff0c;其中手势解锁就是其中比较常见的一种方式&#xff0c;经常使用的招商银行APP&#xff08;IOS&#xff09;端的手势解锁体验不错的&#xff0c;就仿照它自定义下手势解锁功能。 说明 1、招行APP手势解锁效果 2、绘制分析 …

【技术推荐】前端JS攻防对抗

简介 网络爬虫一直以来是让网站维护人员头痛的事情&#xff0c;即要为搜索引擎开方便之门&#xff0c;提升网站排名、广告引入等&#xff0c;又要面对恶意爬虫做出应对措施&#xff0c;避免数据被非法获取&#xff0c;甚至出售。因此促生出爬虫和反爬虫这场旷日持久的战斗。 爬…

Java中的Arrays类

1、问题Arrays类是什么&#xff0c;Arrays常用方法。2、方法了解Arrays类的概念Arrays 位于java.util包下,Arrays是一个操作数组的工具类。Arrays常用方法Arrays.fill&#xff1a;替换数组原元素&#xff1b;Arrays.sort:对数组进行排序&#xff08;递增&#xff09;&#xff1…

23种设计模式(六)——装饰模式【单一职责】

文章目录意图什么时候使用装饰真实世界类比装饰模式的实现装饰模式的优缺点亦称&#xff1a; 装饰者模式、装饰器模式、Wrapper、Decorator 意图 装饰者模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象扩展新的功能&#xff0c;同时不改变其结构。主要解决…

Allegro如何快速找到差分不耦合处操作指导

Allegro如何快速找到差分不耦合处操作指导 做PCB设计的时候,需要检查差分对不耦合的地方,让差分不耦合的地方高亮出来 具体操作如下 用Allegro172版本打开pcb,选择View选择Vision Manager