在没有确切答案的情况下如何训练神经网络? [关闭]
Posted
技术标签:
【中文标题】在没有确切答案的情况下如何训练神经网络? [关闭]【英文标题】:How do you train a neural network without an exact answer? [closed] 【发布时间】:2018-09-02 03:01:11 【问题描述】:大多数神经网络都使用反向传播来学习,但根据我的理解,您需要一个准确的答案来确定输出应该是什么才能使其正常工作。我想做的是学习一个步行机器人走路,并有一个分数或适应度变量来评估它。关于如何在 python 或 keras 中执行此操作的任何想法?
【问题讨论】:
【参考方案1】:TLDR;强化学习
一般来说,训练代理使用强化学习。它与您解释的不同,因为您似乎想定义一个适应度启发式来告诉代理它是否做得很好,这可能是有偏见的。强化学习也有偏见,但它们是经过研究和研究的。一个典型的偏差是决定先前行动的重要性的一个因素。当前操作到当前结果。
通过强化学习,您只会不时地获得对行动的正面或负面反馈。你只能从那些反馈时刻中学习。不幸的是,这意味着你只能轻松地学习“致胜行动”,“导致致胜行动”更难。所以你需要一个技巧,通常是在你的评估函数中递归的东西,让它工作。好消息是,研究人员已经想出了这样的技巧。您可以从时间差异学习或 Q 学习开始。如果您的模型是基于神经网络的,则它们通常使用梯度下降进行训练。
【讨论】:
以上是关于在没有确切答案的情况下如何训练神经网络? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章