これは私のモデルの抜粋です:私はkeras神経網を訓練しています。私はy_true * y_predによって与えられたカスタム損失関数を持っていたいと思います。これは許可されていますか?
W1 = create_base_network(latent_dim)
input_a = Input(shape=(1,latent_dim))
input_b = Input(shape=(1,latent_dim))
x_a = encoder(input_a)
x_b = encoder(input_b)
processed_a = W1(x_a)
processed_b = W1(x_b)
del1 = Lambda(Delta1, output_shape=Delta1_output_shape)([processed_a, processed_b])
model = Model(input=[input_a, input_b], output=del1)
# train
rms = RMSprop()
model.compile(loss='kappa_delta_loss', optimizer=rms)
基本的には、ニューラルネットは、2つの入力の(事前に訓練を受けた)エンコーダ表現を取得し、通過することにより、2つの入力の予測値の差を計算していますMLP。この差はネットワークのy_predであるDelta1です。私は損失関数をy_pred * y_trueにします。しかし、私がそれをすると、「無効な目的:kappa_delta_loss」というエラーが表示されます。
私は間違っていますか?