微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 如何在TensorFlow中实现递归神经网络?

是否有某种方法使用TensorFlow实现像 [Socher et al. 2011]中那样的递归神经网络?
请注意,这与TensorFlow很好地支持的递归神经网络不同.
不同之处在于网络不会复制到线性操作序列中,而是复制到树结构中.

我想我可以使用While op为我的数据集的每个条目构造类似于树数据结构的广度优先遍历.

也许可以在TensorFlow中实现树遍历作为新的C op,类似于While(但更一般)?

解决方法

目前,这些模型很难在TensorFlow中高效,干净地实现,因为图形结构取决于输入.这也使得进行小型化非常困难.可以使用你提到的while循环之类的东西,但干净利落地做起来并不容易.

您可以为每个示例构建一个新图形,但这将非常烦人.如果对于给定的输入大小,您可以枚举相当少量的可能图形,您可以在它们之间进行选择并一次构建它们,但对于较大的输入,这是不可能的.

您还可以使用复杂的tf.gather逻辑和掩码在图表中路由示例,但这也可能是一个巨大的痛苦.

最终,为每个示例动态构建图形可能是最简单的,并且将来有可能存在支持更好的即时样式执行的替代方案.但是从v0.8开始,我认为这有点烦人,并且在雅罗斯拉夫的评论中提到了一些开销.

编辑:自从我回答以来,这是一个使用带有while循环的静态图的示例:https://github.com/bogatyy/cs224d/tree/master/assignment3我不确定它与这样的模型的自定义C代码相比是多么高效,尽管原则上它可以被批量处理.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐