【问题标题】:Back propagation through time for minibatch小批量随时间的反向传播
【发布时间】:2017-03-25 14:45:25
【问题描述】:

我想通过人机对话数据来预测计算机操作。我有 1000 个用于培训的对话。每个对话都有不同的轮数。

在我的参考论文 (https://arxiv.org/abs/1702.03274) 中解释了如下培训。它使用基本的 LSTM。

在训练中,每个对话形成一个小批量,并完成更新 在全面推出时(即随时间推移的非截断反向传播)。

那么,我有两个问题。

  1. 每个对话形成一个小批量是否意味着 1000 个小批量?
  2. 更新是在全面推出时完成的是否意味着更新是在所有对话数据之后完成的?还是在每次对话后都进行了更新?

我不是英语母语人士,也不是机器学习专家。任何帮助将不胜感激。谢谢。

更新

我添加了更多细节。用户输入被转换为特征,系统动作被转换为一位向量。所以这个任务是一个多分类问题的任务。在本文中,这个任务是用一个 LSTM 模型来解决的。每个对话都有不同的回合数。

dialog 1
t1: hello       ([1,0,1,0,]) -> hi   ([0,0,1,0])
t2: how are you ([0,1,1,0,]) -> fine ([0,1,0,0])
dialog 2
t1: hey       ([1,0,1,0,]) -> hi   ([0,0,1,0])
...
dialog 1000
...

所以这个问题是通过x预测y

dialog_list = [ {(x1,y1), (x2,y2)}, {(x1,y1)}, ..  ] # length is 1000

【问题讨论】:

  • 对话 1 应该分成 3 个{x,y} 对。所以模型应该预测y,单单热?
  • 是的。 y 是一个单热向量

标签: machine-learning deep-learning lstm backpropagation


【解决方案1】:

让我解释一下你的报价。首先让我们对数据做一个假设。我假设一个 4 回合的对话意味着 A 说了些什么,然后 B 回应,然后是 A,然后是 B。然后您可以将数据格式化如下:

  • A 说出序列 1。B 说出序列 2。
  • B 说序列 2。A 说序列 3。
  • A 说出序列 3。B 说出序列 4。

注意这个对话框有重复,我们应该这样做,以便“响应”,即第二句,链接到前一句。这种格式化数据的方式对于编码器/解码器 LSTM 很有用。第一个序列进入编码器,第二个进入解码器。在这里,每一对都是一个数据样本。所以这个对话框有 3 个样本。

在训练中,每个对话形成一个小批量,

上一个对话框可以是一批 3 个样本。我们可以对所有对话框执行此操作。所以每个对话都是一个批次。通过小批量训练,一批通过网络,即前向传递,之后您立即执行反向传播(更新您的参数)。所以是的,1000 个小批量。

并且更新是在全面推出时完成的(即,随着时间的推移,非截断反向传播)。

正如我上面解释的,更新是在你的批次前向传递之后立即完成的。这意味着在一个 epoch(即,遍历所有数据一次)有 1000 次更新。

在使用 RNN 时,如果序列太长,我们可以将它们分解。我们可以将样本 [A 说序列 1。B 说序列 2。] 分成 3 个样本:[A 说序列]、[1. B 说话],[序列 2.]。我们将第一个样本输入网络,反向传播,然后将第二个样本输入网络,反向传播,然后是第三个。但是,我们需要将样本 1 的最后一个隐藏状态保存给样本 2 的开头,并将 2 的最后一个状态保存给样本 3。这被称为截断反向传播时间 (TBPTT)。如果你在反向传播之前“完全展开”,那么你就不用 TBPTT。因此,对于每个批次,您只需更新一次网络,而不是在我的示例中更新 3 次。

希望对您有所帮助。

【讨论】:

  • 谢谢。我仍然不确定将数据拆分为样本。我在我的问题中添加了更多细节。我的问题是通过x 预测y。如果是序列到序列之类的翻译任务,我可以轻松地为每个输入定义序列长度。但是在我用x 预测y 的设置中,我应该拆分数据吗?如果不是,我是否应该将 input_length 设置为 1(例如:一个用户话语特征)?
  • 如果你不做 TBPTT,你不需要拆分数据。在序列到序列模型中,x 输入到编码器,y 输入到解码器。例如,如果x 是[0,1,1,0,],那么长度就是4。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-09
  • 2011-08-25
  • 2019-05-23
  • 2017-01-20
  • 1970-01-01
  • 2020-10-15
  • 1970-01-01
相关资源
最近更新 更多