machine-learning - 池化与随时间池化

标签 machine-learning neural-network nlp convolution max-pooling

我从概念上理解最大/总和池中发生的情况作为 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具有相同的尺寸,例如28x2832x32,这就是为什么没有必要立即将特征映射下采样为 1x1

时间总和池是相同的。

<小时/>

1 现代 CNN 可以使用不同大小的图像进行训练,但这要求网络是全卷积的,因此它没有任何池化层。请参阅this question了解更多详情。

关于machine-learning - 池化与随时间池化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48549670/

相关文章:

python - 如何在 Tensorflow 2.0 中获得其他指标(不仅仅是准确性)?

c++ - Caffe GoogleNet classification.cpp 给出随机输出

r - R 中的神经网络公式

python - 不同时间步长的数据形状和 LSTM 输入

Python:如何将字数列表转换为适合 CountVectorizer 的格式

python - python3 nltk word_tokenize() 有字符串长度限制吗?

performance - 在 WEKA 中评估模型

python - 有没有办法让这个 Python kNN 函数更高效?

python - NLP - 查找相似/语音单词并计算段落中的分数

machine-learning - 如何考虑 Myrrix 中的权重