在Keras向后传播?

Tas*_*sou 14 python deep-learning keras keras-layer

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

先感谢您

Dan*_*ler 18

你根本就没有.

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

你只需要处理一些事情:

  • 您希望使用反向传播更新的变量(即:权重)必须使用self.add_weight()方法内的build方法在自定义层中定义.请参阅编写自己的keras图层.
  • 所有你正在做的计算必须使用基本的运营商,如+,-,*,/后端功能.通过后端,还支持tensorflow/theano/CNTK功能.

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

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

  • 什么功能?反向传播?当你将模型"适合"某些数据时,它就会自动发生.训练的方法是在"keras"模型中"适合". (2认同)
  • 您需要一个自定义优化器。我建议您从 keras 源中复制用于 SGD 的代码并进行更新。 (2认同)