你真的理解“感受野”了吗?

大家好啊,我是董董灿。

在卷积神经网络中,有一个非常重要且绕不开的概念叫做卷积的"感受野"。

我刚开始学习卷积的时候,仅仅把"感受野"理解为感受视野,没错就是文字上的理解。

但随着后来工作的深入,慢慢发现感受野这一概念,竟然和很多神经网络结构和特性都有着千丝万缕的关系,让人不禁感叹算法的奇妙。

今天就来简单聊一聊我所理解的卷积"感受野"。

1、什么是卷积的感受野

我们知道卷积算法是在输入图像上滑动一个小窗口(通常是3x3或5x5的矩阵),然后对窗口内的像素进行加权求和,最终生成输出图像,卷积计算过程如下所示。

那么,卷积的感受野是什么呢?感受野指的是输出图像中的一个像素与输入图像中的哪些像素有关。

换句话说,它表示一个输出像素"看到"的输入图像中区域的大小,注意是从输出来看的。如果你将卷积操作比作窗户,那么感受野就是一个输出像素透过这个窗户可以看到的输入图片的范围。

上图中,第一个输出左上角的像素点12.0,透过3x3的矩阵看到的是输入图像左上角的3x3的像素矩阵;最后一个输出14.0,透过3x3的矩阵看到的是输入图像右下角的3x3的像素矩阵,这个3x3的像素矩阵就是这个卷积的感受野。

2、卷积的感受野在卷积算法中有什么重要意义

可以说,感受野影响了神经网络对于图像的理解和图像特征的提取。

一个大的感受野使得神经网络可以看到输入图像上更大的像素范围,从而更好地理解图像的全局信息,从而提取全局特征,如物体的形状和轮廓。

而较小的感受野只能捕捉到图像的局部特征,如边缘或纹理。

因此,在很多神经网络中,往往会出现不同大小的卷积核,就是为了提取不同尺度范围内的特征,让神经网络既可以学到图像的细节、又可以看到图像的轮廓。

3、为什么2个3x3的卷积可以替换一个5x5的卷积

看论文的时候经常会看到一个操作,那就是为了优化神经网络结构,将其中一个大的卷积核用几个小的卷积核来代替。

比如,将一个5x5的卷积用两个3x3的卷积来代替。

之所以可以这样做,是因为从输出像素来看,两个3x3的卷积和一个5x5的卷积,具有相同的感受野!

而这样做,又会有很多其他的好处:

**好处1:**两个3x3的卷积所需要的参数量要比一个5x5的卷积参数量少。忽略channel 的数值,两个3x3的卷积核参数量为 3x3 + 3x3 = 18,而一个5x5的参数量则为25。

**好处2:**一个卷积变为两个卷积,加深了神经网络的层数,从而在卷积后面需要引入更多非线性层,增加卷积神经网络的非线性能力。

这两点好处,其实在《面试官问,1x1 的卷积有什么用?》有提到过,所以关于卷积的很多算法都是类似的,要么是为了减少参数量,要么是为了提升非线性能力。

总的来说,卷积感受野就像是一扇窗户。

你站在小窗户前,就只能看到窗外的一小部分景色,此时你就是一个局部感知。但如果你站在大窗户前,你可以看到更广阔的景色,此时你拥有一个更大的感受野,你就拥有一个全局感知。

一个大的卷积神经网络提取图像特征,就是通过网络中或大或小的不同尺寸的卷积核,来提出不同尺度的下的特征,最终通过一个全连接来将特征进行融合,达到图像识别的目的的。

相关推荐
余炜yw3 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐4 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
96774 小时前
对抗样本存在的原因
深度学习
YRr YRr4 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
静静的喝酒4 小时前
深度学习笔记之BERT(二)BERT精简变体:ALBERT
深度学习·bert·albert
麦麦大数据5 小时前
Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化
人工智能·python·深度学习
youcans_5 小时前
【微软:多模态基础模型】(5)多模态大模型:通过LLM训练
人工智能·计算机视觉·大模型·大语言模型·多模态
谢眠6 小时前
深度学习day3-自动微分
python·深度学习·机器学习
z千鑫6 小时前
【人工智能】深入理解PyTorch:从0开始完整教程!全文注解
人工智能·pytorch·python·gpt·深度学习·ai编程
YRr YRr6 小时前
深度学习:神经网络的搭建
人工智能·深度学习·神经网络