【发布时间】:2017-03-30 21:22:09
【问题描述】:
因此,我一直在对 CNN 的可视化进行大量研究,但我似乎无法找到我正在尝试做的事情的解决方案,或者至少无法找到我对所采用方法的理解。其中很多都是相当新的和前沿的,所以我无法正确掌握这些概念。
基本上,我想采用由 CNN 训练的学习内核/特征,并从本质上制造“优化”图片,这样当内核与所述图片卷积时,我们就有可能的最高卷积和。
如果我没记错的话,这应该在图像级别而不是在过滤器/内核级别夸大内核的功能,这似乎是大多数人在可视化这些过滤器方面所做的。
如果我的问题不清楚,这里有一个例子(可能不好,但它会明白这一点。)
假设我们使用的是 MNIST,并且我已经创建了一个这样的 CNN:
具有 10 个内核/特征图的 5x5 卷积
Relu
2x2 MaxPool 2 步幅
密集+Softmax
假设我已经完全训练了我的模型,现在想要查看它生成的 10 个 5x5 内核之一,并更好地了解它在寻找什么。我想制作一张新的 28x28 图片,这样当与这个 5x5 内核卷积时,28x28 卷积的总和被最大化。
是否有已经可以做到这一点的技术?我觉得我看到的一切都涉及“展开”或“反转”神经网络(https://arxiv.org/pdf/1311.2901.pdf),在图片通过时查看特征图(http://kvfrans.com/visualizing-features-from-a-convolutional-neural-network/),或者只是查看内核本身(https://www.youtube.com/watch?v=AgkfIQ4IGaM) .
看看有没有用处?我觉得这是我所见过的最接近我要求的东西。 https://arxiv.org/pdf/1312.6034.pdf
任何见解都会有很大帮助,谢谢!
【问题讨论】:
-
嘿,我有一个关于这个特定主题的问题,也许你有什么想法? stackoverflow.com/questions/52206265/…谢谢
标签: python machine-learning tensorflow neural-network keras