麻省理工学院的一个研究小组正在努力让初学者更容易进入人工智能的领域,同时也帮助专家推动这一领域的发展。
在本周的编程语言设计和实现会议上,研究人员描述了一种名为“Gen”的新型概率编程系统。用户从人工智能技术应用的多个领域(如计算机视觉、机器人和统计)编写模型和算法,而无需处理方程或手工编写高性能代码。GEN还让专家研究人员编写以前不可行的复杂模型和推理算法(用于预测任务)。
例如,在他们的论文中,研究人员证明,一个简短的GEN程序可以推断三维身体的姿势,这是一项困难的计算机视觉推理任务,在自治系统、人机交互和增强现实中都有应用。在幕后,这个程序包括执行图形绘制、深入学习和概率模拟类型的组件.将这些不同的技术结合在一起,可以使这项任务的准确性和速度比早期系统表现得更好。
研究人员说由于GEN的简单性,它可以很容易地被任何人使用,从新手到专家。“这项工作的动机之一是让计算机科学或数学专业水平较低的人更容易获得自动化人工智能,”第一作者马尔科·库苏马诺·托纳(Marco Cusumano TOwner)说,他是电子工程和计算机科学系的博士生。“我们还想提高生产力,这意味着专家们可以更容易地快速迭代和构建他们的人工智能系统。”
研究人员还展示了GEN通过使用另一个GEN程序来简化数据分析的能力,该程序自动生成复杂的统计模型,通常由专家用来分析、解释和预测数据中的基本模式。在研究人员的前期工作基础上,让用户可以编写几行代码,以揭示金融趋势、航空旅行、投票模式和疾病传播等趋势的真知灼见。这与早期的系统不同,早期的系统需要大量手工编码才能做出准确的预测。
负责概率计算项目的大脑和认知科学系研究员Vikash K.Mansinghka‘05、Meng’09、PHD‘09说:“GEN是第一个灵活、自动化和高效的系统,能够涵盖计算机视觉和数据科学中非常不同类型的例子,并提供最先进的性能。”
加入Cusumano-TOwner和Mansinghka的论文是Feras Saad‘15,SM’16和Alexander K.Lew,他们都是CSAIL的研究生和概率计算项目的成员。
世界上最好的
2015年,谷歌发布了tensorFlow,这是一个开源的应用程序编程接口库(Api),它可以帮助初学者和专家自动生成机器学习系统,而不用做太多的数学运算。现在被广泛使用,该平台正在帮助大众化方面的一些人工智能。但是,尽管它是自动化和高效的,但它狭隘地集中在深度学习模式上,与人工智能的更广泛的前景相比,这些模式既昂贵又有限。
今天还有很多其他的人工智能技术,比如统计和概率模型,以及仿真引擎。其他一些概率编程系统具有足够的灵活性,可以涵盖多种人工智能技术,但它们的运行效率很低。
研究人员试图将所有世界中最好的-自动化、灵活性和速度-融为一体。曼辛格卡说:“如果我们这样做,也许我们可以帮助更广泛的建模和推理算法的大众化,就像TensorFlow为深入学习所做的那样。”
在概率人工智能中,推理算法对数据进行运算,并根据新的数据连续调整概率进行预测。这样做最终会产生一个模型,该模型描述如何对新数据进行预测。
基于早期概率编程系统中使用的概念,研究人员将几种自定义建模语言集成到Julia中,这是一种通用的编程语言,也是麻省理工学院开发..每种建模语言都针对不同类型的人工智能建模方法进行了优化,使其更加通用。GEN还为推理任务提供了高层次的基础设施,使用了多种方法,如优化、变分推理、某些概率方法和深度学习。除此之外,研究人员还进行了一些调整,以使实现高效运行。
在实验室之外
外部用户已经在寻找利用GEN进行人工智能研究的方法。例如,英特尔正与麻省理工学院合作,利用GEN对其用于机器人和增强现实系统的深度感应器进行三维姿态估计。麻省理工学院林肯实验室也在合作,将GEN应用于用于人道主义救援和救灾的空中机器人技术。
GEN正开始被用于麻省理工学院智能探索计划下的雄心勃勃的人工智能项目。例如,GEN是麻省理工学院-IBM沃森人工智能实验室项目的核心,以及美国国防部高级研究计划局正在进行的机器常识项目,该项目旨在一个18个月大的孩子的水平上模拟人类的常识。Mansinghka是这一项目的主要调查人员之一。
“对于GEN来说,这是第一次,研究人员很容易整合一组不同的人工智能技术。看看人们现在发现了什么是可能的,这将是很有趣的,“Mansinghka说。
优步(Uber)首席科学家兼人工智能副总裁、没有参与这项研究的剑桥大学(Cambridge University)教授祖宾·加赫拉马尼(Zoubin Ghahramani)表示:“自深度学习问世以来,概率编程是人工智能前沿最有希望的领域之一。GEN代表了这一领域的重大进步,将有助于基于概率推理的人工智能系统的可扩展和实际实现。”
谷歌(Google)的研究总监彼得·诺维格(PeterNorvig)也赞扬了这项工作,他也没有参与这项研究。他说:“[GEN]允许问题解决者使用概率编程,因此对这个问题有一个更有原则的方法,但不受概率规划系统设计者的选择的限制。”通用编程语言…成功是因为他们…使程序员的任务更容易,也使程序员有可能创造一个全新的东西,有效地解决一个新的问题。GEN在概率编程方面也是如此。“
GEN的源代码是公开可得并将在即将召开的开源开发人员会议上展示,包括Strange循环和JuliaCon。这项工作在一定程度上得到了DARPA的支持。