安芯教育 · 2020年08月21日

干货共享 | 人工智能本科4年课程清单

文章来源:Mihail Eric

毕业于斯坦福大学的“学霸”Mihail Eric,在自己的博客中分享了一份4年制人工智能学习课程清单。这些课程虽然是为AI和CS领域的初学者提供的,但Eric觉得这些课程直到今天都还在用,是基础必会的技能。

These courses are intended to provide both breadth and depth to newcomers in the fields of artificial intelligence and computer science.

微信截图_20200820132024.png
Mihail Eric的Twitter主页

Eric曾在斯坦福大学的NLP研究组里,与Christopher Manning, Percy Liang, Christopher Potts(三位巨佬)一起做研究,度过了3年非常充实的研究时光,收获颇多。同时Eric向ACL\EMNLP\NLP for AI work投稿论文,均已发表,目前正在担任ACL的审稿人,也是业内人工智能公司Alexa AI的工程师。

image.png

以下为推荐的课程,并附上了哈佛官网对应的课程介绍详情页。

Year 1: Build Out Your Fundamentals

第一年:构建基础

假设你没有CS的经验,这一年的大部分时间应该用在CS和机器学习的核心概念和算法上,推荐的课程有:

1.编程基础,这是AI从业人员必需具备的软件工程学的基本技能。课程为CS106B:
http://web.stanford.edu/class...

2.计算机系统,这门课的重点在于计算机的基础设计和构建,尤其是学习软件编译的时候,运行一个程序会发生什么,以及程序是如何在内存中运行的。课程为CS107:
http://web.stanford.edu/class...

3.算法概论,这门课包含了计算机算法背后的数学和理论基础,比如最优搜索算法和动态编程,以及如何分析这些算法的内存和优缺点。课程为CS161:
http://web.stanford.edu/class...

4.概率论,概率论和统计学是机器学习算法中的核心,尤其是分析数据在实战里很重要。课程为CS109:
http://web.stanford.edu/class...

5.线性代数,如何计算矩阵和向量,线性方程组,最小二乘法,这些都是机器学习需要用到的数学基础。课程为EE103:
http://web.stanford.edu/class...

6.多维微积分,调试函数的梯度,反向传播以及机器学习,这些都是经常用到的。课程为向量微积分(工程师):
https://www.coursera.org/lear...

Year 2: Explore Domains, Develop Systems Knowledge

第二年:探索领域,发展系统知识

AI本科的第二年,至少要明白人工智能的一些原理,应该用什么样的理论去解决问题,还需要加强对计算机系统运行的理解。

1.人工智能概论,这门课包括了人工智能领域所运用的研究,比如搜索,游戏,逻辑以及图像还有机器学习算法的应用。课程CS221:
https://stanford-cs221.github...

2.编译器,主要是讲编译器背后的设计和理论,你学了之后,至少应该了解一个编译器是如何构建的,还有编译器的模块化组件,也需要了解。如果你对语义识别感兴趣,可以好好琢磨一下编译器的设计和传统的自然语言处理堆栈之间的相似之处,非常有趣。课程CS143:
http://web.stanford.edu/class...

3.数据库原理,主要讲数据库管理系统背后的原则,比如关系数据模型、索引、模式等主题,但凡你想成为数据专家或者机器学习工程师,就必须要懂得数据库的原理。课程CS145:
https://cs145-fa19.github.io/

4.并行计算,并行计算这门课会讲Apache Spark到GPU这些系统背后的原理,课程CS149:
http://cs149.stanford.edu/fal...

5.操作系统,你如果想要擅长系统编程,就一定要上这门课,这门课是讲如何从头开始搭建一个操作系统,不仅需要设计系统,还需要明白如何调试和代码管理。课程CS140:
http://web.stanford.edu/~oust...

Year 3: Advanced Coursework to Gain Depth

第三年:高级课程拓展深度

这个时候应该开始学高级课程,开始NLP,BA,CV这些方向的研究,

1.机器学习,监督学习和模型训练的概念,比如偏差、方差,正则化以及模型选择,这些内容看上去简单,实际上每个AI从业者天天都在用的。课程CS229:
http://cs229.stanford.edu/

2.凸优化,这门课运用很广,比如统计学,机器学习,信号处理和其它使用凸优化的领域,虽然现在有不少问题都是非凸化的,但是你最好还是要懂背后的逻辑。课程EE364A:
http://web.stanford.edu/class...

3.概率图模型,像CV和NLP就会经常用到,所以还是需要了解。课程CS228:
https://cs.stanford.edu/~ermo...

4.数据挖掘,大数据与数据挖掘,这门课涵盖了处理大型数据集的技术方法,会运用到推荐算法、聚类以及大规模的数据集计算与分析,要知道每天产生的数量还是比较大的。课程CS246:
http://web.stanford.edu/class...

5.NLP,自然语言处理,让机器懂得文本数据的理论和时间,而且还会在这门课里学到传统自然语言处理,老师会教如何用深度学习技术来处理这些。课程CS224N:
http://web.stanford.edu/class...

6.基于CV的卷积神经网络,基本包含了深度学习背后的理论,比如CV模型就经常运用,只要学过人工智能课程的人,没错,是来自李飞飞教授的CS231N吧。课程CS231N:
http://cs231n.stanford.edu/

Year 4: Real-World Experience Is Essential

第四年:实践经验至关重要

经过前面3年课程的训练,你应该对计算机系统和人工智能概念、应用有了清楚的理解,找到你比较感兴趣的方向,拿起数据集,就要开始自己跑模型,做数据分析,调参还有解决Bug。想要成为一个真正的人工智能专家,不仅得学,还得上手练。

1.做研究项目,有的学校会提供这类课程,在这门课里,你需要深入研究整个项目的情况。课程CS341:
http://web.stanford.edu/class...

2.参加课题研究,主动去找研究生学长学姐,做他们的助理,将基础知识再过一遍,也可以选择自己开一个课题项目,进行研究,主要是让你有一个项目经验。

3.大厂实习,如果你要是时间管理的好,可以考虑在课余时间去AI公司实习,一般大厂都有这种3-6个月的实习机会,在实习里,不仅让你了解书本上的基础知识,还能使用基础知识进行落地的运用,这种应该算比较好的实战机会了。

While there’s a lot to learn, it’s an exciting time to be involved with artificial intelligence with countless opportunities and promising problem spaces. Good luck!

至此,你已经完成了一个完整的四年课程规划,为你未来成功的机器学习或数据科学的职业生涯准做好了准备!


来源参考:
《A Complete 4-Year Course Plan for an Artificial Intelligence Undergraduate Degree》
https://www.mihaileric.com/po...

《斯坦福大学——人工智能本科4年课程清单》
https://mp.weixin.qq.com/s/vy...

推荐阅读
关注数
2266
文章数
72
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息