如何在层卷积之间可视化权重?

时间:2017-06-08 14:16:27

标签: python deep-learning keras

我有一个小的深度学习问题。在这里,我与书店Keras建立了我的网络(CNN)。我有兴趣可视化CNN的重量。我的架构是AlexNet类型,我的彩色图像(RGB)分为72个类。对于具有96个滤波器的第一个卷积,其滤波器内核为11乘11,我在输出[11] [11] [3] [96]处恢复了4维张量。所以每个过滤器有3个矩阵11乘11,我们称之为内核。

在这个级别上,为了显示我的重量,我拍了一张图像,我把它分成3个通道。对于给定的过滤器,每个通道都使用内核进行卷积。收集了这些卷积运算的每个结果,以得出最终的图像。

现在输入第一个输出的第二个卷积用383个滤波器设置,滤波器内核为5 * 5.第二个卷积的输出给出了一个4d的张量[5] [5] [96] [383]。这意味着对于给定的过滤器,它有96个过滤器(至少是我所理解的)。因此,对于给定的滤波器,我仍然将我的着名图像分割在面向96个滤波器的这3个通道上。

我不知道这是否是一个理解问题,但是我阻止了总数,因为在第二个卷积的输出中我不知道为每个滤波器解释了96个内核。

我想从我的权重中重构滤波器一个卷积层。

我真的是深度学习的新手,这是一门有趣的科学,但对我来说却充满了神秘色彩。如果有人有善意开导我,我会感谢他。

1 个答案:

答案 0 :(得分:0)

在本文中:“Visualizing and Understanding Convolutional Neural Networks”,Zeiler和Fergus讨论了这样一种观点,即对CNN的重新兴趣是由于大型训练集的可访问性以及GPU使用时增加的计算能力。他们发现并讨论了可视化特征图和权重的有趣方法。它是深度学习领域最好,最流行的论文之一。作家们还强调了研究人员对这些模型内在机制的了解有限。

  

说没有这种洞察力, “开发更好的模型   被缩减为试错“

他们也在他们的论文中使用AlexNet之类的模型。这个被命名为ZFNET的模型是ILSVRC 2013的获胜者。我相信通过阅读本文,您将更好地了解整体DL概念以及您问题的可能解决方案。