我收集到Keras中的Masking层通常用于handling data inputs with varying timesteps。根据文档,我了解到,如果给定时间步长的所有功能都等于掩码值,那么该时间步长将在下游层中跳过。
对于我的问题,我反而对使用遮罩功能感兴趣,因为网络的数据输入形状为(batch_size, num_timesteps, num_features)
。本质上,我希望能够使用num_features
功能来预测未来的时间序列,但是假设我不会总是拥有上一个时间步的所有功能来进行预测。
例如,可以基于来自前一时间步长的部分数据来预测视频流中像素未来某个时间步长的RGB值。在每个时间步长上,输出应该都是RGB,但是在某些时间步长上,您可能只会得到RG,或者只有RB,或者只有BG,但是您不知道在每个时间步长上将要进行预测的部分数据。这就是为什么我希望能够以某种方式将训练过程中掩盖的特征表示为适应这种预测。
可能是Keras中的Masking不是实现此目的的正确机制。能给我这种行为的网络层的正确类型是什么?