向 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 提供训练任务的主要内容,如果未能解决你的问题,请参考以下文章
Keras 使用真实值作为训练目标的 LSTM 分类器的官方示例?