【问题标题】:How do you train a neural network without an exact answer? [closed]在没有确切答案的情况下如何训练神经网络? [关闭]
【发布时间】:2018-09-02 03:01:11
【问题描述】:

大多数神经网络都使用反向传播来学习,但根据我的理解,您需要一个准确的答案来确定输出应该是什么才能使其正常工作。我想做的是学习一个步行机器人走路,并有一个分数或适应度变量来评估它。关于如何在 python 或 keras 中执行此操作的任何想法?

【问题讨论】:

    标签: python neural-network deep-learning keras backpropagation


    【解决方案1】:

    TLDR;强化学习

    一般来说,训练代理使用强化学习。它与您解释的不同,因为您似乎想定义一个适应度启发式来告诉代理它是否做得很好,这可能是有偏见的。强化学习也有偏见,但它们是经过研究和研究的。一个典型的偏差是决定先前行动的重要性的一个因素。当前操作到当前结果。

    通过强化学习,您只会不时地获得对行动的正面或负面反馈。你只能从那些反馈时刻中学习。不幸的是,这意味着你只能轻松地学习“致胜行动”,“导致致胜行动”更难。所以你需要一个技巧,通常是在你的评估函数中递归的东西,让它工作。好消息是,研究人员已经想出了这样的技巧。您可以从时间差异学习或 Q 学习开始。如果您的模型是基于神经网络的,则它们通常使用梯度下降进行训练。

    【讨论】:

      猜你喜欢
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2018-11-26
      • 2017-06-19
      • 1970-01-01
      • 2016-01-03
      相关资源
      最近更新 更多