来源:大数据文摘本文约2400字,建议阅读5分钟Eric 根据工作和学习经验总结。

今天和大家分享一份Stanford学长的人工智能本科 4 年学习路线和课程清单。

相信每个入行人工智能的老手,对自己过往的几年学习生涯都或多或少会有一些遗憾:如果我当年先从基本概念入手就好了,如果我当年把核心算法吃的更透一点就好了…

最近,一位在行业内工作了几年的斯坦福人工智能“师兄”就根据自己的工作和学习经验,为入学的师弟师妹们送出了一份大礼:人工智能的本科4年课程清单,希望想要了解人工智能的新生能够靠着这份指路图,少走弯路。

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

作为已经毕业的学长,Eric离开学校已经有一段时间了,总结了一下自己的学习和工作经历,Eric为自己的人工智能和机器学习的职业生涯,设计一个完整的4年制人工智能本科学位基础课程。这些课程是为AI和CS领域的萌新提供的,虽然是萌新定位,但Eric觉得这些课程直到今天都还在用,是基础必会的技能。

第1年,打基础

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

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

http://web.stanford.edu/class/cs106b/

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

http://web.stanford.edu/class/cs107/

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

http://web.stanford.edu/class/cs161/

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

http://web.stanford.edu/class/cs109/

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

http://web.stanford.edu/class/ee103/

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

https://www.coursera.org/learn/vector-calculus-engineers

第2年,从系统的基础知识中开始慢慢探索

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

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

https://stanford-cs221.github.io/spring2020/

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

http://web.stanford.edu/class/cs143/

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

https://cs145-fa19.github.io/

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

http://cs149.stanford.edu/fall19/

5.操作系统,你如果想要擅长系统编程,就一定要上这门课,这门课是讲如何从头开始搭建一个操作系统,不仅需要设计系统,还需要明白如何调试和代码管理。如果你不明白,你手下的人敲完:sudo rm -rf /*就撤了,你该如何拯救你的代码?课程CS140:

http://web.stanford.edu/~ouster/cgi-bin/cs140

第3年,开启提升课程

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

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

http://cs229.stanford.edu/

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

http://web.stanford.edu/class/ee364a/

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

https://cs.stanford.edu/~ermon/cs228/index.html

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

http://web.stanford.edu/class/cs246/

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

http://web.stanford.edu/class/cs224n/

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

http://cs231n.stanford.edu/

第4年,同学你该开始打比赛了

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

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

http://web.stanford.edu/class/cs341/

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

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

4.竞赛实践:根据目前正在进行的数据竞赛,做了整理和分类,适合有一些理论基础后实践,增加项目经验,完善履历。

1.数据挖掘赛:

https://tianchi.aliyun.com/competition/entrance/531858/introduction

2.天池CV赛:

https://tianchi.aliyun.com/competition/entrance/531860/introduction

3.天池NLP赛:

https://tianchi.aliyun.com/competition/entrance/531865/information

4.天池工业赛:

https://tianchi.aliyun.com/competition/entrance/531864/introduction

5.时间序列赛:

https://tianchi.aliyun.com/competition/entrance/531871/introduction

以上就是作为一个人工智能从业者的斯坦福毕业生Eric,送给AI萌新的4年规划安排,如果觉得上面的课程比较难,可以适当调整,相信对你入门和学习AI的路上会有所帮助。

参考素材:

https://www.mihaileric.com/posts/complete-artificial-intelligence-undergraduate-course-plan/

编辑:于腾凯

校对:林亦霖

干货 | 斯坦福的人工智能4年路线!相关推荐

  1. 斯坦福的人工智能4年路线!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 编译:笪洁琼,出品:大数据文摘 今天和大家分享一份Stanford学长的 ...

  2. 人工智能工程师学习路线/自然语言处理算法工程师

    人工智能工程师学习路线/自然语言处理算法工程师学习路径 人工智能工程师学习路线自然语言处理算法工程师学习路径 1入门级别 1 数据结构 2 算法重点 3python 2进阶阶段 1 机器学习算法 2深 ...

  3. 斯坦福首席人工智能科学家:如何教计算机看懂一张图?

    导读:一位三岁的小女孩对于这个世界也许还有很多东西要学习,但是在一个重要的任务上她已经是专家了:那就是理解并描述她所看到的东西.尽管我们目前的科技取得了前所未有的进步,但是,哪怕最先进的机器和电脑,依 ...

  4. Python人工智能完整学习路线

    Python 是人工智能(机器学习)的首选编程语言,它拥有众多模块,能完成人工智能开发的所有环节,没有任何一种语言使用起来如此顺手. Python 人工智能的学习路线如下所示: 1) 爬虫 要学用 P ...

  5. Python人工智能完整学习路线,让你惊艳到爆

    Python 是人工智能(机器学习)的首选编程语言,它拥有众多模块,能完成人工智能开发的所有环节,没有任何一种语言使用起来如此顺手. Python 人工智能的学习路线如下所示: 1) 爬虫 要学用 P ...

  6. 【报告分享】斯坦福-2019人工智能指数年度报告.pdf(附293页报告现在链接)

    今天给大家分享的报告是斯坦福于2020年1月发布的重磅报告<Artificial Intelligence Index Report 2019>,报告包含如下九大章节,希望对您有用. 更多 ...

  7. 这些 AI 大咖的实践干货,从事人工智能的你应该知道

    智能推荐.智慧物流.智能机器人.智慧诊疗.智能交通.智慧金融--疫情之下,人工智能的相关应用开启了"加速键",2020年是人工智能深入拥抱产业的变革之年.波澜不惊之下,新技术.新方 ...

  8. 【美国斯坦福大学人工智能研究院:人工智能当以人为本】

    https://www.toutiao.com/a1628365535023115 当地时间3月18日,美国斯坦福大学宣布成立以人为本的人工智能研究院(HAI), 并重点围绕人工智能的发展应用.潜在风 ...

  9. 干货丨盘点人工智能从业者必备的10个深度学习方法

    过去十年来,人们对机器学习兴趣不减.你几乎每天都会在计算机科学程序.行业会议和华尔街日报上看到机器学习.对于所有关于机器学习的讨论,很多人把机器学习能做什么与希望其做什么混为一谈.从根本上说,机器学习 ...

最新文章

  1. 不要为了面子伤了自己
  2. LeetCode week252
  3. 自己动手写一个服务网关
  4. 友邦人寿引入阿里云PolarDB云数据库 支撑保险业务系统加速上云
  5. python meshgrid_torch.meshgrid()和np.meshgrid()的区别
  6. 多分支集成发布各种坑怎么填?
  7. python中for语句的使用_python中for in的用法
  8. Jsoup(一)Jsoup详解(官方)
  9. python清理微信好友_Python清理微信僵尸粉,基于itchat模块
  10. 基于MATLAB的银行卡号识别算法研究
  11. flag计算机领域的意思,flag是什么意思
  12. thinkphp 2.x 任意代码执行
  13. NXP mpc5744p MBDT编译工具链配置
  14. 辽宁移动_E900V21E_S905L3_线刷固件包
  15. python3 安装 pip (PyPI)
  16. 用java下载apk解析包出错_Android 9.0 安装包解析错误 java.lang.SecurityException: Permission Denial解决方案...
  17. 使用环信进行即时通信IM
  18. 被mac fink terminator折磨的我
  19. Java核心技术·卷二·第一章笔记
  20. (0101)iOS开发之iPad模拟器如何实现分屏模式调试

热门文章

  1. html钟无序列表不换行,风格无序列表中奇怪的换行符?
  2. 五轴编程_HyperMILL五轴编程培训HyperMILL 软件的特点
  3. jQuery插件开发学习笔记
  4. 使用Gradle整合SpringBoot+Vue.js-开发调试与打包
  5. 程序员客栈携手野狗 体验国内领先的实时后端云协作
  6. apache http配置https
  7. SQL CONVERT在日期转换中的使用示例
  8. GIS中的坐标系定义与转换
  9. cisco路由器基本实验之三 动态路由之RIP协议的配置(Boson NetSim)
  10. SQL Server 2008 :安装