Python Keras嵌入层是否可以为某个索引(例如:-1)提供随机向量,而不是固定向量

Python Keras嵌入层是否可以为某个索引(例如:-1)提供随机向量,而不是固定向量,python,python-3.x,keras,keras-layer,word-embedding,Python,Python 3.x,Keras,Keras Layer,Word Embedding,我有一个问题,我有文本(可以非常长,最多9000字),我需要嵌入到Keras层。我为每个文本选择固定大小5000,我需要填充每个序列以获得正确的形状。经典的方法是使用Keras的pad_序列,将索引列表作为输入列表,并用零填充或将索引列表削减到5000。 对于我的下游任务,我使用了一种受Kim论文()启发的convnet。我关心的是,网络通过检测嵌入我用来填充序列的0的向量模式,在某种意义上学习字数。我并不是说这项功能不重要,但我想强迫网络学习偏好中的其他功能。我考虑了两件事,首先使用一个额外的

我有一个问题,我有文本(可以非常长,最多9000字),我需要嵌入到Keras层。我为每个文本选择固定大小5000,我需要填充每个序列以获得正确的形状。经典的方法是使用Keras的pad_序列,将索引列表作为输入列表,并用零填充或将索引列表削减到5000。 对于我的下游任务,我使用了一种受Kim论文()启发的convnet。我关心的是,网络通过检测嵌入我用来填充序列的0的向量模式,在某种意义上学习字数。我并不是说这项功能不重要,但我想强迫网络学习偏好中的其他功能。我考虑了两件事,首先使用一个额外的任务(如对抗性任务),在输出之前使用模型创建的潜在表示,然后使用模型的一个分支来预测文本的大小或大小的簇,例如:

[,1000 words] -- cluster 1
[1001,2000words] -- cluster 2
 ect..
然后,通过在主损失项中添加对抗性损失,使用输出鼓励网络映射潜在空间中的其他信息。我的另一个想法是,我们可以使用随机向量,在训练时动态生成,而不是使用零向量来填充嵌入的零填充。(每次网络看到一个特定的索引,例如-1,它就知道它必须生成一个随机向量)。我认为它打破了使用零向量引入的对称性,并帮助模型更好地推广,因为它在训练过程中引入了噪声

由于我没有找到任何关于用零以外的东西填充这个任务的论文,我转向社区。你怎么认为?我经历了嵌入层的实现,我非常确定第二个想法在keras中的实现非常简单,通过为正确的索引更改K.gather()(这将是更长的执行时间)

提前感谢您的反馈和资源