AI写程序,这事可没那么简单!

摘要: 去年年初,微软公司推出了一款名为DeepCoder的机器学习系统,同时宣称该系统具有自我编码的能力,这一举动又将人工智能的发展向前推进了一步。 正如人工智能是建立在众多机器学习或深度学习方法之上一样,DeepCoder创建的代码也是基于大量现有代码示例,研究人员通常会用这些代码进行系统的训练。

去年年初,微软公司推出了一款名为DeepCoder的机器学习系统,同时宣称该系统具有自我编码的能力,这一举动又将人工智能的发展向前推进了一步。

正如人工智能是建立在众多机器学习或深度学习方法之上一样,DeepCoder创建的代码也是基于大量现有代码示例,研究人员通常会用这些代码进行系统的训练。

其结果是:DeepCoder编写的软件汇集了部分其它人工编写的程序,著名的杂志《连线》将这称之为“掠取其它软件”。

当然,尽管DeepCoder存在不尽如人意的地方,但该让软件自己进行应用程序编写这项研究仍旧是一项具有非凡的工作,也有着令整个数字世界为之振奋的前景。

基于意图的编程

当我们希望一款软件能够为我们编写应用程序时,我们真正想要的是什么呢?答案就是:我们希望软件所编写出的应用程序,能够较好地表达出我们的意图。

术语“基于意图”源自于近期兴起的“基于意图的网络”,这是一种基于人工智能对网络进行配置的方法,它可以对管理者的业务意图进行预测。
基于意图的网络能够帮助管理者制定级别较高的业务策略,紧接着,它会对自己是否能够执行该策略进行验证,并且检查自己能否使配置的网络资源达到理想状态,以及是否能对网络状态进行有效监管以保证所有策略能够持续执行,并在必要的时候对其进行纠正。

例如,您可以要求Alexa为您编写一款应用程序,该程序能够对您的相册收藏进行追踪。此时,Alexa会自动为您编写代码,在完成后向您展示,以供使用。

原理是什么呢?

刚刚以Alexa为例进行了简单的说明,其实不难发现,AI采用的方法就是去找到一个与您要求相似的应用程序,然后根据您的需求对代码进行调整,或者挑选出一些代码片段对其进行程序组合。

换言之,Alexa采用的方法与DeepCoder类似,也就是从其他地方“借用”代码,并将这些代码进行组合以满足当前客户的需求。

但是将人工编写的代码进行汇集并不是我们真正想得到的AI编写软件,不是么?我们真正寻求的是有能力对应用进行创新的编写软件。
换言之,AI在编写程序的时候能具有创造力么?它能写出真正具有创新性的应用程序么?这些应用程序是人们未曾设想过的。

第五代语言

几十年来,对于计算机科学的研究学者们来说,他们一直盼望着有一款根据用户意图生成所需应用程序的软件能够问世。但事实上,根据来自维基百科的资料,上世纪80年代掀起的第五代语言浪潮曾试图“让计算机在没有程序员的情况下解决给定的问题”。

第五代语言是一种期望计算机能对问题自动求解的意图,基于所给定的某些约束,交由程序来处理而不需要程序员再投入人力。这个想法看上去很有前景,但实验结果证明它仍然具有很大的局限性。

仅仅指定约束就可以解决问题过于理想化了:大多数数学优化问题都在寻求一组数学表达式,这些表达式能够很好的描述约束条件。

在创造应用程序时所面临的一个巨大挑战是第五代语言并不能很好的表达算法——程序员在编写代码时都有他们特定的步骤。

因此,第五代语言的发展并不乐观,尽管它促进了声明式以及为特定应用而设计的语言(如SQL和HTML)的快速发展——这些语言将用户意图和底层软件区分开来。

但毫无疑问:用声明式的语言表达您的意图与能够自己编写应用程序的软件大有不同。编写“SELECT * FROM ALBUMLIST”与“Alexa,为我编写一个追踪我相册的应用程序”相去甚远。第五代语言中缺失的部分是AI。

算法

在20世纪80年代,我们还没有办法让软件自己编写应用程序,但随着人工智能的快速发展,这个想法不再遥不可及。第五代语言处理简单优化任务的能力促进了计算机代数系统的发展,使其在自动优化方面日趋成熟,这也被称为计算机生成算法。当然,发展并不局限于此。

还有一些研究项目,例如谷歌的AutoML,它能够构建基于机器学习的神经网络架构。您可以将神经网络架构视为一种应用程序,尽管它使用了人工智能技术。在这种情况下,我们拥有足够聪颖的人工智能软件,它能够对应用程序进行编写。

AutoML以及与其类似的项目都具有广阔的发展空间。尽管如此,我们仍旧没有更接近天网,就连这些努力,也不够企及我们前面所描述的那些基于意图的编程目标。

人类意图

从本质上来看,AutoML和基于意图的编程正朝着不同的方向发展,因为对于用户会如何表达各自的意图,两者有着不同的处理方式。如上述示例,Alexa是以人为中心,利用Alexa的自然语言处理能力结合其它上下文技巧,能够提供以消费者为导向的用户体验。

在AutoML(或者任何机器学习或深度学习工作)中,工程师们必须以对约束条件(例如用户意图)进行正确的描述。

举个例子,如果你想教会人工智能识别猫的图片,那么就应有如下约束条件:在一个包含一百万张图片的数据集中,其中至少有十万张图片包含猫。软件也许能正确的将它们进行区分,也有可能区分错误,但它会在每一次尝试中进行学习。

那么,“我想要的相册追踪应用程序”的有效约束又是什么呢?目前,这个问题仍在我们所能解决的范围之外。

目前发展

目前,人工智能虽然还不能创造出一种能够满足用户意图的应用程序,但是它在一些简单的应用场景中已经得到了较好的应用。我们现在所达到的,是能从大型数据集中进行模式分析的人工智能。

如果我们可以把算法成熟的运用到数据集中,或许能够取得一些进展。例如,如果基于AI的应用程序可以访问大量人工创建的工作流程,那么它可以很好的预测出您目前所处工作流程的下一步。

换句话说,我们将现在所拥有的算法的功能称之为“下一步最佳行动”。我们可能仍然需要更多的努力,使得软件了解我们对应用程序的要求,目前,我们能够借助AI探寻到达此目标的步骤。

对于找到“下一步最佳行动”,AI能够提供一些建议,但是不能够系统的构建出整个算法,这看上去更像增强型智能而非人工智能。

我们在试图创建一类软件,它们能够表达出人类意图,而并不仅仅是自动解决问题。当然,我们仍需要在构建应用程序时伸出援手,但尽可能的让这个过程变得简单。

基于此,新兴的低代码或无代码平台市场在这个方向快速创新发展也就显得不那么奇怪了。

如今的低代码或无代码平台能够支持复杂的,特定领域的声明式语言,使人们能够以类似英语的表达式(或其他人类语言)表达他们的意图。
他们还具有将应用程序和应用程序组件用模板表示的能力,使用户能够以“拖放”这种简单的方式对应用程序进行组装。

现在,许多低代码或无代码平台供应商正想办法将AI应用其中,这将会增加应用程序创建者的能力,并有助于他们指定他们想要应用程序遵循的算法。

或许有那么一天,我们可以直接告诉这些平台我们的需求是什么,然后它们就会自动为我们编写出来。虽然现在我们的技术还没有发展到这个程度,但是今天,我们已经比低代码或无代码平台更加接近目标,加上创新正以惊人的速度发展着。我相信这种等待不会太久。

数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

以上为译文

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Can AI Write Its Own Applications? It's Trickier Than You Think》,作者:Jason Bloomberg,译者:Elaine,审校:袁虎。

文章为简译,更为详细的内容,请查看原文

原文链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

希捷银河声音大_【推仔说新闻】那款硬盘它终于来了 希捷推出首款双磁臂硬盘...

经常关注科技新闻的朋友们应该都知道,现在机械硬盘领域可以说是被固态硬盘冲击的不清,而对于我们广大用户们来说,HDD这一个储存介质就被我们更多的用来充当仓库盘使用,毕竟现在的固态已经下探到白菜级别的价格了。但是对于那些HDD…

(需求实战_进阶_06)SSM集成RabbitMQ 订阅模式 关键代码讲解、开发、测试

背景: 为了减轻服务器的压力,现在原有项目的基础上集成消息队列来异步处理消息! 此项目是企业真实需求,项目的代码属于线上生产代码,直接用于生产即可! 此项目采用MQ发送消息模式为:订阅模式,如果对RabbitM…

【目瞪口呆】通信机房内部长这样

戳蓝字“CSDN云计算”关注我们哦!作者 | 小枣君责编 | 刘晶晶大家好,我是小枣君。一直以来,我都在努力给大家做通信知识科普,也写了很多有趣的文章。不过,文章再有趣也只是文字,不是实物。现实生活中&#…

NLP的ImageNet时代已经到来

摘要: NLP领域即将巨变,你准备好了吗? 自然语言处理(NLP)领域正在发生变化。 作为NLP的核心表现技术——词向量,其统治地位正在被诸多新技术挑战,如:ELMo,ULMFiT及Open…

湖南计算机股份有限公司hcc-pr2e,PC台式机电脑如何连接使用HCC PR2E/K10打印机

满意答案一、本地打印机安装1.下载驱动要想连接打印机,首先我们要保证我们的电脑有安装的驱动。如果没有那么我们就要下载驱动(当然如果你有驱动盘就可以直接用)。下载时一定要认真筛选,小编就下了一堆乱七八糟的附属软件。2.安装驱动点开软件&#xff0…

mysql字段分隔符拆分_面试题Mysql数据库优化之垂直分表

在日常的开发工作中,除了JAVA相关的技术,打交道最多的就是Mysql数据库,当数据积累到一定程度,比如500W时就会难免出现一些慢sql,对数据库的优化方式有很多,比如通过增加合理的索引,今天我们来说…

python print用法不换行_python3让print输出不换行的方法

python 3.x版本print输出不换行的格式如下: print(x, end"") 其中,end"" 可使输出不换行,不能省略。 举例:输出结果:内容扩展: python3.x中如何实现print不换行 大家应该知道python中p…

使用Numpy和Opencv完成图像的基本数据分析(Part II)

摘要: 使用Numpy和Opencv完成图像的基本数据分析后续部分,主要包含逻辑运算符操作、掩膜以及卫星图像数据分析等操作 在上一节中,主要是介绍了图像的基本知识以及OpenCV的基本操作,具体内容参见“使用Numpy和Opencv完成基本图像的…

(需求实战_进阶_07)SSM集成RabbitMQ 订阅模式 关键代码讲解、开发、测试

接上一篇:(企业内部需求实战_进阶_06)SSM集成RabbitMQ 订阅模式 关键代码讲解、开发、测试 https://gblfy.blog.csdn.net/article/details/104219096 此项目采用MQ发送消息模式为:订阅模式,如果对RabbitMQ不熟悉,请学习…

分布式事务方案这么多,到底应该如何选型?

戳蓝字“CSDN云计算”关注我们哦!作者 | 温卫斌责编 | 刘晶晶源自 | dbaplus社群作者介绍温卫斌,就职于中国民生银行信息科技部,目前负责分布式技术平台设计与研发,主要关注分布式数据相关领域。微服务兴起的这几年涌现出不少分布…

造大专计算机学历,广昌县职业技术学校计算机应用专业助您 掌握一技之长获大专学历...

——专题宣传报道之四:计算机应用专业计算机应用专业一直是广昌县职业技术学校开设的特色专业。该专业由一批经验丰富、专业优秀的教师任教,主要学习计算机操作、组装、网络应用、影视后期制作、平面设计、文档管理等理论知识和实训课程。特色一&#xf…

阿里云正式推出消息队列Kafka:全面融合开源生态

摘要: 在全面兼容Apache Kafka生态的基础上,消息队列Kafka彻底解决Apache Kafka稳定性不足的长期痛点,并且支持消息无缝迁移到云上。 近日,阿里云宣布正式推出消息队列Kafka,全面融合开源生态。在全面兼容Apache Kafk…

异常将上下文初始化事件发送到类的侦听器实例_Spring的Bean实例化原理,这一次彻底搞懂了!...

前言之前分析了Spring XML和注解的解析原理,并将其封装为BeanDefinition对象存放到IOC容器中,而这些只是refresh方法中的其中一个步骤——obtainFreshBeanFactory,接下来就将围绕这这些BeanDefinition对象进行一系列的处理,如Bean…

代码整洁之道(一)最佳实践小结

摘要: Any fool can write code that a computer can understand. Good programmers write code that humans can understand. 普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。 Any fool can write code that a computer …

(需求实战_01) SpringBoot2.x 整合RabbitMQ_生产端

文章目录一、依赖配置引入1. 引入SpringBoot整合RabbitMQ依赖2. 生产者配置文件3. 主配置二、代码Conding2.1. 生产者代码2.2. 实体对象2.3. 测试类一、依赖配置引入 1. 引入SpringBoot整合RabbitMQ依赖 <!--springboot整合RabbitMQ依赖--><dependency><groupI…

ue4集合类型_UE4-Sockets

Sockets(套接字)套接字为通信的端点。通过网络通信的每对进程需要使用一对套接字。套接字组成: IP地址 端口号套接字采用客户机——服务器架构。服务器通过监听指定端口&#xff0c;来等待客户请求。实现特定服务的服务器监听众所周知的端口:telent服务器端口,23ftp服务器监听…

全域图像搜索给你更精准的搜索体验

摘要&#xff1a; 2018飞天技术汇&#xff0c;阿里巴巴机器智能技术实验室的刘磊带来题为全域精准图像搜索介绍的演讲&#xff0c;主要从四个方面进行了阐述&#xff0c;第一部分介绍了图像搜索的基本概念&#xff0c;第二部分主要是讲解了图像搜索的技术架构及其优势&#xff…

【这些都不知道你就是个弟弟】Docker常用命令

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 程序员欣宸转自 | 企业博客责编 | 阿秃除了基本的docker pull、docker image、docker ps&#xff0c;还有一些命令及参数也很重要&#xff0c;在此记录下来避免遗忘。环境信息以下是本次操作的环境&#xff1a;操作系统&…

rx ajax,ajax_RxJS 中文文档_w3cschool

Rx 对象上有一个 ajax 运算符。const ajax: any;描述它使用以下请求对象创建 Ajax 请求的可观察对象&#xff1a; 网址&#xff0c;标头等或网址字符串。使用 ajax()来获取从 API 返回的响应对象。import { ajax } from rxjs/ajax;import { map, catchError } from rxjs/operat…

php 模数 指数 公钥生成_php实现JWT认证

什么是JWTJWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息&#xff0c;以便于从资源服务器获取资源。比如用在用户登录上。JWT定义了一种用于简洁&#xff0c;自包…