【转载】程序猿转型AI必须知道的几件事!
历史上AI火过两次,但是最终都已销声匿迹作为结束。这次AI大火的原因:AlphaGo 4比1战胜李世石,相对于一些外行人的恐慌和恐惧,其实很多业内人员在这场世纪之战结束后,都为人类点上了一个大大的赞。因为对于了解AlphaGo背后技术的那些人来说,人类有如此的计算能力和宏观把握能力已经很了不起了。但是,就在前不久AlphaGo2.0在乌镇完胜了柯洁。事实还是证明了人类在某些方面还是有一定的缺陷,毕竟万事万物都有它的缺陷,残缺才是自然界真正的魅力。这次AI浪潮激发了国内很多程序猿的兴趣,很多人也在开始了解什么是AI、什么是深度学习。
由于资源的限制以及国内一些错误声音的存在,很多人都认为AI对于个人学习来说是遥不可及的。我个人认为,现在是接触AI的最佳时刻,无论是从商业运用还是技术深造。因为一些技术已经相当成熟,并且运用到了实践中。但是,类似于上个时代的“操作系统”级别的AI技术还未出现,一旦出现势必会造成一场热潮。与其那时当学生,不如此时当学生。但是前提是,必须要对AI有一个正确的认识,否则只能在AI的世界里乱撞。
首先来了解一下AI到底需要哪些条件:数据是基础,NO data,NO AI,汽车没油就是一堆废铁,不管它的发动机多么强劲。算法是引擎,尤其是深度学习算法,算的上是整个AI时代的引擎。有了深度学习算法,数据才能发挥更大的价值。计算能力是标配,没有计算能力,就没有办法计算当今世界如此大的数据。
接下来我们就来说说我们转型AI需要知道那些事情:
一:掌握大数据相关知识。(数据思维很重要!)
数据对于AI的重要性可以排到首位,正确的理解应该是没有数据就没有AI。其中大数据一个核心的思想——相关性[1],我个人认为也是AI的核心思想。举个例子:假如一个用户在买了这一件商品后,有买了另一件商品。可能这个时候还没有办法确定这两件商品有什么关系,但是如果十个人、二十个人、甚至上千人都有这样的购买行为呢?这个时候,我们就需要考虑这两件商品之间是否存在相关性,随着数据的不断积累,这两个商品之间的相关性指数越来越逼近于1。这个时候,系统其实就有点接近AI或者MI(机器智能)。因为在用户购买的过程中系统能更加准确的为用户推荐,随着数据的不断积累,以及系统模型的不断优化,这个推荐结果越来越正确。直到最后,用户购买这个商品,接着就会购买系统推荐的另一个商品,其实就这是AI。
AI让机器或者说是系统比人本身更了解自己需要什么东西,当然这种AI的出现,会让用户在购买行为这个动作产生的前后过程中,都不用去思考到底需要买什么,为什么买这个东西,当然也不会忘记买什么东西。
大数据相关性的强度其实在一定意义上也决定了AI的智慧,强度越大越智慧。用另外一个观点就是:数据的聚合度决定了AI的智慧度。
二:衔接AI时代的编程语言:Python的掌握。(算法)
这对于以前Python的程序猿来说,可能是一个非常不错的消息。为什么我会认为Python会成为衔接AI时代的编程序言呢?第一:说实话,在接触Python之前,我也接触过C/C++(入门级别)、java(门外级别),现在接触Python纯碎是因为它强大的数据处理能力还有获取数据的能力。当然R和Hadoop在处理数据上也非常强大,但是Python有很多可调用的深度学习扩展类库。而且国外绝大多数关于深度学习的框架也都支持Python,很多开源的深度学习案例也大多数Python写的。因为这些原因,我判断Python会在这两年很火。
当然,其他的语言也都能够进行深度学习的研究,Python只是相对好那么一些。Python在深度学习领域的相关书籍也很多,如果想了解,微博可以关注@爱可可-爱生活老师(良心推荐,绝非广告),或者直接搜索查找相关书籍。
三:云计算平台的选择。(计算能力)
云计算这几年发展势头非常强劲,国内阿里云独树一帜,其业务也正在进行全球化布局。第一,当然有第一的优势,技术和硬件配置当然没得说。我个人认为,云计算平台的选择在AI转型过程中将起到事半功倍的效果,好的平台不仅仅能够提供云计算该提供的服务,在相关技术方面也会提供一些不错的建议。而且,未来随着AI相关底层技术的完善和开放,作为开发者,如果让我们的应用跟云平台进行有效的连通,将给开放者带来很大的便利。
四:没必要非要去学特别底层的东西
这句话是说给大多数程序猿的,特别一点的,如果数学能力非常强并且实力雄厚的程序猿可以去接触底层的技术。现在关于AI特别底层的技术就像是上个时代,我们常用的操作系统和编程语言一样。只不过,现在AI时代的“操作系统”和“编程语言”,现在还没有真正的成熟。现在的程序猿大多是不知道操作系统具体怎么写的,编程语言具体怎么写的。但是,这丝毫不会影响我们去使用它。我们只需要了解接口的功能、包的功能等等,其他的具体这个功能怎么实现的,交给牛人去管,我们只管拿来用就好了。
现在很多互联网大公司几乎都在搞AI,其实,他们是在搞底层的技术。如果底层的技术成熟之后,它将成为类似于上个时代的Android、IOS、Windows、java等类型的产品。而这些产品不仅仅改变了世界而且还将为公司带来了巨大的收益。正在了解AI的程序猿应该知道,最近国内几家巨头都在打造AI的开发者平台,有的甚至开放了自己的算法,供大家参考。所以说,未来大多数的AI从业者还是会以AI平台开发者的身份进入AI领域。对于AI特别底层的技术,平台会给开发者提供接口,开发者可以使用相关的功能。科大讯飞董事长刘庆峰曾在世界人工智能大会表示,未来5到10年之内,人工智能将像水电一样成为社会生活的基础设施,与各个行业结合起来。
我个人认为特别底层的技术有:计算机视觉,自然语言处理,语音识别。其中国内有些公司在相关领域做的已经很不错了,并且已经开放了接口。
五:AI已经成功应用到了这些实际生活中。
今天的人工智能是“有用”的人工智能[1],李开复博士在他的新书《人工智能》这本书中说到。和前两次AI热潮相比,这一次AI,在多个相关领域表现出可以被普通人认可的性能和效率,开始在产业界发挥出它应有的价值。技术最终还是要应用到生活当中,如果想要学习AI就必须要了解现在商业化AI已经走到了哪一步,那些技术已经成功应用到我们的生活中。国内近期在AI领域动作频繁的除了百度就是阿里了,当然在公司战略上百度的ALL-in AI在一定程度上也算是推动了AI的发展。接下来我们就介绍几个AI的应用:
无人超市:阿里为了推动新零售的落地,设计的一整套无人店的解决方案。无人超市核心技术:计算机视觉,机器学习,IOT支付技术。当然后端还有非常强大的电商系统支撑,这也证明了以前互联网的业务是具有可延展性的。有些业务配置上AI的相关技术,可以更好的满足消费者的需求,同时也将会推动商业的进步。
无人驾驶汽车:国外做的最好的是谷歌,国内做的最好的是百度。无人驾驶汽车不仅仅只是运用了AI技术,准确的来说,无人驾驶技术就是集众多技术于一身的技术,其中最重要的AI技术就是运用的计算机视觉进行判定。
六:应用级别的AI是未来的主流。
现阶段AI正在迅速发展,但是AI并没有得到广泛的应用。一是因为相关政策没有落实;二是,AI时代的“程序语言”和“操作系统”还没有形成;三是,AI应用级别的技术需要来自对生活的细心观察。
前两个,对于我们大部分程序猿来说,有些困难或者是望尘莫及。但是第三个,应用级别的技术来自对生活的观察是我们每天都可以做到的事情。AI时代对于程序猿来说,是一个不可多得的机会。在互联网时代,我们程序猿经常听到一句话“我有一个好点子,就缺一个写代码的”,这句话在互联网刚刚兴起的时候,创造了很大的价值,但是随着互联网的发展,我们在听到这句话的时候,就觉得这句话肯定是出自一个骗子口中。但是AI时代,这句话又会重新发挥它的价值。
不要以为大公司可以只手遮天,AI时代不只是大公司的游戏,换句话说,AI时代每个人都有机会。对于程序猿来说,机会可能比一般人要大那么一丢丢,因为“近水楼台先得月”。
七:万事开头难,抓住重点才是王道!
程序猿在转型做AI的时候,一开始肯定会遇到很多困难。AI爆发的前提是数据和深度学习算法以及计算能力的提升。计算能力选择阿里云这样的云计算平台就可以得到解决,数据意识必须培养,深度学习算法必须了解。如果有能力深究当然最好,没有能力也不要慌张,因为AI时代,大多数的开发者不需要知道底层技术是怎样具体实现的,有一个大致的概念即可。正如今天,你在导入包或者库的时候,你用的时候还需要去看看它是怎么样实现的吗?这其中的道理是一样的,但是数据意识必须要培养,这些数据是用来干什么的,分析这些数据会得到哪些结论。
我个人估计未来互联网公司会因为AI的出现,会成为比咨询公司更专业的咨询公司。而且,每个程序猿配上一些行业知识后都可以成为资深的咨询专家。
总结:
程序猿作为互联网时代的产物,不得不说程序猿这类群体已经成功的改变了这个世界。改变了我们日常的生活习惯,由于这些技术的出现,我们的日常生活正在变得越来越好。但,越来越好是没有尽头的。阿里巴巴集团技术委员会主席王坚曾说:人工智能的进步来源于互联网基础设施的不断进步,离开互联网孤立的来看人工智能,是没有任何意义的。AI的出现,必定会重新改变我们现在这个世界,作为互联网基础设施的搭建者——程序猿,再次扛起技术改变世界这杆大旗,理所当然。
【转载】程序猿转型AI必须知道的几件事!的更多相关文章
- 一个骑行者的独白,很不错,我就转载了。--原名是--<<关于认怂这件事>>
一个骑行者的独白,很不错,我就转载了.--原名是--<<关于认怂这件事>> PS:我不知道这些是对是错,但都不曾后悔,或许哪天我在生活面前也怂了,然后跑回大城市乖乖的当个小 ...
- 微信小程序:开发之前要知道的三件事
前言 微信之父张小龙在年初的那次演讲中曾表示:"我自己是很多年的程序员,我觉得我们应该为开发的团队做一些事情".几个月后,微信正式推出微信应用号(即微信小程序),在互联网中掀起了又 ...
- java程序员最不愿意看到的十件事
0.遍历结果集并构造对象如果你是个时髦的开发者而不是专业人员,显然你从某篇博客中读过有开发者遇到Hibernate的“性能问题”,因而认为ORM都不好,觉得手动编码“明显更好”.喜欢的话你当然可以用 ...
- [转载]做一个 App 前需要考虑的几件事
本文转自http://limboy.me/tech/2016/07/06/starting-an-app.html ========================================= ...
- 从程序猿到SAP产品经理,我是如何转型的?
文章作者:Jason Xia(夏建军) Jerry: 今天的文章来自Jason Xia, 我的老同事,和我一样从2007年进入SAP成都研究院工作至今.这篇文章讲述了Jason是如何从一名SAP资深开 ...
- 程序猿的还有一出路:大数据project师
非常多年前我非常郁闷地写了一篇博客<程序猿的出路在哪里?>,之所以郁闷.我记得是看了中国男足的比赛,不由自主对照自已苦逼的程序猿生涯,以前对中国软件的感情有如对中国男足,绝望到没有不论什么 ...
- 程序猿必备软件转载自 www.uhdesk.com
XMLSpy 2012 企业版中文破解版 软件描写叙述: XMLSpy是XML(标准通用标记语言的子集)编辑器,支持WYSWYG.支持Unicode.多字符集,支持Well-formed和Valida ...
- 连载《一个程序猿的生命周期》-28、被忽悠来的单身HR(女同志)
一个程序猿的生命周期 微信平台 口 号:职业交流,职业规划:面对现实,用心去交流.感悟. 公众号:iterlifetime 百木-ITer职业交流奋斗 群:141588103 微 博:h ...
- 蒙特卡洛树搜索算法(UCT): 一个程序猿进化的故事
前言: 本文是根据的文章Introduction to Monte Carlo Tree Search by Jeff Bradberry所写. Jeff Bradberry还提供了一整套的例子,用p ...
随机推荐
- 【JavaScript】通过封装自己的JSONP解决浏览器的跨域问题(Ajax跨域)
问题引出:要发送Ajax请求,就必须使用HTTP请求?什么是跨域问题? 什么是跨域问题:如果两个页面中的协议.域名.端口.子域名任意有一项不同,两者之间所进行的访问行动就是跨域的,而浏览器为了安全问题 ...
- Ajax传递的参数如何在浏览器中查看
如图当需要在浏览器中知道Ajax传递的参数可以,点击浏览器的右键检查,点击XHR,此时要记得提交带有参数的Ajax页面, 这样才可以显示出来传递的参数
- luogu 2483 K短路 (可持久化左偏树)
题面: 题目大意:给你一张有向图,求1到n的第k短路 $K$短路模板题 假设整个图的边集为$G$ 首先建出以点$n$为根的,沿反向边跑的最短路树,设这些边构成了边集$T$ 那么每个点沿着树边走到点$n ...
- Linux下SuperLU安装
SuperLU安装 1.在家目录下建立文件夹superlu,进入该目录,获取安装程序并解压缩 mkdir superlu cd superlu wget http://crd-legacy.lbl.g ...
- 09.正则表达式re-1.正则表达式
1.正则表达式概述 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列匹配某 ...
- 23.partial update
主要知识点 1.什么是partial update(部分修改) 2.partial update的语法 3.在es内部partial update的实现过程 4.partial update优点 一. ...
- 【ACM】hdu_zs3_1003_绝对值排序_201308100742
绝对值排序 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submissi ...
- 《深入理解Android 卷III》第八章深入理解Android壁纸
<深入理解Android 卷III>即将公布,作者是张大伟. 此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分 ...
- Bootstrap的js插件之警告框(alert.js)
data-dismiss="alert"--为关闭button加入该属性能够使其自己主动为警告框赋予关闭功能. .fade .in--为警告框在关闭时加入动画效果. 很多其它细节參 ...
- Java程序猿的JavaScript学习笔记(9—— jQuery工具方法)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...