Meta(前身为 Facebook)近日在 GitHub 平台发布一个名为 Bean Machine 的新项目,Meta 将 Bean Machine 定义为概率编程系统,能够使人工智能模型中的不确定性更容易表示和学习。
Bean Machine 能够用于开发特定领域的概率模型,并使用自动、不确定性感知学习算法自动学习模型中尚未观察到的属性。根据 Meta 的说法,Bean Machine 与其他机器学习方法相比,提供的优势包括:
-
不确定性估计:
预测是通过概率分布形式被可靠的不确定性度量来量化的。分析师不仅可以了解系统的预测,还可以了解其他可能预测的相对可能性。
-
表达性:
能够轻松的在源代码中直接编码丰富的模型,这允许人们将模型的结构与问题的结构相匹配。
-
可解释性:
由于模型与领域匹配,因此可以查询模型的中间学习属性。这意味着用户不仅可以使用“黑匣子”,还可以解释为何会做出特定的预测,进而可以在模型开发过程中帮助开发者。
深度学习中包含两种不确定性,即认知不确定性和偶然不确定性(Epistemic Uncertainty & Aleatoric Uncertainty)。认知不确定性可以描述由于训练数据并不合适导致模型不知道的内容,而偶然不确定性是由观察的自然随机性产生的不确定性。只要有足够的训练样本,认知上的不确定性就会减少,但即使提供更多的数据,也无法减少偶然不确定性。
Bean Machine 对预测进行了量化,以概率分布的形式对不确定性进行可靠的衡量,这也使得开发者对 Bean Machine 的使用变得简单而直观 —— 无论是编写模型,还是对其学习策略进行高级修补。
Bean Machine 建立在 Meta 的 PyTorch 机器学习框架和 Bean Machine Graph(BMG)之上,其中 BMG 是一个定制的 C++ 后端。感兴趣的用户可以访问项目页面,了解更多详情。不过需要注意的是,Bean Machine 目前仍处于测试阶段,API 可能会随着项目的发展而产生变化。
猜你喜欢: