当前位置: 首页 > news >正文

《Nature Methods》新算法|MARBLE利用几何深度学习解释神经群体动力学

一、写在前面

本次分享的是2025年2月发布于《Nature Methods》的题为"MARBLE:interpretable representations of neural population dynamics using geometric deep learning"的文章。在神经科学机器学习领域交汇的今天,我们不断探索如何从复杂的神经活动中提取有意义的信息。这篇介绍 MARBLE 方法的文章,巧妙地利用几何深度学习,以无监督的方式分解神经流形上的动力学,并映射到统一的潜在空间中。MARBLE 为我们提供了一个强有力的工具,用于比较不同系统和个体间的神经动力学,并以此揭示神经计算的潜在规律,相信会启发神经科学、机器学习等领域的研究者在数据分析和模型构建方面的新思路。

感兴趣的同学可以看看原文

Gosztolai A, Peach RL, Arnaudon A, Barahona M, Vandergheynst P. MARBLE: interpretable representations of neural population dynamics using geometric deep learning. Nat Methods. 2025 Feb 17. 

机器学习基础教程可见:

机器学习基础手册

生信Python速查手册

二、主要内容

2.1 流形上矢量场的无监督表示

为了表征任务中的神经计算,例如决策或伸手动作,典型的实验涉及一组在刺激或任务条件下进行的试验。这些试验产生一组d维时间序列{(t;c)},表示d个神经元(或维度减少的变量)在条件c下的活动,我们认为这些活动是连续的,例如发射率。通常,人们会在不同的条件下进行记录,以发现神经状态的总体潜在结构或所有任务参数化的潜在变量。为了进行这样的发现,需要一种度量标准来比较不同条件或动物之间的动态流场,并揭示神经机制的变化。这具有挑战性,因为神经状态往往呈现出复杂但采样稀疏的非线性流场。此外,由于记录的神经元不同,在不同参与者和不同会话中,神经状态可能以不同的方式嵌入。

针对上述挑战,MARBLE 采用了一种新的方法。它将每个条件 c 下的一组试验 {x(t; c)} 作为输入,并在共享潜在空间中表示底层未知流形上的局部动力学流场(图 1a 显示了一个流形)。这种方法旨在揭示跨条件的动力学关系。为了应对这些挑战,MARBLE 将每个条件 c 下的一组试验 {x(tc)} 作为输入,并在共享潜在空间中表示底层未知流形上的局部动力学流场(图 1a 显示了一个流形)。这种方法旨在揭示跨条件的动力学关系。为了利用流形结构,我们假设对于固定的 {x(tc)} 在动态上是一致的,即由相同但可能随时间变化的输入所控制。。这允许将动力学描述为一个向量场 Fc = (f1(c), …, fn(c)),该向量场锚定到一个点云 Xc = (x1(c), …, xn(c)),其中 n 是采样的神经状态的数量(图 1b)。我们通过构建 Xc 的邻近图来近似未知流形(图 1b),并使用它来定义每个神经状态周围的切空间以及附近向量之间平滑性(平行移动)的概念(补充图 1 和公式 (2))。这允许定义一个可学习的向量扩散过程(公式 (3)),以降低流场噪声,同时保留其固定点结构(图 1c)。流形结构还允许将向量场分解为局部流场 (LFF),对于每个神经状态 i,LFF 被定义为向量场,其距离在图上最多为 p(图 1d),其中 p 也可以被认为是局部逼近向量场的函数的阶数。这会将 d 维神经状态提升到 O(dp+1)-维空间,以编码神经状态的局部动力学环境,从而提供关于扰动的短期动力学效应的信息。请注意,时间信息也被编码,因为连续的神经状态通常在流形上是相邻的。正如我们将要展示的,这种更丰富的信息大大增强了我们方法的表征能力。

图1:MARBLE 方法:流形上动力学的无监督表征。a,不同试验(颜色)中的神经活动在潜在流形上演变。b,动力学的向量场表示。神经状态之间的最近邻图近似于未知的流形。c,向量场通过可训练的向量扩散进行可选的降噪,该向量扩散对齐(通过平行移动)附近的向量,同时保留固定点结构。d,动力学被分解为 LFF(局部流场,代表神经元活动在短时间内的变化)。e,LFF 通过几何深度神经网络逐个映射到潜在空间。该模型根据相似的 LFF 推断跨数据集的动力学重叠。f,该模型有三个步骤:使用 p 阶梯度滤波器从 LFF 中提取特征;(可选)转换为旋转不变特征以实现与嵌入无关的表征(否则,表征与嵌入相关);以及使用多层感知器将特征映射到潜在空间。g,使用流形上的连续性,网络使用无监督对比学习进行训练,将相邻的 LFF 映射得较近,而非相邻的 LFF(在流形内部和跨流形)映射得较远。

由于 LFF 编码了局部动力学变化,因此它们在动力学系统中普遍存在。因此,它们不像在监督学习中那样将标签分配给神经状态。相反,我们使用无监督几何深度学习架构将 LFF 单独映射到 E 维潜在向量(图 1e),这引入了参数共享,并允许识别跨条件和系统的重叠 LFF。该架构由三个组件组成(图 1f,有关详细信息,请参见“方法”):(1) p 梯度滤波器层,可提供 LFF 周围的最佳 p 阶近似值(补充图 1-3 和公式 (8));(2) 具有可学习线性变换的内积特征,使潜在向量对于表现为 LFF 中局部旋转的神经状态的不同嵌入是不变的(扩展数据图 1 和 2 和公式 (10));以及 (3) 输出潜在向量 zi 的多层感知器(公式 (11))。该架构具有多个与训练和特征提取相关的超参数(补充表 1 和 2)。虽然大多数超参数都保持在默认值,并导致收敛训练,但有些超参数会发生变化,如补充表 3 所示,以调整模型的行为。它们的效果在下面的示例中进行了详细说明。网络以无监督方式进行训练,这是可能的,因为 LFF 在流形上的连续性(相邻的 LFF 通常比非相邻的 LFF 更相似(固定点除外))提供了一个对比学习目标(图 1g 和公式 (12))。

潜在向量集 Zc = (z1(c), …, zn(c)) 将条件 c 下的动力流场表示为经验分布 Pc。同时映射多个动力流场 c 和 c′,这些动力流场可以表示系统中的不同条件,也可以表示完全不同的系统,从而可以事后定义一个距离度量 d(Pc, Pc′),用于衡量它们潜在表征 Pc 和 Pc′ 之间的距离,反映了它们之间的动力学重叠。我们使用最优传输距离(公式 (13)),因为它利用了潜在空间中度量结构的信息,并且通常在检测基于重叠分布的复杂交互时优于熵度量(例如,Kullback-Leibler (KL) 散度)。

2.2 与嵌入相关和与嵌入无关的表征

内积特征(图 1f)允许两种操作模式。例如,考虑图 2a 中二维 (2D) 平面(d = 2,平凡流形)上的线性和旋转动力流场。稍后将显示,MARBLE 还可以捕获复杂的非线性动力学和流形。我们将这些动力流场标记为不同的条件(将它们视为不同的流形),并使用 MARBLE 来发现生成它们的一组潜在向量。

图2:跨条件和流形的联合 MARBLE 潜在表征的说明性示例。a,在由图(黑线)近似的平坦(平凡)流形上均匀随机采样的四个玩具向量场。两个恒定场(顶部)和两个旋转场(底部)。b,与嵌入相关的表征区分 LFF 中的旋转信息(左)。潜在空间中的环形流形参数化角度变化(插图)。与嵌入无关的潜在表征仅学习向量场的扩展和收缩(右)。潜在空间中的一维 (1D) 流形参数化 LFF 的径向变化(插图)。c,范德波尔振荡器在不稳定 (*μ* = −0.25) 和稳定 (*μ* = 0.25) 状态下,在变量曲率抛物面上的向量场,从随机初始化的轨迹中采样。插图显示了红色极限环和垂直投影视图中的代表性轨迹。d,基于相应 MARBLE 表征之间的最优传输距离的跨条件相似性。聚类表明在 *μ* = 0 处发生了突变的动力学变化。e,分布距离矩阵的 2D MDS 嵌入恢复了参数 *μ* 在两个弱连接的一维流形上的排序。

在与嵌入相关的模式下,禁用内积特征(图 2b,左),以学习 LFF 的方向,从而确保最大的表达能力和可解释性。因此,恒定场被映射到两个不同的簇中,而旋转场基于 LFF 的角度方向分布在环形流形上(图 2b,左,插图和扩展数据图 1 和 2)。当在给定的动物或神经网络中表示跨条件的动力学时,此模式很有用,因为采样了相同的神经元(图 2c-e 和 3a-g),或者当寻求跨所有条件的全局几何形状时(图 4e)。

在与嵌入无关的模式下,启用内积特征,使学习的特征对于 LFF 的旋转变换是不变的。因此,向量场的潜在表征对于引入局部旋转的不同嵌入(共形映射)将是不变的。因此,当比较系统时,例如从不同初始化训练的神经网络时,此模式很有用(图 3h-j)。我们的示例表明,恒定向量场不再基于 LFF 方向来区分(图 2d,右,插图和扩展数据图 1 和 2);但是,我们仍然捕获一维流形上 LFF 中的扩展和收缩(扩展数据图 3)。在与嵌入相关和与嵌入无关的示例中,请注意,来自不同流形(由用户标签定义)的 LFF 根据其动力学信息映射得较近或较远,从而证实标签用于特征提取而不是用于监督。

2.3 比较循环神经网络中的动力学

最近,人们对 RNN 作为神经计算的替代模型产生了浓厚的兴趣。先前用于比较给定任务的 RNN 计算的方法依赖于对齐神经状态的线性子空间表征,这需要跨条件对试验进行逐点对齐。当试验平均轨迹很好地近似单次试验动力学时,这有效,但当动力流场受复杂的固定点结构控制时,则无效。因此,系统地比较跨 RNN 的计算需要准确地表征非线性动力流场。

为了在复杂的非线性动力学系统上展示 MARBLE,我们使用具有秩 2 连接矩阵的 RNN 模拟了延迟匹配样本任务(图 3a 和“方法”),先前已表明该矩阵具有足够的表达能力来学习此任务。这种常见的上下文决策制定任务包括具有可变增益的两种不同刺激,以及由延迟分隔的可变持续时间的两个刺激时期(图 3b)。在单位增益下,我们训练 RNN 在两个时期都存在刺激时收敛到输出 1,否则收敛到 -1(图 3b)。正如预期的那样,训练后的网络的神经动力学在随机定向的平面上演变(图 3c)。然而,我们发现,不同初始化的网络产生两类解:在解 I 中,神经元专门用于感测两个刺激,其特征在于其输入权重 w1i 和 w2i 的聚类(图 3d),而在解 II 中,神经元在两个刺激之间进行泛化(扩展数据图 5d)。这两种解表现出定性上不同的固定点格局(零增益时为三个固定点,足够大的增益时为一个极限环),无法通过连续(线性或非线性)变换对齐(图 3e 以及扩展数据图 5c、e 和 6)。

我们首先询问 MARBLE 是否可以推断神经动力学与任务性能损失的相关性,因为刺激增益会降低到决策阈值以下。对于给定的增益,由于随机性,我们模拟了 200 个不同持续时间的试验,采样了非线性动力流场的不同部分(扩展数据图 6)。我们通过在刺激开始和结束时细分试验来形成动态一致的数据集,以获得四个时期。然后,我们形成了两个组,一组来自刺激打开的时期,另一组来自刺激关闭的时期(图 3b)。针对不同的增益重复此操作,我们获得了 20 组不同增益的刺激时期和另外 20 组非刺激(无增益)时期。我们将后者用作阴性对照,因为动力流场在它们之间变化是由于采样可变性而不是增益调制。然后,我们训练与嵌入相关的 MARBLE 将所有 40 个组(标记为不同的条件)映射到共享潜在空间中。所得的条件之间的表征相似性矩阵表现出块对角结构(图 3f)。左上角的块表示非刺激对照之间的距离,并且包含消失的条目,这证明了 MARBLE 对采样可变性的鲁棒性。分层聚类识别的两个右下角子块表明动力学发生了定量变化,这尤其对应于任务性能从 1 突然下降(图 3g)到 0.5(随机)。因此,MARBLE 能够检测可以根据全局决策变量解释的动力学事件。

图3: 比较循环神经网络中的动态过程。a, 低秩 RNN 接收两个刺激作为输入,并产生一个决策变量作为读出。b, 延迟匹配样本任务的两个代表性刺激模式(仅显示一个刺激)和决策结果。在刺激时期(红色)输入幅度由“增益”控制,否则为零(灰色)。c, 训练好的秩为 2 的 RNN 的神经动力学在一个随机方向的平面上演化。场动力学的相图叠加了试验期间的轨迹(橙色)。d, 训练好的 RNN 中输入权重的空间。颜色表示 k-means 聚类,具有两个亚群,分别专门处理一个或另一个输入。椭圆表示拟合的高斯分布的 3 × 标准差。e, 增益为 0、0.32 和 1.0 时的平均场动力学。f, 基于相应嵌入感知 MARBLE 表征之间的最优传输距离,增益条件(阴影表示从 0 到 1 的增益)之间的相似性。层次聚类表明非零增益子块中有两个簇,表明存在一个质变点(红色虚线)。g, 预测的变化点对应于分岔,导致任务性能下降。h, 从不同初始化训练的网络可能在不同嵌入的流形上具有不同的动力学(解 I、II)。从相同权重分布采样的网络在不同嵌入的流形上产生相同的固定点结构(解 I/1、I/2)。i, 基于嵌入无关表示,跨网络和增益(左)或无增益(对照,中)的相似性。我们将其与 CCA (典型相关分析)(右)进行比较。阴影表示从 0 到 1 的增益。j, 距离矩阵的 MDS 嵌入显示了增益调制期间潜在状态的连续变化(左),无增益条件下的无变化(中)以及跨网络解决方案的聚类。对于 CCA,相同的图显示了跨网络解决方案的聚类,但没有由于增益调制引起的变化。

接下来,我们定义了跨不同 RNN 的动力学流之间的相似性度量。考虑网络解 I 和 II,它们具有不同的动力流场(图 3h),并且作为阴性对照,两个新网络的权重从解 I 的高斯分布中随机采样,其动力流场可证明保留了固定点结构。由于跨网络的神经状态的任意嵌入,我们使用与嵌入无关的 MARBLE 来表示来自这三个 RNN 在不同增益下的数据 (E = 5)。我们发现,潜在表征对流形方向不敏感,检测到跨对照网络(解 I/1 和 I/2)的相似动力流场,以及跨解 I 和 II 的不同动力流场(图 3i,左)。此外,相似性矩阵的多维缩放 (MDS) 嵌入显示了一维线流形(图 3j,左),参数化了增益调制条件下有序的连续变化。正如预期的那样,对于非刺激条件,我们仍然可以区分不同的网络解,但不再发现连贯的动力学变化(图 3i, j,中间)。为了进行基准测试,我们使用了 CCA,它可以量化不同条件下数据的线性子空间表征可以在多大程度上线性对齐。虽然 CCA 可以区分具有不同固定点结构的解 I 和 II,但它无法检测到由于增益调制而产生的动力学变化(图 3i, j,右)。这表明,使用 CCA 在动物之间找到连贯的潜在动力学可能已在以下情况下成功:线性子空间对齐等同于动力学对齐,例如,当试验平均动力学很好地近似单次试验动力学时。在这里,我们发现 MARBLE 提供了更一般的非线性动力流场之间稳健的度量,这些流场可能由不同的系统架构生成。

2.4 表示和解码手臂抓取期间的神经动力学

神经动力学的最先进的表征学习使用神经和行为信号的联合嵌入;然而,最好将生物学发现建立在对神经表征的事后解释的基础上,这些表征不会基于行为信号在神经状态和潜在表征之间引入相关性。为了证明这一点,我们重新分析了猕猴执行延迟的中心向外手臂抓取任务的电生理记录(“方法”)。在任务期间,训练有素的猴子将手柄移动到从起始位置径向位置处的七个不同的目标。该数据集包括来自前运动皮层的 44 个记录会话(图 4b 显示了一个会话)中使用 24 通道探针同时记录的手部运动学(图 4a)和神经活动。

图4:手臂抓取期间神经活动的可解释表征和解码a,猕猴在七个抓取条件下真实的手部轨迹。猴子图像由 Andrea Colins Rodriguez 改编自 https://www.scidraw.io/drawing/445, CCBY 4.0。b,三种抓取条件下前运动皮层中的单次试验尖峰序列(每种颜色中 24 个记录通道)。阴影区域显示了 GO 提示后的分析轨迹。c,在抓取条件下(向上)PCA 嵌入在三个维度中的放电率轨迹,用于可视化。d,从放电率轨迹获得的向量场。e,单个会话中跨条件的神经数据的潜在表征。CEBRA 行为与抓取条件作为标签一起使用。MARBLE 表征揭示了潜在的全局几何排列(圆形和时间顺序),跨越反映物理空间的所有抓取,作为涌现属性。f,从潜在表征中对手部轨迹进行线性解码。g,通过地面实况和所有会话的最终位置(左)和瞬时速度(右)之间的解码轨迹测量的解码精度 R2。双侧 Wilcoxon 检验(配对样本),**P < 1 × 10-2; P < 1 × 10-3;****P < 1 × 10-4; NS,不显著。水平和垂直条分别显示平均值和 1 × s.d., 分别 (n = 43)。

先前的监督方法揭示了跨不同抓取条件的潜在状态的全局几何结构。我们询问是否可以从 MARBLE 表征中的局部动力学特征中涌现出这种结构。与以前一样,我们从每个抓取条件的放电率构建了动态一致的流形(图 4c, d),这允许提取 LFF。然而,跨条件的潜在表征仍然是涌现的,因为 LFF 是局部的并且跨条件共享。使用这些标签,我们训练了一个与嵌入相关的 MARBLE网络,并针对其他两种突出的方法对其进行了基准测试:CEBRA,我们将其用作使用抓取条件作为标签的监督模型(CEBRA 行为)和 LFADS,这是一种使用生成循环神经网络的无监督方法。

我们发现,MARBLE 表征 (E = 3) 可以同时发现参数化抓取内位置的时间序列的潜在状态以及跨抓取的全局圆形配置(图 4e 和扩展数据图 7a)。后者通过以下事实得到证实:跨抓取条件的潜在表征之间的条件平均相似性矩阵的对角线和周期性结构(扩展数据图 7b)和关联的 MDS 嵌入中的圆形流形(扩展数据图 7c)。相比之下,虽然 CEBRA 行为可以展开抓取的全局排列,但由于监督,神经状态在条件内聚集,这意味着时间信息丢失了。同时,LFADS 表征保留了试验内的时间信息,但没有保留空间结构(图 4e)。值得一提的是,TDR 同样展示了抓取任务的时空结构,但其效果不及 MARBLE 或 CEBRA(后者使用物理抓取方向作为监督信号,见扩展数据图 8)。其他不明确表示动力学的无监督方法(例如 PCA、t-SNE 或 UMAP)没有发现数据中的任何结构(扩展数据图 9)。因此,MARBLE 可以作为 LFF 的涌现属性发现神经代码中的全局几何信息。

这种基于神经和行为表征之间的几何对应关系的可解释性表明了一个有效的解码器。为了证明这一点,我们拟合了潜在表征及其相应的手部位置之间的最佳线性估计器,该估计器广泛用于脑机接口,并基于潜在状态参数化复杂非线性动力学的能力来衡量可解释性。值得注意的是,解码的运动学显示出与 CEBRA 行为相当且与 LFADS 相比明显更好的真实值的极佳视觉对应性(图 4f 和扩展数据图 7d)。最终抓取方向和瞬时速度的十分交叉验证分类(图 4g)证实,虽然可以从三维 (E = 3) 潜在空间解码抓取方向,但由于 GO 提示和运动开始之间的可变延迟,解码瞬时速度需要更高的潜在空间维度 (E = 20;图 4g)。值得注意的是,MARBLE 在速度解码方面优于竞争方法(图 4g),表明它可以表示延迟和完整运动学。总而言之,MARBLE 可以推断出可同时解释并可解码为行为变量的神经动力学表征。

 2.5 跨动物的一致潜在神经表征

最近的实验证明了给定任务中动物之间神经表征的强烈相似性,这对脑机接口具有深远的影响;然而,如上所示(图 3i, j),诸如 CCA 和相关形状度量之类的线性子空间对齐通常无法捕获以其他方式保留神经流形几何形状的动力学变化。虽然可以通过辅助线性或非线性变换对齐多个潜在表征,但这依赖于以下假设:相应的神经元群体编码相同的动力学过程。

鉴于 MARBLE 可以产生跨 RNN 的可比较的潜在表征(图 3h, i)并且可以在 RNN(图 3e-g)或动物(图 4h-j)中解释,我们最终询问它是否可以产生跨动物的一致可解码的潜在表征。为此,我们重新分析了大鼠在导航线性轨道时,从大鼠海马体中记录的电生理数据(图 5a 和“方法”)。仅从神经数据中,MARBLE 可以推断出可解释的表征,包括神经状态空间中的一维流形,表示动物的位置和行走方向(图 5b)。值得注意的是,无监督 MARBLE 表征比使用 CEBRA 时间(由神经状态上的时间标签监督)获得的表征更具可解释性,并且与使用行为(位置和运行方向)作为标签的 CEBRA 行为相当(图 5b)。这一发现通过使用 k 均值解码器的显著更高的解码精度得到证实(双侧 Wilcoxon 检验,P < 1 × 10-4)(图 5c, d)。

图5:大鼠在直线性迷宫导航期间,海马神经活动的可解释表征和跨动物解码a,大鼠在直线性迷宫中导航的实验设置,其中跟踪运动的位置和方向(顶部)。栅格图显示了单个会话中 120 个神经元的尖峰活动(底部)。大鼠图像来源:[designer_an]/stock.adobe.com。b,无监督 MARBLE 与自监督(仅时间标签)和监督(时间、位置和方向标签)CEBRA 的潜在表征 (E* = 3) 的比较。颜色阴影在 a 中定义。c,大鼠 1 中线性解码的动物位置的时间轨迹 (E = 32,来自 CEBRA 解码笔记本示例的默认设置)。d,同一动物内的解码精度。双侧 Wilcoxon 检验(配对样本),****P < 1 × 10-4。水平和垂直条分别显示平均值和 1 × s.d. (n = 2,000)。e,跨动物一致性,通过将源动物的优化对齐的 3D 潜在表征线性拟合到目标动物的 R2 来衡量。

当我们使用动物之间的线性变换对 MARBLE 表征进行事后对齐时,我们发现它们在动物之间是一致的。使用一个动物作为源,另一个动物作为目标,通过线性模型训练,使用 R2 拟合量化的一致性对于 MARBLE 高于 CEBRA 时间,但不如 CEBRA 行为那么好(图 5e)。值得注意的是,MARBLE 不依赖于行为数据,但由于动物之间的实验和神经生理学差异,它发现了Consistent EmBeddings。这些发现强调了 MARBLE 在数据驱动的发现和脑机接口等应用中的潜力。

三、讨论

大型集体系统(如大脑)的一个标志是存在许多系统实现,这些实现导致由群体层面动力学过程定义的等效计算。人们越来越认识到,生物和人工神经网络中的动力学在低维流形上演变,这提供了一个机会来协调跨系统实现的动力学可变性与计算的观察到的不变性,方法是在学习动力学表征时使用流形几何形状作为归纳偏置。我们已经证明,非线性动力学系统可以通过 LFF 的分解表示出来,并将这些LFF 共同映射到潜在空间中。由于动力学在流形上是连续的,因此可以使用无监督几何深度学习来学习这种映射。此外,通过使提取的 LFF 旋转不变,可以使潜在表征对动力学的不同嵌入具有鲁棒性。这些属性使我们可以比较跨动物和人工神经网络实例的动力学。

为了表示神经状态,MARBLE 使用条件标签来提供结构知识,即动态一致的神经状态轨迹之间的邻接信息(共享输入模式)。虽然邻接信息允许提取特征 (LFF),但它不会在神经状态(输入)和潜在状态(输出)之间引入相关性,因为学习是通过无监督算法执行的,并且这些特征不强加条件分配,因为它们在条件之间广泛共享。我们的方法在精神上与谱聚类相似,在谱聚类中,用户定义邻接信息,该邻接信息用于提取特征(拉普拉斯特征向量),然后将其馈送到无监督聚类算法(k 均值)中。同样,聚合条件内的试验类似于将 PCA 应用于条件平均试验,但 MARBLE 不跨试验进行平均。这对于表示复杂非线性状态空间具有深远的影响,在这种状态空间中,平均没有意义。相比之下,在监督表征学习中,标签指导神经状态的嵌入,其中相似标签的神经状态靠在一起,而不同标签的神经状态靠得很远。我们注意到,就用户输入而言,MARBLE 比 LFADS 要求更高,LFADS 不需要条件标签。因此,LFADS 可能更适合于可能发生意外输入的系统;但是,我们已经表明,这个温和的假设允许 MARBLE 利用流形几何形状作为归纳偏置,以获得更具表现力的表征。

我们的形式主义可以被视为 Sugihara 等人提出的收敛交叉映射框架的统计推广,该框架通过其 LFF 之间的双射映射测试两个动力学系统之间的因果关系。MARBLE 将这个想法推广到 LFF 的分布比较,以提供任何动力学系统集合之间的相似性度量。此外,由于表征的局部性,我们的方法不同于学习全局向量场的典型几何深度学习模型,因此无法分别考虑流形嵌入和动力学。局部性还允许在没有额外可训练参数的情况下同化不同的数据集,以增加模型的统计能力,即使各个数据集的采样不足。虽然我们的方法没有明确地学习时间信息,但时间顺序自然地从我们保留相似性的 LFF 映射到潜在空间中产生。除了用于解释和解码神经动力学之外,我们希望 MARBLE 能够为一般的机器学习任务提供强大的表征。

总而言之,MARBLE 的 LFF 学习方法利用神经流形上的上下文信息,丰富了神经状态的表征。 这种方法能够提供可解释且一致的潜在表征,而在此之前,只有通过使用额外行为信息的监督学习方法才能实现。这表明,不同动物的神经动力流场可以被视为常见潜在动力学的投影,并且可以作为局部流场的保留相似性嵌入的涌现属性来重建。

相关文章:

《Nature Methods》新算法|MARBLE利用几何深度学习解释神经群体动力学

一、写在前面 本次分享的是2025年2月发布于《Nature Methods》的题为"MARBLE:interpretable representations of neural population dynamics using geometric deep learning"的文章。在神经科学和机器学习领域交汇的今天&#xff0c;我们不断探索如何从复杂的神经活…...

【力扣hot100题】(093)最长公共子序列

还算是挺简单的一题。 维护二维数组代表截至至两个字符串的某个位置&#xff0c;前面的最长公共子序列长度。 状态转移方程就是当两字符相等是&#xff0c;取俩位置前一个的值加一&#xff0c;否则就直接等于俩位置前一个值。 class Solution { public:int longestCommonSub…...

(打卡)794. 高精度除法

C&#xff1a; Python&#xff1a; aint(input()) bint(input()) print(a//b) print(a%b)...

网络5 TCP/IP 虚拟机桥接模式、NAT、仅主机模式

TCP/IP模型 用于局域网和广域网&#xff1b;多个协议&#xff1b;每一层呼叫下一层&#xff1b;四层&#xff1b;通用标准 TCP/IP模型 OSI七层模型 应用层 应用层 表示层 会话层 传输层 传输层 网络层 网络层 链路层 数据链路层 物理层 链路层&#xff1a;传数据帧&#xff0…...

GPU虚拟化技术在深度学习集群中的应用实践

一、深度学习集群的算力困境 某些985高校AI实验室曾面临典型算力管理难题&#xff1a;其配备的4台8卡A100服务器&#xff08;总价值超300万元&#xff09;实际利用率仅38%。学生提交的PyTorch任务常因GPU抢占导致训练中断&#xff0c;而部分研究组独占显卡却仅运行Jupyter Not…...

从零实现基于扩散模型的文本到视频生成系统:技术详解与Pytorch代码实现

本文详细介绍了基于扩散模型构建的文本到视频生成系统&#xff0c;展示了在MSRV-TT和Shutterstock视频标注数据集上训练的模型输出结果。以下是模型在不同提示词下的生成示例。 首先展示一些模型生成效果展示 提示词&#xff1a;“A person holding a camera”&#xff08;训练…...

每天学一个 Linux 命令(14):cat

Linux 文件查看与合并命令:cat cat(全称 concatenate)是 Linux 中用于查看文件内容、合并文件或创建简单文件的基础命令。它操作简单但功能灵活,是日常文件处理的常用工具。 1. 命令作用 查看文件内容:直接输出文件内容到终端。合并文件:将多个文件内容合并输出或保存到…...

05--MQTT物联网协议

一、MQTT的概念 MQTT 协议快速入门 2025&#xff1a;基础知识和实用教程 | EMQ 1.MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级、基于发布-订阅模式的消息传输协议&#xff0c;适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它…...

免费下载 | 2025天津大学:智能制造与数字孪生技术:面向可持续制造方向发展

一、新一代智能制造模式下的思考 当代智能制造的发展阶段 智能制造定义&#xff1a;智能制造是基于新一代信息通信技术与先进制造技术深度融合&#xff0c;贯穿于设计、生产、管理、服务等制造活动的各个环节&#xff0c;具有自感知、自学习、自决策、自执行、自适应等功能的新…...

考研单词笔记 2025.04.12

aware a知道的&#xff0c;意识到的&#xff0c;警觉的 awareness n意识&#xff0c;了解&#xff0c;觉察 conscious a有意识的&#xff0c;意识到的&#xff0c;有意的&#xff0c;刻意的&#xff0c;神志清醒的&#xff0c;慎重的&#xff0c;关注的 unconscious a无意识…...

八股总结(Java)持续更新!

八股总结&#xff08;java&#xff09; ArrayList和LinkedList有什么区别 ArrayList底层是动态数组&#xff0c;LinkedList底层是双向链表&#xff1b;前者利于随机访问&#xff0c;后者利于头尾插入&#xff1b;前者内存连续分配&#xff0c;后者通过指针连接多块不连续的内存…...

SpringBoot3快速入门笔记

springboot3简介 SpringBoot 帮我们简单、快速地创建一个独立的、生产级别的 Spring 应用&#xff08;说明&#xff1a;SpringBoot底层是Spring&#xff09; 大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术 特性&#xff1a; ● 快速创建…...

vue3中,element-plus中el-input的v-model和value的用法示例

el-input的v-model&#xff0c;邦定响应式变量 <el-col :span"6"><el-form-item label"检验类别" prop"verifyType"><el-input v-model"applyAllInfo.applyBasicInfo.verifyTypeName" readonly /></el-form-item…...

python求π近似值

【问题描述】用公式π/4≈1-1/31/5-1/7..1/(2*N-1).求圆周率PI的近似值。 从键盘输入一个整数N值&#xff0c;利用上述公式计算出π的近似值&#xff0c;然后输出π值&#xff0c;保留小数后8位。 【样例输入】1000 【样例输出】3.14059265 def countpi(N):p0040nowid0for i i…...

Gerapy二次开发:搜索器组件设计开发与应用(Vue父子组件通信)

搜索器组件设计开发与应用 写在前面搜索器字段定义与样式设计具体实现components/Search.vuedeploy/Index.vue后端views.py运行效果总结欢迎加入Gerapy二次开发教程专栏! 本专栏专为新手开发者精心策划了一系列内容,旨在引领你深入探索Gerapy框架的二次迭代之旅。 本专栏将全…...

深入解析Python爬虫技术:从基础到实战的功能工具开发指南

一、引言:Python 爬虫技术的核心价值 在数据驱动的时代,网络爬虫作为获取公开数据的重要工具,正发挥着越来越关键的作用。Python 凭借其简洁的语法、丰富的生态工具以及强大的扩展性,成为爬虫开发的首选语言。根据 Stack Overflow 2024 年开发者调查,68% 的专业爬虫开发者…...

Python爬虫-爬取全球股市涨跌幅和涨跌额数据

前言 本文是该专栏的第52篇,后面会持续分享python爬虫干货知识,记得关注。 本文中,笔者将基于Python爬虫,实现批量采集全球股市行情(亚洲,美洲,欧非,其他等)的各股市“涨跌幅”以及“涨跌额”数据。 具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。…...

【NLP 59、大模型应用 —— BPE 算法】

你和生生不息的河流&#xff0c;生动了我人生中的美好瞬间 —— 25.4.11 一、词表的构造问题 为了nlp模型训练&#xff0c;词表&#xff08;字表&#xff09;是必要的 统计训练语料中的所有字符&#xff08;或词&#xff09;是一种做法&#xff0c;但是容易出现一些问题&…...

SQL基础入门:从CRUD到JOIN再到索引(通俗易懂版)

一、为什么需要SQL&#xff1f; 想象你在管理一个图书馆&#xff1a; 传统方法&#xff1a;手动记录每本书的位置、借阅者、归还日期SQL方法&#xff1a;用数据库系统自动管理&#xff0c;快速查询《Java编程思想》在哪个书架 SQL&#xff08;Structured Query Language&…...

系统编程1(进程的概念与原理)

进程的概念与原理 计算机组成部分一般遵循冯诺依曼结构&#xff0c;也就是由控制器、运算器、存储器、输入设备、输出设备五个部分组成。 ⦁ 程序的编译 一般在编写出程序之后&#xff0c;并不能直接运行&#xff0c;而是需要把程序通过编译器进行编译&#xff0c;生成可执行…...

Git基础知识

Git基础知识 目录 一、Git简介 1.1 什么是Git&#xff1f;1.2 基本概念1.3 Git与其他版本控制系统的区别 二、Git安装与配置 2.1 安装Git2.2 基础配置2.3 高级配置2.4 多账户配置 三、基本操作 3.1 创建仓库3.2 基本工作流3.3 分支操作3.4 查看历史 四、高级操作 4.1 撤销修改…...

【Flink运行时架构】核心组件

在Flink的运行架构中&#xff0c;有两大比较重要的组件&#xff1a;作业管理器&#xff08;JobManager&#xff09;和任务管理器&#xff08;TaskManager&#xff09;。 Flink的作业提交与任务处理时的系统如下图所示。 其中&#xff0c;客户端并不是处理系统的一部分&#xff…...

【区块链安全 | 第四十篇】合约审计之delegatecall(二)

文章目录 漏洞代码代码分析攻击流程攻击代码前文重现修复建议审计思路 在阅读本文之前&#xff0c;请确保已先行阅读&#xff1a;【区块链安全 | 第三十九篇】合约审计之delegatecall&#xff08;一&#xff09; 漏洞代码 存在一漏洞代码如下&#xff1a; // 库合约&#xf…...

Redis实现分布式定时任务

设计思路 任务表示&#xff1a;每个任务通过一个特定格式的键来表示。键名可以包含任务ID等信息&#xff0c;值可以是任务的具体内容或指向任务详情的引用。过期机制&#xff1a;利用Redis的EXPIRE命令为任务设置过期时间&#xff0c;当到达设定的时间点时&#xff0c;Redis会…...

ERC20合约的基本调用

文章目录 ERC20合约的基本调用合约功能compile.js 代码读取文件 进行合约编译获取二进制对象导出对象 index.js 代码编译合约读取私钥设置收款账户构造 web3 对象获取账户地址获取 abi 和 bin创建合约交易部署合约构造转账交易验证转账后余额 测试项目目录执行查询 ERC20合约的…...

『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解

『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解 Pod 结构 每个 Pod 中都可以包含一个或者多个容器&#xff0c;这些容器可以分为两类 用户程序所在的容器&#xff0c;数量可多可少Pause 容器&#xff0c;这是每个 Pod 都会有的一个根容器&#xff0c;它的作用有两个 可…...

【React框架】什么是 Vite?如何使用vite自动生成react的目录?

什么是 Vite&#xff1f; Vite 是一个基于原生 ES Modules 开发的前端构建工具&#xff0c;由 Evan You&#xff08;Vue 的作者&#xff09;开发。它最大的特点包括&#xff1a; 极速冷启动&#xff1a;因为利用了浏览器原生的 ES Modules&#xff0c;所以在开发时无需等待整…...

JS实现文件点击或者拖拽上传

B站看到了渡一大师课的切片&#xff0c;自己实现了一下&#xff0c;做下记录 效果展示 分为上传前、上传中和上传后 实现 分为两步 界面交互网络请求 源码如下 upload.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset&q…...

【Vue #3】指令补充样式绑定

一、指令修饰符 Vue 的指令修饰符&#xff08;Directive Modifiers&#xff09;是 Vue 模板语法中的重要特性&#xff0c;它们以半角句号 . 开头&#xff0c;用于对指令的绑定行为进行特殊处理 修饰符作用如下&#xff1a; 简化事件处理&#xff08;如阻止默认行为、停止冒泡…...

Vue.js组件安全工程化演进:从防御体系构建到安全性能融合

——百万级流量场景下的安全组件架构与源码级解决方案 文章目录 总起&#xff1a;安全工程化的组件革命 分论&#xff1a; 一、现存组件架构的七宗罪与安全改造路径   1.1 组件生态安全赤字现状   1.2 架构级安全缺陷深度剖析   1.3 性能与安全的死亡螺旋 二、百万级…...

LINUX基础 [二] - Linux常见指令

目录 &#x1f4bb;前言 &#x1f4bb;指令 &#x1f3ae;ls指令 &#x1f3ae;pwd指令 &#x1f3ae;whoami指令 &#x1f3ae;cd指令 &#x1f3ae;clear指令 &#x1f3ae;touch指令 &#x1f3ae;mkdir指令 &#x1f3ae;rmdir指令 &#x1f3ae;rm指令 &#…...

Linux进阶命令

目录 一、touch 1. 基本语法 2. 常用选项 二、which 1. 基本语法 2. 主要功能 3. 常用选项 三、find 1. 基本语法 2. 常用选项和表达式 四、more 1. 基本语法 2. 常用操作 3. 对比 more 和 less 五、grep 1. 基本语法 2. 常用选项 六、wc 1. 基本语法 2. 常…...

【Spring Boot 过滤器】

文章目录 前言一、什么是过滤器 Filter&#xff1f;二、Spring Boot 中使用 Filter 的方式1. 使用 Component 注解2. 使用 FilterRegistrationBean 显式注册 三、自定义过滤器示例1. 引入必要依赖2. 创建一个自定义 Filter3. 使用 FilterRegistrationBean 显式注册 四、多个 Fi…...

SPI通讯的软硬件NSS SSM SSI

学习自记&#xff1a; 1. NSS&#xff08;Slave Select&#xff0c;从设备选择&#xff09;​​ ​​功能​​&#xff1a; NSS是SPI通信中用于选择从设备的信号线。主设备通过拉低NSS信号选中某个从设备&#xff0c;使其参与通信。通信结束后&#xff0c;主设备释放NSS&#…...

Java基础:集合List、Map、Set(超详细版)

集合体系概述 Collection常用方法 补充&#xff1a;addAll() Collection的遍历方式 迭代器 增强for&#xff08;空集合可以&#xff0c;null不可以&#xff09; lambda 集合对象存储对象原理 遍历方式的区别 List集合 特点、特有方法 遍历方式 &#xff08;同上&#xff09…...

vue+leaflet 区域划分_反向遮罩层

leaflet 区域划分_遮罩层 geojson在线生成器网址:(https://datav.aliyun.com/portal/school/atlas/area_selector) 点击前往阿里云geojson生成器 效果图: 实现下面效果,只需要把addSateLayer函数的调用取消掉就好了. //添加遮罩层代码function addMask() {var latlngs;var fe…...

聊一聊原子操作和弱内存序

1、原子操作概念 在并发编程中&#xff0c;原子操作&#xff08;Atomic Operation&#xff09;是实现线程安全的基础机制之一。从宏观上看&#xff0c;原子操作是“不可中断”的单元&#xff0c;但若深入微观层面&#xff0c;其本质是由底层处理器提供的一组特殊指令来保证其原…...

免费送源码:Java+ssm+MySQL 校园二手书销售平台设计与实现 计算机毕业设计原创定制

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对校园二手书销售平台等问题&#xff0c;对校…...

DAPP实战篇:使用ethersjs连接智能合约并输入地址查询该地址余额

本系列目录 专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读400次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你…...

14.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--CAP

CAP 是一款专为 .NET 生态设计的开源框架&#xff0c;其核心目标是解决微服务中跨服务数据一致性问题。在分布式系统中&#xff0c;传统事务无法跨服务保证数据一致性&#xff0c;CAP 通过本地事务与消息记录绑定&#xff0c;再利用消息中间件&#xff08;如 RabbitMQ、Kafka 等…...

智能资源管理机制-重传机制

一、发送端资源管理的核心机制 1. 滑动窗口&#xff08;Sliding Window&#xff09; 这是TCP协议的核心优化设计&#xff1a; 窗口动态滑动&#xff1a;发送端不需要保留所有已发送的分组&#xff0c;只需维护一个"发送窗口"窗口大小&#xff1a;由接收方通告的接…...

【Linux网络与网络编程】08.传输层协议 UDP

传输层协议负责将数据从发送端传输到接收端。 一、再谈端口号 端口号标识了一个主机上进行通信的不同的应用程序。在 TCP/IP 协议中&#xff0c;用 "源IP"&#xff0c;"源端口号"&#xff0c;"目的 IP"&#xff0c;"目的端口号"&…...

局域网下ESP32-S3 LED灯的UDP控制

在局域网下通过IP地址控制ESP32-S3上的LED&#xff0c;可以使用UDP或TCP协议。以下是一个基于UDP协议的完整示例&#xff0c;包括ESP32-S3的服务器代码和一个简单的Python客户端代码。 ESP32-S3 服务器代码 import socket import time import network import machineled Non…...

call、bind、apply

call、bind、apply它们三个都是函数的方法&#xff0c;都可以用于改变this的指向问题。 var person "liangxiao" let obj {name:"张三",say:function() {console.log(this.name);} }obj.say(); setTimeout(function() {obj.say(); },1000) obj.say()打…...

Redis 哨兵模式 搭建

1 . 哨兵模式拓扑 与 简介 本文介绍如何搭建 单主双从 多哨兵模式的搭建 哨兵有12个作用 。通过发送命令&#xff0c;让Redis服务器返回监控其运行状态&#xff0c;包括主服务器和从服务器。 当哨兵监测到master宕机&#xff0c;会自动将slave切换成master&#xff0c;然后通过…...

客户端负载均衡与服务器端负载均衡详解

客户端负载均衡与服务器端负载均衡详解 1. 客户端负载均衡&#xff08;Client-Side Load Balancing&#xff09; 核心概念 定义&#xff1a;负载均衡逻辑在客户端实现&#xff0c;客户端主动选择目标服务实例。典型场景&#xff1a;微服务内部调用&#xff08;如Spring Cloud…...

Ningx负载均衡

Ningx负载均衡 upstream(上游)配置负载均衡1、weight&#xff08;加权轮询&#xff09;2、ip_hash&#xff08;负载均衡&#xff09;3、url hash负载均衡4、least_conn&#xff08;最小连接负载均衡&#xff09; upstream(上游)配置负载均衡 Nginx负载均衡 参考: nginx从安装…...

头歌软件工程导论UML画图题(基于starUML)

一.结构化分析方法-数据流图 本关卡需要画图的一共有5关&#xff0c;直接将此图画好每关提交一次即可&#xff0c;以下的所有图均以此方法提交 二.面向对象分析之用例图 三.面向对象分析之类图 注意此处创建Class之后&#xff0c;双击Class出现以下选项 点击相应的选项创建属性…...

智能车摄像头开源—9 动态权、模糊PID、速度决策、路径优化

目录 一、前言 二、动态权 1.概述 2.偏差值加动态权 三、模糊PID 四、速度决策 1.曲率计算 2.速度拟合 3.速度控制 五、路径 六、国赛视频 一、前言 在前中期通过识别直道、弯道等元素可进行加减速操作实现速度的控制&#xff0c;可进一步缩减一圈的运行速度&#xff…...

java基础 this和super的介绍

this和super this关键字的用法super关键字的用法this与super的区别和注意事项 this关键字的用法 this是自身的一个对象&#xff0c;代表对象本身&#xff0c;可以理解为&#xff1a;指向对象本身的一个指针 class Person{private String name;private int age;public String …...