我不太了解用于训练 LSTM 编码器-解码器的明显(或实际上相同?)训练程序。
一方面,在教程中,他们使用 for 循环进行训练: https ://www.tensorflow.org/tutorials/text/nmt_with_attention#training
但在这里 https://blog.keras.io/a-ten-minute-introduction-to-sequence-to-sequence-learning-in-keras.html
(第一个模型)
只使用一个简单的
# Run training
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
model.fit([encoder_input_data, decoder_input_data], decoder_target_data,
batch_size=batch_size,
epochs=epochs,
validation_split=0.2)
在这里,两个程序都说,他们正在通过教师强制方法进行培训。
但我不明白为什么两种方式都是一样的?
为什么我可以在没有 for 循环的情况下像普通模型训练一样训练编码器解码器,尽管我需要上一个解码步骤来训练下一个解码步骤?