Abstract:
Objective.Artificial neural networks (ANNs) are state-of-the-art tools for modeling and decoding neural activity, but deploying them in closed-loop experiments with tight timing constraints is challenging due to their limited support in existing real-time frameworks. Researchers need a platform that fully supports high-level languages for running ANNs (e.g. Python and Julia) while maintaining support for languages that are critical for low-latency data acquisition and processing (e.g. C and C++).Approach.To address these needs, we introduce the Backend for Realtime Asynchronous Neural Decoding (BRAND). BRAND comprises Linux processes, termednodes, which communicate with each other in agraphvia streams of data. Its asynchronous design allows for acquisition, control, and analysis to be executed in parallel on streams of data that may operate at different timescales. BRAND uses Redis, an in-memory database, to send data between nodes, which enables fast inter-process communication and supports 54 different programming languages. Thus, developers can easily deploy existing ANN models in BRAND with minimal implementation changes.Main results.In our tests, BRAND achieved <600 microsecond latency between processes when sending large quantities of data (1024 channels of 30 kHz neural data in 1 ms chunks). BRAND runs a brain-computer interface with a recurrent neural network (RNN) decoder with less than 8 ms of latency from neural data input to decoder prediction. In a real-world demonstration of the system, participant T11 in the BrainGate2 clinical trial (ClinicalTrials.gov Identifier: NCT00912041) performed a standard cursor control task, in which 30 kHz signal processing, RNN decoding, task control, and graphics were all executed in BRAND. This system also supports real-time inference with complex latent variable models like Latent Factor Analysis via Dynamical Systems.Significance.By providing a framework that is fast, modular, and language-agnostic, BRAND lowers the barriers to integrating the latest tools in neuroscience and machine learning into closed-loop experiments.
摘要:
目的:人工神经网络(ANN)是用于对神经活动进行建模和解码的最先进的工具,但是在具有严格时序约束的闭环实验中部署它们是具有挑战性的,因为它们在现有实时框架中的支持有限。研究人员需要一个完全支持用于运行ANN的高级语言的平台(例如,Python和Julia),同时保持对低延迟数据采集和处理至关重要的语言的支持(例如,C和C++)。
方法:为了满足这些需求,我们介绍了实时异步神经解码的后端(BRAND)。品牌包括Linux进程,称为节点,它们通过数据流在图中相互通信。它的异步设计允许采集,control,以及对可能在不同时间尺度上运行的数据流并行执行的分析。品牌使用Redis,内存数据库,要在节点之间发送数据,它可以实现快速的进程间通信,并支持54种不同的编程语言。因此,开发人员可以轻松地在BRAND中部署现有的ANN模型,只需最少的实现更改。
结果:在我们的测试中,BRAND在发送大量数据(1毫秒块中的1024个通道的30kHz神经数据)时,在进程之间实现了<600微秒的延迟。BRAND使用递归神经网络(RNN)解码器运行脑机接口,从神经数据输入到解码器预测的延迟不到8毫秒。在系统的真实演示中,BrainGate2临床试验(ClinicalTrials.gov标识符:NCT00912041)的参与者T11执行了标准光标控制任务,其中30kHz信号处理,RNN解码,任务控制,和图形都是在BRAND中执行的。该系统还支持使用复杂的潜在变量模型进行实时推理,例如通过动力系统进行的潜在因子分析。
结论:通过提供快速的框架,模块化,和语言不可知论者,BRAND降低了将神经科学和机器学习中的最新工具集成到闭环实验中的障碍。
.