Как подготовить модель Keras для двух разных тренировочных наборов и разных функций стоимости одновременно - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь обучить CNN на основе двух разных наборов обучающих данных. Для наборов данных обучения A и B я хочу оптимизировать функции затрат Cost_A и Cost_B соответственно. Я хочу убедиться, что во время обучения параметры модели изменяются в направлении оптимизации обеих функций потерь одновременно.

Кто-нибудь знает, как реализовать это в Керасе?

PS: я не ищу код! хватит только намека!

1 Ответ

0 голосов
/ 03 апреля 2019

Альтернативные минибатчи

Один из вариантов - чередовать обучение - запустить мини-пакет набора A (например, train_on_batch ) с функцией затрат A, запустить мини-пакет набора B с функцией затрат B.

Функция условных затрат

Другой вариант - использовать функцию условной стоимости. По сути, вы можете добавить к своим входам (создание модели с несколькими входами) новую переменную X, которая установлена ​​в 1 для каждой выборки из A и 0 для каждой выборки из B. Затем вы можете установить, что ваша функция стоимости равна Cost_A*X + Cost_B*(1-X), который будет игнорировать «неправильную» функцию стоимости для каждого элемента. Тогда вы можете просто тренироваться в обоих наборах данных одновременно.

...