来自卷积神经网络概念的图像

Image from concept of a convolutional neural network

假设我有一个 CNN,它被训练用于对不同动物的图像进行分类,这种模型的输出将是 n 中的一个点(输出点)空间维度,其中 n 是训练模型的动物数量 类;然后该输出以某种方式转换为 one-hot 参数 n 向量,然后从图像的角度给出正确的图像标签CNN,但让我们坚持 n 维点,这是输入图像的 概念

然后假设我想获取那个点并以某种方式对其进行转换,以便最终输出是具有约束宽度和高度的图像(不同输入图像的尺寸应该相同)输出相同的点作为输入图像,我该怎么做?

我基本上是在询问用于此类任务的方法(主要是训练),其中必须根据 CNN 的输出点重建图像 - 我知道图像永远不会相同,但我我正在寻找当输入图像输入到 CNN- 时生成与输入图像相同(或至少不是那么不同)的输出点的图像。请记住,我要求的模型的输入是 n 并且输出是一个二维(如果不是灰度则为三维)张量。我注意到 deepdream 正是做这种事情(我认为),但每次我把 "deepdream" 和 "generate" 放在 Google 中时,一个在线几乎总是显示生成器,而不是实际的技术;所以如果对此有一些答案,我很想听听。

输出标签不包含足够的信息来重建整个图像。

引用自DeepDream example ipython notebook

Making the "dream" images is very simple. Essentially it is just a gradient ascent process that tries to maximize the L2 norm of activations of a particular DNN layer.

因此该算法修改现有图像,使网络中某些节点(可以在中间层,不一定是输出节点)的输出变大。为此,它必须计算节点输出相对于输入像素的梯度。