阅读前请先点“关注”,不仅方便大家讨论分享,还能给大家带来不一样的参与感,谢谢大家的支持。
文丨不满足的痰娱乐
编辑丨吐痰娱乐

前言
基于脉冲神经网络的帆船导航控制系统受其在专用硬件上进行快速、低能耗计算的潜力的启发,使用调制的脉冲时间相关可塑性强化学习规则开发了基于脉冲神经网络的控制系统。
该系统能够学习帆船根据航行场景条件在两点之间以直线航行或执行转向和转弯策略航行的策略,并完成所提出的导航任务,表明模拟环境和实施的控制策略有效。最后,提出了一些可能的策略来提高其性能。
帆船无人自主航行系统
无人驾驶艇的自主导航系统已成为一个热门话题,尤其是帆船无人驾驶艇的自主导航系统,因为它们的主要推进来源是风,而风是一种免费、丰富且对环境友好的资源。
由于帆船无法长时间接触陆地,因此在长期航行和海洋监测应用中具有巨大潜力。不同系统的能源效率至关重要。由于帆船的复杂动力学和风浪的变化,设计帆船无人驾驶车辆的自主导航系统具有挑战性。
由于动态帆船的各项参数很难全面掌握,因此一些工作从不需要动力学模型的角度提出了控制策略。提出了一种利用几何规律的位置保持控制器,并利用Q学习强化学习算法解决路径规划问题。将由粗到精的策略与Q学习算法相结合,实现了避障控制器。
脉冲神经网络已广泛应用于神经科学和机器人领域。与人工神经网络不同,脉冲神经网络使用随时间分布的短电脉冲进行通信,使其行为类似于生物神经元。脉冲神经网络被认为是解决机器人技术中各种控制挑战的有希望的解决方案。
它们真实地模拟了大脑的底层机制,同时节省了能源,有时还允许简单的硬件实现。专门的神经形态硬件已经开发出来,可以高效运行基于脉冲的神经网络。
这些平台允许大型脉冲神经网络以最小的响应延迟和功耗运行,使脉冲神经网络成为能源和延迟受限应用的有前途的 AI 技术。此外,使用脉冲神经网络为迈向更环保的 AI 范式提供了绝佳的机会。
机器人领域的多项研究已将基于脉冲神经网络的控制器应用于各种控制任务;在移动机器人领域,基于生物学的循环脉冲神经网络和泄漏积分激发神经元模型,结合脉冲时间相关的可塑性学习规则和速率编码,已用于解决无人机问题。
在车道保持应用中,采用基于前馈脉冲的神经网络来控制两轮车辆,该网络具有泄漏积分和激发神经元模型以及强化脉冲时间相关可塑性,并具有学习规则和速率编码。
采用具有泄漏积分和激发神经元模型、脉冲时间相关可塑性学习规则和群体编码的前馈脉冲神经网络来实现人形机器人的疼痛机制,解决报警实际伤害任务和预防潜在伤害任务。
脉冲神经网络为控制具有高度生物合理性和良好性能的机器人提供了一种有前途的解决方案,然而,由于其构造和优化复杂,脉冲神经网络在给定的机器人应用中使用起来具有挑战性,因此尚未扩展到许多潜在应用。
必须强调的是,脉冲神经网络的设计目前还没有统一的框架。我们使用强化学习规则将脉冲神经网络应用于帆船导航控制系统。这种方法使我们能够在不知道动态帆船参数的情况下训练脉冲神经网络,也不需要帆船数据库。
目标是设计一个使用脉冲神经网络的帆船控制系统,并进行模拟以评估其有效性。为了实现这一目标,引入了一种设计方法,并用于构建各种基于脉冲神经网络的无人驾驶车辆自主导航系统。
该控制系统可以运行并改善部分其他算法的偏差误差,但需要进一步完善以匹配更先进的算法。脉冲神经网络在帆船控制中的应用及所取得的成果为该领域的未来研究奠定了基础。
开发基于脉冲神经网络架构的系统
将无人水面航行器的开源模拟器与控制环境相集成,开发了仿真环境,定义了基于脉冲神经网络的体系结构和控制策略以及训练方法,建立了训练和测试场景,并探索了基于脉冲神经网络的体系结构和控制策略相关的各种超参数的设计空间。
训练了若干基于脉冲神经网络的无人艇自主导航系统控制器,并根据偏差误差、总导航时间以及总输入神经元数评估了它们的性能。设计了一种基于脉冲神经网络的航行型无人艇自主导航系统,并建立了用于训练和测试的仿真环境。
该项目的初始阶段涉及创建模拟环境。为了实现这一目标,对无人水面航行器开源模拟器中的一些文件进行了一些修改。在确保模拟环境正常运行后,我们继续定义基于脉冲神经网络的控制器,该控制器需要使用帆船中可用的执行器为无人航行器实现自主导航系统。
这涉及定义脉冲神经网络架构和设计控制策略,指定各种脉冲神经网络特征(包括神经元模型和输出解码),使用M-spike时间相关可塑性学习规则来训练脉冲神经网络控制器,最后根据帆船所需的操纵为每个脉冲神经网络建立奖励函数。
在设计基于脉冲神经网络的控制器时发现了几个影响无人驾驶汽车自主导航系统控制器行为的超参数,因此探索了这些参数的设计空间,以确定一组使偏差误差和总导航时间最小化的控制器。
最后一步是,为基于脉冲神经网络的无人驾驶汽车自主导航系统创建训练和测试场景,并使用它们进行设计空间探索,其中对于每个设计点,对每对控制器进行训练和测试,改变超参数以实现不同的性能,消除控制器在一定时间范围内未完成训练或测试序列的设计点。
接下来,通过确定帕累托最优控制器集来评估剩余控制器的性能,最后选择最佳控制器并将其与其他帆船控制算法进行比较。
无人水面舰艇无人导航系统模拟测试
根据实际风向和目标点的位置,帆船可能面临六种主要航行场景。目标是训练基于脉冲神经网络的控制器,使帆船能够向任何方向移动,并使用这些场景来定义训练和测试场景。
基于脉冲神经网络的无人驾驶车辆自主导航系统训练主要依赖传统的导航策略,而非提出新颖的导航策略,可分为两类。
如果帆船驶向目标点的航线在逆风或顺风区域,帆船将沿直线轨迹到达目标。如果帆船驶向目标点的航线在禁区,它将执行抢风和转弯机动以到达目标,因为直线轨迹不可行。
强化学习是一种人工智能技术,它不同于监督学习和无监督学习,其目的是根据数值奖励信号学习采取什么行动。为了开发和理解我们的控制策略,我们定义了一些强化学习概念。
该模拟环境是一个软件基础设施,用于在帆船无人驾驶飞行器自主导航系统中训练和测试基于脉冲神经网络的控制器,能够训练和运行基于脉冲神经网络的控制器,以同时模拟帆船及其作用于帆船的环境力。
为此,我们选择了无人水面航行器开源模拟器。在众多可用的帆船模拟器中,无人水面航行器开源模拟器因其高度详细的物理模拟而被选中,包括对风和波浪等环境干扰的建模。无人水面航行器开源模拟器提供的默认帆船模型经过定制,以模仿现实世界中实现的实际帆船。
另一方面,使用 Python3 和 BindsNET 库来实现控制器环境。BindsNET 是一个用于模拟基于脉冲的神经网络的 Python3 库。之所以选择 BindsNET,是因为它的高级抽象可以直接描述基于脉冲的神经网络的行为。
使用BindsNET库制作基于脉冲神经网络的控制器并执行控制系统,为训练和测试场景生成目标点,执行并保存不同实验的相关信息。
由于无人水面舰艇开源模拟器和我们的控制器环境使用的 Python 版本不兼容,因此必须将它们隔离。为了在它们之间建立通信,我们通过 Socat 开发了通信链路。最后,通过配置文件加载输入数据,其中包含配置基于脉冲神经网络的无人船自主导航系统所需的信息。
所有算法均成功完成了该场景,其中 Viel 的控制器表现优于其他控制器,因为它相对于理想路径的行进时间和偏差误差最小。
虽然无人水面航行器开源模拟器算法的行程时间优于基于脉冲神经网络的无人水面航行器自主导航系统,但是基于脉冲神经网络的无人水面航行器自主导航系统的偏差误差较低。
虽然基于脉冲神经网络的无人驾驶汽车自主导航系统的性能并不比 Viel 等鲁棒控制器更好,但在低偏差误差很重要的任务中,它可能是 PI 控制器的可行替代方案。
结论
设计了一种基于脉冲神经网络的帆船控制无人驾驶艇自主导航系统,旨在探索模拟实验中的设计空间,以尽量减少测试时间和总输入神经元,在偏差误差方面优于无人水面航行器的开源模拟器控制器。
然而,它的性能比 Viel 的控制器差,这表明需要重新评估该方法的各个方面;一个潜在的变化是使用具有资格跟踪的强化学习算法而不是 M-spike-timing-dependent 可塑性算法,因为它可以实现更高级的奖励策略。