首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >人工智能行为决策

人工智能行为决策
EN

Stack Overflow用户
提问于 2010-06-20 05:55:10
回答 4查看 534关注 0票数 4

我正在运行一个物理模拟,并将一组运动指令应用于模拟的骨架。我对骨骼有多套指令,包括对腿、手臂、躯干等的力应用和对它们各自骨骼的力的持续时间。每组指令(行为)都是通过测试其执行所需行为的有效性,然后使用具有其他类似行为的遗传算法修改行为,并再次测试来开发的。骨架在其集合列表中将有一个数组行为。

我有测试稳定性,速度,最小化熵和关节作用力的适应度函数。问题是,任何给定的行为都将在特定的上下文中工作。一种行为适用于平地,另一种行为适用于右脚前面有凹凸的情况,另一种行为适用于左脚前面,以此类推。因此,每种行为的适合度都会根据上下文而有所不同。简单地根据之前的适应度水平来选择一个行为是行不通的,因为这个适应度分数不适用于这个上下文。

我的问题是,我如何编程让骨骼为上下文选择最佳行为?例如,为随机的颠簸地形选择最佳行走行为。

EN

回答 4

Stack Overflow用户

发布于 2010-06-24 13:32:19

在我给这个问题的different answer中,我假设你的模型的“地形”信息是非常近似和粗粒度的,例如,“平滑和平坦”,“粗糙”,“岩石”等,并且可能只在网格级别。然而,如果世界模型实际上非常详细,例如来自3-D laser range scanner的模拟版本,那么来自机器人的算法和计算性path/motion planning方法可能比机器学习分类器系统更有用。

路径/运动规划方法

有相当多的路径和运动规划方法,包括一些可能更适合步行/运动的方法,但值得一提的是一些更通用的方法:

  • Visibility graphs
  • Potential Fields
  • Sampling-based methods

一般的解决方法是使用路径规划方法来确定骨骼应遵循的行走轨迹以避开障碍物,然后使用基于遗传算法的控制器来实现适当的运动。这在很大程度上是robotics的核心:感知世界并确定实现某些目标所需的动作和运动控制。

此外,通过快速的文献搜索,找到了以下论文和一本书,作为进一步研究的想法和起点。关于腿机器人运动规划的论文可能特别有用,因为它讨论了几种运动规划策略。

阅读建议

Steven Michael LaValle (2006)。Planning Algorithms,剑桥大学出版社。

Kris Hauser,Timothy Bretl,Jean-Claude Latombe,Kensuke Harada,Brian Wilcox (2008)。"Motion Planning for Legged Robots on Varied Terrain",国际机器人研究杂志,第27卷,第11-12期,1349年,DOI: 10.1177/1349

Guilherme N. DeSouza和Avinash C. Kak (2002)。"Vision for Mobile Robot Navigation: A Survey",IEEE Transactions on Pattern Analysis and Machine Intelligence,第24卷,第2期,2月,第237-267页。

票数 2
EN

Stack Overflow用户

发布于 2010-06-22 12:40:35

我的答案有三个方面:(1)控制理论,(2)感知,(3)融合感知和行动。

控制理论

问题的答案部分取决于您使用的是哪种控制方案:是前馈控制还是反馈控制?如果是后者,除了地形信息之外,你们还有哪些模拟的实时传感器?

简单地拥有地形信息并将其纳入您的控制策略并不意味着您正在使用反馈控制。可以使用这些信息来选择前馈策略,这似乎最接近您所描述的问题。

感测

无论您使用的是前馈控制还是反馈控制,您都需要将地形信息和任何其他感官数据表示为控制系统的输入空间。训练基于GA的运动控制器的一部分应该是在广泛的随机地形中移动骨骼,以便学习特征检测器。特征检测器通过将输入空间分割成区域来对地形场景进行分类,这些区域对于决定什么是最佳动作策略,即采用什么控制行为至关重要。

如何以最佳方式表示输入空间取决于用于模拟的地形信息的粒度级别。如果它只是一些网格空间中地形类型和/或障碍物的离散空间,你可以直接将它呈现给你的GA,而不需要转换。但是,如果数据位于连续空间中,例如地形类型和任意范围/方向的障碍物,则可能需要将其转换为更容易推断空间关系的空间,例如粗编码的范围和方向,例如近、中、远和前、左前、左等。高斯和模糊分类器对于后一种方法很有用,但离散值编码也可以工作。

合并感知和动作

使用上面的输入空间编码方法之一,您可以选择如何连接行为选择搜索空间和运动控制搜索空间:

  1. 将这两个空间分成两个学习问题,并使用单独的GA来进化标准multi-layer perceptron neural network的参数。后者将您的传感器数据(可能已转换)作为输入,将您的骨架行为集作为输出。与使用反向传播或其他神经网络学习方法学习网络权重不同,您的GA可以使用一些适应度函数在一系列模拟试验中进化参数,例如,适应度=从点A开始在固定时间段内向着B点移动的距离。这应该在连续几代中从完全随机的行为选择演变为更协调和更有用的东西。
  2. 通过将上述(1)中描述的多层感知器网络链接到您现有的基于GA的控制器框架中,使用骨架行为集作为链接,将两个搜索空间(行为选择和骨架运动控制)合并。将要进化的参数空间既是神经网络权重,也是现有的控制器参数空间。假设您正在使用多目标遗传算法,例如NSGA-II algorithm (因为您具有多个适应度函数),则适应度函数将是稳定性、速度、熵最小化、关节上的力等,加上一些旨在学习行为选择策略的适应度函数,例如,在固定时间段内从点A开始向点B移动的距离。

这种方法和上面的(1)之间的区别是,您可能能够学习更好的行为协调和更细粒度的运动控制,因为当这两个问题合并而不是分开时,参数空间可能会得到更好的探索。缺点是,可能需要更长的时间才能收敛到合理的参数解决方案,并且如果将这两个学习问题分开,可能不会像学习电机控制的所有方面那样好。

考虑到您已经有了用于电机控制问题的工作进化解决方案,您可能更好地使用方法(1)来学习具有单独GA的行为选择模型。此外,对于学习后一种模型,我在上面描述的混合GA-ANN方案有许多替代方案,包括根本不学习模型,而是使用separate answer from me中描述的path planning algorithm。我只是提供了这种方法,因为您已经熟悉了基于GA的机器学习。

action selection problem是机器学习和自主机器人领域的一个强大的研究领域。阅读这个主题本身可能是非常值得的,以获得对当前问题的更好的视角和洞察力,并且您可能能够设计出一个比我目前为止提出的任何建议都更简单的策略,通过这个范式的镜头来看待您的问题。

票数 1
EN

Stack Overflow用户

发布于 2010-06-20 06:23:20

你正在使用遗传算法来修改行为,所以这一定意味着你已经为每种因素组合设计了一个适应度函数。这就是你的问题?

如果是,答案取决于你用来定义最佳行走行为的指标:

  1. Maximize stability
  2. Maximize
  3. Minimize forces on joints
  4. Minimize energy or entropy

(将能量或熵产生的速度降至最低)

或者你只是尝试一堆参数,记录这些值,然后让遗传算法引导你找到最佳解决方案?

如果每种行为在一个上下文中运行良好,而在另一个上下文中运行不佳,我会尝试量化如何在上下文之间感知和插入,并混合策略,看看这是否会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3077380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档