最後のアファインレイヤーを入力として使用するKerasでカスタム損失を実装したいと思います。これは、Hariharan et al. 2017に記載されているSGMの損失です。Kerasでのカスタム損失
これは、損失関数はパラメータとしてy_trueとy_predictだけでなく、最後のアファイン層も取得しないことを意味します。これはどのようにケラスで実装できますか?
最後のアファインレイヤーを入力として使用するKerasでカスタム損失を実装したいと思います。これは、Hariharan et al. 2017に記載されているSGMの損失です。Kerasでのカスタム損失
これは、損失関数はパラメータとしてy_trueとy_predictだけでなく、最後のアファイン層も取得しないことを意味します。これはどのようにケラスで実装できますか?
call
メソッドで独自のカスタムレイヤーを作成し、self.add_loss
を呼び出すことができます。値は、バッチ内のサンプルを平均したスカラーテンソルでなければなりません。これは、モデルをコンパイルするときに通常の損失関数(y_true
とy_pred
の関数)に追加されます。これが必須でない場合は、loss=None
を指定するオプションもあります。
https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.pyを参照してください。ここでは、KLダイバージェンスが、可変オートエンコーダの負の証拠下限損失を形成するためのベルヌーイ負の対数尤度に追加されています。
あなたが現在持っているものを投稿すると便利です。これはまた、人々にもっと助けてもらいます! – Neo