第09讲 | CNN基础:局部感受野、卷积核、Padding与Stride
第09讲 | CNN基础局部感受野、卷积核、Padding与Stride购买相关资料后畅享一对一答疑畅享超多免费持续更新且可大幅度提升文章档次的纯干货工具素材来源B站视频《第09讲〈CNN基础局部感受野、卷积核、Padding与Stride〉》UP主Ai学术叫叫兽。本文为学习笔记式原创整理适合科研小白按步骤复习和实操。人看一张图不会把所有像素当成一根超长电话线从头读到尾。你看一只猫通常先看到耳朵边缘再看到眼睛附近的纹理最后才拼成整张脸。CNN 的核心思想就是先看局部再逐步组合成整体。这一讲只抓 4 个关键点为什么图像不适合直接用全连接硬怼。局部感受野和卷积核到底是什么关系。Padding 为什么能保住边缘信息。Stride 为什么会影响速度和分辨率。一、先看大图CNN 在做什么方式输入方式问题全连接网络先把图像展平参数爆炸空间结构丢失CNN用小窗口扫描局部区域更适合图像、边缘、纹理和局部模式图 1全连接和卷积的差别全连接整张图拉平 - 直接学习 问题像素顺序被打散参数特别多 卷积小窗口滑动 - 局部提特征 - 再往后组合 优势保留空间结构共享参数你可以把 CNN 理解成一个“局部特征提取器”边缘 - 纹理 - 局部部件 - 更复杂的目标这也是为什么后面学 YOLO 时Backbone 不是乱堆模块而是在一步一步提取更有用的视觉特征。二、局部感受野神经元只看一小块局部感受野指的是一个神经元只连接输入图像的一部分区域而不是整张图。如果输入是5x5的小图卷积核是3x3那么每次只看3x3的局部块输入图像 ┌─────┐ │局部块│ - 卷积核只处理这一小块 └─────┘这样做有 3 个好处好处说明更符合图像结构图像里的边缘、角点、纹理本来就是局部的参数更少不需要每个输出神经元连整张图可迁移性更强同一个卷积核能在不同位置重复使用三、卷积核真正干活的小窗口卷积核就是在图像上滑动的“小窗口”也叫 filter。它本质上做两件事在一个局部区域里做加权求和。把这个结果写到输出特征图的一个位置上。简化公式输出 输入局部块 × 卷积核权重 偏置更完整一点y(i, j) Σ x(iu, jv) · w(u, v) b这里最关键的是权重共享同一个卷积核参数会在整张图上重复使用。这让 CNN 比全连接网络省很多参数。也让“同一种边缘”能在不同位置被检测出来。一个直观例子假设你用一个3x3卷积核去扫图像过程含义取局部块只看当前3x3区域乘以权重判断这块像不像边缘、纹理或局部形状滑动到下一格继续在别的位置重复同样操作这就是卷积“会找模式”的原因。四、Padding给图像加一圈安全边不加 Padding 时卷积到边缘会越来越小。比如输入5x5卷积核3x3stride1padding0输出尺寸 3x3边缘信息会被快速压缩掉。Padding 的作用就是在图像四周补零让卷积核也能照顾到边缘。常见 Padding 方式设置作用padding0不补边输出更小padding13x3 卷积常用尺寸更容易保持不变same尽量保持输入输出尺寸一致最常见的记法当kernel_size3且stride1时padding1 - 输入输出尺寸基本不变这在 CNN 里非常常见因为它能让你“多看几层”同时不让特征图缩得太快。五、Stride卷积窗口每次走多远Stride 就是卷积核每次滑动的步长。Stride结果stride1看得细输出更大stride2跳着看输出减半左右stride2压缩更狠信息损失更大但更快你可以把它理解成Stride 小 - 看得细 Stride 大 - 看得快典型取舍需求建议想保留更多细节用小 stride想降低分辨率、加快计算用大 stride想做下采样stride2很常见六、输出尺寸怎么计算当 dilation1 时卷积输出尺寸公式是H_out floor((H_in 2P - K) / S) 1 W_out floor((W_in 2P - K) / S) 1其中符号含义H_in, W_in输入高和宽PpaddingKkernel_sizeSstride直接拿例子算输入卷积核PaddingStride输出5x53x3013x35x53x3115x55x53x3123x332x323x31216x16这张表是你调 CNN 时最该背熟的东西之一。七、科研小白实操跑一遍形状变化先别上来就堆很多层。先看懂一层卷积到底把 shape 改成什么。importtorchfromtorchimportnn xtorch.randn(2,3,32,32)# [B, C, H, W]stemnn.Sequential(nn.Conv2d(3,8,kernel_size3,stride1,padding1),nn.ReLU(),nn.Conv2d(8,16,kernel_size3,stride2,padding1),nn.ReLU(),nn.MaxPool2d(kernel_size2,stride2))ystem(x)print(input :,x.shape)print(output:,y.shape)这段代码会发生什么层参数输出 shape输入3x32x322, 3, 32, 32Conv13 - 8, k3, s1, p12, 8, 32, 32Conv28 - 16, k3, s2, p12, 16, 16, 16MaxPoolk2, s22, 16, 8, 8你要养成的习惯每写一层就打印一次 shape。先确认通道数对不对。再确认高宽有没有按预期变化。这比盲目堆网络有效得多。八、常见错误排查表问题常见原因怎么改输出 shape 不对padding 或 stride 算错先手算再打印 shape通道报错in_channels和前一层输出不一致检查Conv2d(in_channels, out_channels)图像被压得太小stride 太大层数太多降低 stride减少下采样边缘信息丢失没有 padding给 3x3 卷积常配padding1训练速度太慢输入太大、下采样太晚早点做下采样九、今天的学习任务如果你是科研小白今天就做这 4 件事找一张32x32或64x64的图片手算一次卷积输出尺寸。用nn.Conv2d试padding0/1和stride1/2。每改一次参数就打印一次tensor.shape。记住一句话卷积看局部padding 保边界stride 控分辨率。十、三句话复盘局部感受野让神经元只看图像的一小块更符合视觉结构。卷积核通过权重共享在整张图上重复找模式。Padding 和 Stride分别决定边缘保留程度和下采样速度。写在最后学术因方向、个人实验和写作能力以及具体创新内容的不同而无法做到一通百通关注UPAi学术叫叫兽在所有资料中留下联系方式以便在科研之余为家人们答疑解惑本up主获得过国奖发表多篇SCI擅长目标检测领域拥有多项竞赛经历拥有软件著作权核心期刊等经历。因为经历过所以更懂小白的痛苦因为经历过所以更具有指向性的指导祝所有科研工作者都能够在自己的领域上更上一层楼

相关新闻

SVM凸优化原理与实战:从核函数到收敛诊断

SVM凸优化原理与实战:从核函数到收敛诊断

1. 项目概述:为什么凸函数是SVM不可绕开的底层逻辑“Convex Functions and SVMs”这个标题看起来像教科书里的章节名,但如果你真动手调过SVM、改过核函数、或者被ConvergenceWarning折磨过一整个下午,你就会明白——这根本不是理论点缀&#…

2026/10/26 15:07:58 阅读更多 →
如何用Jet优雅地进行EDN到JSON的格式转换

如何用Jet优雅地进行EDN到JSON的格式转换

如何用Jet优雅地进行EDN到JSON的格式转换 【免费下载链接】jet CLI to transform between JSON, EDN, YAML and Transit using Clojure 项目地址: https://gitcode.com/gh_mirrors/jet5/jet Jet是一款功能强大的命令行工具,能够在JSON、EDN、YAML和Transit等…

2026/10/24 13:29:29 阅读更多 →
为什么每个Cypress项目都需要ESLint Plugin Cypress?5大理由解析

为什么每个Cypress项目都需要ESLint Plugin Cypress?5大理由解析

为什么每个Cypress项目都需要ESLint Plugin Cypress?5大理由解析 【免费下载链接】eslint-plugin-cypress An ESLint plugin for projects that use Cypress 项目地址: https://gitcode.com/gh_mirrors/es/eslint-plugin-cypress ESLint Plugin Cypress是专为…

2026/10/25 6:41:18 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →