午夜稻草人

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  180 随笔 :: 0 文章 :: 8 评论 :: 26万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

零填充(Zero-padding):有时,在输入矩阵的边缘使用零值进行填充,这样我们就可以对输入图像矩阵的边缘进行滤波。零填充的一大好处是可以让我们控制特征图的大小。使用零填充的也叫做泛卷积,不适用零填充的叫做严格卷积。这个概念在下面的参考文献Understanding Convolutional Neural Networks for NLP中介绍的非常详细。

一直以为所谓的全0填充就只是在外侧多加一行和一列0
直到今天,我看到这段话

# 声明第一层卷积层的变量并实现前向传播过程。这个过程通过使用不同命名空间来隔离不
# 同层的变量,这可以让每一层中的变量命名只需要考虑在当前层的作用,而不需要担心重
# 名的问题。和标准LeNet-5模型不大一样,这里定义的卷积层输入为28×28×1的原始MNIST
# 图片像素。因为卷积层中使用了全0填充,所以输出为28×28×32的矩阵

我怎么也想不通,28×28×1,经过5×5的卷积计算之后,输出怎么还是28。
…仔细翻了翻书本…
当padding='SAME’时

输出层矩阵的长度,等于,输入层矩阵长度除以长度方向上的步长,也就是说28/1向上取整=28…

当padding='VALID’时

全0填充的含义,不是在右(下)多加一行(列)0。
具体加多少0要根据实际情况决定!

posted on   午夜稻草人  阅读(22439)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2015-06-11 关于序列中某个元素位置的查找
点击右上角即可分享
微信分享提示