как реализовать ssim для функции потерь в keras?

Мне нужна SSIM как функция потерь в моей сети, но моя сеть имеет 2 выхода. Мне нужно использовать SSIM для первого вывода и cross-entropy для следующего. Функция потерь представляет собой их комбинацию. Однако мне нужно иметь более высокий SSIM и более низкий cross-entropy, поэтому я думаю, что их комбинация неверна. Другая проблема в том, что я не смог найти реализацию SSIM в keras.

В Tensorflow есть tf.image.ssim, но он принимает изображение, и я не думаю, что смогу использовать его в функции потерь, верно? Не могли бы вы сказать мне, что мне делать? Я новичок в керасе и глубоком обучении, и я не знаю, как сделать SSIM в качестве пользовательской функции потерь в керасе.


person david    schedule 09.04.2019    source источник


Ответы (1)


Посмотрите здесь для SSIM. Потеря в Керасе. Вы можете написать пользовательскую функцию потерь и создать потери SSIM для одного прогноза и кросс-энтропию для другого. Вы можете вернуть взвешенную сумму двух убытков в качестве окончательного убытка.

person Anakin    schedule 09.04.2019
comment
это означает, что я должен использовать 1-SSIM, если я хочу минимизировать функцию потерь, и я не могу использовать SSIM с перекрестной энтропией, чтобы минимизировать мою функцию потерь, верно? - person david; 09.04.2019
comment
ваша работа состоит в том, чтобы вычислить потери, ваш оптимизатор пытается их минимизировать. Я не уверен, что вы просите. - person Anakin; 10.04.2019
comment
Я имею в виду, что лучший SSIM в обработке изображений выше, и он должен быть близок к 1, но mse должен быть близок к нулю, чтобы иметь лучший алгоритм. поэтому я думаю, что если я использую SSIM в качестве функции потерь, оптимизатор должен максимизировать ее, а не минимизировать. значит, я должен минимизировать 1 - SSIM, верно? - person david; 10.04.2019
comment
Вы можете использовать минимизацию mse - ssim (соответствующим образом взвешенную). Итак, когда вы минимизируете это количество, mse минимизируется, а ssim максимизируется. - person Nagabhushan S N; 30.11.2019