论文标题
PYMDP:用于离散状态空间中主动推断的Python库
pymdp: A Python library for active inference in discrete state spaces
论文作者
论文摘要
主动推断是复杂系统中认知和行为的描述,这些系统将行动,感知和学习汇总在贝叶斯推论的理论披风下。主动推论在学术研究中的应用不断增长,尤其是在寻求对人类或动物行为进行建模的领域。虽然近年来,一些由活跃推理文献产生的代码是用Python和Julia等开源语言编写的,迄今为止,模拟主动推理剂的最流行的软件是SPM的DEM Toolbox,SPM的DEM Toolbox是一个最初是为神经想象数据的统计分析和建模而开发的Matlab库。因此,人们对积极推断的兴趣日益增加,这在庞大的数字和跨科学学科的多样化的应用方面都表现出来,因此产生了对仿制,用户友好的代码,以模拟开放源代码科学计算语言(如Python)的主动推断。我们在此处提供的Python软件包PYMDP(请参阅https://github.com/infer-activeliver/pymdp),这代表了朝这个方向迈出的重要一步:即,我们提供了第一个开放源包装,用于使用部分观察到的主动推论,以部分观察到可观察的Markov决策过程或POMDP。我们回顾包的结构并解释其优势,例如模块化设计和自定义性,同时提供文本代码块,以证明如何轻松地使用它来构建和运行主动推理过程。我们开发了PYMDP,以增加对具有多种学科背景的研究人员,工程师和开发人员的主动推理框架的可访问性和暴露。本着开源软件的精神,我们还希望它激发了不断增长的活跃推理社区的新创新,开发和协作。
Active inference is an account of cognition and behavior in complex systems which brings together action, perception, and learning under the theoretical mantle of Bayesian inference. Active inference has seen growing applications in academic research, especially in fields that seek to model human or animal behavior. While in recent years, some of the code arising from the active inference literature has been written in open source languages like Python and Julia, to-date, the most popular software for simulating active inference agents is the DEM toolbox of SPM, a MATLAB library originally developed for the statistical analysis and modelling of neuroimaging data. Increasing interest in active inference, manifested both in terms of sheer number as well as diversifying applications across scientific disciplines, has thus created a need for generic, widely-available, and user-friendly code for simulating active inference in open-source scientific computing languages like Python. The Python package we present here, pymdp (see https://github.com/infer-actively/pymdp), represents a significant step in this direction: namely, we provide the first open-source package for simulating active inference with partially-observable Markov Decision Processes or POMDPs. We review the package's structure and explain its advantages like modular design and customizability, while providing in-text code blocks along the way to demonstrate how it can be used to build and run active inference processes with ease. We developed pymdp to increase the accessibility and exposure of the active inference framework to researchers, engineers, and developers with diverse disciplinary backgrounds. In the spirit of open-source software, we also hope that it spurs new innovation, development, and collaboration in the growing active inference community.