Julia Computing 和 MIT 引入可微编程系统 连接人工智能和科学计算

winniewei 提交于 周三, 07/31/2019
Julia Computing 和 MIT 引入可微编程系统 连接人工智能和科学计算

科学计算,是使用计算模型来解决科学和工程问题,它近年来从人工智能机器学习技术的迅速发展中获益良多。现在,研究人员正在探索连接这两个世界的方法。Julia Computing & MIT 的一个研究小组提出,广泛的科学计算和机器学习领域都需要在其底层结构上支持线性代数。

该团队引入了一种新的可微编程(∂P)形式的计算基础结构,它可以计算模型梯度,并将自动微分集成到语言中作为一种一流的特性。程序员可以直接用 Julia 编程语言和 microProgramming 编写模型。

该系统几乎支持所有的编程语言(Python,R,Julia 等),并能构造和编译高性能代码,而不需要任何用户干预或重构来进行计算。这使程序员能够使用现有的 Julia 科学计算包构建深度学习模型,并有效地实现梯度计算。

可微编程是一种编程范式,其中程序可以完全区分。基于提供的数据集,神经网络自动学习从输入数据 X 到最终操作结果 Y (都是整个程序)的映射;或者结合程序员提供的高级代码,神经网络作为中间函数来完成整个程序。

Facebook 首席人工智能科学家 Yann LeCun 对可微编程的使用发表了评论:

人们现在正在通过组装参数化功能块网络,并通过使用某种形式的基于梯度的优化,从实例中训练它们,从而构建一种新的软件。

作为机器学习和科学计算学科共同共享基础设施的基础,这种可微的编程系统通过使用相同的技术来区分两个领域中的程序,允许新的应用程序将各个领域结合起来。研究人员展示了与现有的 ML 框架相同的性能,用于深度学习模型(在 CPU、GPU 和 TPU 上)和增强学习。可微编程也可以扩展到其他科学计算领域,例如神经 SDE 和量子机器学习。

1

论文 ∂P:在 ARXV 上完成的桥梁机械学习与科学计算的可差异编程系统

Y Combinator 的研究员 Michael Nielsen 在推特上表示,他希望这篇新论文是探索这个方向的趋势的一部分。特斯拉人工智能(Tesla AI)董事 Andrej Karpathy 在推特对 Nielsen 的说:

我们将堆栈向上移动一点,而不是编写显式的、完全定义的程序,而是编写一个程序的粗略草图“管道”(由某个θ参数化的管道),如果您有一个可评估的度量,则通过优化来选择管中的最佳点。

来源:medium

 

相关文章

Digi-Key