Формат вывода с использованием разреженной категориальной кросс-энтропии в кератах для мультиклассовой классификации

Я построил сетевую архитектуру с использованием Keras Functional API, но у меня возникли проблемы с использованием функции разреженной категориальной кросс-энтропийной потери. Моя учебная задача - многоклассовая, пиксельная классификация для многих изображений 256x256. Предполагаемый результат - изображения маски 256x256 с целочисленными значениями от 0 до 31 (не каждая маска будет содержать каждый класс). У меня 32 класса, поэтому одноразовое кодирование дает мне ошибку OOM, поэтому я не использую категорическую перекрестную энтропию. Большинство пикселей маски равны 0 (что может быть частью проблемы).

Я продолжаю получать потери = нан. Я нормализовал свои входные данные так, чтобы они имели среднее значение = 0, стандартное значение = 1. Если я оставлю маски такими, какие они есть, я получу точность около 0,97, и все выходные маски будут равны 1 с (что, очевидно, неверно). Если я добавлю 1 ко всем своим маскам перед выполнением тренировки, точность будет равна 0. Я использую активацию relu с SoftMax в последнем сверточном слое.

Похоже, что проблема, скорее всего, связана с форматом моих выходных данных, поэтому мой главный вопрос: в каком формате он должен использоваться для разреженной категориальной кросс-энтропии? Должен ли я нормализовать значения маски, чтобы быть 0-1? Кроме того, есть ли какие-либо другие функции потерь или метрики точности, которые я могу использовать для обучения? Насколько классификация мультиклассов идет, единственная функция, о которой я знаю, является категорической перекрестной энтропией. При необходимости я могу предоставить дополнительную информацию о моих данных, сети и т. Д.

0 ответов

Другие вопросы по тегам