我有兴趣用Keras API的简单性构建强化学习模型.不幸的是,我无法提取关于权重的输出的梯度(而不是错误).我发现以下代码执行类似的功能(神经网络的显着性图(使用Keras))
get_output = theano.function([model.layers[0].input],model.layers[-1].output,allow_input_downcast=True)
fx = theano.function([model.layers[0].input] ,T.jacobian(model.layers[-1].output.flatten(),model.layers[0].input), allow_input_downcast=True)
grad = fx([trainingData])
Run Code Online (Sandbox Code Playgroud)
关于如何根据每层的权重计算模型输出的梯度的任何想法都将被理解.