第一句子大全,网罗天下好句子,好文章尽在本站!

无需数学就能写AI MIT提出AI专用编程语言Gen

时间:2009-06-21

继 Julia 语言之后,近日 MIT 又发布了一种全新的通用概率编程系统 Gen,它是一种针对人工智能领域的专用语言,且除了深度学习外,各种机器学习与概

友情提示:本文共有 4539 个字,阅读大概需要 10 分钟。

机器之心报道

机器之心编辑部

在帮助专家做研究的同时,MIT 的研究员也要让新手做人工智能更简单。继 Julia 语言之后,近日 MIT 又发布了一种全新的通用概率编程系统 Gen,它是一种针对人工智能领域的专用语言,且除了深度学习外,各种机器学习与概率建模方法都囊括在内。

近日,在提交编程语言设计与实现大会(PLDI)的一篇论文中,MIT 研究人员介绍了一种全新的概率编程系统 Gen。从计算机视觉到机器人和统计,用户可以通过 Gen 为应用 AI 技术的多个领域编写模型和算法,且无需处理方程式或手动编写高性能代码。此外,Gen 还允许研究人员编写用于预测任务的复杂模型和推理算法,这在之前是不可能做到的。

例如,3-D 人体姿态是一项困难的计算机视觉推理任务,在自动系统、人机交互和增强现实(AR)中均有应用。在论文中,研究人员展示了简短的 Gen 程序如何推理 3-D 人体姿态。

看起来十分简单,但在后台,该程序包括执行图形渲染、深度学习和概率模拟类型的组件。与一些研究人员所开发的早期系统相比,这些不同技术的结合可以提高这项任务的准确性和速度。

论文图 6:人体姿态推理任务的建模、推理代码以及评估结果。模型使用静态 DSL 编写,调用图形引擎从姿态参数中渲染深度图像。自定义提议结合静态 DSL 和 TensorFlow DSL,通过深度神经网络来传递观察到的深度图像,并提出姿态参数。

研究人员表示,由于其简单性,从新手到专家,Gen 可以被任何人轻松使用。「这项工作的一个动机是让计算机科学或数学专业知识较少的人更容易做自动化人工智能,」论文第一作者、电气工程和计算机科学系博士生 Marco Cusumano-Towner 说。「我们还希望它能提高生产力,这意味着专家可以更轻松地快速迭代 AI 系统,做出原型。」

研究人员还展示了 Gen 通过使用其他 Gen 程序简化数据分析的能力,该程序可自动生成通常由专家用于分析、解释和预测数据中基础模式的复杂统计模型。这种能力建立在研究人员先前工作的基础上,也就是让用户可以编写几行代码来发现对金融趋势、航空旅行、投票模式以及疾病传播的洞见。但不同的是,早期系统需要大量的手动编码才能进行准确的预测。

「Gen 是第一个足以涵盖计算机视觉和数据科学中不同案例的灵活、自动化、高效的系统,且性能非常好。」MIT 脑与认知科学系(Department of Brain and Cognitive Sciences)的研究员 Vikash K. Mansinghka 说,他负责运行概率计算项目。

集自动化、灵活性和速度优势于一身

2015 年,谷歌开源 TensorFlow 以来,它已经成为了最为流行的深度学习框架。然而,即使 TensorFlow 足够自动化和高效,但它只侧重于深度学习模型,对范围更广的人工智能而言,这些模型既昂贵又有限。

如今,业内已经有大量的 AI 技术,例如统计和概率模型、模拟引擎等。一些概率编程系统虽然足够灵活,可以覆盖到多种 AI 技术,但运行不够高效。

研究人员寻求的是集其所长于一身:自动、灵活、快速。Mansinghka 说,「如果我们能做到这一点,或许就能向 TensorFlow 对深度学习那样,有助于民主化更广泛的模型和推理算法。」

在概率性 AI 中,推理算法会对数据执行操作,并基于新数据连续地调整概率,从而最终做出预测。

借鉴了早期概率编程系统 Church 中的概念,研究人员将几种自定义建模语言结合到 Julia 中,每种建模语言都对不同类型的 AI 建模方法进行优化,使其更加通用。利用优化、变分推理、某些概率方法以及深度学习等各种方法,Gen 还为推理任务提供了高级基础结构。

外部机构就 Gen 与 MIT 展开合作

外部用户已经在寻找利用 Gen 进行 AI 研究的方法。例如,英特尔与 MIT 合作,将 Gen 用于机器人和 AR 系统,尤其内部基于深度感知摄像头的 3D 姿态估计。MIT 林肯实验室(Lincoln Laboratory)也在合作开发 Gen 在人道主义救援和灾害应对空中机器人中的应用。

在 MIT 追求人工智能的环境下,Gen 开始被用于野心勃勃的 AI 项目中。例如,Gen 对 MIT-IBM 沃森人工智能实验室以及美国国防部先进研究项目局(Department of Defense』s Defense Advanced Research Projects Agency)正在进行的「机器常识」项目极为重要,该项目旨在建模 18 个月大婴儿水平的人类常识知识库。Mansinghka 是该项目的主要研究者之一。

Mansinghka 表示:「借助于 Gen,研究人员首次得以很容易地集成大量不同的 AI 技术。」

优步首席科学家和 AI 副总裁、剑桥大学教授 Zoubin Ghahramani 表示:「自深度学习出现以来,概率编程是最有潜力的前沿人工智能领域之一。Gen 代表了这一领域的重大进展,并将有助于概率推理 AI 系统的可扩展和实际实现。」

谷歌研究主管 Peter Norvig 也非常赞赏这项工作,他说:「Gen 允许用户使用概率编程解决问题,因此对各种问题有更具原则性的方法,且不受限于概率编程系统设计上的一些缺陷。通用编程语言之所以能成功,是因为它们能令程序员更容易完成任务,Gen 对于概率编程的意义同样在此。」

举个栗子

研究人员编写了一个简短的 Gen 程序来做贝叶斯线性回归:给定(x, y)平面上的一组数据点,他们想找出一条能很好拟合这些数据点的线。

典型的 Gen 程序通常包含三个主要组件。

首先,定义一个生成模型:利用额外语句扩展的 Julia 函数,即从概念上模拟一个假数据集。下面的模型对 slope 和 intercept 参数进行采样,然后 x 轴上的参数可以作为输入,且对相应 y 轴进行采样。他们将所做的随机选择命名为 @trace,这样就可以在推理程序中引用这些选择。

using Gen@gen function my_model(xs::Vector{Float64}) slope = @trace(normal(0, 2), :slope) intercept = @trace(normal(0, 10), :intercept) for (i, x) in enumerate(xs) @trace(normal(slope * x + intercept, 1), "y-$i") endend

其次,研究人员编写了一个推理程序,用于操纵模型的 Execution Traces。推理程序是常规的 Julia 代码,并利用 Gen 的标准推理库。

下面的推理程序会输入数据集,并迭代地运行 MCMC 算法,以拟合 slope 和 intercept 参数:

function my_inference_program(xs::Vector{Float64}, ys::Vector{Float64}, num_iters::Int) # Create a set of constraints fixing the # y coordinates to the observed y values constraints = choicemap() for (i, y) in enumerate(ys) constraints["y-$i"] = y end # Run the model, constrained by `constraints`, # to get an initial execution trace (trace, _) = generate(my_model, (xs,), constraints) # Iteratively update the slope then the intercept, # using Gen"s metropolis_hastings operator. for iter=1:num_iters (trace, _) = metropolis_hastings(trace, select(:slope)) (trace, _) = metropolis_hastings(trace, select(:intercept)) end # From the final trace, read out the slope and # the intercept. choices = get_choices(trace) return (choices[:slope], choices[:intercept])end

最后,研究人员在一些数据上运行推理,得到下面的结果:

xs = [1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]ys = [8.23, 5.87, 3.99, 2.59, 0.23, -0.66, -3.53, -6.91, -7.24, -9.90](slope, intercept) = my_inference_program(xs, ys, 1000)println("slope: $slope, intercept: $intercept")

论文:Gen: A General-Purpose Probabilistic Programming System with Programmable Inference

摘要:概率建模和推理对于很多领域都是极为重要的。概率编程语言得到更广泛采用的关键挑战在于设计灵活且性能良好的系统。本文介绍的新概率编程系统 Gen 具有可用于建模以及终端用户自定义和推理优化的全新语言结构。Gen 使得能够解决多领域问题的概率程序编写变得切实可行。Gen 程序能够结合 Julia 编写的生成模型、TensorFlow 中的神经网络以及基于 Monte Carlo 可扩展库的推理算法和数值优化方法。

本文还介绍了一些能够结合 Gen 灵活性和性能的方法:

生成函数接口,一种封装概率和/或可微计算的抽象具有自定义编译器的特定领域语言,对不同的灵活性/性能进行权衡能够编码条件独立性和重复计算常见模式的连结符,支持缓存加速标准推理库,支持在 Gen 中编写作为程序的自定义建议分布本文研究表明,在处理非线性状态空间建模、现实世界时序数据结构学习、鲁棒回归以及基于深度图像的 3D 人体姿态估计等问题上,Gen 的性能优于当前最佳的概率编程系统,有时超出多个数量级。

参考链接:

http://news.mit.edu/2019/ai-programming-gen-0626

https://probcomp.github.io/Gen/

https://github.com/probcomp/Gen

https://dspace.mit.edu/bitstream/handle/1721.1/119255/MIT-CSAIL-TR-2018-020.pdf

本文如果对你有帮助,请点赞收藏《无需数学就能写AI MIT提出AI专用编程语言Gen》,同时在此感谢原作者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
每天上千条文本过时 累死志愿者的维基百科被MIT最新AI接手啦!

每天上千条文本过时 累死志愿者的维基百科被MIT最新AI接手啦!

...用流行的事实核查数据集自动合成语句,来减少偏差,也无需人工收集额外的数据。Schuster表示这种方式可以改善自动化事实核查模型,比如,训练数据集检测虚假新闻。Shah、Schuster、德尔塔电子电气工程与计算机科学Regina Barzil...

2023-06-22 #经典句子

效仿婴儿学习语言 MIT打造了一个具有观察力的AI模型

效仿婴儿学习语言 MIT打造了一个具有观察力的AI模型

...析器提供与字幕匹配的视频,然后它将字幕的大意以逻辑数学表达式来提取。打个比方,“那女人正在摘苹果”可能会被分析器以λxy. woman(女人) x, pick_up(摘) x y, apple(苹果) y的形式表达。之后数学表达式与视频将被导入...

2023-01-28 #经典句子

三千年前的古文字被AI破译 MIT和谷歌开发失传语言的翻译系统

三千年前的古文字被AI破译 MIT和谷歌开发失传语言的翻译系统

...译结果中都起到重要的约束作用。这些向量遵循着简单的数学规则,举例而言,国王(king)-男性(man)+女性(woman)=王后(queen)。所以,一句话可以认为是由一系列向量排列形成的一条跨越空间的轨迹。完全对应地翻译机器...

2023-12-07 #经典句子

GEN再爆大料 分崩离析只在旦夕 教练没有话语权中野训练散漫

GEN再爆大料 分崩离析只在旦夕 教练没有话语权中野训练散漫

...无成效。TrAce教练春季赛就想离开,Tom教练则是世界赛后提出辞呈,因为他们完全没法接受这样的队伍。S10世界赛期间,其实GEN的训练赛成绩很不错,打G2胜多败少,打DWG五五开,结果正赛被G2 3-0血虐了。甚至于DWG还知道G2会用一...

2023-09-13 #经典句子

方向对了?MIT新研究:GPT-3和人类大脑处理语言的方式惊人相似

方向对了?MIT新研究:GPT-3和人类大脑处理语言的方式惊人相似

... Joshua Tenenbaum (本文作者之一)表示,然而新发现与先前提出的假设是一致的,即预测是语言处理的关键功能之一。「语言处理的挑战之一是实时性,」他说,「语言输入了,你必须跟上,并且要实时理解它。」研究人员打算建...

2020-03-26 #经典句子

腾讯医疗吴文达对话MIT亚洲商业论坛:数字医疗应有更大的想象力

腾讯医疗吴文达对话MIT亚洲商业论坛:数字医疗应有更大的想象力

“我们正处于一场大型的医疗健康数字化转型模拟实验之中,数字医疗的下一步,将是数字技术重塑诊疗全流程。”过去一年新冠肺炎疫情影响之下,数字医疗创新成为最炙手可热的创业风口,代表全球科技创新前沿的麻省理工...

2024-01-04 #经典句子

交际场景实用德语句型:Was ist mit einem chinesischen Essen?

交际场景实用德语句型:Was ist mit einem chinesischen Essen?

Lektion 11 第 11 课 Was ist mit einem chinesischen Essen? 吃中式餐,好吗? Dialog 对话 A: Guten Tag, Herr Schmidt! 您好,史密特先生! B: Guten Tag, Herr Meier! 您好,麦耶先生! A: Darf ich Sie heute Abend zum Essen einladen? 我可以邀请您今晚吃饭吗? B: Vielen...

2022-12-31 #经典句子

与T1说再见 金晶洙写下七句话 Faker铁粉乐开花

与T1说再见 金晶洙写下七句话 Faker铁粉乐开花

...,金晶洙愿意主动承担队伍未能晋级世界赛的责任,并且提出辞职,T1在与金晶洙教练多次沟通后,尊重了后者的决定,感谢金晶洙为T1做出的贡献,祝福金晶洙未来一切顺利。随后是金晶洙本人发文,与T1说再见,金晶洙写下七...

2023-07-11 #经典句子