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

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

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

一、感受野(receptive field)

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

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

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

2.1 多输入通道场景

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

  1. 对每个通道分别设计一个2维数组作为卷积核,卷积核数组的形状为$C_{in}\times K_{h} \times K_{w}$。
  2. 对任意一个通道$C_{in} \in [0,C_{in})$,分别用大小为$k_{h}\times k_{w}$的卷积核在大小为$H_{in}\times W_{in}$的二维数组上做卷积。
  3. 将这$C_{in}$个通道的计算结果相加,得到的是一个形状为$H_{out}\times W_{out}$的二维数组。

2.2 多输出通道场景

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

  1. 将任意一输出通道$C_{out}\in[0,C_{out}]$,分别使用上面描述的形状为$C_{in} ×k_{h} ×k_{w}$的卷积核对输入图片进行卷积。
  2. 对这$C_{out}$个形状为$H_{out}\times W_{out}$的

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

2.3 批量操作

在卷积神经网络的计算中,通常将多个样本放在一起形成一个mini-batch进行批量操作,即输入数据的维度是 $N\times C_{in}\times H_{in}\times W_{in}$。由于会对每张图片使用同样的卷积核进行卷积操作,卷积核的维度与上面多输出通道的情况一样,仍然是$C_{out}\times C_{in}\times k_h \times k_w$,输出特征图的维度是$N\times C_{out} \times H_{out} \times W_{out}$,如下图所示:

在这里插入图片描述

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

相关文章
|
29天前
|
机器学习/深度学习 算法 安全
从方向导数到梯度:深度学习中的关键数学概念详解
方向导数衡量函数在特定方向上的变化率,其值可通过梯度与方向向量的点积或构造辅助函数求得。梯度则是由偏导数组成的向量,指向函数值增长最快的方向,其模长等于最速上升方向上的方向导数。这两者的关系在多维函数分析中至关重要,广泛应用于优化算法等领域。
80 36
从方向导数到梯度:深度学习中的关键数学概念详解
|
30天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
1月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
74 3
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
73 8
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
314 7
|
2月前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
60 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。
|
2月前
|
机器学习/深度学习 人工智能 网络架构
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
62 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)