斯坦福大学——人工智能本科4年课程清单

文 | Mihail Eric

编 | 大数据文摘

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

最近,一位在行业内工作了几年的斯坦福人工智能”师兄“就根据自己的工作和学习经验,为入学的师弟师妹们送出了一份大礼:人工智能的本科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之路任重且道远,不管是不是萌新,只要你还愿意学习,就一直在路上,加油!!!

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bert模型简介、transformers中bert模型源码阅读、分类任务实战和难点总结

bert模型简介、transformers中bert模型源码阅读、分类任务实战和难点总结:https://blog.csdn.net/HUSTHY/article/details/105882989 目录 一、bert模型简介 bert与训练的流程: bert模型的输入 二、huggingface的bert源码浅析 bert提取文本词向量 BertMo…

LeetCode 476. 数字的补数(移位 异或^)

1. 题目 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 2. 解题 先求出该数的2进制有多少位然后分别每位与1进行异或操作 class Solution { public:int findComplement(int num) {int n 1, num_copy num;while(num_copy/2){n;num_copy / 2;}wh…

论文浅尝 - ICLR 2020 | 用于文本推理的神经模块网络

论文笔记整理:邓淑敏,浙江大学在读博士,研究方向为低资源条件下知识图谱自动化构建关键技术研究。论文链接:https://openreview.net/pdf?idSygWvAVFPr Demo链接: https://demo.allennlp.org/reading-comprehension 代码链接: htt…

全栈深度学习第3期: 怎样科学管理实验数据?

一起追剧鸭简介Berkeley全栈深度学习追剧计划是由夕小瑶的卖萌屋发起的优质公开课打卡项目,通过微信群为同期追剧的小伙伴提供交流平台。关于该计划的详请见这里。1. Berkeley深度学习追剧群目前已有1000小伙伴加入,公众号后台回复口令 深度学习追剧 入群…

论文浅尝 - ICLR2020 | 通过神经逻辑归纳学习有效地解释

论文笔记整理:朱渝珊,浙江大学直博生。研究方向:知识图谱,快速表示学习等。论文链接:https://arxiv.org/pdf/1910.02481.pdf本文是ICLR 2020的一篇关于知识图谱中关于复杂(树状、组合)规则可微学…

上海交大张拳石:神经网络的变量交互可解释性研究

文 | Qs.Zhang张拳石知乎可解释性研究一直有两副嘴脸,一副烈火烹油繁花似锦,一副如履薄冰零丁洋里叹零丁。在2018年我开始发知乎是为了“活着”——被刷榜为王的风气屡屡打击之后,一朝中稿,倒过一口气来,终于可以跟大家…

基于TensorFlow Serving的深度学习在线预估

一、前言 随着深度学习在图像、语言、广告点击率预估等各个领域不断发展,很多团队开始探索深度学习技术在业务层面的实践与应用。而在广告CTR预估方面,新模型也是层出不穷: Wide and Deep[^1]、DeepCross Network[^2]、DeepFM[^3]、xDeepFM[^…

python库Camelot从pdf抽取表格数据以及python库camelot安装及使用中的一些注意事项

一、python库camelot安装及使用中的一些注意事项 1)camelot方法有两种解析模式:流解析(stream)、格子解析(lattice),其中格子解析能够保留表格完整的样式,对于复杂表格来说要优于流…

LeetCode 561. 数组拆分 I

1. 题目 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。 示例 1:输入: [1,4,3,2]输出: 4 解释: n 等于 2, 最大总和为 4 min(1, 2) min(3, 4).来源:力扣&…

论文浅尝 - 计算机工程 | 知识图谱可视化查询技术综述

本文转载自公众号:计算机工程。知识图谱可视化查询技术综述王鑫, 傅强, 王林, 徐大为, 王昊奋知识图谱作为符号主义发展的产物,是人工智能技术和系统中的重要组成部分,其在百科知识、生物信息、社交网络以及网络安全等领域被广泛运用。知识图…

用VS Code直接浏览GitHub代码 | 12.1K星

文 | 金磊(发自凹非寺)源 | 量子位“看GitHub代码”这件事上,还在网页上点点点?用开发工具看代码,不香吗?于是,它来了,它来了——可以直接用VS Code方式打开GitHub代码的工具。而且在短短几天时间里&#x…

APPKIT打造稳定、灵活、高效的运营配置平台

一、背景 美团App、大众点评App都是重运营的应用。对于App里运营资源、基础配置,需要根据城市、版本、平台、渠道等不同的维度进行运营管理。如何在版本快速迭代过程中,保持运营资源能够被高效、稳定和灵活地配置,是我们团队面临的重大考验。…

Android官方开发文档Training系列课程中文版:通知用户之大视图通知

原文地址:http://android.xsoftlab.net/training/notify-user/expanded.html#big-view 通知在通知栏中以两种风格呈现:正常视图与大视图。只有在通知展开的时候才会展示大视图。这只有在通知处于通知栏顶部时或者用户点击了通知时才会出现。 大视图于A…

论文浅尝-WSDM | Stepwise Reasoning for Multi-Relation QA

论文笔记整理:谭亦鸣,东南大学博士。来源:WSDM ’20链接:https://dl.acm.org/doi/pdf/10.1145/3336191.33718121.介绍知识图谱问答旨在利用知识图谱的结构化信息回答以自然语言提出的问题。当面对多关系问题时,现有基于…

从零搭建基于知识图谱的问答系统(以医疗行业为例)

清华大学人工智能研究院院长张钹院士2020年发表署名文章,首次全面阐述第三代人工智能的理念,提出第三代人工智能的发展路径是融合第一代的知识驱动和第二代的数据驱动的人工智能。基于知识图谱的推理,恰恰体现了第三代人工智能的特点。知识图…

Android官方开发文档Training系列课程中文版:通知用户之在通知中显示进度

原文地址:http://android.xsoftlab.net/training/notify-user/display-progress.html#FixedProgress 通知中包含了一个进度指示器,用来向用户展示一项正在进行中的工作状态。如果你可以确保任务会花费多长时间,并且可以在任何时候得知它完成…

LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归)

1. 题目 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 来源:力扣(LeetCode) 链…

beeshell —— 开源的 React Native 组件库

背景 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 Native 代码),涉及前端…

论文浅尝 - ACL2020 | 用于链接预测的开放知识图谱嵌入

本文转载自公众号:PaperWeekly。 作者:舒意恒,南京大学硕士,研究方向:知识图谱。当前大量的知识图谱都是通过文本直接构建的。由于当前的知识图谱构建方法的局限性,其中难免包含对同一实体或关系…

论文审稿人可以下岗了?CMU都做出论文审稿机器人了!

文 | Sheryc_王苏机器学习真是越来越火了,这从各大会议逐年增加的投稿量上就可见一斑:AAAI21收到了9034篇投稿,NeurIPS20收到了9467篇投稿,一篇投稿至少要经过3位审稿人同行评议,耗费的人力可想而知。那么问题来了&…