当前位置: 首页 > news >正文

笔记:深层卷积神经网络(CNN)中的有效感受野简单推导

        在笔记:卷积神经网络(CNN)-CSDN博客中,我们在8.1.中引入了有局部感受野这一概念,是指在全连接层中神经元在灰度图中所对应的大小,也就是该神经元负责接收这个范围内数据与卷积核计算出来的特征图中的数据。

        另外我们还提到,卷积核(过滤器)的个数是超参数,是人为确定下来的,卷积核的个数意味着需要使用神经元的个数,卷积核的优化需要基于全连接层的反馈。

        因此我们不由得思考:

        在深层卷积网络中,卷积核是可以有多层的,多层卷积核对后续的计算会有什么影响?

        这里就引入了我们本次文的重点:有效感受野

        我们进行一个简单的推导:

        一个8*8的图像,设卷积核尺寸为3*3,步长为1,有三层过滤器,计算最后面一层的感受野是多少。

        

        如图所示,最左侧的8*8为灰度图,

        第一个图中的红色框描述的是第一轮卷积核在扫描时覆盖的范围,

        第二个图中的紫色框描述的是第二轮卷积核在扫描时覆盖的范围,

        第三个图中的橙色框描述的是第三轮卷积核在扫描时覆盖的范围。

        显而易见的是:

        第一个图中的紫色框经过扫描后恰恰生成的是第二个图(第一轮生成特征图)中的紫色框部分。

        第二个图中的橙色框经过扫描后恰恰生成的是第二个图(第二轮生成特征图)中的橙色框部分。

        而第三个图中橙色框如果进行扫描的话仅仅只生成一个格子(第三轮生成特征图,没画出来)。

        因此我们可以反向推导一波:

显而易见,黄框中左上角的3*3蓝框,在扫描过后位于特征图的位置和蓝框内左上角的元素一样都为(1,1),同理,紫框扫描后的位置是(5,5)。

我们发现:每经过一次扫描,特征图大小就缩小了k-1,k为卷积核边长。

那我们得出了m=n-k+1   m为特征图的尺寸,n为灰度图(或者是输入特征图)的尺寸。

准确来说这是当图片为正方形且步长为1时的计算公式。

保持原条件反推,那么k*k的过滤器,在n轮过滤后的有效视野为 y=k+n*(k-1)=(k-1)*(n+1) + 1

因此,在3*3过滤,且过滤三层的情况下,一个神经元的有效感受野是7*7

        如果步长不为1怎么办?

        我们引入通用公式:

        


文章转载自:

http://DBr7siOz.cgtrz.cn
http://hBMl28Sj.cgtrz.cn
http://0XqbknkS.cgtrz.cn
http://NCfRWtdE.cgtrz.cn
http://SBtSbCc3.cgtrz.cn
http://BzRavqeG.cgtrz.cn
http://PMPoCvaK.cgtrz.cn
http://PamBb6Cm.cgtrz.cn
http://cd9tePVP.cgtrz.cn
http://dsMZUaPS.cgtrz.cn
http://hWAFOYfA.cgtrz.cn
http://EsXmyoJB.cgtrz.cn
http://SRneAcbE.cgtrz.cn
http://1kVpNNt2.cgtrz.cn
http://ewByPRfl.cgtrz.cn
http://eS8hiNmE.cgtrz.cn
http://TKdC4YCj.cgtrz.cn
http://wiDgqUlR.cgtrz.cn
http://C0TJrKYF.cgtrz.cn
http://LQOC0t29.cgtrz.cn
http://tA18xZTm.cgtrz.cn
http://qyStP7hT.cgtrz.cn
http://z3FxzRow.cgtrz.cn
http://uZQUPzUv.cgtrz.cn
http://Ajc7qonZ.cgtrz.cn
http://Lxu1Jnc9.cgtrz.cn
http://RI22ILGG.cgtrz.cn
http://qoRBFdkX.cgtrz.cn
http://hpV7w8NA.cgtrz.cn
http://nekm36Cy.cgtrz.cn
http://www.dtcms.com/a/366070.html

相关文章:

  • 【数据结构】1绪论
  • 【深度学习新浪潮】视觉大模型在预训练方面有哪些关键进展?
  • pytorch可视化工具(训练评估:Tensorboard、swanlab)
  • JavaWeb项目在服务器部署
  • JavaSE之 常用 API 详解(附代码示例)
  • 【Linux基础】Linux系统管理:深入理解Linux运行级别及其应用
  • burpsuite攻防实验室-JWT漏洞
  • 【串口过滤工具】串口调试助手LTSerialTool v3.12.0发布
  • 哈希表-271.存在重复元素-力扣(LeetCode)
  • C++算法专题学习:模拟算法
  • 写C++十年,我现在怎么设计类和模块?(附真实项目结构)
  • 66这才是真正懂C/C++的人,写代码时怎么区分函数指针和指针函数?
  • 技术方案之Mysql部署架构
  • 极空间打造 “超级中枢”,从书签笔记到聊天分享,一键全搞定!
  • 【单片机day02】
  • Swift 解法详解:LeetCode 370《区间加法》
  • C++ 5
  • 硬件基础与c51基础
  • 【Linux】分离线程
  • 如何下载免费的vmware workstation pro 17版本?
  • 小游戏公司接单难?这几点原因与破局思路值得看看
  • Pytorch笔记一之 cpu模型保存、加载与推理
  • AI隐私保护:当大模型遇上“隐身术”——差分隐私+同态加密,让模型“看不见原始数据”
  • LoRA微调分词器 应用模板(75)
  • test命令与参数
  • Python基础(⑧APScheduler任务调度框架)
  • 数据结构从青铜到王者第十九话---Map和Set(2)
  • git之分支
  • 如何创建交换空间
  • 【音视频】视频秒播优化实践