首页 > 解决方案 > 使用 Keras /Tensorflow 解释具有用于文本摘要的注意力模型的 LSTM 编码器-解码器中的 model.fit

问题描述

在使用 Keras 进行深度学习时,我通常会遇到这样的 model.fit:

model.fit(x_train, y_train, epochs=50, callbacks=[es], batch_size=512, validation_data=(x_val, y_val)

而在 NLP 任务中,我看到了一些关于使用 LSTM 编码器-解码器和注意力模型进行文本摘要的文章,我通常会遇到这个代码来拟合我无法理解的模型:

model.fit([x_tr,y_tr[:,:-1]], y_tr.reshape(y_tr.shape[0],y_tr.shape[1], 1)[:,1:] ,epochs=50,callbacks=[es],batch_size=512, validation_data=([x_val,y_val[:,:-1]], y_val.reshape(y_val.shape[0],y_val.shape[1], 1)[:,1:]))

而且我没有找到任何解释为什么要这样做。有人可以对上述代码进行解释。上述代码可在https://www.analyticsvidhya.com/blog/2019/06/comprehensive-guide-text-summarization-using-deep-learning-python/找到

请注意:我已经联系了写这篇文章的人,但没有得到他的回复。

标签: python-3.xkerasattention-modelsummarizationencoder-decoder

解决方案


刚看到你的问题。无论如何,如果有人有类似的问题,这里有一个解释

model.fit() 方法来拟合训练数据,您可以在其中将批量大小定义为例如 512。发送文本和摘要(不包括摘要中的最后一个单词)作为输入,并将包含每个单词(从第二个单词开始)的重构摘要张量作为输出(这解释了将智能注入模型以预测单词,给定前一个词)。此外,要在训练阶段启用验证,还要发送验证数据。


推荐阅读