【发布时间】:2018-04-20 17:30:02
【问题描述】:
我有一个关于在 Keras LSTM 模型层中使用 go_backwards 参数的问题。该层的文档可以在这里找到:https://keras.io/layers/recurrent/#lstm。
问题 1:如果我将“go_backwards”标志设置为 True,我是否仍会在训练过程中“向前”馈送输入数据。例如,如果一个英文输入句子通常读作“I fall”,而它的德文翻译读作“Ich fiel”,我是向前输入(“I fall”、“Ich fiel”)还是向后输入(“fell I”? , "field Ich") 在训练过程中。
问题 2:与进行模型预测的问题相同,数据是前馈(“我摔倒”)还是反向馈送(“我摔倒”)?
问题 3:如果我尝试使用下面的模型并想要反转语料库数据,我会在两个 LSTM 层中将 go_backwards 标志设置为 true 还是只在一个层中设置?
model = Sequential()
model.add(Embedding(src_vocab, embedding_dim, input_length=source_steps, mask_zero=True))
model.add(LSTM(embedding_dim,go_backwards=True))
model.add(RepeatVector(target_steps))
model.add(LSTM(embedding_dim, return_sequences=True))
model.add(TimeDistributed(Dense(tar_vocab, activation='softmax')))
# compile model
model.compile(optimizer='adam', loss='categorical_crossentropy')
# summarize defined model
model.summary()
我认为我应该转发所有数据,但我找不到任何文档让我相信这是正确的。
【问题讨论】:
标签: python tensorflow nlp deep-learning keras