(深度学习)有没有一种层可以反转最大池化操作?

机器算法验证 机器学习 神经网络 深度学习 自动编码器
2022-04-01 12:06:27

据我所知,我们有反卷积层来反转卷积层。最大池化有类似的东西吗?

另外,我想将此反向最大池添加到自动编码器中,是否有任何现有示例?

3个回答

正如 Zeiler 在他的论文“可视化和理解卷积网络”中所说:

“在卷积网络中,最大池化操作是不可逆的,但是我们可以通过在一组开关变量中记录每个池化区域内的最大值位置来获得近似逆。”

在 Unpooling 部分检查 Zeiler 的论文。

您是否查看过这篇论文Stacked Convolutional Auto-Encoders for Hierarchical Feature Extraction

在这里,我们引入了一个最大池化层,它通过擦除非重叠子区域中的所有非最大值来在隐藏表示上引入稀疏性。

基本上它与alviur的答案相同。由于他们只使用了一个最大池化层,而不是实际对每个框进行下采样,他们只是删除了所有非最大值,并使用稀疏表示进行重建。

MaxPool 通常不可逆,但 PyTorch 例如提供了一个计算逆的函数,其中除 max 之外的所有元素都设置为0

MaxUnpool2d将包含最大值索引的输出作为输入,MaxPool2d并计算部分逆,其中所有非最大值都设置为零。