想做人工智能必须要用python吗?你怎么看?

仲小九929


首先给出你要的答案,不是必须要用python,但python是主流。

然后再分析为什么。人工智能发展到今天,开源生态非常完善,深度学习相关的开源框架非常多,包括caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,deeplearning4j,matconvnet 等。除此之外还有国内各个创业公司和高校近期开源的各种框架层出不穷,例如旷视的MegEngine、清华的jittor、华为的MindSpore等等。

这里列举出其中较主流的12种,因为我们考虑的是使用框架来研究AI,所以这里主要关注接口语言。我们能发现一个现象,这12个框架有9种支持python,5种支持C++,2种支持Matlab。最重要的是,git star排名高的都是支持python的。

最后从实际应用的角度,我作为一名AI算法的工作者,大部分情况下使用的语言也是python,在涉及工程项目时会使用少量的c++。

综上所述,python绝对是研究人工智能的主流选择,其次是C++,再其次是Matlab。


算法之路


这是一个非常好的问题,作为一名科技从业者,我来回答一下。

首先,Python是一门全场景编程语言,当前在人工智能的很多细分方向都有比较广泛的应用,比如自然语言处理、计算机视觉和机器学习等领域,但是并不意味着人工智能研发一定离不开Python语言,实际上很多其他编程语言也完全可以替代Python,比如Java、C++、R、Go等。

人工智能领域之所以使用Python语言比较普遍,有三个比较主要的原因,其一是Python语言有非常丰富的库支持,能够让研发人员把更多的精力放在算法设计和算法训练等方面;其二是Python语言本身是一门全场景编程语言,有非常强的落地应用能力,而且语言生态也比较健全;其三是Python语言简单易学,很多人工智能平台也普遍支持Python语言,这对于普及人工智能技术也有一定的积极意义。

实际上,当前从事人工智能领域的很多研发人员往往都有使用多种编程语言的能力,比如大量的人工智能研发人员都会掌握C、Java等编程语言,之所以大家更愿意采用Python语言,还有一个重要的原因,那就是当前很多人工智能研发都处在实验阶段,此时并不会把性能放在第一位,而更注重算法的设计和验证,此时Python的优势就比较明显了。

人工智能领域的研发方向非常多,涉及到的知识体系也比较庞大,Python也并不是适用于所有的场景,实际上在机器人学领域,C语言的应用依然非常多。

最后,对于普通人来说,如果想抓住人工智能时代的机会,可以重点关注一下Python语言,目前开始落地应用的人工智能平台,大多都支持基于Python进行行业应用开发。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!


IT人刘俊明


人工智能学习就是以计算机核心课程(数学基础课、学科基础课)为学科主线,以 机器学习、知识表示、计算机视觉、自然语言处理 为学科特色,以学科交叉为辅助,进行相关理论知识和实践技术能力的全面培养。

人工智能不是要以Python为基础。而是Python是作为当前开发人工智能,尤其是深度学习程序,快速搭建人工智能解决方案原型的首选语言。至于人工智能程序在工业和商业场景中进行实际部署。往往还是要进一步开发C++等执行效率比较高的程序。对于性能要求不是特别高的地方,也可以用C++语言开发常用功能的程序库,而使用Python作为运维脚本,加载这些C++程序库,然后读取配置文件,执行相应的逻辑。

那人工智能学什么?人工智能需要学习的主要内容包括(引自清华大学计算机系自然语言处理实验室刘知远副教授):
(1)数学基础课:清华CS和南大AI都需要学习的有 微积分(或数学分析)、代数与几何、离散数学(或数理逻辑、图论等)、概率论。南大AI新增 最优化方法,这在清华CS为研究生课程。


(2)学科基础课:清华CS和南大AI都需要学习的有 程序设计基础、数据结构、人工智能导论、计算机原理、数字电路、系统控制。南大AI新增 机器学习、知识表示、计算机视觉、自然语言处理 作为学科基础课,这在清华CS均为高年级选修课或研究生课程;清华CS需要额外学习 电路原理、信号处理、操作系统、编译原理、形式语言与自动机,这些被南大AI列为专业选修课。
(3)专业选修课:南大AI设立了很多AI相关的专业选修课,如 自动规划、概率图模型、强化学习、神经网络、深度学习等,在清华CS均为人工智能方向研究生课程;而南大AI设立的很多认知科学、神经科学、计算金融、计算生物学、计算语言学等交叉课程,在清华则分散在各院系开设的课程。

学习人工智能要主动参与科研工作的全过程,树立专业志趣,培养独立学习的能力、自我学习的习惯、提出问题的意识、以及独立解决开放问题的能力。

现在最火的深度学习,属于机器学习,而机器学习又是人工智能的一个分支领域。

就说深度学习吧,深度学习在图像识别、语音识别、翻译等领域,人工智能基本具备人的识别能力甚至超越了人类(当然深度学习在推理和认知等方面仍十分欠缺),基于这些能力应用到了很多场景,如医疗、公共安全等。

深度学习主要模型有的CNN,RNN,Autoencoder,GAN,Reinforcement Learning。学习和应用这些不同的神经网络模型,有TensorFlow 、PyTorch、MXNet等很多开发框架,可以采用C++,Lua语言,Python语言。

而当前全世界人工智能、机器学习的首选语言确实就是Python。python 是一门兼具简单与功能强大的编程语言,它专注于如何解决问题、自由开放的社区环境以及丰富的第三方库,无需浪费时间去造轮子,各种Web框架、爬虫框架、数据分析框架、机器学习框架应有尽有,拿来即用。


分享到:


相關文章: