Pooling

Note

pooling层用于降低空间分辨率

通常在我们处理图像时,我们希望逐渐降低各层的空间分辨率,这样可以增加神经元的感受野以处理更复杂的信息,还可以减少计算负载让我们得以增加通道数。

Pooling层通过将一小块区域汇聚成一个数来降低空间分辨率。

max-pooling: 选取区域内最大值来代表此区域。

jupyter

avg-pooling: 选取区域内平均值来代表此区域。

Pooling in Pytorch

import torch
from torch import nn

x = torch.arange(9).float().reshape(1, 1, 3, 3)
# 默认使用max pooling
max_pool2d = nn.MaxPool2d(2, padding=0, stride=1)
# as expected
max_pool2d(x)
tensor([[[[4., 5.],
          [7., 8.]]]])
# avg pooling
avg_pool2d = nn.AvgPool2d(2, padding=1, stride=2)