MIT 推出「超越深度学习」的新 AI 程式语言,无须数学专

MIT 推出「超越深度学习」的新 AI 程式语言,无须数学专

AI 的快速发展激起了很多人的学习热情,但是初学者苦于大量的手动写程式而止步不前,有没有一种程式语言可以让那些在电脑科学和数学领域专业知识较少的人,也能使用简洁的代码量来完成具体的 AI 应用呢?

今天文摘菌为大家推荐一个专门用来预测的複杂模型和推理算法——Gen。下面随文摘菌一起来看看它的「前生今世」。

在 2015 年,Google 发布了一个採用数据流图进行数值计算的开放源代码应用程式软体库 TensorFlow(基于数据流编程的符号数学系统),它可以帮助初学者和专家自动生成机器学习系统,而不需要做太多数学运算。这个平台现在被广泛的使用,希望帮助人工智慧在某些方面实现民主化。

儘管它是自动且高效的,但是与人工智慧的广泛前景相比,它的重点仅限于深度学习模式,总的来说这种模式既昂贵又有侷限性。

MIT 推出「超越深度学习」的新 AI 程式语言,无须数学专

但是现在有很多可用的人工智慧技术,比如统计和概率模型,以及仿真引擎。其他一些概率程式系统虽然足够灵活,能够覆盖多种人工智慧技术,但他们的运行效率很低。

鉴于之前的 AI 应用开发框架不太灵活,研究人员试图研究一套系统以将自动化、灵活性和高效性都融合在一起,但 Mansinghka(一位研究人员)说,「如果我们可以做到这样,也许我们可以通过更广泛的建模和推理算法集合来帮助实现民主化,就像 TensorFlow 一样有助于深度学习的研究。」

MIT 的一队研究人员一直致力于使初学者快速入门人工智慧,与此同时,他们的研究也帮助这一领域的专家不断取得了进步。

研究人员发现,在基于概率的人工智慧中,用推理算法对数据进行运算,并根据新数据不断调整概率来进行预测。这样做最终会生成一个可以对新数据进行预测的模型。

基于他们早期概率程式系统「Church」中使用的概念,研究人员将几种自定义的建模语言融入 MIT 开发的通用程式语言「Julia」中。

每种建模语言都针对不同类型的人工智慧建模方法进行了优化,使其变得更加通用。Gen 还使用了各种不同的方法,例如优选法、变分推理、概率统计法和机器学习,为推理任务提供高级基础设施。除此之外,研究人员还进行了一些优化调整,以使其实现有效运行。

同时,本週召开的程式设计语言设计与实现大会上,研究者们做了一场以新型概率程式系统——Gen 为题的演说,用户从不同的 AI 技术应用领域编写模型和算法,这些领域涉及到电脑视觉、机器人和统计学,而这些模型算法可以代替人去解决,那些複杂公式和手工编写高性能代码。

举例来说,在研究者的文章中提到,一个简短的 Gen 编程,可以推断 3D 身体姿势,而这种複杂的电脑视觉推断任务需要用到自动系统、人机交互、增强现实等技术。

而在萤幕之后,这些程式包括了那些组成执行图像渲染、深度学习和其他种类的概率模拟的组件。这些不同技术的结合使这项任务比一些研究人员早期开发的系统具有更高的準确性和速度。

研究表明,不管是初学者还是专家都能非常轻易地上手 Gen,因为它使用起来非常简单,且在某些用例中是自动化的。

一位电气工程和电脑科学系的 Marco Cusumano Towner 博士说,「这个项目的一个动机就是让那些在电脑科学和数学领域专业知识较少的人,更容易地使用自动化人工智慧」,他还说,「我们同样也希望提高生产率,这意味着让专家更容易地高速迭代和原型化他们的人工智慧系统」。

研究人员还演示了 Gen 通过使用另一个 Gen 的程式来简化数据分析的能力,该程式可以自动生成複杂的统计模型,通常用来供专家分析、解释和预测数据中基本趋势。

它与早期需要大量手工编码才能进行準确预测的系统不同,建立在研究人员先前工作的基础上,它只需要让用户编写几行代码就可以揭示和了解金融走势、航空旅行、投票方式以及疾病传播等的趋势。

一位大脑与认知科学部门负责概率电脑项目的研究员 Vikash K.Mansinghka 说,「Gen 是第一个灵活高效自动化的系统,拥有最先进的性能,能够覆盖电脑视觉和数据科学中不同类型的事例。」

Uber 的首席科学家兼人工智慧副总裁、剑桥大学教授 Zoubin Ghahramani 虽然没有参与这一项目,但是他说,「概率规划是自机器学习出现以来,人工智慧最有前景的领域之一。Gen 代表了这一领域的显着的进步,将有助于实现基于概率推理的人工智慧系统的可扩展性和实际性发展。」

同样也没有参与此项研究的 Google 研究主管 Peter Norving 也讚扬了这项工作,他说,「Gen 允许解决问题的人使用概率规划,如此对问题有一个更为原则性的方法,但不受概率规划系统设计者的选择所限制。」

他还说,「通用程式语言……之所以成功是因为,它们使工程师更容易完成任务,同时也使工程师能创造出全新的东西来有效地解决新问题。Gen 对于概率规划也是这样做的。」

铺垫了这幺多,那幺 Gen 是怎幺实现的呢?

下文将以论文的第三、四部分为例,介绍实现的机理,文摘菌略过了论文中枯燥的公式推理,先说明下原理吧,感兴趣的读者可以阅读论文原文。

原文

Generative Function Interface(生成函数接口)以下简称 GFI,GFI 是一个「黑盒子」,用来实现建模语言和特定推理算法之间的接口,Generative Function(生成函数)由建模语言编辑器生成,具体实现过程是这样的:

    用户将需要实现的功能使用 @gen 语法描述;将语法描述交由动态建模语言编译器生成 Generative Function;通过 Generative Function 实现 GFI

为了理解下文先介绍两个名词:

     Choice Map 是地址到真实值之间的映射 Generative Function 表示为元组的形式:G = (X, Y, f ,p,q)

    论文中介绍了 5 种方法:

      generate(对约束条件的 trace)-参数:u(Choice Map)、x- 以映射集合 u 和参数 x 作为输入并返回结果;propose- 参数 x- 返回 t(Choice Map)、权重 w;assess(评估 Choice Map 的可能性):此方法评估和计算由 Generative Function 生成的特定 Choice Map(u) 的可能性;update:更新方法调整执行 trace 的(t,x)中的随机选择,这是迭​​代推理算法中的常见模式,例如 MCMC 和 MAP 优化;choice_gradients:choice_gradients(differentiation)此方法计算跟蹤的对数概率的梯度参数 x 和 / 或随机值的值选择。

    具体的执行过程参照下图 foo() 函数的 trace 和 choice map 的生成过程。

    MIT 推出「超越深度学习」的新 AI 程式语言,无须数学专

    下面将以一个回归任务为例,演示 Gen 的写程式风格:

    MIT 推出「超越深度学习」的新 AI 程式语言,无须数学专

    a 图给定数据集(x,y),需要推断 x,y 之间的关係,并检测异常值,这是一个典型的回归问题;b 图是用@gen 语法生成的描述模式;c 图是 b 图的生成地址空间;f 和 g 图展示出了在「Julia」(上文提到的 MIT 开发的通用程式语言)中实现的两个用户程序,每一个程序实现了一种不同的算法来解决任务,结果表现出不同的效率,如图 h 所示。

    讲了这幺多,Gen 有没有开源?在工业界有使用案例吗?请看下文:

    外部用户已经找到了利用 Gen 进行人工智慧研究的方法。例如,英特尔正在与 MIT 合作运用其用于机器人和增强现实係统的深度感应摄像头,利用 Gen 进行 3D 姿态估计。MIT 林肯实验室也在合作研究 Gen 在航空机器人领域的应用,以实现其在人道主义救援和灾难应急响应方面的应用。

    MIT 一直致力于人工智慧的研究,因此 Gen 开始被用于雄心勃勃的人工智慧项目。

    例如,Gen 是 MIT 和 IBM 沃森人工智慧实验室项目的核心,美国国防部高级研究项目计划局也将其应用于正在进行的机器常识项目,旨在模拟一个 18 个月大的孩子所能拥有的人类常识。Mansinghka 也是该项目的主要研究人员之一。

    Mansinghka 说,「对于 Gen,研究人员第一次可以很容易地整合一系列不同的人工智慧技术。看看人们在现阶段发现了什幺是可能的,这将会是很有趣的。」

    Gen 的开放源代码是公开可用的,并且在即将举行的开放源代码开发人员会议上展示,包括 Strange Loop 和 JuliaCon,这项工作在一定程度上也得到了美国国防高级研究计划局(DARPA)的支持。


相关文章阅读