SPFlow:一个基于和积网络用于深度概率学习的简便可扩展库
机器学习
2019-01-15 v1 机器学习
摘要
我们介绍 SPFlow,一个开源 Python 库,为称为和积网络(SPNs)的深度可处理概率模型提供推理、学习与操作例程的简单接口。该库允许用户从数据以及通过领域特定语言(DSL)快速创建 SPN。它高效实现了若干概率推理例程,如计算边缘、条件与(近似)最可能解释(MPEs),以及采样,还有用于 SPN 的序列化、绘图与结构统计的实用工具。此外,文献中提出的许多用于学习 SPN 结构与参数的算法在 SPFlow 中均已就绪。进而,SPFlow 极具可扩展性与可定制性,允许用户通过将自定义代码注入轻量级面向函数的 API 框架,迅速提炼新的推理与学习例程。SPFlow 通过保持图结构的内部 Python 表示来实现这一点,该表示还能将 SPN 实际编译为 TensorFlow 图、C、CUDA 或 FPGA 自定义代码,显著加速计算。
引用
@article{arxiv.1901.03704,
title = {SPFlow: An Easy and Extensible Library for Deep Probabilistic Learning using Sum-Product Networks},
author = {Alejandro Molina and Antonio Vergari and Karl Stelzner and Robert Peharz and Pranav Subramani and Nicola Di Mauro and Pascal Poupart and Kristian Kersting},
journal= {arXiv preprint arXiv:1901.03704},
year = {2019}
}
备注
4 pages, 1 figure, code