【发布时间】:2016-11-27 02:22:44
【问题描述】:
我正在尝试使用语音音译数据来训练元素研究的 RNN 模块中可用的 LSTM 模型。我将训练数据作为 X 和 Y 的单独表。X 和 Y 都包含作为张量的每个训练示例,即 X 中的张量包含序列中每个字符的 ASCII 值,Y 中的张量包含结果序列的 ASCII 值。我以某种形式创建了数据,对于来自 X 和 Y 的特定示例,其完美排列并用零填充以进行训练。所以,我可以一次用一个例子来训练 LSTM。但是,问题是,我不知道如何进行批量训练,因为每个示例张量都有不同的长度。
我想,我可以通过这个表述来表达清楚:
X{ Y{
[EEEEE00000] [00000MMMMM]
[EEE0000] [000MMMM]
[EEEEEEEE0000000000] [00000000MMMMMMMMMM]
. .
. .
. .
} }
其中,EEEE..表示输入序列,MMMM...表示输出序列..
我还没有设计模型,因为我正在考虑一个合适的模型来支持批量训练。我想修改我的数据还是应该设计一个模型来修改这些数据?如果它在模型上,我该怎么做?
脚注:这个 LSTM 必须在每个训练示例之后忘记之前的序列。因为每个例子都是独立的。即,反向传播应该只在 a_single_example_length 个时间步长内完成。
【问题讨论】:
标签: lua torch lstm recurrent-neural-network