Я понимаю, что Маскировка слоев в Керасе обычно используется для обработки ввода данных с различными временными шагами . На основании документации я понимаю, что если все функции для данного временного шага равны значению маски, то этот временной шаг будет пропущен в нижележащих слоях.
Для моей проблемы меня интересует использование маскирования для объектов, где форма ввода данных в сеть равна (batch_size, num_timesteps, num_features)
. По сути, я хочу иметь возможность прогнозировать временную серию на один шаг в будущее с помощью num_features
функций, но при условии, что у меня не всегда будут все функции из предыдущего временного шага, на которых будет основываться мой прогноз.
Например, можно прогнозировать значения RGB один раз в будущее для пикселя в видеопотоке на основе частичных данных из предыдущего шага времени. На каждом временном шаге выходные данные должны быть все RGB, но в некоторых временных шагах вы можете получить только RG, или только RB, или только BG, но вы никогда не знаете, какие частичные данные будут у вас на каждом временном шаге, чтобы сделать свой прогноз. Вот почему я хочу каким-то образом указывать функцию, маскируемую во время обучения, для учета такого рода предсказаний.
Возможно, Маскировка в Керасе не является правильным механизмом для достижения этой цели. Каков правильный тип сетевого уровня, который дал бы мне такое поведение?