Neural network 神经网络层的输出在哪些方面有用?

Neural network 神经网络层的输出在哪些方面有用?,neural-network,keras,conv-neural-network,keras-layer,Neural Network,Keras,Conv Neural Network,Keras Layer,我目前正在与keras合作,希望可视化每个层的输出。当对神经网络输出的一层进行可视化时,如下面的示例,这是用于MNIST手写数字识别的 研究人员从这些图像中获得了哪些信息或见解 这些图像是如何解读的 如果选择查看图层的输出,您的选择标准是什么? 如有任何意见或建议,我们将不胜感激。多谢各位 前言:卷积网络是一组过滤器,应用于图像的各个部分,如gif所示。如果图像的给定子部分与过滤器匹配,它们将生成真/假标签 在我看来,你在你提供的图像中看到的并不是这些可视化工作方式的最佳表现,因为它们可视化了C

我目前正在与keras合作,希望可视化每个层的输出。当对神经网络输出的一层进行可视化时,如下面的示例,这是用于MNIST手写数字识别的

研究人员从这些图像中获得了哪些信息或见解 这些图像是如何解读的 如果选择查看图层的输出,您的选择标准是什么? 如有任何意见或建议,我们将不胜感激。多谢各位

前言:卷积网络是一组过滤器,应用于图像的各个部分,如gif所示。如果图像的给定子部分与过滤器匹配,它们将生成真/假标签

在我看来,你在你提供的图像中看到的并不是这些可视化工作方式的最佳表现,因为它们可视化了CNN如何通过每个神经元感知整个图像。这意味着它们看起来非常相似

下面是一个更好的网络基本过滤器的表现形式。其中一些会在直线上触发,另一些会在水平线上触发。这也是您链接的图像所显示的内容,除了它在一个视觉上简单的对象上显示整个图像之外,这使得它更难理解。 当您使用构建在这些基本过滤器之上的更复杂的过滤器时,您最好将整个图像可视化

还有一个叫做转移学习的概念,你可以利用现有的受到高度重视的通用模型,尝试将它们应用到你的具体问题中。这些模型通常需要调整,这可能意味着删除一些不需要的层,因为我们保留的每一层都意味着训练和/或添加更多层通常更耗时

研究人员将能够更好地解释网络中的每一层是如何建立在前几层之上的,以及它们如何有助于解决手头的问题。这通常是基于直觉的,这种直觉可以通过像这样良好的视觉化来简化

作为一个例子,假设我使用的是VGG16,它是一个在其上训练的通用模型的名称。我想把它改为对不同类别的家具进行分类,而不是原来打算分类的1000类完全不同的东西。因为它是这样一个通用的模型,它可以识别很多不同的东西,从人类到动物,到汽车,再到家具。但是这些东西中有很多对我来说是没有意义的,因为它们不能真正帮助我对家具进行分类

由于我们对这些类的许多最重要的发现都发生在网络的不同层上,因此我可以向上移动卷积层,删除对于我正在执行的任务来说似乎太复杂的所有内容。这可能意味着我删除了一些似乎专门用于分类人类特征的图层,如耳朵、嘴巴、眼睛和脸

据我所知,人们把他们认为有用的层想象成尽可能多的层,然后通常根据直觉做出判断,决定在那之后保留或丢弃哪一层

借用的图像:


你能提供更多关于你使用的网络和你展示的图片的详细信息吗?谢谢你的评论。假设我尝试使用VGG16预训练模型对数字笔迹进行分类,然后输入一个32x32的手写数字图像。上面的图像是第10层的输出,从该层的输出中我可以得到关于第10层的哪些信息或见解?我不确定这是否有帮助。。如果没有,请告诉我可以提供哪些其他信息。谢谢您的回答。我目前正在可视化的是功能图。事实上,我想知道人们可以从要素地图的可视化中获得什么样的洞察力——你可能也有答案吗?此外,您认为可视化过滤器比可视化特征图更有用吗?如果问题很愚蠢,我会道歉。我对神经网络很陌生。明天我可能会补充一些信息。但是您的featuremap本质上是一个过滤器的最终输出。你想象的东西在一定程度上取决于你试图理解的东西。如果你想了解这些概念,以及CNN是如何工作的,我会说可视化过滤器。但在实际工作中,您可以可视化从过滤器/层中获得的特征贴图。我非常推荐看我的视频。它很好地显示了这些功能映射/过滤器如何相互作用。