Computer vision 可视化每个CNN层的学习过滤器

Computer vision 可视化每个CNN层的学习过滤器,computer-vision,deep-learning,conv-neural-network,convolution,matconvnet,Computer Vision,Deep Learning,Conv Neural Network,Convolution,Matconvnet,有人请告诉我如何可视化每个CNN层的学习过滤器吗? 下面的答案告诉我如何仅可视化第一个CNN层的学习过滤器,而不能可视化其他CNN层 1) 您可以恢复过滤器并使用Matlab函数将其显示为图像。例如,从以下位置加载预训练网后: 2) 您可能会发现VLFeat函数vl_imarraysc对于显示多个过滤器非常有用 用于在中间层中可视化过滤器。有几种技术: (1) 一次将一个或三个通道显示为灰度或RGB。由于ResNet和VGG的过滤器都是小3x3,所以信息量不大 (2) 关掉其他装置。Backpr

有人请告诉我如何可视化每个CNN层的学习过滤器吗? 下面的答案告诉我如何仅可视化第一个CNN层的学习过滤器,而不能可视化其他CNN层

1) 您可以恢复过滤器并使用Matlab函数将其显示为图像。例如,从以下位置加载预训练网后:


2) 您可能会发现VLFeat函数vl_imarraysc对于显示多个过滤器非常有用

用于在中间层中可视化过滤器。有几种技术:

(1) 一次将一个或三个通道显示为灰度或RGB。由于ResNet和VGG的过滤器都是小3x3,所以信息量不大

(2) 关掉其他装置。Backpropgate仅将此单元选通到输入空间。您可以看到一个模式,它反映了该单元所关心的内容。有许多论文使用了类似的技术。e、 g.,泽勒,马修D.,罗布·弗格斯。“可视化和理解卷积网络”,欧洲计算机视觉会议。2014年


(3) 查找最大程度激活此单元的输入补丁,并查看它们是什么。

用于可视化中间层中的过滤器。有几种技术:

(1) 一次将一个或三个通道显示为灰度或RGB。由于ResNet和VGG的过滤器都是小3x3,所以信息量不大

(2) 关掉其他装置。Backpropgate仅将此单元选通到输入空间。您可以看到一个模式,它反映了该单元所关心的内容。有许多论文使用了类似的技术。e、 g.,泽勒,马修D.,罗布·弗格斯。“可视化和理解卷积网络”,欧洲计算机视觉会议。2014年


(3) 找到最大程度激活该装置的输入补丁,看看它们是什么。

第一层有1个(灰度)或3个(颜色)通道。其他层有更多的通道(例如,64、128、512)。如果有3个以上的频道,则不清楚如何同时可视化频道。您可以一次查看一个通道,例如:net.layers{2}.filters(:,:,21,1),方法与可视化第一层过滤器相同。让我know@DataHungry我看过许多论文,其中显示了不同层次的特征。它们是否显示一个通道?第一层有1个(灰度)或3个(颜色)通道。其他层有更多的通道(例如,64、128、512)。如果有3个以上的频道,则不清楚如何同时可视化频道。您可以一次查看一个通道,例如:net.layers{2}.filters(:,:,21,1),方法与可视化第一层过滤器相同。让我know@DataHungry我看过许多论文,其中显示了不同层次的特征。他们正在播放一个频道吗?谢谢你提到这些技术。这些技术有实现的代码吗?@adde我现在还不知道有实现。实施起来并不困难。以(2)为例,您可以简单地执行我描述的操作:关闭其他单元。Backpropgate只对输入空间(即输入图像)感兴趣的一个单元进行反向设置。您将看到一些模式。顺便说一句,如果你能把它们贴到某个地方,你可能会对看到这些可视化感兴趣。方法#3在github.com/kukuruza/TF-Visualize-CNNThanks中为TF实现,用于提及技术。这些技术有实现的代码吗?@adde我现在还不知道有实现。实施起来并不困难。以(2)为例,您可以简单地执行我描述的操作:关闭其他单元。Backpropgate只对输入空间(即输入图像)感兴趣的一个单元进行反向设置。您将看到一些模式。顺便说一句,如果你能把它们贴到某个地方,你可能会对看到这些可视化感兴趣。方法3在github.com/kukuruza/TF-Visualize-CNN中为TF实现
imshow( net.layers{1}.filters(:, :, 3, 1), [] ) ;