一、入门准备
(一)理解人工智能概念
在开始编程AI之前,需要对人工智能有一个基本的理解。人工智能是一种让机器模仿人类智能行为的技术,它涵盖了许多领域,包括机器学习、深度学习、自然语言处理等3。
(二)学习编程基础知识
- 选择编程语言
- Python:在AI、ML(机器学习)和数据分析的所有其他语言中,它排名第一,是一种易于学习且广泛应用于AI开发的编程语言。Python中可用库的数量是其他语言所无法企及的,是人工智能研究的前沿语言,拥有最多机器学习和深度学习框架,也是AI研究者几乎都掌握的语言。例如在自然语言处理(NLP)、机器学习等方面都有对应的库可以使用1。
- JVM系列语言(Java,Scala,Kotlin,Clojure等):也是AI应用开发的绝佳选择。无论是自然语言处理、张量运算还是完整的GPU加速深度学习堆栈,都可以使用大量的库来管理流水线的各个部分,还可以轻松访问大数据平台。并且Java 8和Java 9提供了新的语言结构,改善了编写Java代码的体验1。
- C/C++:在开发AI应用时,如果在嵌入式环境中工作,并且无法承受Java虚拟机或Python解释器的开销,那么C/C++就是很好的解决方案。可以选择使用一些库来编写自己的代码直接在GPU上运行,也可以使用TensorFlow或Caffe以访问灵活的高级API。结合C/C++级别的速度与类型和数据安全性,Rust是实现产品级性能且不会造成安全问题的不错选择1。
- JavaScript:谷歌发布了TensorFlow.js,这是一个WebGL加速库,允许在Web浏览器中训练和运行机器学习模型。虽然目前能够访问的机器学习库与其他语言相比有所局限,但未来可能会在AI领域有更多发展1。
- R:是数据科学家喜欢的语言,如果有一组专门的R开发者,那么将R与相关工具搭配使用,进行研究、原型设计和实验是有意义的,不过在AI编程中的应用相对前面几种语言没那么广泛,并且看上去将会越来越没落1。
- 学习方式
- 可以通过在线教程学习编程基础知识,例如有很多网站提供Python、Java等编程语言的入门教程。
- 阅读相关书籍,如学习Python编程可以阅读《DiveIntoPython3》这本书,它包含了Python编程中所需要的大部分知识4。
- 参加编程课程,一些线上或线下的编程课程可以系统地教授编程语言知识。
二、深入学习
(一)掌握数据分析和统计知识
在学习AI编程的过程中,数据分析和统计知识非常重要。以Python为例,可以学习如何使用Python进行数据处理和分析,以及基本的统计学知识,这将为后续学习机器学习打下坚实的基础3。
(二)学习机器学习和深度学习
- 机器学习
- 观看Coursera的Andrew Ng机器学习课程,它能解释基本概念,并让学习者很好地理解最重要的算法。也可以查看TutsPlus课程MachineLearningDistilled了解ML算法的简要概述。《Programming Collective Intelligence》这本书是学习ML算法在Python中的实际实现的好资源,它包含许多实践项目,涵盖所有必要的基础。此外还有Perer Norvig的Udacity Course on ML、Tom Mitchell在卡梅隆大学教授的Another course on ML以及YouTube上的机器学习教程mathematicalmonk等资源可供学习4。
- 深度学习
- 关于深度学习的最佳介绍,可以选择《DeepLearningWithPython》,它不需要深入困难的数学知识,也没有超长的先决条件列表,而是描述了一个简单的方法开始深度学习,解释如何快速开始构建并学习实践上的一切。还可以查看Google上的相关课程,以及Sephen Welch对神经网络的解释。另外,Geoffrey Hinton的coursera课程Neural Networks for Machine Learning、MIT DeepLearning一书、斯坦福的UFLDL教程、Michael Nielsen的Neural Networks and Deep Learning一书等都是深入了解深度学习的资源4。
三、实践巩固
通过实践项目来巩固所学知识。例如可以从简单的项目开始做起,逐步增加项目的难度,将所学的编程知识、数据分析知识、机器学习和深度学习知识应用到实际项目中,这样可以加深对AI编程的理解,提高自己的编程能力。