向 Keras 中的 LSTM 提供训练任务

Posted

技术标签:

【中文标题】向 Keras 中的 LSTM 提供训练任务【英文标题】:Feed training tasks to the LSTM in Keras 【发布时间】:2018-10-23 16:09:39 【问题描述】:

我将在 Keras 中使用 LSTM。 我的训练示例是 U1、U2、...、Uk,维度为 N*Tj,其中 N 是常数,Tj 是 Uj 中每个样本的长度。 每个 Uj 是一个带有 Tj 训练样本的任务。我将把这 k 个任务提供给网络进行训练。模型要经过U1(用反向传播学习,batch size不一定是T1),然后去U2里面的例子学习,以此类推。一个纪元在英国结束时完成。 Uj 和 U(j+1) 是两个不同的任务,网络在训练期间不应将它们组合在一起。 (模型应该以某种方式理解每个任务的开始和结束,即它不应该将下一个任务的元素视为前一个任务中序列的继续) 如何将此训练任务提供给网络?

【问题讨论】:

有什么想法吗?我真的需要你的帮助。 【参考方案1】:

你的描述很抽象,但我会尽力回答你的问题:

我猜 Tj 不应该因每个样本而改变。通常所有样本都具有相同的维度和形状。 有点混乱,因为你说,样本的维度和样本的数量是一样的?

无论如何-您正在谈论的真正问题是,您希望以特定顺序为网络提供样本,并且它应该解决多个任务。您要查找的研究术语是深度学习中的Multi-Task Learning

这些多任务神经网络可以很好地处理彼此非常相关分层任务。 如果您的任务差异很大,最好为每个任务训练一个神经网络。

【讨论】:

以上是关于向 Keras 中的 LSTM 提供训练任务的主要内容,如果未能解决你的问题,请参考以下文章

MLP初始化Keras中的LSTM细胞状态

Keras 的 LSTM 中的时间步长是多少?

Keras 使用真实值作为训练目标的 LSTM 分类器的官方示例?

Keras 在训练分类 LSTM 序列到序列模型时给出 nan

Keras 的 LSTM 层中的 4D 输入

使用 Keras 训练 CNN-LSTM 时卡在第一个 epoch