早期的AI主要用在运行原始Lisp运算的专用硬件上,由Lisp(LISt处理器)编程语言提供支持。Lisp是最早的语言之一,在处理项目列表方面非常高效。随后通用机器变得流行,编程模型也跟着流行起来。但是,随着机器学习(特别是深度学习)的重新兴起,新的方法和工具包又优化了这些数据流。本文将探讨机器学习与软件平台的融合。
早期的AI历程
人工智能与Lisp不可避免地交织在一起,因为它们是由同一个人提出来的,他就是约翰·麦卡锡 (1927-2011)。人工智能的最早形式比今天占主导地位的数字方法更看重搜索和符号处理。Lisp能简单自然地表示复杂数据,并且其对递归的使用(用于迭代和搜索)使其非常适合解决当时的很多问题。通过其交互式解释器(即REPL或读入-求值-打印-循环),Lisp使探索性编程变得更加容易,这非常适合用于解决尚未完全理解的问题。
但是Lisp的优势也是它最大的缺点,它的函数编程风格很难,同时为新的编程语言范式打开了大门。而且,尽管如今仍在使用函数编程,但更常见的是命令式、面向对象和多范例语言。
现代AI语言
虽然可以使用任意编程语言来开发AI应用程序,但其中也有优劣之分。无论是语言本身还是语言支持,某些语言都大大简化了AI开发。
逻辑编程
1972年引入的Prolog语言以一阶逻辑为基础,其程序由事实和规则定义。程序可接受查询,以便将规则应用于事实并产生结果。目前,Prolog仍然广泛使用于专家系统、自动规划系统等应用中。Prolog最初设计用于自然语言处理,目前仍在这方面有所应用。
通用语言
在引入Prolog二十年后,出现了一种名叫Python的通用语言,其设计的核心是代码可读性。尽管早期引起人们兴趣的是Python作为用于编程教学的教育语言,但现在它已成为各个领域广泛使用的语言,其中就包括人工智能和机器学习。Python的主要优点之一是其庞大的库集和工具包,有了这些库集和工具包,构建应用程序更加简便。例如,在构建深度学习应用程序时,Python可与TensorFlow开源工具包配套使用。在希望部署深度学习,而又不想开发所需的详细深度神经网络结构时,这就非常有优势。
统计计算
R语言使用了类似的模型,它既是一种语言,又是一种使用图形表示进行统计计算的环境。R是一种高度可扩展语言,可通过软件包集成进行扩展。软件包可汇集某个具体应用程序的功能和数据,然后将这些功能和数据用于统计函数等R程序或整个深度学习工具包。截至2020年,已有超过1.5万个数据包可供R语言使用。
新函数方法
尽管Lisp在当今机器学习中主要充当注脚,但它的函数根已经催生了遵循该范例的新语言。Haskell语言是一种纯函数语言,具有强大的类型系统,这种系统可产生更安全的代码;在考虑机器学习和物联网设备爆炸式增长时,这是一个非常有用的特性。Haskell尽管缺少适用于Python和R的广泛库集,但它包含用于机器学习工具包的绑定,因此能够轻松构建机器学习应用程序。
工具包
在开发机器学习应用程序的过程中,随着语言的发展,工具包和库也在发展。这些工具包(例如TensorFlow)为语言提供了构建复杂机器学习应用程序的能力,而无需从头构建这些功能。TensorFlow提供了与Python、Haskell和R等多种语言的接口,便于构建和部署深度学习应用程序。
总结
AI概念及其数字后代机器学习的形成,推动了语言与工具包的共同发展。语言提供用于构建各种应用程序的通用功能,而工具包则通过特定的机器学习能力来扩展这些语言。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !