在Keras向后传播?

时间:2017-11-21 15:34:59

标签: python deep-learning keras keras-layer

谁能告诉我在Keras如何进行反向传播?我读到在火炬中非常容易并且在Caffe中很复杂,但是我无法找到与Keras一起做的事情。我正在Keras(一个非常初学者)实现我自己的层,并想知道如何进行向后传播。

提前谢谢

1 个答案:

答案 0 :(得分:13)

你根本就没有。

Keras会自动进行反向传播。除了使用fit方法之一训练模型之外,您无需做任何事情。

你只需要处理一些事情:

  • 您希望使用反向传播更新的变量(即:权重)必须使用self.add_weight()方法中的build方法在自定义图层中定义。见writing your own keras layers
  • 您所做的所有计算都必须使用+-*/backend等基本操作符。通过后端,还支持tensorflow / theano / CNTK功能。

这就是让自动反向传播正常工作所需的一切。

如果您的图层不具有可训练的权重,则您不需要自定义图层,而是创建Lambda图层(仅计算,不训练权重)。