如何在tensorflow中实现双向编码器?

时间:2016-07-29 20:11:11

标签: python tensorflow deep-learning encoder bidirectional

在Tensorflow中,所有编码器 - 解码器功能(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/seq2seq.py)都使用RNN单元的单向实现。

我们如何在Tensorflow中实现双向编码器(http://arxiv.org/abs/1409.0473或类似系统),以便在编码器 - 解码器设置中同时学习前向和后向序列?

1 个答案:

答案 0 :(得分:1)

实际上很容易。您可以通常从第一个到最后一个对序列进行编码,并将状态和最后一个输出作为输出;然后反转序列并应用相同的过程,您将获得相同数量的状态和输出。您从同一个项目连接每个状态对,然后获得组合状态和两个输出。

您可以在TensorFlow中使用API​​:bidirectional_dynamic_rnn。另外,this是Theano的实施。