【问题标题】:How to train a LSTM model on the fly?如何动态训练 LSTM 模型?
【发布时间】:2018-01-08 21:40:36
【问题描述】:

我有一个用于创建聊天机器人的 LSTM 模型。聊天机器人现在知道如何根据其经过训练的模型从它所知道的任何内容中做出响应。

所以,现在我们的聊天机器人应该动态学习,当聊天机器人不知道的新查询发布时,它应该从查询和响应中学习并将其添加到其训练有素的模型中。

谁能告诉我如何实现这一目标?

【问题讨论】:

    标签: python tensorflow deep-learning keras lstm


    【解决方案1】:

    这可以通过简单地加载您保存的模型(您可能使用model.save() 保存)并使用fit() 方法训练您的新数据来实现,类似于:

    from keras.models import load_model
    #load your model
    model = load_model('chatbot.h5')
    #Continue training with your new data, adding parameters as needed
    model.fit(X2, Y2, epochs=20)
    

    【讨论】:

    • 不,我的聊天机器人一直在线。我们不想从一开始就加载经过训练的模型并拟合新模型。在线时,我想向它提供新数据。
    • @prabhu “在线时”是什么意思?当然,您已经训练了您的 .h5 模型,您正在调用 predict() ...好吧,您可以在获得新数据和标签后在线“即时”改装 那个 模型,按照说明进行操作在我的回答中。这对你有用吗,如果没有,介意多解释一下吗?
    • 比方说,我已经训练我的聊天机器人回答与特定主题相关的问题,例如:“法拉利汽车”。现在,如果我向我的聊天机器人问一个问题,比如“兰博基尼的输出扭矩是多少?”。聊天机器人肯定无法回答这个问题。问题。现在,我将有一个语料库(大小相当小),其中将包含有关兰博基尼汽车的文本数据。我想在不停止聊天机器人服务的情况下用这些数据训练聊天机器人。如何实现这是我的问题
    • 我认为你完全高估了一个简单的 lstm 可以做什么。除非您拥有大型 标记 语料库,或者使用复杂的 NLP 技术,否则您所要求的内容属于科幻小说领域。你不能只给它文本并期望它“理解”。
    • @prabhu 您可以按照前面的说明进行操作。假设您得到“兰博的输出扭矩是多少”。为了让您能够“动态地”训练您的模型(这称为在线学习),您必须以某种方式获取该新文本的标签,然后使其适合您的@ 987654325@,以文本为数据,获取标签。这样,您的聊天机器人仍然可以学习而无需停止它。现在,您可以看到这里的实际问题是获取该标签,这本身就是一项具有挑战性的 AI 任务。假设你能做到这一点,你也可以动态训练你的聊天机器人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 2023-03-03
    • 2017-11-15
    • 2018-01-30
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    相关资源
    最近更新 更多