很多同学都问过我,如果对人工智能感兴趣,都应该学什么?学习的路径或者顺序是怎样的?
在这篇文章中,我将结合大量的书籍或者公开课信息(以斯坦福大学的公开课为主),聊一聊:如果系统地学习人工智能,都需要接触什么课程。
为了让内容整体更有体系,我将所有的内容分成四个阶段。每个阶段可以简单理解成对应大学的一个学年。也就是如果大家假想自己现在高中毕业的话,根据这篇文章提供的“学习地图”,使用四年的时间,就可以在人工智能的深度和广度上都有相当地理解和掌握了。
对,你没有看错,是四年的时间。相当于读一个本科的时间。
所以,这不是一份广告。因为所有培训广告只会告诉你四个月就够;但所有人都明白四个月是不够的。如果四个月就可以掌握人工智能,人工智能也太简单了,它也就不值钱了。
当然,由于每个人基础不同,所以对于这份比较全面的学习路径,有些同学可能已经掌握了相当的内容,那么就可以跳过一些内容,加快速度了。
以下为正文内容:
第一年:语言基础+数学
首先,人工智能作为计算机科学的一个分支,是需要编程的。想要编程,大家必须学习计算机语言基础。
1.Python
对于计算机语言的选择,首先,毋庸置疑,需要学习Python语言。关于Python语言语法基础的学习,我就不推荐资源了。网上收费的免费的各种资源太多了。
另外,在掌握了Python基础语法以后,对于Python的应用,我在我的开源分享第三期中分享的第一个资源,非常值得看一看。现在在网上完全可以免费查看。
这本书也有中文版,叫这个名字:
2.C++
除了Python,我还推荐学习一门编译型语言。对于这个语言的选择,于人工智能方向而言,我个人推荐C++。因为真正的人工智能工程师,深入到底层,是需要大量使用C/C++的。而Python更多的是一种“前端”工具,提供接口调用而已。
对于C++的学习,去看《C++Primer》就好了。如果有Python基础,看这本书应该没有什么难度。当然,C++深入进去可以很复杂。但是在这个阶段,一本《C++Primer》足以。
3.程序运行底层C
下面,我要推荐一门斯坦福大学的基础课,CS:ComputerOrganizationSystems。如果翻译过来的话,就是计算机的组织和系统。
这门课程听起来很深奥,但其实是一个不折不扣的基础课程。这门课程使用的语言是C语言。但是学习的关键完全不是C语言的语法知识。事实上,如果大家已经学习了C++,掌握C语言的语法是很容易的。
这门课程的核心是借助C语言,了解计算机程序运行的一些低层级制。比如位运算;比如指针;比如内存管理;比如内存中的栈和堆之间的区别;比如类型机制乃至泛型的底层实现;包括一些底层优化等等内容。另外,这门课程也会包含一些汇编基础。
传送门:
转载请注明:http://www.0431gb208.com/sjszyzl/768.html