Nature Methods:https://www.nature.com/articles/s41592-018-0109-9
LFADS Run Manager for Matlab:https://lfads.github.io/lfads-run-manager/
Single session:
假设:
- 神经信号的spike分布服从泊松分布
- LFADS 将时间 t 处的单次试验的输出(发放率 r t r_t rt)到输入(spikes) 建模为非齐次随机泊松过程, r t r_t rt维度与神经元个数维度保持一致
方法:
如图所示
结果:
和GPFA等方法相比在降维描述神经群体动态上效果显著优越
Multi-sessions:
假设:
当受试者在不同的session中从事相同的行为时,可以合理假设记录的神经群体具有相同的latent dynamics
方法:
- 在基础LFADS的VAE模块的输入和输出分别为不同的session数据配置一个读入和读出矩阵:
I n p u t : W i i n p u t , O u t p u t : W i r a t e Input: W^{input}_i, Output: W^{rate}_i Input:Wiinput,Output:Wirate - 蓝色方框中的模块在所有sessions间共享,特别是底层的latent
- 在由跨越 162 天的 44 个记录sessions组成的组合数据集上训练了 1 个 stitched LFADS 模型
结果:
- 每个session推断的条件平均因子轨迹对于给定的到达方向都高度相似(图 d)
- 跨多个sessions训练的 stitched LFADS 生成的因子 f t f_t ft在行为解码预测的性能上显著优于单 session训练的 single LFADS (图 e)
- stitched LFADS 生成的因子 f t f_t ft比 single LFADS 模型的信息量要多得多(图 e-f)
More general dynamical system:
假设:
推测来自神经系统的输入:当前被记录的神经群体可能受到来自其他大脑区域的不可测量的输入(包括任务、上下文输入或感觉输入的意外变化所产生的输入),从而导致当前神经群体的latent发生时变,引入这样一个输入以允许将我们关注的神经群体活动建模为更一般的非自主动力系统,使最终的latent dynamics更加鲁棒
方法:
- LFADS 将各个试验简化为初始条件 ( g 0 g_0 g0) 和一组随时间变化的推断输入 ( u t u_t ut),后者使用均值和方差进行随机建模,并在每个时间点输入到生成器。 u t u_t ut由控制器 RNN 输出,该控制器接收来自编码网络的时变输入以及前一个时间步的因子表示。
- 实验:“光标跳跃”任务,猴子控制光标向上或下的目标运动。在“不受干扰”的试验中(75%),光标始终跟踪猴子手的位置,猴子会直接向上或向下伸手以获取目标。在“扰乱”试验中(25%),光标和手位置之间不可预测的向左或向右移动迫使猴子做出纠正动作以获取目标(上图b)。
结果:
- 在扰动期间,LFADS 推断出右移和左移扰动试验以及未扰动试验的不同输入模式(上图 d),这些输入的时间与扰动的时间(输入是时变的)很好地对齐,并且这些输入的扰动方向特异性在向下和向上的范围内是相似的
- t-SNE结果表明推断输入在单次试验的基础上根据扰动方向不同进行聚类。
Nature Methods:https://www.nature.com/articles/s41592-018-0109-9
LFADS Run Manager for Matlab:https://lfads.github.io/lfads-run-manager/