用于C++律动运动的中央模式生成器

news2024/9/24 13:25:30

用于C++律动运动的中央模式生成器

一、说明

        本篇讲述关于生物模型的神经网络, 中央模式生成器的简单神经网络的一个例子是半中心振荡器;该系统分成两个组成,信号层和物理层。新概念仓本模型,以及龙格库塔法的方程解法,总之,看懂此文需要相当的数学功底。

二、基本概念

        中枢模式发生器(CPG)是在动物(包括人类)的中枢神经系统中发现的神经回路或网络。它们负责产生有节奏的运动模式,如行走、游泳或呼吸,而不需要大脑的持续输入。CPG 在控制基本节奏运动方面起着至关重要的作用,它们对于维持协调行为至关重要。

        本文中讨论的所有模拟都可以在我的GitHub上找到。

        组织为中央模式生成器的简单神经网络的一个例子是半中心振荡器。半中心振荡器由两个神经元组成,它们以交替的方式相互抑制,导致有节奏的模式生成。这种类型的CPG常见于许多动物的运动系统中,如龙虾。

        CPG 以其产生协调和有节奏的运动的能力而闻名,这使得它们与软机器人应用高度相关。

        让我们以龙虾的口腔胃神经系统为例,它控制着胃磨和幽门肌的节律运动。胃磨机负责咀嚼,而幽门肌则调节食物通过胃的通道。

        在这个例子中,我们有两个神经元,神经元A和神经元B,组织成一个半中心振荡器:

  1. 神经元A:它激活胃磨肌肉并抑制神经元B。
  2. 神经元B:它激活幽门肌并抑制神经元A。

        电路的工作原理如下:

  1. 最初,神经元A和神经元B都是不活跃的,胃磨和幽门肌处于静止状态。
  2. 神经元A接受微弱的外部刺激,导致其放电。结果,胃磨肌肉收缩并开始咀嚼运动。同时,神经元A向神经元B发送抑制信号,抑制其活动。
  3. 由于神经元A的抑制,神经元B变得安静,幽门肌放松,允许食物通过。
  4. 经过短暂的延迟后,神经元B对神经元A的抑制消失,神经元A再次变得活跃。神经元A开始抑制神经元B,同时激活胃磨肌肉。
中央模式生成器概念(作者)

        结果,幽门肌放松。这个过程以有节奏的模式重复,在神经元A和神经元B之间产生协调的活动循环。肌肉的交替抑制和激活导致胃磨和幽门肌有节奏地运动,产生咀嚼并调节食物通过龙虾胃的通道。

        龙虾口腔胃神经系统的模拟(作者)

        龙虾口腔胃神经系统中的半中心振荡器只是中枢模式发生器如何控制节律行为的一个例子。CPG的复杂性差异很大,存在于各种动物中,在产生对生存和日常活动至关重要的协调和有节奏的运动方面发挥着重要作用。它们是一个很好的例子,说明神经网络如何在没有来自更高大脑中心的连续输入的情况下生成和控制节奏模式,从而可以有效和自主地控制运动行为。

三、仓本模型

仓本模型是一种数学模型,用于描述耦合振荡器复杂系统中的同步现象。它是由日本物理学家Yoshiki Kuramoto于1975年提出的。该模型的主要思想是研究大量相互作用的振荡器如何随着时间的推移同步它们的相位。

        在Kuramoto模型中,每个振荡器都由相位变量θi表示,其中i表示振荡器的指数。相位 θi 表示第 i个振荡器在给定时间的状态。振荡器的动力学由以下一阶微分方程控制:

        这里:

  • ωi 是第 i个振荡器的固有(固有)频率。它表示振荡器在没有与其他振荡器相互作用的情况下的首选频率。
  • K是耦合强度,它决定了振荡器之间的相互作用程度。
  • N 是系统中振荡器的总数。

        该方程描述了每个振荡器的相位θi如何随时间变化。第一项ωi表示固有频率,使振荡器以其固有频率演化。第二学期,

        表示与其他振荡器的相互作用。

        相互作用项涉及每对振荡器之间相位差的正弦之和。该术语量化了第 i个振荡器受所有其他振荡器相位的影响程度。当振荡器同步时(即它们的相位相似),总和最大化,从而产生更强的同步效果。

        在仓本模型中,当耦合强度K足够强时,振荡器之间的相位差往往会随着时间的推移而消失,从而导致同步。随着时间的推移,振荡器会根据与其他振荡器的耦合来调整其相位,最终进入同步状态,其中相位差变为恒定或稳定在特定值。

        同步状态对应于集体节奏行为,其中系统中的所有振荡器都锁定在相位中,表现出连贯和协调的运动。这种同步现象是许多自然系统中观察到的共同特征,例如萤火虫闪烁的同步,大脑中神经元的有节奏的放电,或动物群的同步运动。

        我们可以使用微分方程组用仓本模型描述三神经元 CPG 网络的行为。每个神经元的(A,B和C)相位将由微分方程表示,该方程描述了相位如何由于其固有频率和与其他神经元的相互作用而随时间变化。

我用龙格-库塔方法找到了微分方程的解。

用微分方程描述的CPG模拟(作者)

        在第一个具有三个神经元的示例中,我们使用带有Hodgkin-Huxley神经元的Kuramoto模型来模拟CPG。霍奇金-赫胥黎模型将动态行为引入神经元,允许它们产生动作电位(尖峰)并表现出复杂的电行为。然后,Kuramoto模型同步这些神经元的相位,导致其活动中的节奏模式。这种节奏模式可以解释为运动神经元在步行机器人中控制腿部运动的有节奏的放电。

        在第二个具有多条腿的示例中,我们有一个更复杂的CPG,其中包含多个振荡器,每个振荡器代表机器人的一条腿。我们使用仓本模型和简单的正弦模式进行腿部运动。CPG 为每条腿的运动生成节奏模式,通过调整固有频率、耦合强度、振幅和相位偏移,我们可以创建不同的步行步态,例如步行、小跑或疾驰。机器人的腿以协调和有节奏的方式移动,模仿自然运动中的节奏模式。

        总体而言,CPG为机器人系统提供了一种分散的控制机制,使其能够生成有节奏的腿部运动模式,而无需对每条腿进行复杂的中央计算。通过使用CPG,机器人即使在不断变化的环境中也可以实现稳定和自适应的运动模式,并且可以通过相对简单的控制策略行走或移动。

        在现实世界的机器人中,CPG通常与感官反馈和其他控制机制相结合,以实现更复杂的运动并适应各种地形条件。CPG 概念提供了一种受生物学启发的方法来控制机器人的腿部运动,使其高效、稳定和多功能。

四、霍奇金-赫胥黎模型

霍奇金-赫胥黎模型是一个数学模型,描述了可兴奋细胞(尤其是神经元)中动作电位的产生和传播。它由Alan Hodgkin和Andrew Huxley于1952年提出,此后成为神经科学中理解神经元和其他可兴奋细胞电行为的基本工具。

        霍奇金-赫胥黎模型可用于理解CPG的动力学。在这种情况下,CPG由通过突触连接相互作用的互连神经元组成。CPG中的每个神经元都使用霍奇金-赫胥黎方程建模,该方程描述了在动作电位期间流过神经元膜的离子电流

        霍奇金-赫胥黎模型考虑了以下离子电流:

  1. 钠(Na+)电流(INa)负责动作电位的快速去极化阶段。
  2. 钾(K+)电流(IK),负责动作电位的复极化阶段。
  3. 泄漏电流(IL)代表有助于静息膜电位的小的非特异性离子电流。

霍奇金-赫胥黎模型(作者)

膜电位(V),

钠电流,

钾电流,

漏电流,

M门(钠通道的激活门控变量),

H门(钠通道的失活门控变量),

N门(钾通道的活化门控变量),

哪里:

  • V是神经元的膜电位。
  • C为膜电容。
  • I是注入的电流,代表神经元的外部输入。
  • gNa、gK 和 gL 分别是钠、钾和泄漏通道的最大电导率。
  • M、H 和 N 是门控变量,表示钠和钾的开放离子通道比例。
  • ENa、EK和EL分别是钠、钾和泄漏电流的平衡电位。
  • alpha_m、beta_m、alpha_h、beta_h、alpha_n和beta_n是控制离子通道门控变量动力学的速率常数。

        CPG的动力学由这些神经元之间的相互作用,它们的突触连接以及它们的内在膜特性决定。CPG中的神经元网络通过相互兴奋或抑制连接产生有节奏的活动模式,从而产生协调的节律运动输出。

        通过在相互连接的神经元网络中模拟霍奇金-赫胥黎模型,研究人员可以研究不同的连接模式和突触强度如何产生特定的节律运动行为。这对于理解动物如何产生有节奏的运动(如步行或游泳)以及这些模式如何通过感官输入和更高的大脑中枢进行调节尤为重要。

        总体而言,霍奇金-赫胥黎模型一直是研究CPG的基础工具,并极大地促进了我们对节律运动行为背后的神经机制的理解。

五、后记

        本文是对神经信号、神经动力学的框架构思;其中引进重要的两种模型:仓本模型、霍奇金-赫胥黎模型;以及对模型的内在原理进行探讨。相信以后此类研究将方兴未艾。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/935572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6.跑一下Triton官方教程

1.模型部署 首先拉取官方示例代码 git clone --recursive https://github.com/triton-inference-server/tutorials.git cd tutorials/Conceptual_Guide/Part_1-model_deployment 1.下载文本检测模型 wget https://www.dropbox.com/s/r2ingd0l3zt8hxs/frozen_east_text_dete…

裸露土堆识别算法

裸露土堆识别算法首先利用图像处理技术,提取出图像中的土堆区域。裸露土堆识别算法首通过计算土堆中被绿色防尘网覆盖的比例,判断土堆是否裸露。若超过40%的土堆没有被绿色防尘网覆盖,则视为裸露土堆。当我们谈起计算机视觉时,首先…

React与Vue:两大前端巨头的深度对决

引言 在当今的前端开发领域,React和Vue无疑是两大巨头。它们各自有着独特的历史和哲学,但都为开发者提供了强大的工具来构建高效、响应式的web应用。这篇文章将深入探讨这两个框架的差异,帮助开发者更好地理解它们的优势和劣势。 React与Vu…

Python“牵手”唯品会商品列表数据,关键词搜索唯品会API接口数据,唯品会API接口申请指南

唯品会平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范,唯品会API接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问唯品会平台的数据,包括商品信息、店铺信息、物流信息等,从而实现唯…

2023最新任务悬赏平台源码uniapp+Thinkphp新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机

新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机制 后端是:thinkphpFastAdmin 前端是:uniapp 1.优化首页推荐店铺模块如有则会显示此模块没有则隐藏。 2修复首页公告,更改首页公告逻辑。(后台添加有公…

大规模 IoT 边缘容器集群管理的几种架构-6-个人体验及推荐

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介大规模 IoT 边缘容器集群管理的几种架构-1-RancherK3s大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad大规模 IoT 边缘容器集群管理的几种架构-3-Portainer大规模 IoT 边缘容器集群管…

(java) 进程调度

目录 进程 首先我们要了解一下什么是进程? 那如何管理进程? PCB中比较重要的属性 进程调度 为什么要进行进程调度? 状态 优先级 上下文 拓展介绍一下寄存器 记账信息 进程 首先我们要了解一下什么是进程? 简单来说…

window下jdk安装及更换jdk版本的一些问题。

目录 jdk安装jdk的选择。oracle的jdk怎么安装。openjdk怎么安装。 jdk的版本控制。更换jdk的一些问题。 jdk安装 jdk的选择。 目前有两种可选的jdk,oracle的和开源的Openjdk,这两种jdk的区别可以自行查阅,就结果而言,openjdk开源…

2023年浙大MEM提面/复试录取考生笔试成绩分布图一览

如果真要给备战浙大mem项目一个理由的话,我想本文的两张图基本算是之一吧!几乎每年的上半年时间里,浙江本省连带附近一些省市的考生对浙大mem项目的报考热情都很满,但经历过八月提面之后,部分考生可能会因为提面的结果…

在安装pyhttpx过程中:ImportError: DLL load failed: 找不到指定的模块。

错误 ImportError: DLL load failed: 找不到指定的模块。 解决方案 我先尝试着去重新安装了下brotli 但是并没有成功 最终解决 安装 vc_redist.x64.exe 下载地址:https://learn.microsoft.com/en-GB/cpp/windows/latest-supported-vc-redist?viewmsvc-170 如果…

什么是 TF-IDF 算法?

简单来说,向量空间模型就是希望把查询关键字和文档都表达成向量,然后利用向量之间的运算来进一步表达向量间的关系。比如,一个比较常用的运算就是计算查询关键字所对应的向量和文档所对应的向量之间的 “相关度”。 简单解释TF-IDF TF &…

【Java基础增强】Stream流

1.Stream流 1.1体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集合 把"张"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得…

打架斗殴行为识别算法

打架斗殴行为识别算法通过yolov7网络模型深度学习算法,打架斗殴行为识别算法对提取到的信息进行分析和比对,判断是否存在打架斗殴行为。打架斗殴行为识别算法一旦打架斗殴行为识别算法识别到打架斗殴行为,系统会立即生成预警信息,…

java八股文面试[多线程]——为什么不能用Excuters创建线程池

DelayedWorkQueue 也是一个无界队列。 如何根据实际需要,定制自己的线程池: 知识点: 【并发与线程】为什么大厂规定不能使用Executors去创建线程池?_哔哩哔哩_bilibili 【并发与线程】如何根据实际需要,定制自己的线…

uniapp iOS打包证书申请流程——window

uniapp 如何在 window 创建 iOS打包证书? 文章目录 uniapp 如何在 window 创建 iOS打包证书?下载 Appuploader安装创建证书相关入口创建证书创建描述文件运行调试账号过期提示 前提: 下载 Appuploader工具 Appuploader辅助工具,解…

<七> objectARX开发:创建自定义实体

1、介绍 在某些情况下,CAD中的实体对象无法满足需求,我们需要针对实际情况来设计并绘制自定义的实体,下面就用一个简单的例子来介绍一下自定义实体绘制。 实体形状:包括实体夹点和文字夹点拖动实现。 2、效果 3、创建自定义实体的步骤 新建一个从AcDbEntity继承的类,如C…

从传统软件开发到云原生转型:大数据和AI如何引领软件开发的新趋势

文章目录 **1. 数据驱动的开发:****2. 智能化的用户体验:****3. 云原生的可扩展性:****4. 实时处理和决策:****5. 自动化和效率提升:****6. 持续集成和交付的加速:****7. 数据安全和隐私:****8.…

linux和python轻松实现短信和邮件的秒发!四大实战脚本大揭秘!

引言 作为Linux和Python技术持续学习者,我们不仅要了解基础知识,还需要实际运用技术解决问题。本文将分享四个实用的Python和Linux运维脚本,帮助我们轻松实现短信和邮件的秒发功能。 要求环境 一台运行Linux操作系统的服务器(可以…

【Qt学习】02:信号和槽机制

信号和槽机制 OVERVIEW 信号和槽机制一、系统自带信号与槽二、自定义信号与槽1.基本使用student.cppteacher.cppwidget.cppmain.cpp 2.信号与槽重载student.cppteacher.cppwidget.cppmain.cpp 3.信号连接信号4.Lambda表达式5.信号与槽总结 信号槽机制是 Qt 框架引以为豪的机制之…

Yolo系列-yolov2

YOLO-V2 更快!更强! YOLO-V2-BatchNormalization BatchNormalization(批归一化)是一个常用的深度神经网络优化技术,它可以将输入数据进行归一化处理,使得神经网络更容易进行学习。在YOLOv2中,B…