人工智能是一定要学习python吗?还会用到哪些语
扫一扫
分享文章到微信
扫一扫
关注99科技网微信公众号
作为一个多年的从业者,我想说的是Python和人工智能是两个完全不同的概念,Python只是一种编程语言,而人工智能是一种科学方法,主要研究如何通过计算机实现类似人类智能的装置或者程序。Python作为一种计算机编程语言,可以作为实现人工智能的编程工具,但是它并不是唯一的选择。
先来简单介绍下人工智能的实现方法,目前主要有两种流派。
一种是基于神经网络的机器学习,也就是近年来随着Google的阿尔法狗战胜世界围棋冠军而再次(之所以用再次,是因为它曾经也火爆过一段时间,后来遇到技术瓶颈又沉寂了)火爆起来的技术。Google为了方便人工智能的开发,开源了TensorFlow库,该库可以极大的方便人工神经网络的开发与试验,受到了广大研究者的青睐,而作为开发TensorFlow的编程语言——Python自然也就成为研究者必学的工具。此外,还有FaceBook的开源项目PyTorch也是一个很优秀的机器学习库,同样也使用Python作为开发语言,这就又给Python增加了许多使用者。其实,还有很多语言也能进行人工智能开发,比如Matlab和C/C++也是一些广泛使用的语言,只不过编程过程会稍微复杂一些罢了。
还有一种人工智能的实现方法是基于演绎逻辑的推理方法,曾经火爆一时的专家系统就是基于这种技术,只是因为近几年深度学习如日中天,掩盖了它的光辉,这种模式的人工智能实现方法使用的编程语言则是Lisp和Prolog。
此外,还要提醒一下题注,想要学习人工智能,只会编程是远远不够的,它需要扎实的数学基础,从线性代数、概率过程、到微积分,甚至还有张量分析等,有了这些基础知识,才能看懂并改进各种学习算法。至于你的算法用什么语言实现,则相对要简单很多,当然Python就是一个不错的选项,比起其它语言更简洁,更易学,关键是有强大的库支持。
编程语言只是一种工具不论是Python还是其他语言,对于人工智能来说只是一种实现工具,所以未来任何一种语言都可以代替Python来实现人工智能的编译。
Python之所以随着人工智能爆火,是因为它的表达简单,目前所有的教程和教材都是基于Python的。
而且目前主流的TensorFlow系列、pytorch、openCV等框架都是用Python来开发的,Python以它强大的库和兼容性占领了人工智能这块的基础编程。
但是随着工业界的进入,很多人工智能的技术需要通过嵌入式和硬件结合,所以目前C和C++也开始焕发第二春。
然后还有一些偏门的用PHP和Java去实现,来满足甲方的一些变态要求,基本就是这些语言了。
为什么人工智能的研究都是基于算法,而不是基于“硬件”?
首先,问题就有问题,人工智能的研究既基于算法,又需要硬件。
NVIDIA每年更新显卡都不只是更新gtx 680、gtx780…gtx1080这些游戏显卡。如果你对人工智能、支持向量机、卷积神经网络等有了解,那你应该知道每次NVIDIA发布新卡都会有丽台的卡,价格比游戏显卡昂贵,从丽台 p100到p4000到现在的丽台GV100。每一次更新其计算能力都发生了飞跃。
那么问题来了,为啥研究人工智能就研究算法而不做硬件?其实这两方面都有人做,各司其职,做算法的人研究如何运用卷积神经网络进行识别,面对爆炸的信息量如何最大化榨取处理器的计算能力。而做硬件的行业操心如何能让其核心拥有更强大的计算单元,更低的功耗。
现在人工智能面临的问题,不是快和慢,而是有些事情做不到。根据现有的计算理论:即使把神经元近似的实现为一些计算芯片,即使用CMOS的方式搭出一个神经网络,它的计算能力和用软件写出来的卷积神经网络并没有本质的区别。
目前人工智能发展的困难不在于是否用硬件实现,而在于算法。
举个不恰当的例子,要想让马儿跑,得先让马儿走起来再说,现在马儿连站都站不起来,谈何马儿跑。
关于详细的如何选择,选择哪方面的研究,以及国内外领先的的课题组和相应的研究,我想,这个论文调研需要自己动手做才更深刻。我的导师常跟我说:“授人以鱼不如授人以渔”。希望你能学到点什么。
人工智能是研究,开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术学科。
人工智能的本质是像人一样思考和行为,甚至超人类。关键是运算能力,分析能力和处理能力。
所以,人工智能的研究基于软件,也基于硬件。
华为首款AI芯片麒麟970,植入了嵌入式神经网络处理器(NPU),创新HiAI移动计算架构,就像人脑一样,高速计算,传输和反应。
BAT亦正大幅投资AI项目,其中大部分和芯片相关。
没有硬件的支持,软件像是无风起不了浪。
图片来自于网络,谢谢大家。
99科技网:http://www.99it.com.cn