###kerasにおける誤差関数の挙動について
kerasを用いてVAEの学習を行なっているのですが
VAEにて利用する誤差関数として変分下界(vae_loss)を
python
1rec_loss = n_in_out * metrics.binary_crossentropy(x, y) 2reg_loss = - 0.5 * K.sum(1 + log_var - K.square(mu) - K.exp(log_var), axis=-1) 3vae_loss = K.mean(rec_loss + reg_loss) 4 5model_vae.add_loss(vae_loss) 6model_vae.compile(optimizer="rmsprop")
として実装しました。
VAEにおいては変分下界を最大化する必要があると思うのですが
model_vae.add_loss(vae_loss)
をし、その後学習させた場合には誤差関数を最大化する様に学習が行われるのでしょうか?
今まで他のDNNなどにおいてはmodelの誤差関数として渡した関数は
最小化されるイメージがあったため、疑問に感じ、投稿いたしました。
お手数おかけいたしますがご回答いただけますと幸いです。
あなたの回答
tips
プレビュー