我们距离AI编程还有多远?
近几年来,人工智能的信息以不同形式霸占着我们的眼球,我们知道AlphaGo、微软小冰、Sophia,了解过自动驾驶、无人机、智能家居等,深知人工智能是在记忆力、学习力、运算力方面都远超人类的存在,但人工智能在我们脑海中仍然难有一个清晰的形象。为什么?

现在几乎所有人都在谈论AI,那么
1.人们常说的AI是什么?
AI主要可分为3类,目前人们所说的的人工智能AI是特定领域的人工智能,在学术上还有通用人工智能AGI,它的定义其实是非类人的人工智能,它没有感情,没有自我意识,但是它是一个通用的人工智能;还有一种经常出现在科幻小说、科幻电影里的叫做强人工智能,他们是有自我意识的,即类人的人工智能。
那么目前技术上已经实现的人工智能是怎样产生的呢?以老师(人)教学生(AI)识别猫和狗为例,来看人工智能是怎样产生的。

我们都知道老师在上课之前要准备大量的教学资料,这个过程就相当于AI在数据处理,场景处理等。老师准备出来的教案其实就是大数据,接下来老师可能会开始教学生识别猫和狗,这个过程其实就是AI的深度学习。
通过不断的学习,在学生已经拥有一定的知识储备的时候,老师可能就要出题考核学生了,老师出的题目可能是教案上没有的,那么学生(AI)就要对此作出一个判断,给出答案。老师根据学生的答案然后纠正学生的错误,周而复始,一个强大的猫和狗的识别AI就产生了。
2.
AI能否实现自动编程?
人类:给我个客户管理系统
AI:收到,马上执行
……
AI:编程已完成,请慢用
这样的场景,目前的人工智能是不可能实现的。因为软件≠编程,它包括编程,编程只是软件中的一个过程,要完成软件工程这件事情(如果要达到上述假设的效果)至少要强人工智能才能实现。而目前强人工智能发展相对通用人工智能的发展是停滞不前的。
那么比较可能实现的AI自动编程的场景是什么呢?
AI可以在需求的搜集、需求的分析形成一套标准的需求建模,完成一个非标化信息输入到一个标准化的建模输出的一个过程。

在开发编码的时候,以开发一个函数为例,人类在开发的时候可能通过借助某些工具譬如查手册、自己的经验、工具软件等等,而对于AI来说,只要给它若干样板数据,它可以自己理解并找出规律,然后智能编写出算法。

在系统测试中,AI可以智能检查不规范的程序并且修复BUG,最后输出的就是一个已经测试通过的项目。

上述这些场景是不是很美好?那这些离我们远吗?
其实AI编程的实现程度取决于当前人工智能发展程度。而人工智能的发展很大程度上取决于三大方面,即硬件,数据和算法。
其中,人工智能算法是人工智能实现所需要具备的基础,底层硬件是支撑人工智能应用的前提,为整个人工智能的运算提供算力。而大数据,是决定能否产生某个特定的人工智能,以及人工智能的智能程度的必要因素。
此外,人工智能的发展离不开云计算,因为没有云计算,就无法实现大数据存储与计算;而人工智能算法多是依赖于大数据的,没有数据,就算有人工智能算法也没用。
所以说云计算是人工智能的基础计算平台(虽然不是所有的人工智能计算都在严格意义的云平台上进行)。你也可以简单的认为:人工智能=云计算+大数据。
众所周知,云计算有三种服务模式,即IaaS、PaaS和SaaS。此前PaaS一直属于“夹缝中求生存”的状态。随着传统企业数字化转型的加速,以及互联网企业的迅猛发展,企业业务都将上到“云端”,PaaS的重要性急速凸显。

对于中小企业来说,他们迫切需要一款可以降低企业上云的门槛、难度、周期、成本的产品。在这样的背景下,惟快云定制应运而生。

惟快云定制是洪睿科技自主研发的一款应用可视化配置PaaS平台,给企业赋能,让企业快速实现信息化。在惟快云定制平台,用户可以自由开发各种企业应用软件,譬如OA、CRM、ERP等企业管理系统,还可以根据用户的需求自定义开发组件、函数等,甚至满足系统扩展和高度定制需求。
目前,惟快云定制平台已经积累了大量信息化项目的数据,未来,惟快云定制将会把编程过程中的业务场景数据形成标准化,使AI编程成为可能。
以AlphaGo为例,它之所以会完胜李世石和柯洁背后是因为有着庞大的数据库做支撑,人类棋手可能只想了三步,它三百步都想好了,由此可见数据的魅力。同理,如果有庞大的数据输入,软件工程人工智能化也不是不可能。
3.AI会取代程序员吗?
AI可能会是程序员的好搭档、程序员的工具,但不会取代程序员。因为程序员的工作是一个创造的过程,而人工智能是对人的意识、思维的信息过程的模拟,它不是人的大脑,只能模仿人的思考能力。
在广泛,宏观的领域里,它无法像人一样有感情的互动,进行文化的创新,不会对不同人心理进行揣摩,也没有对音乐,艺术,诗歌的鉴赏能力。所以,在他看来AI是不能取代程序员的,至少在未来很长一段时间里不会。
我们距离AI编程还有多远?的更多相关文章
- 从来也科技UiBot 6.0社区版全线免费,看RPA距离“人人可用”还有多远
来也科技RPA产品UiBot 6.0社区版全线免费,背后的逻辑是什么? 来也科技CPO褚瑞:开发者生态才是RPA厂商的真正护城河 来也科技UiBot 6.0社区版全线免费,RPA距离真正人人可用还有多 ...
- Coursera深度学习(DeepLearning.ai)编程题&笔记
因为是Jupyter Notebook的形式,所以不方便在博客中展示,具体可在我的github上查看. 第一章 Neural Network & DeepLearning week2 Logi ...
- GitHub 热点速览 Vol.25:距离优雅编程你差个它
作者:HelloGitHub-小鱼干 摘要:如何优雅地夸一个程序员呢?vscode-rainbow-fart 作为一个彩虹屁的项目,深得程序员心,能在你编程时疯狂称赞你的除了你自己,还有它.除了鼓励之 ...
- IPv6启动五年后,距离我们究竟还有多远?
作者:RicardoIPv6拥有更好的IP拓展性,更高的安全保障以及更快的传输速度,互联网协会将2012年6月6日定为了世界IPv6启动日,距此5年后,国内外Cloudflare.又拍云等CDN服务已 ...
- 学会了这一招,距离Git大神不远了!
大家好,今天我们来介绍git当中一项非常重要的功能--交互式工具 有的时候如果我们要处理的文件很多,使用git add .等操作会非常有隐患,因为很有可能我们一不小心就疏忽了一些内容.如果我们使用一个 ...
- 游戏人工智能 读书笔记 (四) AI算法简介——Ad-Hoc 行为编程
本文内容包含以下章节: Chapter 2 AI Methods Chapter 2.1 General Notes 本书英文版: Artificial Intelligence and Games ...
- POJ 2187:Beauty Contest 求给定一些点集里最远的两个点距离
Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 31414 Accepted: 9749 D ...
- 游戏编程算法与技巧 Game Programming Algorithms and Techniques (Sanjay Madhav 著)
http://gamealgorithms.net 第1章 游戏编程概述 (已看) 第2章 2D图形 (已看) 第3章 游戏中的线性代数 (已看) 第4章 3D图形 (已看) 第5章 游戏输入 (已看 ...
- 花十分钟,让你变成AI产品经理
花十分钟,让你变成AI产品经理 https://www.jianshu.com/p/eba6a1ca98a4 先说一下你阅读本文可以得到什么.你能得到AI的理论知识框架:你能学习到如何成为一个AI产品 ...
随机推荐
- SQLSERVER数据库死锁与优化杂谈
死锁杂谈 当数据库死锁时,SqlServer会释放一个优先级较低的锁,让另一个事务运行:所以,即时去捕捉数据库死锁,是挺不容易的. 如果,数据库死锁比较长时间,那么死锁是可以被捕捉的. 可以用SqlS ...
- java之servlet入门操作教程一续
本节主要是在java之servlet入门操作教程一 的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建: ...
- .Net Core ORM选择之路,哪个才适合你
因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别的慢,导致系统体验比较差好多都改写Sql实现. 所以我 ...
- 基于Servlet+jsp的web计算器
基于Servlet+jsp的web计算器 这次老大为了让我们自己复习web中页面的跳转给布置得任务 天下代码一大抄,关键看你怎么抄 首先我想到的计算算法不是什么堆栈,是简单的(其实很复杂,但是我就只需 ...
- AI2(App Inventor 2)离线版服务器网络版
个人修改包括: 1.后台增加用户批量添加功能 https://gte.fsyz.net/node/1877 2.上传文件限制改为100M ,编译文件限制改为10M https ...
- nn.ConvTranspose2d的参数output_padding的作用
参考:https://blog.csdn.net/qq_41368247/article/details/86626446 使用前提:stride > 1 补充:same卷积操作 是通过padd ...
- 【机器学习笔记五】聚类 - k均值聚类
参考资料: [1]Spark Mlib 机器学习实践 [2]机器学习 [3]深入浅出K-means算法 http://www.csdn.net/article/2012-07-03/2807073- ...
- 注解ConfigurationProperties注入yml配置文件中的数据
在使用SpringBoot开发中需要将一些配置参数放在yml文件中定义,再通过Java类来引入这些配置参数 SpringBoot提供了一些注解来实现这个功能 ConfigurationProperti ...
- Oracle ASH报告生成和性能分析
我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315 对于局部的,比如某个页面列表sql,我们可以使用Oracle的 ...
- Spring 数据库读写分离
读写分离常见有俩种方式 1 第一种方式比较常用就是定义2个数据库连接,一个是Master,另一个是Slave.更新数据时我们取Master,查询数据时取Slave.太过简单不做介绍. 2 第二种方数据 ...