首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用TensorFlow训练GPU加速度时的递归神经网络

用TensorFlow训练GPU加速度时的递归神经网络
EN

Stack Overflow用户
提问于 2017-04-26 13:18:02
回答 2查看 1.2K关注 0票数 4

我对并行计算(包括一些CUDA)、前馈神经网络和递归神经网络(以及它们如何使用BPTT)有基本的知识。

例如,在使用TensorFlow时,可以将GPU加速应用于网络的培训阶段。但递归神经网络在本质上是连续的,具有时间步长,即当前的时间步长取决于先前的时间步长,下一个时间步取决于当前的时间,等等。

如果是这样的话,为什么GPU加速工作呢?当时间步长相关的部分被序列化时,所有可以并行计算的东西都是这样计算的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-27 12:46:56

RNNs通过时间的反向传播进行训练。递归网络结构被展开成一个有限长度的有向无圈图,看起来就像一个正常的前馈网络。然后,它使用随机梯度下降训练,在每个时间步长之间有一个约束,即权重必须相等。

如果你明白它是这样训练的,因为它只是在给定长度的序列上受约束的反向传播,你就会发现顺序的本质并没有阻止这个过程是可并行的。

票数 4
EN

Stack Overflow用户

发布于 2017-04-26 18:29:53

要获得递归神经网络GPU训练的性能,需要使用足够大的批处理大小来计算单个单元的前/后传递,计算量足以使GPU忙碌。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43635423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档