Двоичная кросс-энтропия Кераса - как она агрегирует? - PullRequest
0 голосов
/ 25 марта 2019

Я недавно работал с двойной кросс-энтропийной потерей в Керасе.

Согласно введите здесь описание ссылки , потеря определяется как:

−(ylog(p)+(1−y)log(1−p))

И все же мне интересно, как потери агрегируются на уровне партии. Суммируется или усредняется?

Спасибо!

1 Ответ

1 голос
/ 25 марта 2019

Усредненные. Давайте посмотрим:

labels = tf.constant([0,1,0], dtype=tf.float32)
predictions = tf.constant([0.5,1.0,0.0], dtype=tf.float32)
sess = tf.Session()
loss = keras.losses.binary_crossentropy(y_true=labels, y_pred=predictions)
print(sess.run(loss))
# 0.23104914
print(loss)
# Tensor("Mean:0", shape=(), dtype=float32)

Дополнительно:

loss = tf.keras.backend.binary_crossentropy(target=labels, output=predictions)
print(np.mean(sess.run(loss)))
# 0.23104914
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...