池化层
在二维卷积层里介绍的物体边缘检测,我们构造卷积核从而精确地找到了像素变化的位置。设任意二维数组 的 行 列的元素为 。如果构造的卷积核输出 ,那么说明输入中 和 数值不一样。这可能意味着物体边缘通过这两个元素之间。但实际图像里,我们感兴趣的物体不会总出现在固定位置;即使我们连续拍摄同一物体也极可能出现像素位置上的偏移。这会导致同一边缘对应的输出可能出现在卷积输出 的不同位置,进而对后面的模式识别造成不便。
池化层()的提出是为了缓解卷积层对位置的过度敏感性。
1. 二维最大池化层和平均池化层
同卷积层一样,池化层每次对输入数据的一个固定形状窗口(又称池化窗口)中的元素计算输出。不同于卷积层里计算输入和核的互相关性,池化层直接计算池化窗口内元素的最大值或平均值。该元素也分别叫做最大池化或平均池化。在二维最大池化中,池化窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。当池化窗口滑到某一位置时,窗口中的输入子数组的最大值即输出数组中相应位置的元素。
图 展示了池化窗口形状为 的最大池化,阴影部分为第一个输出元素及其计算所使用的输入元素。输出数组的高和宽分别为 ,其中的 个元素由取最大值运算 得出:
二维平均池化的工作原理与二维最大池化类似,但将最大运算符替换成平均运算符。池化窗口形状为 的池化层称为 池化层,其中的池化层运算叫作 池化。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)