MIT 的一个研究小组正努力让初学者更容易入门人工智能,同时也帮助专家进一步推进这个领域的发展。
在 PLDI 大会(Programming Language Design and Implementation conference)上发表的一篇论文中,研究人员介绍了一种名为“Gen”的新型概率编程系统。用户无需处理公式或者手写高性能的代码即可编写多个 AI 应用领域的模型和算法,例如计算机视觉、机器人学以及统计学 。Gen 还可以让专业研究人员编写先前不可行的复杂模型和用于预测任务的算法。
例如,在他们的论文中,研究人员展示了一个简短的 Gen 程序可以预测 3-D 身体姿势,这个高难度的计算机视觉预测任务在自治系统、人机交互和增强现实中均有应用。这个程序包括执行图形渲染、深度学习和不同类型的概率模拟组件。与其他早期系统相比,这些不同技术的结合提高了这个预测任务的准确性和速度。
由于其简单性以及在某些情况下的自动化,研究人员表示,Gen 可以被任何人轻松使用,包括新手和专家。“这项工作的一个目的是让缺乏计算机科学或数学知识的人更容易入门自动化人工智能,”论文第一作者、电气工程和计算机科学博士 Marco Cusumano-Towner 说,“我们还希望提高生产力,能够让专家更轻松地快速迭代以及制作 AI 系统原型。”
研究人员还展示了 Gen 通过使用另一个 Gen 程序简化数据分析的能力。该程序可以自动生成专家通常用于分析、解释和预测数据模式的复杂统计模型。这是建立在之前的工作基础之上的。之前的工作是让用户编写几行代码来获得金融趋势、航空旅行、投票模式和疾病传播等方面的灵感。与早期系统不同,早期系统需要大量的手动编码才能进行准确的预测。
“Gen 是第一个灵活、自动化、足够高效且能够涵盖计算机视觉和数据科学中不同用例的系统,并且性能足够好,”Vikash K. Mansinghka 表示。他是一个来自大脑和认知科学系的研究员,负责概率计算项目。
和 Cusumano-Towner、Mansinghka 一起合作论文的有 Feras Saad 和 Alexander K. Lew,他们都是 CSAIL 的研究生以及概率计算项目的成员。
全世界最佳
2015 年,Google 发布了 TensorFlow,这是一个开源的 API 库,可以让初学者和专家无需进行太多数学计算即可自动生成机器学习系统。现在已经得到了广泛使用,该平台正在帮助人工智能的某些方面民主化。但是,虽然 TensorFlow 足够自动化和高效,但它只是侧重于深度学习模型,与更广泛的 AI 相比,这些模型既昂贵又有限制。
现在有很多其他 AI 技术可用,例如统计和概率模型以及模拟引擎。一些其他的概率编程系统能够灵活涵盖几种 AI 技术,但它们运行效率低下。
研究人员力求将所有最优的特性 —— 自动化、灵活性和速度 —— 结合在一起。 “我们这么做也许可以使更广泛的建模和预测算法民主化,就像 TensorFlow 对深度学习起的作用,”Mansinghka 说。
在概率 AI 中,预测算法对数据执行操作,并基于新数据连续地微调概率以进行预测。最终会生成一个描述如何预测新数据的模型。
建立在早期概率编程系统Church中使用的概念基础之上,研究人员将几种自定义建模语言融入 Julia,这也是MIT开发的一种通用编程语言。每种建模语言都针对不同类型的 AI 建模方法进行了优化,使其更加通用。 Gen 还使用各种方法(如优化、变分推断、某些概率方法和深度学习等)为预测任务提供高层基础设施。最重要的是,研究人员进行了一些调整,使其实现运行更加高效。
走出实验室
外部用户已经在寻找利用 Gen 进行 AI 研究的方法。比如英特尔正在与 MIT 合作,把 Gen 用于机器人和增强现实系统中使用的深度感知相机的 3D 姿势预测。MIT 林肯实验室也在就把 Gen 用于人道主义救援和灾难响应的空中机器人而开展合作。
在 MIT Quest for Intelligence 中,Gen 开始被用于雄心勃勃的 AI 项目。例如,Gen 是 MIT-IBM Watson AI Lab 项目以及美国国防部的国防高级研究计划署正在进行的机器常识项目的核心。该项目旨在模拟 18 个月大的孩子的常识。Mansinghka 是该项目的主要研究人员之一。
“在 Gen 的帮助下,这是第一次研究人员可以轻松整合一些不同的 AI 技术。看到人们现在发现的可能性将会很有趣,”Mansinghka 说。
Uber 首席科学家兼人工智能副总裁以及剑桥大学教授 Zoubin Ghahramani 表示,“自从深度学习出现以来,概率编程是人工智能前沿最有前途的领域之一。 Gen 代表了这个领域的重大进步,有助于基于概率推理的 AI 系统的大规模实际应用。”他并未参与 Gen 的研究。
谷歌的研究主管 Peter Norvig 也没有参与这项研究,他同样也赞扬了这项工作。 “[Gen]让问题解决者使用概率编程,因此可以采用更原则的方法解决问题,但不受概率编程系统设计者的选择限制,”他说。 “通用编程语言之所以成功,是因为它们使程序员更容易完成任务,同时也使程序员能够创造一些全新的东西来有效地解决新问题。Gen 对概率编程也是如此。”
Gen 的源代码是公开的,将在即将举行的开源开发者大会上展示,包括 Strange Loop 和 JuliaCon。这项工作部分得到了 DARPA 的支持。
原文链接:
http://news.mit.edu/2019/ai-programming-gen-0626
评论