【问题标题】:How to train a neural network to generate movements based on a training set of hand motions?如何训练神经网络根据手部动作训练集生成动作?
【发布时间】:2017-02-02 08:19:55
【问题描述】:

我正在 Unity 中制作一款游戏,其中涉及动画由物理决定的生物。例如,要移动生物的肢体,我可以对与之关联的刚体施加力。我知道如何通过脚本以编程方式施加力来创建动作,但我想创建更复杂和有机的动作,并认为我可以使用神经网络来做到这一点。

我希望每个生物在世界上都有不同的移动方式。我想首先用手(使用 Leap Motion 控制器)手动操纵这些生物,并让神经网络根据我用手进行的训练生成新的动作。

更具体地说,我的手动木偶操作设置会在我移动手时对生物的刚体施加力。因此,如果我抬起手指,系统会向映射到我手指的肢体施加一系列向上的力。当我对生物进行木偶操作时,NN 接收到每个刚体的 Vector3 力。在某种程度上,这与基于文本语料库生成新文本的任务相同,但在这种情况下,我的输入是力而不是字符串。

基于该训练集,NN 是否有可能为角色生成动作(施加到四肢的力)来模仿我用手所做的动作?

我在神经网络方面没有太多经验,但我渴望学习,特别是对于这个项目。很高兴了解在 Unity 中完成的类似项目,或者我可以使用的相关库来简化实现。另外,如果有什么我可以澄清的,请告诉我!

【问题讨论】:

    标签: unity3d neural-network game-physics


    【解决方案1】:

    不是真正的答案,但不适合 cmets

    我不确定您要用于训练模型的策略是否正确。

    我会使用强化学习方法(您可以查看this question 了解更多信息),例如,将生物质心在 x 轴上的移动距离作为适应度。如果这会导致奇怪的行为 (like this well known robot),例如,您可以考虑一些策略,例如根据 y 轴和 z 轴(仍然由 CoM)移动的距离来惩罚您的个人,以尝试让那些让 CoM 保持不变的人飞机。

    如果不确切知道您想要实现什么,很难给您更多建议。不过,如果您不是寻找基于神经网络的技术,您可能想看看this really great paperhere 是他们的结果视频)。

    【讨论】:

    • 这太好了,谢谢你的建议!我将研究强化学习。
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2010-11-20
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2017-05-28
    相关资源
    最近更新 更多