问题标签 [max-pooling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 当我保持每层 Maxpooling 时,如何克服我的输出形状减小的问题?
我正在构建一维卷积神经网络 (CNN)。从许多来源我了解到,如果添加更多层,CNN 的性能会提高。然而,在每个池化层,我的输出形状比我的输入小 50%(因为我使用的池大小为 2)。这意味着一旦我的输出具有形状 1,我就无法添加更多层。
有没有办法克服这个“减少形状问题”,或者只是增加我的输入形状的问题?
python - 提取类似于最大池或可分离卷积的补丁
我正在尝试创建一个类似于 Max Pooling 或可分离卷积的第一步的自定义层。
例如,对于一个 2-Tensor,我想在其中提取不重叠的 2x2 补丁:如果我有[4,4]
张量
我想结束以下[2,2,4
]张量
对于 3-Tensor,我想要类似的东西,但也要分离出第三维。tf.extract_image_patches
几乎可以满足我的要求,但是它将“深度”维度折叠到每个补丁中。
理想情况下,如果我有一个形状为 [32,64,7] 的张量并想从中提取所有 [2,2] 块:我最终会得到一个 [16,32,7,4] 的形状
需要明确的是,我只想提取补丁,而不是实际进行最大池化或可分离卷积。
由于我实际上并没有增加数据,我怀疑你可以用一些tf.reshape
技巧来做到这一点......有没有什么好的方法可以在 tensorflow 中实现这一点而无需使用切片+拼接/for循环?
此外,此操作的正确术语是什么?开窗?平铺?
keras - CNN非常规下采样
我是 CNN 的新手,正在使用 Keras 构建一个模型来组合来自多个来源的输入。我的两个来源具有不同的尺寸,不能按整数缩放(即 x2 或 x3 更小)。因此,简单的最大池化是行不通的。我无法弄清楚如何对较大的图像进行下采样。以下是具体尺寸:
图片1:7000 x 4000
图片2:2607 x 1370
是否有处理非常规下采样的最佳实践?
我正在应用一个 Conv2D 层,我认为将适当大小的过滤器(1787x1261,stride=1)与最大池(2x2 和 stride=2)结合起来会给我正确的尺寸。为什么这是一个坏主意?与图像的总大小相比,这似乎是一个大过滤器。
有点相关,在完整图像的较小块上运行模型会更好吗?这样我可以控制每个块的大小?
python - 具有 Maxpooling1D 和 channel_first 的 Keras 模型
我目前尝试在 Keras 中为时间序列分类构建顺序模型时遇到了问题。我想使用channels_first
数据,因为从 perprocessing 的角度来看它更方便(不过我只使用一个通道)。Convolution1D
正如我可以指定的那样,这对于我正在使用的图层很好用data_sample='channels_first'
,但不知何故这不适用于Maxpooling1D
,因为它似乎没有这个选项。
我要构建的模型结构如下:
window_length = 5000
添加所有三层后,我得到以下摘要:
现在,我想知道这是否正确,因为我希望池化层减少第三维(即特征图中的神经元数量)而不是第二维(即过滤器的数量)?如我所见,MaxPooling1D
不识别channels_first
排序,虽然Keras 文档说存在关键字data_format
for MaxPooling2D
,但没有这样的关键字 for MaxPooling1D
。
我用channels_last
数据格式测试了整个设置,它按我的预期工作。但由于从channels_first
to的转换channels_last
对我来说需要相当长的时间,我真的更愿意使用channels_first
. 我有一种感觉,我只是错过了一些东西。
如果您需要更多信息,请告诉我。
machine-learning - 全局池操作的池大小是多少?
在正常的池化操作中,我们必须提到池化操作的池大小,例如我们提到的 2D 池化操作(2,2)
;但是,在全局池操作中,它不是必需的。那么它与输入的大小相同吗?我正在研究 Keras。这里一位作者提到池化大小与input size
or相同input size-filter size+1
。哪一个是正确的?
python - maxpooling2d keras does not do pooling at all
I am writing a CNN for text classification. The max pooling2D layer seems does not work as the output shape is same as conv2D. I have attached my code and output shape below. Thanks for helping me!
machine-learning - 为什么maxpooling选择最大值来表示一个范围?
Maxpooling 是我在这里读到的一种技术https://computersciencewiki.org/index.php/Max-pooling_/_Pooling。我了解,它用于近似输入。这是为了减少神经网络可能花费在其上的时间。我无法确定的是,为什么要选择最大值?那有效吗?如果是,为什么?其他选项可能像选择平均值或最小值,或者可能是左上角的值(例如)。
neural-network - lstm中最大池化对情感分析的意义
在情感分析的情况下,有人可以解释 lstm 层之后最大池化层的重要性吗?
如果仅考虑最终时间步的输出与最大池的输出,它如何改进整个句子的编码?
tensorflow - 最大池层如何减少/增加特征通道的数量?
在阅读一些深度学习论文时,有时会提到用于下采样的最大池化层也可用于减少/增加特征通道(地图)的数量。这让我很困惑。在我看来,最大池化层可以对大小进行下采样,但应该保持原始特征图的数量。我在 tensorflow 中搜索 max pool 的使用情况,但是有关于更改特征通道的参数。那么,有人能告诉我如何通过最大池层减少特征通道吗?例如,max pool 改变了下图中的特征通道数。 在此处输入图像描述
Hiroshi Fukui,使用具有稀有率的小批量训练的不平衡数据集的稳健行人属性识别
keras - 最大池化层是否会减少网络中的参数数量?
我定义了一个简单的网络:
层的形状如下:
该模型共有 106 个参数,但是如果我删除最大池化层,则模型摘要如下所示:
在这两种情况下,总参数仍然是 106,但为什么通常会写最大池化层减少参数数量?