系列,一堆信号,不是时序数据的单个信号输入,怎么能用DL4J进行多组分类呢?

How can be series, a bunch of signals, not the single signal input of sequential data be classified by several groups of classification with DL4J?

我有 60 个长度为 200 的信号序列样本,每个样本由 6 个标签组标记,每个标签标有 10 个值之一。当向网络提供 200 长度或更短的样本时,我想在每个标签的每个标签组中进行预测。

我尝试根据 https://github.com/eclipse/deeplearning4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/recurrent/seqclassification/UCISequenceClassificationExample.java 示例构建自己的网络,但是它提供了标签填充。我没有为标签使用填充,但出现这样的异常:

Exception in thread "main" java.lang.IllegalStateException: Sequence lengths do not match for RnnOutputLayer input and labels:Arrays should be rank 3 with shape [minibatch, size, sequenceLength] - mismatch on dimension 2 (sequence length) - input=[1, 200, 12000] vs. label=[1, 1, 10]

其实对于labels的时间维度是有要求的,对于features是200长的,和features一样。所以在这里我必须做一些技术,比如在所有 6 个标签通道中填充零。另一方面,输入错误,我把所有 60*200 都放在那里,但它应该是 [1, 200, 60],而 6 个标签每个都是 [1, 200, 10]。

问题是我应该在 200 长度标签的哪一部分放置真正的标签值 [0]、[199],或者可以将标签放置在与它们关联的信号的典型部分?我应该检查这个的培训仍在进行中。什么样的填充物更好?零填充或标签值填充?仍然不清楚,无法 google 出论文解释什么是最好的。