人工智能新编程语言-Gen
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
人工智能新编程语言-Gen的更多相关文章
- 转 苹果的新编程语言 Swift 简介
苹果官方文档地址 https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Pro ...
- C、C++ 不得宠,微软正开发新的编程语言!
76 年迭代与更新,编程语言界,谁主沉浮? 在六百多种编程语言中,对于开发者而言,其主观印象中或只有几种主流的编程语言,如 Java.C.C++.C#.新贵 Python 等,而之所以它们能够成为主流 ...
- gen语言
概率编程语言(PPL)领域正经历着机器学习技术快速发展带来的奇迹般的复兴.在短短的几年里,PPL 已经从一个模糊的统计研究领域发展出十几个活跃的开源方案.最近,麻省理工学院(MIT)的研究人员推出了一 ...
- julia,集Python、C++、R为一体!Julia 1.0重磅发布, MIT发布史上最强科学计算编程语言?创始人独家解答11个问题
这个编程语言的新版本之所以受到整个人工智能界的关注,最主要的原因正是其将 C 语言的速度.Ruby 的灵活.Python 的通用性前所未有地结合在一起,支持并行处理,易于学习和使用,尤其适合科学和工程 ...
- 入门人工智能的首选语言为什么会是Python?
为何人工智能(AI)首选Python?当你读完这篇文章就会明白了.为何人工智能(AI)首选Python?读完这篇文章你就知道了.我们看谷歌的TensorFlow基本上所有的代码都是C++和Python ...
- The Swift Programming Language 中文翻译版(个人翻新随时跟新)
The Swift Programming Language --lkvt 本人在2014年6月3日(北京时间)凌晨起来通过网络观看2014年WWDC 苹果公司的发布会有iOS8以及OS X 10.1 ...
- Apple Swift编程语言入门教程
Apple Swift编程语言入门教程 作者: 日期: 布衣君子 2015.09.22 目录 1 简介 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 ...
- 苹果Swift编程语言新手教程【中国版】
Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新公布了一种编程语言Swift.据悉.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.对于广 ...
- [转]Swift 编程语言入门教程
今天在网上看到一篇非常好的教程,分享给大家 原文地址:http://gashero.iteye.com/blog/2075324 目录 1 简介 2 Swift入门 3 简单值 4 控 ...
随机推荐
- 洛谷 P1032 字串变换题解
题目链接:https://www.luogu.org/problem/P1032 题目描述 已知有两个字串A,BA,B及一组字串变换的规则(至多66个规则): A_1A1 ->B_1B1 A ...
- python正则表达式(1)--特殊字符
正则表达式—特殊表达式含义 正则表达式的字母和数字表示他们自身,但多数字母和数字前加一个反斜杠时会拥有不同的含义. 下面列出了正则表达式模式语法中的特殊元素. 1.普通字符集 1) \w ...
- .NET 使用 VLC 播放视频
使用 VLC 播放监控有几个月了,现在是多个项目中都有用到.在使用的过程中也有一些细节供大家参考. 一.对 VLC 的了解 VLC 是一个开源的跨平台多媒体播放器及框架. VLC 官方出的有播放器.编 ...
- expect工具实现脚本的自动交互
1 安装expect工具 expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是: spawn启动指定进程 -> ...
- WIFI信道频率对应
802.11b/g还是802.11b/g/n 一般都支持13个信道 信道也称作通道(Channel).频段,是以无线信号(电磁波)作为传输载体的数据信号传送通道.无线网络(路由器.AP热点.电脑无线网 ...
- vue之组件通信
vue组件通信一般分为以下几种情况: 1.父子组件通信: 2.兄弟组件通信: 3.跨多层级组件通信: 一.父子通信 父组件通过props传递数据给子组件,子组件通过emit发送事件传递数 ...
- 树莓派linux shell
ls命令用来显示目录下有哪些文件和文件夹 pi@raspberry ~ $ ls 蓝色表示文件夹 白色是文件 ls -R列出所有文件夹的内容(R表示递归) ls -l 查看详细信息 包括文件权限 最后 ...
- [Web] Adaptive loading
There is pretty good talk about performacne https://www.youtube.com/watch?v=puUPpVrIRkc It targets t ...
- “OKR播种机”JOHN DOERR–目标是对抗纷乱思绪的一针疫苗
OKR培养出疯狂的想法,再加上对的人,奇迹就会出现 约翰·杜尔是美国最有影响力.最具创意.最不拘传统的冒险资本投资家之一.在短短10年内创造了高达1,000亿美元的经济价值.迄今为止,他已向 250家 ...
- puppeteer 试用
puppeteer 是chrome 团队提供的Headless chrome node api 库,我们可以用来方便的进行chrome 操作,同时 可以做好多事情(web 爬虫,生成pdf,截图... ...