现在一提到人工智能,大家首先想到的就是Python,这就造成一种误解,很多人认为人工智能就是Python。这种想法是不正确的。首先,Python只是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言
现在一提到人工智能,大家首先想到的就是Python,这就造成一种误解,很多人认为人工智能就是Python。这种想法是不正确的。首先,Python只是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言;而人工智能,简单的来说就是人为的将程序写入机器中使其实现智能化,比如AlphaGo。所以,Python与人工智能显然是不同的。
Python与人工智能,就像我们统计数据选择用excel表格时,在需要用到加减乘除或者、函数等,只需要套用公式就可以了。而函数运行的背后,是C++/C#等语言已经编写好了代码,所以Excel只是工具和展现形式,并不是它做计算。同样的道理,在学习人工智能时,Python只是用来操作深度学习框架的工具,实际负责运算的主要模块并不依靠Python,真正起作用的是也是一大堆复杂的C++ / CUDA程序。
人工智能的核心算法,是完全依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。所以某种意义上其实C/C++才是人工智能领域中重要的语言。Python是这些库的API binding,要开发一个其他语言到C/C++的跨语言接口,Python是很容易的,比其他语言的门槛要低不少,Python的API是双向融合的,可以直接对外暴露封装过的Python对象,还可以允许用户通过继承这些自定义对象来引入新特性,甚至可以从C代码当中再调用Python的函数。
Python一直都是科学计算和数据分析的重要工具,都说时势造英雄,也可以说是人工智能和Python互相成就于对方,人工智能算法促进Python的发展,而Python也让算法更加简单。