我知道这可能是一个愚蠢的问题,但是我到处搜索答案,但是没有找到答案。
好的,先正确解释我的问题,
当我学习CNN时,我被告知内核或过滤器或激活图表示图像的特征。 具体来说,假设是猫的图像标识,则特征图将表示“晶须” 并且在此特征图的激活程度较高的图像中,可以推断为图像中存在晶须,因此该图像是猫。 (如果我错了,请纠正我)
现在,当我制作Keras ConvNet时,我保存了模型 然后加载模型并 将所有过滤器保存为png图像。 我看到的是3x3 px的图像,其中每个像素的颜色都是不同的(绿色,蓝色或其各种变体,等等)
那么这些内核的3x3px随机彩色图案图像如何以任何方式表示cat的“晶须”或任何其他特征?
或者我怎么知道哪个png图像是哪个功能,即哪个是晶须检测器滤镜等?
我之所以这样问,是因为老师可能会要求我进行口试。
很抱歉,回答时间太长(但我必须这样做才能正确解释)
答案 0 :(得分:0)
您需要进一步研究卷积神经网络的运行方式:主要主题是卷积本身。卷积与输入图像和过滤器/内核发生,以生成特征图。特征图可能会突出显示重要特征。
过滤器/内核不知道任何输入数据,因此保存这些数据时,只会看到伪随机图像。
简单地输入,其中*是卷积运算符,
input_image *过滤器=特征图
如果要对卷积过程中发生的事情进行可视化处理,则要保存的就是特征图。 This website详细介绍了如何执行此操作,这是我过去使用的方法。
答案 1 :(得分:0)
您需要阅读这份Visualizing and Understanding Convolutional Networks论文。阅读完此内容后,您将对卷积内部如何工作有一个清晰的了解,并看到CNN中每个图层的可视化。