Neural network 我可以使用下一层吗';s输出为当前层';Keras的输入?

Neural network 我可以使用下一层吗';s输出为当前层';Keras的输入?,neural-network,nlp,keras,lstm,Neural Network,Nlp,Keras,Lstm,在文本生成任务中,我们通常使用模型的最后一个输出作为当前输入来生成下一个单词。更一般地说,我想实现一个神经网络,将下一层的最终隐藏状态作为当前层的输入。就像下面(让我困惑的是解码器部分): 但我已经阅读了Keras文档,还没有找到任何函数来实现它 我可以通过Keras实现这种结构吗?如何操作?您显示的结构是自定义结构。因此,Keras没有提供任何类或包装器来直接构建这样的结构。但是是的,您可以在Keras中构建这种结构 所以,看起来需要反向的LSTM模型。我不理解另一部分,它可能看起来像是将前

在文本生成任务中,我们通常使用模型的最后一个输出作为当前输入来生成下一个单词。更一般地说,我想实现一个神经网络,将下一层的最终隐藏状态作为当前层的输入。就像下面(让我困惑的是解码器部分):

但我已经阅读了Keras文档,还没有找到任何函数来实现它


我可以通过Keras实现这种结构吗?如何操作?

您显示的结构是自定义结构。因此,Keras没有提供任何类或包装器来直接构建这样的结构。但是是的,您可以在Keras中构建这种结构

所以,看起来需要反向的LSTM模型。我不理解另一部分,它可能看起来像是将前面的句子嵌入作为LSTM单元下一个时间步输入的输入

我鼓励您首先使用LSTM进行简单的语言建模。然后,您可以稍后调整该体系结构,以构建如图所示的体系结构

例如:


您需要的是一个自动编码器,您可以在Keras中找到类似的结构

但有些细节你应该自己去弄清楚。包括填充策略和预处理输入和输出数据。您的输入无法获得动态输入大小,因此您需要为输入和输出设置固定长度。我不知道你们所说的箭头连接在一个圆圈中是什么意思,但我想你们可以看看Keras中的图层(基本上是添加、连接等)

您可能需要4个模型和一个表示组合结构的最终模型


还有一件事,LSTM(语言模型)的解码器设置在设计上不是动态的。在模型定义中,基本上为它引入了固定的输入和输出。然后你正确地准备了训练,所以你不需要任何动态的东西。然后在测试过程中,您可以通过运行一次模型来预测循环中的每个解码字预测下一个输出步骤,然后再次运行该模型预测下一个时间步骤,依此类推

你的单词是如何编码的?@MarcinMożejko我已经更新了编码结构。但让我困惑的是解码器部分。实际上,在提出这个问题之前,我已经阅读并运行了文本生成示例。但它似乎直接生成单词,而没有输出反馈。我还阅读了一些关于编码器-解码器模型的代码。但我不知道如何调整架构以实现图中所示的架构。您能告诉我一些方法吗?谢谢“无输出反馈”是什么意思?例如,图中所示的模型使用输出“Mary”生成下一个输出“was”,然后使用“was”生成“hunger”。据我了解,这是一种输出反馈。但我真正关心的是如何使用“解码单词”层的前一句嵌入作为“解码句子”层LSTM单元下一时间步输入的输入。@a通常深度神经网络使用输出反馈,你可能对深层神经结构有错误的理解。我鼓励你看一些文章,读一些论文,以获得更多的想法。有一件事我可以说,你正在寻找的模型已经开发出来了,它并不难构建。