2017-12-06 23 views
0

最後のアファインレイヤーを入力として使用するKerasでカスタム損失を実装したいと思います。これは、Hariharan et al. 2017に記載されているSGMの損失です。Kerasでのカスタム損失

これは、損失関数はパラメータとしてy_trueとy_predictだけでなく、最後のアファイン層も取得しないことを意味します。これはどのようにケラスで実装できますか?

+0

あなたが現在持っているものを投稿すると便利です。これはまた、人々にもっと助けてもらいます! – Neo

答えて

0

callメソッドで独自のカスタムレイヤーを作成し、self.add_lossを呼び出すことができます。値は、バッチ内のサンプルを平均したスカラーテンソルでなければなりません。これは、モデルをコンパイルするときに通常の損失関数(y_truey_predの関数)に追加されます。これが必須でない場合は、loss=Noneを指定するオプションもあります。

https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.pyを参照してください。ここでは、KLダイバージェンスが、可変オートエンコーダの負の証拠下限損失を形成するためのベルヌーイ負の対数尤度に追加されています。

関連する問題