Я пытаюсь вычислить следующие несколько видеокадров с учетом набора предыдущих кадров, т. Е. У меня есть глубокая нейронная сеть, которая напрямую выводит небольшой видеоклип размером (samples, frames, m, n, channels)
. Я тренирую свою нейронную сеть, используя функцию потери среднего квадрата ошибок Кераса.
Реализация Keras функции среднеквадратичной потери составляет
K.mean(K.square(y_pred - y_true), axis=-1)
В моем случае вычисленное значение убытка по-прежнему будет тензором 4 ранга (что я проверил, действительно верно).
Поскольку функция потерь должна быть скалярной, я предполагал, что это вызовет проблему, но удивительно, что от Keras нет предупреждений, и я действительно получаю некоторые значимые результаты.
Есть хоть какой-то ключ к пониманию того, как Keras делает обратное распространение в этом случае? Есть ли внутреннее преобразование в скалярную функцию потерь, которую выполняет Керас, о которой я не знаю?
Спасибо!