@ 2015.04.17 , 09:10

在云计算之后,还有概率计算

[-]

随着互联网的发展,可用的数据已经不是问题,用数据做什么成了问题。事实上,分析大数据和开发建模是现在很大一部分程序猿在做的事。为何说是一个巨大的转折,计算机科学家已经开发出所谓的概率编程语言,可以让研究人员混合和匹配不同的机器学习技法。

使用这个新开发概率计算技术,MIT研究人员已经编出了短程序(约50行代码)和有成千上万代码的传统体制做比拼。这一发展对面部识别和重建软件来说可能很重要。

“这是我们第一次在视觉区域引入概率编程,”MIT脑与认知科学研究生及最新论文第一作者Tejas Kulkarni说,“希望能用概率短代码编写出非常灵活的模型及生成模型和判别模型,然后不做其他任何事,用通用推理方案来解决问题。”

对于很多程序员来说,概率分析似乎是一种亵渎——太过于模糊而违背了一些传统的编程核心。它基本上是偏离了数学思维,转用一种更直观的方法。

“当你想到概率程序,在建模时你的想法会很直观,”Kulkarni说,“你不是用数学方法来思考。这是一种非常不同的建模风格。”

顾名思义,概率编程是概率性的——某种程度上。所谓的差异在于推理算法——在新数据基础上不断调整的算法。它的概率而不是其确定性在不断变化,因此不是数学意义上的思考。

他们解决的任务是只使用2D图像重建3D面部图像。这个新工作是基于新流行的逆向图形,这是与机器学习相关联最古老的问题之一。在他们的实验中,他们创造了一种叫Picture的概率编程语,这是MIT研发的另一种语言Julia的延伸。

“Picture提供了一个通用的框架,旨在解决计算机视觉中几乎所有的问题,” 普林斯顿大学计算机科学系的助理教授肖建雄(他并没有参与这项工作)说,“它超越了在计算机视觉任务中最受欢迎的图像分类,而且试图回答计算机视觉一个最基本的问题:正确的视觉场景表现是什么?它是现代重新审视逆向图形推理的开端。”

Kulkarni说Picture如此设计是它的推理算法能够从机器学习技法中受益,在他们强调策略时修改自己似乎结果也不错。

“通过学习来提高推论会是一个特质,但概率编程可能会因为一些问题减缓代码重写。如果学习机器强大到对不同任务使用不同的策略那么代码就可以通用了。”

本文译自 ZMEscience,由 杨二姐 编辑发布。

赞一个 (21)