在 Tensorflow 中,所有编码器-解码器函数 (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/seq2seq.py) 使用 RNN 单元的单向实现。
我们如何在 Tensorflow 中实现双向编码器(http://arxiv.org/abs/1409.0473 或类似系统),以便在编码器-解码器设置中同时学习前向和后向序列?
最佳答案
其实很简单。您可以从第一个到最后一个序列正常编码,并将状态和最后一个输出作为输出;然后反转顺序并应用相同的过程,您将获得相同数量的状态和输出。您连接来自同一项目的每个状态对,然后获得组合状态和两个输出。
您可以只使用 TensorFlow 中的 API:bidirectional_dynamic_rnn .另外,this是Theano中的实现。
关于python - 如何在 tensorflow 中实现双向编码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666762/