在最终池化层之后,如何在 vgg 网络中找到激活对应的原始图像中的哪个补丁

数据挖掘 深度学习 美国有线电视新闻网 vgg16
2022-03-02 20:59:21

所以我正在研究 NeurIPS 2019 再现性挑战,论文的链接是https://arxiv.org/abs/1806.10574所以基本上我们有一个 vgg-16 网络,去掉了最终的全连接层,所以我们得到了 7x7x512 维的激活图,现在本文介绍了一个新的原型层,我们将这些 7x7 激活图与使用 L2 的 1x1x512 维原型进行比较范数,并且在考虑所有输入图像后原型具有最大相似性的地方,我们将原型等同于激活图中的 1x1x512 补丁

现在一切都很好,但是论文进一步想要在原始图像中找到对应于 1x1 补丁的补丁,因此我们可以说原型实际上是原始图像中的那个补丁。

现在我发现 224x224 到 7x7 的转换可以通过 212x212 内核以 32 步(使用有效的局部感受野)有效地完成,图像解释了这一点(不是我的,从某个地方复制了图像)

好的,现在如果我得到一个 1x1 激活,我需要找到它的原始图像补丁..它很容易......但问题是在 VGG 网络中我们多次应用 1 的零填充,所以我们得到原始图像中的填充为 90(使用 224 的输入大小、212 的内核大小和 32 的步幅计算),所以假设我将左上角的 1x1 激活作为我想要找到的补丁,那么它将由于原始图像中的大量有效填充,有很多部分 = 0,所以这可以吗?

很抱歉这个问题太长了,但这是一个概念性的问题,需要深入的解释

1个回答

通过神经网络追踪激活是复杂的。OpenAI Microscope有助于将其可视化。