主要问题
我无法理解特定图层权重的图。
我使用了no-learn中的方法:plot_conv_weights(layer, figsize=(6, 6))
我使用 lasagne 作为我的神经网络库。
情节很好,但我不知道我应该如何解释它。
神经网络结构
我正在使用的结构:
InputLayer 1x31x31
Conv2DLayer 20x3x3
Conv2DLayer 20x3x3
Conv2DLayer 20x3x3
MaxPool2DLayer 2x2
Conv2DLayer 40x3x3
Conv2DLayer 40x3x3
Conv2DLayer 40x3x3
MaxPool2DLayer 40x2x2
DropoutLayer
DenseLayer 96
DropoutLayer 96
DenseLayer 32
DropoutLayer 32
DenseLayer 1 as sigmoid
以下是前3个图层的权重:
**关于图像**
所以对我来说,他们看起来是随机的,我无法解释它们!
然而,在Cs231上,它说如下:
Conv / FC过滤器。第二个共同的策略是可视化 权重。这些通常在第一个CONV层上可解释得最多 这是直接查看原始像素数据,但有可能 还显示网络中更深的过滤器权重。权重是 有用的可视化,因为训练有素的网络通常显示良好 平滑滤波器,没有任何噪音模式。嘈杂的图案可以 一个未经过足够长时间训练的网络指标,或 可能是一个非常低的正规化强度,可能导致 过度拟合 http://cs231n.github.io/understanding-cnn/
那为什么我的是随意的?
结构经过培训,能够很好地完成任务。
参考
http://cs231n.github.io/understanding-cnn/
https://github.com/dnouri/nolearn/blob/master/nolearn/lasagne/visualize.py
答案 0 :(得分:2)
通常,当您想要检查权重时,您需要检查两件事:
话虽这么说,你的体重似乎并不饱和,但它们似乎确实太随机了。 在培训期间,网络是否正确收敛? 我也很惊讶你的过滤器有多大(30x30)。不知道你想用它做什么。