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

问题描述 投票:1回答:2

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

谢谢

keras text-classification keras-layer word-embedding natural-language-processing
2个回答
8
投票

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

注:如果该层的输入的秩大于2,则在带有内核的初始点积之前将其展平。

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


0
投票

我认为您可以尝试使用TimeDistributed。

© www.soinside.com 2019 - 2024. All rights reserved.