Western Institute for Neuroscience, University of Western Ontario, Ontario, Canada.
Department of Psychology, University of Western Ontario, Ontario, Canada.
Elife. 2024 Jul 30;12:RP88591. doi: 10.7554/eLife.88591.
Artificial neural networks (ANNs) are a powerful class of computational models for unravelling neural mechanisms of brain function. However, for neural control of movement, they currently must be integrated with software simulating biomechanical effectors, leading to limiting impracticalities: (1) researchers must rely on two different platforms and (2) biomechanical effectors are not generally differentiable, constraining researchers to reinforcement learning algorithms despite the existence and potential biological relevance of faster training methods. To address these limitations, we developed MotorNet, an open-source Python toolbox for creating arbitrarily complex, differentiable, and biomechanically realistic effectors that can be trained on user-defined motor tasks using ANNs. MotorNet is designed to meet several goals: ease of installation, ease of use, a high-level user-friendly application programming interface, and a modular architecture to allow for flexibility in model building. MotorNet requires no dependencies outside Python, making it easy to get started with. For instance, it allows training ANNs on typically used motor control models such as a two joint, six muscle, planar arm within minutes on a typical desktop computer. MotorNet is built on PyTorch and therefore can implement any network architecture that is possible using the PyTorch framework. Consequently, it will immediately benefit from advances in artificial intelligence through PyTorch updates. Finally, it is open source, enabling users to create and share their own improvements, such as new effector and network architectures or custom task designs. MotorNet's focus on higher-order model and task design will alleviate overhead cost to initiate computational projects for new researchers by providing a standalone, ready-to-go framework, and speed up efforts of established computational teams by enabling a focus on concepts and ideas over implementation.
人工神经网络 (ANNs) 是一种强大的计算模型,可用于揭示大脑功能的神经机制。然而,对于神经运动控制,它们目前必须与模拟生物力学效应器的软件集成,这导致了一些限制和不切实际的问题:(1)研究人员必须依赖两个不同的平台;(2)生物力学效应器通常不可微分,这限制了研究人员使用强化学习算法,尽管存在更快的训练方法,且这些方法可能具有生物学相关性。为了解决这些限制,我们开发了 MotorNet,这是一个用于创建任意复杂、可微分和生物力学逼真的效应器的开源 Python 工具包,可以使用神经网络在用户定义的运动任务上进行训练。MotorNet 的设计旨在实现以下几个目标:易于安装、易于使用、高级用户友好的应用程序编程接口,以及模块化架构,以允许在模型构建方面具有灵活性。MotorNet 不需要 Python 以外的任何依赖项,因此易于上手。例如,它允许在典型的桌面计算机上,在几分钟内对通常使用的运动控制模型(例如,两个关节、六个肌肉、平面臂)进行神经网络训练。MotorNet 是基于 PyTorch 构建的,因此可以实现使用 PyTorch 框架可能的任何网络架构。因此,它将通过 PyTorch 更新立即受益于人工智能的进步。最后,它是开源的,使用户能够创建和共享自己的改进,例如新的效应器和网络架构或自定义任务设计。MotorNet 专注于更高阶的模型和任务设计,通过提供一个独立的、现成的框架,为新研究人员启动计算项目减轻了开销成本,并通过专注于概念和想法而不是实现,加快了已建立的计算团队的工作进度。