我从概念上理解最大/总和池中发生的情况作为 CNN 层操作,但我看到这个术语“随时间变化的最大池”或“随时间变化的总和池”(例如,"Convolutional Neural Networks for Sentence Classification" 论文尹金)。有什么区别?
最佳答案
max-over-time pooling 通常应用于 NLP(与普通 max-pool 不同,普通 max-pool 在计算机视觉任务的 CNN 中很常见),因此设置略有不同。
最大随时间池化的输入是一个特征图c = [c(1), ..., c(n-h+1)]
,其计算如下长度为 n
的句子,带有大小为 h
的过滤器。卷积运算与图像运算非常相似,但在本例中,它应用于一维单词向量。这就是paper中的公式(3) .
最大随时间池操作非常简单:max_c = max(c)
,即,它是在整个特征图上获得最大值的单个数字。这样做的原因是,在 NLP 中,句子在语料库中自然具有不同的长度,而不是像 CNN 中那样对句子进行“下采样”。这使得不同句子的特征映射不同,但我们希望将张量减小到固定大小以最终应用 softmax 或回归头。正如论文中所述,它可以捕获最重要的
特征,每个特征图具有最高值的特征。
请注意,在计算机视觉中,图像通常1具有相同的尺寸,例如28x28
或32x32
,这就是为什么没有必要立即将特征映射下采样为 1x1
。
时间总和池是相同的。
<小时/>1 现代 CNN 可以使用不同大小的图像进行训练,但这要求网络是全卷积的,因此它没有任何池化层。请参阅this question了解更多详情。
关于machine-learning - 池化与随时间池化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48549670/