Skip to content
This repository has been archived by the owner on Feb 27, 2021. It is now read-only.

Latest commit

 

History

History
executable file
·
21 lines (12 loc) · 3.2 KB

File metadata and controls

executable file
·
21 lines (12 loc) · 3.2 KB

池化(Pooling)

池化:概述(Pooling: Overview)

在得到卷积特征后,下一步就是用来做分类。理论上,可以用提取到的所有特征训练分类器,分类器可以用如 $SoftMax$ 分类器,但用所有特征的计算量开销会很大。考虑到每张图像的像素为 $96 \times 96$ ,假设已经在 $8 \times 8$ 像素大小的输入单元上学习了 $400$ 个特征(译者注:这里 $400$ 个特征是指卷积层有 $400$ 个神经元或滤波器模板)。(原始图像的)每个卷积操作将会产生 $(96-8+1)\times(96-8+1)=7921$ 个元素的输出,因为有 $400$ 个特征(译者注:这里特征应指神经元或滤波器模板),这样每个样本将会产生长度为 $89^2 \times 400=3,168,400$ 个特征的向量。有着超过三百多万的特征让分类器去学习的想法是不明智的,这也会使分类器倾向于过拟合。

为了解决这个问题,首先回顾一下卷积特征的“固定不变”属性(译者注:即“静态性”),这意味着在一个区域的有效性也可能适用在其它区域。因此,要描述一个大图像,一个自然的方法是在不同位置处对特征进行汇总统计。例如,一个方法是可以计算在图像中某一区域中一个特定特征的平均值(或最大值)。这样概括统计出来的数据,其规模(相比使用提取到的所有特征)就低得多,同时也可以改进分类结果(使模型不易过拟合)。这样的聚集操作称为“池化”,(根据具体的应用而选择池化方法)有时使用“平均池化”或“最大值池化”。

下面这幅图,展示了池化是如何在一幅图像上的 $4$ 个非重叠区域上进行的。

池化的不变性(Pooling for Invariance)

如果在选择池化区域的时候是选择图像上的连续区域,以及来自相同隐含单元生成的池化特征,那么,这些池化单元将会是“平移不变的”。这意味着哪怕是小的平移改变,相同(被池化过的)特征也是激活状态(译者注:不确定。“This means that the same (pooled) feature will be active even when the image undergoes (small) translations.”)。在很多任务中(例如,目标检测,语音识别等)平移不变特性是很必要的,即使图像被平移,但实际上样本(图像)的标记是一样的。举个例子,如果您正使用 $MNIST$ 手写数字图片数据集,并对其进行向左或向右的平移操作,分类器仍能忽视其平移后的位置并对同一数字准确分类。

正式的描述(Formal description)

正式地说,在获得了卷积特征后,就可以决定池化区域的大小了,比方说可以选择 $m \times n$ 分辨率的像素规格来对卷积特征进行池化。然后,将卷积特征分成每块 $m \times n$ 像素大小的不相交的区域块,并在这些区域块上应用平均(或最大)值特征激活,以获得池化特征。这些池化过的特征便可用在之后的分类上。

在下一节,将会进一步讲解如何将这些特征“池化”到一起,以得到更好的分类特征。