深度学习:池化(Pooling)

池化(Pooling)操作在卷积神经网络中用于降低特征图的尺寸,减少计算量,并提供某种程度的平移不变性。我们以最常用的最大池化(Max Pooling)为例,来解释池化操作之后的特征图大小计算。
假设有以下参数:
  • 输入特征图大小: ( H i n × W i n ) ( H{in} \times W{in} ) (Hin×Win)
  • 池化窗口大小: ( K × K ) ( K \times K ) (K×K)
  • 步幅:( S )
  • 填充:( P )
池化之后的输出特征图大小可以用以下公式计算:

H o u t = ⌊ H i n − K + 2 P S ⌋ + 1 H{out} = \left\lfloor \frac{H{in} - K + 2P}{S} \right\rfloor + 1 Hout=⌊SHin−K+2P⌋+1
W o u t = ⌊ W i n − K + 2 P S ⌋ + 1 W{out} = \left\lfloor \frac{W{in} - K + 2P}{S} \right\rfloor + 1 Wout=⌊SWin−K+2P⌋+1

示例

假设输入特征图的大小是 ( 4 × 4 ) (4 \times 4) (4×4),池化窗口大小是 (2 \\times 2),步幅是 (2),无填充(即 (P = 0))。

参数:

  • ( H i n = 4 ) ( H_{in} = 4 ) (Hin=4)
  • ( W i n = 4 ) ( W_{in} = 4 ) (Win=4)
  • ( K = 2 )
  • ( S = 2 )
  • ( P = 0 )
计算:

H o u t = ⌊ 4 − 2 + 0 2 ⌋ + 1 = ⌊ 2 2 ⌋ + 1 = 1 + 1 = 2 H{out} = \left\lfloor \frac{4 - 2 + 0}{2} \right\rfloor + 1 = \left\lfloor \frac{2}{2} \right\rfloor + 1 = 1 + 1 = 2 Hout=⌊24−2+0⌋+1=⌊22⌋+1=1+1=2
W o u t = ⌊ 4 − 2 + 0 2 ⌋ + 1 = ⌊ 2 2 ⌋ + 1 = 1 + 1 = 2 W{out} = \left\lfloor \frac{4 - 2 + 0}{2} \right\rfloor + 1 = \left\lfloor \frac{2}{2} \right\rfloor + 1 = 1 + 1 = 2 Wout=⌊24−2+0⌋+1=⌊22⌋+1=1+1=2

因此,池化之后的输出特征图大小是 ( 2 × 2 ) (2 \times 2) (2×2)。

具体示例

假设输入特征图如下:

1 3 2 4 5 6 7 8 9 2 4 6 3 1 0 5 \begin{bmatrix} 1 & 3 & 2 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 2 & 4 & 6 \\ 3 & 1 & 0 & 5 \end{bmatrix} 1593362127404865

最大池化操作的结果将是:

\[ 6 8 9 6 \] \] \[ \\begin{bmatrix} 6 \& 8 \\\\ 9 \& 6 \\end{bmatrix} \] \[\[6986\]

步骤:
  • 取左上角的 ( 2 × 2 ) (2 \times 2) (2×2) 区域 ( 1 3 5 6 ) (\begin {bmatrix} 1 & 3 \\ 5 & 6 \end{bmatrix}) (1536),最大值是6。
  • 移动窗口至右上角 ( 2 4 7 8 ) (\begin{bmatrix} 2 &4 \\ 7 & 8 \end{bmatrix}) (2748),最大值是8。
  • 移动窗口至左下角 ( 9 2 3 1 ) (\begin{bmatrix} 9 &2 \\ 3 & 1 \end{bmatrix}) (9321),最大值是9。
  • 移动窗口至右下角 ( 4 6 0 5 ) (\begin{bmatrix} 4 & 6 \\ 0 & 5 \end{bmatrix}) (4065),最大值是6。
最终得到输出特征图:

6 8 9 6 \] \\begin{bmatrix} 6 \&8 \\\\ 9 \& 6 \\end{bmatrix} \[6986

通过以上计算和示例,明确了池化操作之后的特征图大小计算方法和具体操作过程。

相关推荐
孟健16 分钟前
我把9个AI助理迁到了Grok Bot,连远程服务器都省了
人工智能·aigc·ai编程
AI+程序员在路上23 分钟前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
AI备案指南-满满1 小时前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记
这个DBA有点耶1 小时前
连拿六年第一后宣布出海:国产数据库凭什么敢撕掉“平替”的标签?
数据库·人工智能·架构
Jmyd01231 小时前
数字孪生校园ROI测算模型:成本收益参数化与敏感性分析方法
人工智能·数字孪生·三维数字化
IT_陈寒1 小时前
SpringBoot多环境配置把我坑惨了,这个踩坑经验你最好看看
前端·人工智能·后端
不一样的故事1261 小时前
NB/T 47013.8-2015 附录D 吸枪技术
人工智能·经验分享·算法
吴名氏.1 小时前
Java转AI Agent教程(第五周)Prompt工程
java·人工智能·prompt·ai agent
合天网安实验室1 小时前
从压缩到泄露:KV Cache Compression 的选择性失忆与系统提示词风险
人工智能·llm
spapient1 小时前
scx:手写一个零依赖的查询感知上下文压缩器
人工智能