在Tensorflow中,所有编码器 - 解码器功能(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/seq2seq.py)都使用RNN单元的单向实现。
我们如何在Tensorflow中实现双向编码器(http://arxiv.org/abs/1409.0473或类似系统),以便在编码器 - 解码器设置中同时学习前向和后向序列?
答案 0 :(得分:1)
实际上很容易。您可以通常从第一个到最后一个对序列进行编码,并将状态和最后一个输出作为输出;然后反转序列并应用相同的过程,您将获得相同数量的状态和输出。您从同一个项目连接每个状态对,然后获得组合状态和两个输出。
您可以在TensorFlow中使用API:bidirectional_dynamic_rnn。另外,this是Theano的实施。