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

时间:2017-06-07 04:07:02

标签: computer-vision deep-learning conv-neural-network convolution matconvnet

有人请告诉我如何可视化每个CNN层的学习过滤器? 以下答案告诉我如何只显示第一个CNN层的学习过滤器,但无法看到其他CNN层。

1)您可以恢复过滤器并使用Matlab的功能将它们显示为图像。例如,从http://www.vlfeat.org/matconvnet/pretrained/加载预训练网后:

imshow( net.layers{1}.filters(:, :, 3, 1), [] ) ;

2)您可能会发现VLFeat函数vl_imarraysc对于显示多个过滤器很有用。 http://www.vlfeat.org/matlab/vl_imarraysc.html

1 个答案:

答案 0 :(得分:4)

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

(1)一次显示一个或三个通道为灰度或RGB。由于它们的ResNet和VGG滤波器小到3x3,因此信息量不大。

(2)关闭其他单位。 Backpropgate只将此单元输入到输入空间。您可以看到反映该单位关心的模式。有许多论文使用类似的技术。例如,Zeiler,Matthew D.和Rob Fergus。 “可视化和理解卷积网络。”欧洲计算机视觉会议。 2014。

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