我可以在 Keras 密集层上使用 3D 输入吗?

Can I use a 3D input on a Keras Dense Layer?

作为练习,我只需要使用密集层来执行文本分类。我想利用词嵌入,问题是数据集是 3D(样本、句子词、嵌入维度)。我可以将 3D 数据集输入到密集层吗?

谢谢

the keras documentation 中所述,您可以使用 3D(或更高等级)数据作为密集层的输入,但输入会先变平:

Note: if the input to the layer has a rank greater than 2, then it is flattened prior to the initial dot product with kernel.

这意味着如果您的输入具有 (batch_size, sequence_length, dim) 的形状,那么致密层将首先将您的数据展平为 (batch_size * sequence_length, dim) 的形状,然后像往常一样应用致密层。输出的形状为 (batch_size, sequence_length, hidden_units)。这实际上与应用内核大小为 1 的 Conv1D 层相同,使用 Conv1D 层而不是 Dense 层可能更明确。