首页 文章

通过TensorFlow使用GPU加速训练复现神经网络

提问于
浏览
3

我具有并行计算(包括一些CUDA),前馈神经网络和循环神经网络(以及它们如何使用BPTT)的基本知识 .

当使用例如TensorFlow时,您可以将GPU加速应用于网络的训练阶段 . 但是,递归神经网络本质上是顺序的,具有时间步长,其中当前时间步长取决于先前时间步,并且下一个时间步长取决于当前等 .

如果像这样,GPU加速怎么样?可以并行计算的所有内容都是以这种方式计算的,而时间步长相关的部分是序列化的吗?

2 回答

  • 3

    通过使用足够大的批量大小来计算单个单元的前向/后向传递消耗足够的计算以使GPU忙碌,您可以获得针对递归神经网络的GPU训练的性能的方式 .

  • 3

    RNN使用反向传播进行训练 . 循环网络结构展开为有限长度的有向无环图,看起来就像正常的前馈网络一样 . 然后使用随机梯度下降进行训练,其中在每个时间步之间存在权重必须相等的约束 .

    如果您理解它像这样训练,因为它只是限制了给定长度序列的反向传播,您会发现没有任何关于阻止此过程可并行化的顺序性质 .

相关问题