【教育】斯坦福大学——人工智能本科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个月的实习机会,在实习里,不仅让你了解书本上的基础知识,还能使用基础知识进行落地的运用,这种应该算比较好的实战机会了。
以上就是作为一个人工智能从业者的斯坦福毕业生Eric,送给AI萌新的4年规划安排,如果你觉得上面的课程比较难,可以适当调整,当然也欢迎你与文摘菌分享你的学习之路。
就像歌词所说“一代人终将老去,但总有人正年轻。“AI之路任重且道远,不管是不是萌新,只要你还愿意学习,就一直在路上,加油!!!
参考素材:
https://www.mihaileric.com/posts/complete-artificial-intelligence-undergraduate-course-plan/
荐:
【中国风动漫】除了《哪吒》,这些良心国产动画也应该被更多人知道!
【教育】斯坦福大学——人工智能本科4年课程清单相关推荐
- 斯坦福大学——人工智能本科4年课程清单
文 | Mihail Eric 编 | 大数据文摘 相信每个入行人工智能的老手,对自己过往的几年学习生涯都或多或少会有一些遗憾:如果我当年先从基本概念入手就好了,如果我当年把核心算法吃的更透一点就好了 ...
- 斯坦福大学:人工智能本科 4 年课程清单
最近,一位在行业内工作了几年的斯坦福人工智能毕业的专业人士为自己的人工智能和机器学习的职业生涯,设计一个完整的 4 年制人工智能本科学位基础课程. 如今他把这个课程分享出来,希望可以为人工智能和计算机 ...
- 斯坦福大学CS520知识图谱系列课程学习笔记:第三讲高级的知识图谱是什么样的
这一讲的主题是:一些高级的知识图谱是什么样的.三位讲者分别从他们各自带领的团队构建出来的高质量的知识图谱实例出发,从中我们可以认识到一些大佬们构建的优秀的知识图谱产品有哪些特点和优势,从中对我们自己构 ...
- 斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱
上一讲我们学习了知识图谱的一些基本概念: 斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱 本节课程关于如何构建知识图谱,因为知识图谱的构建是整个知识图谱领域的一个非常核心且基础的工 ...
- oracle 方泽宇_斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱...
上一讲我们学习了知识图谱的一些基本概念:泽宇:斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱zhuanlan.zhihu.com 本节课程关于如何构建知识图谱,因为知识图谱的构建 ...
- 斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱
随着知识图谱在人工智能各个领域的广泛使用,知识图谱受到越来越多AI研究人员的关注和学习,已经成为人工智能迈向认知系统的关键技术之一.之前,斯坦福大学的面向计算机视觉的CS231n和面向自然语言处理的C ...
- 斯坦福大学李飞飞团队图像分类课程笔记
斯坦福大学李飞飞团队图像分类课程笔记 Stanford image classification course notes 这是斯坦福CS231n课程图像分类基础知识. 目标:这一节先介绍图像分类基本 ...
- 斯坦福大学公开课 :机器学习课程
共20讲 在网易公开课上有视频全集,难能可贵的是配带中英文字幕 斯坦福大学公开课 :机器学习课程 在JerryLead的blog中可以下到他的学习笔记以及讲义原稿. 感谢Andrew Ng, 感谢Je ...
- 【CS224n】2斯坦福大学深度学习自然语言处理课程笔记——词向量、词义和神经分类器
Natural Language Processing with Deep Learning 课程笔记2 1. 词向量和word2vec 2. 优化基础知识 3. 我们能否通过计数更有效地抓住词义的本 ...
最新文章
- Windows 8.1 重复数据删除
- Java 程序中的多线程
- Vijos1448题解---线段树+括号法
- 转正老板让你谈谈你的看法_让我们谈谈逻辑回归
- django项目的邮件发送及redis数据库应用
- Docker+Teamcity+Maven+SVN搭建持续集成环境
- 字符集匹配:\s 匹配一个空格,一边后面加量词表示多个空格,\s*表示0个以上空格,\s+表示1个以上空格,\s相当于[\f\r\n\t ]5种空白字符。...
- matlab 发动机万有特性,用MATLAB语言绘制发动机万有特性的两种方法
- 云路php解密网站源码_云路PHP解密-免费PHP文件解密工具
- 2019暑期金华集训 Day7 分治
- 一个IT技术人如果转型做自由职业可以做哪些方向?
- 智能家居普及的最大障碍:如何“排座次”
- Python地学分析 — GDAL通过矢量裁剪遥感图像
- 被遗忘权_HTML:前5个被遗忘的元素
- hdu4489 组合公式+dp
- java -- 函数/方法
- [android adb shell] 怎么解锁图案锁屏(pattern lock)的手机?
- 简单聊聊VisualStudio的断点调试
- MHA架构实施(一主一从)学不会,你来打我?加油!奥利给
- eclipse选择java版本_Eclipse 版本选择
热门文章
- apache 配置php 版本错误u,PHP+Apache+MySQL 在配置环境时遇到的问题
- php mysql.dll 下载_php_mysql.dll下载|
- 英语阅读理解关于计算机,一篇摘选的关于计算机的英语阅读材料,对大家的英语也许会有提高!...
- imutils.path
- SD 模拟sip 读写子程序
- 深入浅出JS:Two
- DFS+BFS(POJ3083)
- MeteoInfoLab脚本示例:多Y轴图
- data:image/png;base64
- 美国回应朝鲜会谈提议:朝方须履行国际义务