对于 ConvNet,找到最大化单个 conv 活动的范数有界输入可能会很有趣。过滤器作为一种可视化过滤器的方式。我想在深度学习包 Keras 中做到这一点。这可以通过使用来自FAQ的代码的黑盒优化算法来完成。
# with a Sequential model
get_3rd_layer_output = theano.function([model.layers[0].input],
model.layers[3].get_output(train=False))
layer_output = get_3rd_layer_output(X)
但是,如果我有梯度,这将是一项更容易优化的任务。如何从 Theano 表达式中提取梯度并将其输入到 Python 优化库(如 Scipy)中?