gpt4 book ai didi

machine-learning - 乒乓球机器人神经网络的建议

转载 作者:行者123 更新时间:2023-11-30 08:43:55 25 4
gpt4 key购买 nike

基于我的上一个question我构建了一个 3D 游戏,其中两个机械臂正在互相打乒乓球。机器人有六个自由度。
状态由以下部分组成:

  • 球的 x、y 和 z 位置
  • 机器人的 6 个角度

所有值均已标准化,因此它们的值介于 [-1,1] 之间。通过 4 个连续帧,我总共获得了 37 个参数的输入。

奖励

  • 球员击球时+0.3
  • 当玩家赢得比赛时+0.7
  • 当玩家输掉比赛时-0.7

输出
机器人的六个关节中的每一个都可以以一定的速度移动,因此每个关节都有可能朝正方向移动、停留或朝负方向移动。这会产生 3^6=729 个输出。

通过这些设置,神经网络应该学习机器人的逆运动学并打乒乓球。我的问题是,我的网络收敛了,但似乎陷入了局部最小值,并且根据配置,随后开始收敛。我首先尝试了具有 1000 个节点的两个和三个隐藏层的网络,经过几个时期后,网络开始收敛。我意识到 1000 个节点太多了,并将其降低到 100 个,结果,网络的行为如所描述的,它首先收敛,然后稍微发散。所以我决定添加隐藏层。目前,我正在尝试一个具有 6 个隐藏层、每个隐藏层 80 个节点的网络。当前损失如下所示:loss

经验丰富的机器学习专家,您怎么看?您发现我的配置有什么问题吗?您会选择哪种类型的网络?
我很高兴收到每一个建议。

最佳答案

我过去也遇到过类似的问题。目标是使用神经进化框架 NEAT 学习机械臂的逆运动学。左图中是误差图。一开始一切正常,网络有所改善,但在某个点上,误差值保持在相同值,甚至在计算 30 分钟后也没有变化。我不认为你的神经网络是错误的,或者神经元的数量是错误的。我认为,神经网络通常无法学习逆运动学问题。我还认为deepmind的著名论文(用神经网络玩Atari游戏)是假的。

neural network inverse kinematics

但回到事实。 OP 中的图(平均损失)和我的图(人口适应度)都显示出在开始时的改善和一段时间后的停滞曲线,尽管事实上 cpu 100% 运行,但无法改善。寻找更好的解决方案。目前还不清楚神经网络需要优化多长时间才能出现明显的改进,甚至可能经过数天或数年的不断计算也找不到更好的解决方案。对文献的研究表明,对于每个中等或困难的问题,结果都是正常的,到目前为止还没有发明更好的神经网络或更好的学习算法。根本问题被称为组合爆炸,这意味着网络权重有数百万种可能的解决方案,而计算机只能扫描其中的一小部分。如果问题真的像“异或问题”一样简单,那么像反向传播或 RPropMinus 这样的学习算法就会找到解决方案。对于稍微困难的问题,例如在迷宫中导航、寻找逆运动学或钉孔任务,当前的神经网络都无法找到解决方案。

关于machine-learning - 乒乓球机器人神经网络的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40159695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com