https://learnableloop.com/posts/FlyToTarget_PORT.html
将无人机导航到指定目标是一个常见的问题。在之前的项目中,主动推理代理将一个单元放置在距雷达源足够远的位置以使其不可见。在这个项目中,想法是派一架无人机到雷达源位置进行侦察。
近年来,随着主动推理的出现,机器学习的格局发生了深刻的转变,主动推理是一种从生物系统原理中汲取灵感并为智能决策过程提供信息的新颖范式。与传统的机器学习方法不同,传统的机器学习方法通常被动地接收数据并调整内部参数以优化性能,主动推理代表了一种动态的交互式框架,在该框架中,代理主动与环境互动以收集信息并实时做出决策。
主动推理的核心植根于主体的概念,主体是位于其环境中的实体,不断与周围环境相互作用并影响周围环境。这种观点反映了在生物体中观察到的基本过程,其中感知、行动和认知紧密地交织在一起,以促进适应性行为。通过利用这种整体的情报观,主动推理提供了一个统一的框架,无缝集成感知、决策和行动,从而使代理能够更有效地驾驭复杂和不确定的环境。
主动推理的定义特征之一是它强调主动获取信息。智能体不是被动地等待感官输入,而是主动选择有望产生最多信息结果的行动,从而指导他们与环境的互动。这种积极的探索不仅使代理能够减少不确定性并做出更明智的决策,而且还使他们能够积极塑造环境以更好地适应他们的目的和目标。
此外,主动推理非常强调决策过程的分层组织,认识到复杂的行为通常是从多个抽象级别的交互中产生的。在每个级别,智能体都参与预测、推理和行动的连续循环,其中较高级别的表示指导较低级别的过程,同时根据传入的感官信息进行细化和更新。
主动推理的应用涵盖广泛的领域,包括机器人、自主系统、神经科学和认知科学。在机器人技术中,主动推理为开发机器人提供了一种有前途的方法,即使在不可预测的动态环境中,也可以实时适应和学习。在神经科学和认知科学中,主动推理为理解生物系统中感知、行动和决策的计算原理提供了一个理论框架。
总之,主动推理代表了机器学习的范式转变,为理解和实现人工系统中的智能行为提供了原则性的统一框架。通过从生物系统原理中汲取灵感,主动推理有望彻底改变我们构建智能机器和理解智能本身本质的方法。
一个经常遇到的问题是将无人机导航到指定目标。在之前的“雷达下主动推理”项目中,主动推理代理将一个单元放置在敌方雷达源覆盖范围之外,希望能够隐形。在这个项目中,我们将设置一个主动推理代理,将无人机发送到雷达源的位置进行侦察。无人机操作员首先将其操纵到合适的高度。然后代理将接管引导其到达指定目标(为简单起见,使用二维方法)。
当然,这个问题不仅限于军事应用。它的适用范围很广——想想物流公司运送包裹的情况吧。
There is no pre-existing data to be analyzed.
There is no pre-existing data to be prepared.
请回顾第 1 节中的叙述。
4.2 核心要素
本节试图回答三个重要问题:
决策将以代理规定的转弯动作的形式进行。
与环境相关的不确定性来源将是
4.3 转向系统/环境/生成过程
系统引导/环境/生成过程是具有 4 维状态向量的无人机:
无人机将通过转弯/偏航动作进行转向。
4.3.1 状态变量
决策以调整速度角度的转弯/偏航动作的形式进行。操作仅限于区间
。它由下式给出:
其中
是无人机在时间 t 的动作。
4.3.3外生信息变量
这个问题没有外生信息变量。
转换函数捕获环境/系统引导/生成过程的动态:
环境生成的结果是对当前状态的噪声观测,并具有观测噪声方差
4.3.5目标函数
目标函数使得贝特自由能最小化。这方面将由 RxInfer Julia 包处理。
4.3.6 转向系统/环境/生成过程的实施
代理和环境通过马尔可夫毯进行交互。因为代理的状态对世界是未知的,所以我们将其包裹在一个理解中,该理解只返回与代理进行交互的函数。内部信念不能直接被观察,只允许通过代理的马尔可夫毯(即传感器和执行器)进行交互。
4.4 不确定性模型
如上所述,与环境相关的不确定性来源包括:
4.5 代理/生成模型
根据代理的说法,系统引导/环境/生成过程的状态将为
,而不是
,然后由下式给出
4.5.2 决策变量
根据智能体在t时刻对环境的作用将用
表示,也称为智能体的控制状态。
我们首先要为代理指定一个概率模型,描述代理对环境外部动态的内部信念。
生成模型定义如下:
这些因素定义为:
观察:
其中
表示智能体与环境交互后的观察结果。
状态转换:
当前状态是先前状态和动作的线性函数。我们为智能体赋予了精确的系统动力学模型。
这代表了控制先验。
目标:
这代表了目标/目标先验,并编码了关于首选目标/目标的信念
初始状态:
这意味着我们为初始状态设置了一个模糊的先验。
下一个代码块中的代码定义了代理对外部动态的内部信念以及环境的概率模型,通过直接使用上面定义的函数来准确对应。我们使用 RxInfer 中的 @model 宏来定义概率模型,并使用 meta 块来定义非线性状态转换函数的近似方法。
在模型规范中,除了智能体的当前状态之外,我们还包括对其未来状态的信念(最多提前 T 步):
接下来,我们定义代理:
create_agent (generic function with 1 method)
4.6 代理策略评估
4.6.1 训练/调优
4.6.1.1 简单的方法
在此模拟中,我们将仅针对紧整圈执行幼稚的行动策略。在这种情况下,代理应该无法实现其目标:
4.6.1.1主动推理方法
在主动推理方法中,我们将创建一个代理,它可以对自身周围的环境进行建模,并以概率的方式制定最佳可能的操作。