CS50 人工智能导论(Python)
这门课学什么
课程分 7 个单元:搜索、知识表示、不确定性、优化、机器学习、神经网络、语言模型。每单元有 1 节讲座视频和 Python 编程项目。项目提交后自动评分。
内容摘要
这门课用 7 周走完从经典 AI 到语言模型的主线。每周 1 个主题,配 1 节约 2 小时的讲座、1 份测验和 1–2 个 Python 项目。课程从“智能体怎样在状态空间里找路”讲起,到“模型怎样处理语言”结束。
前 4 周讲不依赖训练数据的经典方法。第 0 周讲搜索和博弈,第 1 周讲命题逻辑与推理,第 2 周讲概率和贝叶斯网络,第 3 周讲局部搜索、线性规划和约束满足。这一段的核心是:先把问题表示清楚,再选算法求解。
后 3 周转向从数据中学习。第 4 周讲监督学习、强化学习和聚类,第 5 周讲神经网络和卷积神经网络,第 6 周讲自然语言处理,最后讲到注意力机制和 Transformer。
全课共 12 个项目。每个项目给出代码框架,学员补全关键函数。例如:用广度优先搜索找两位演员之间的最短关联,用 minimax 写井字棋 AI,用 TensorFlow 训练交通标志识别网络,分析 BERT 的注意力权重。提交后由自动评分系统检查。
讲座由 Brian Yu 主讲。他先用小例子推导算法,再现场演示代码。学完后学员能用 Python 实现常见 AI 算法,并能训练小型神经网络。
为什么值得学
这是哈佛受众最广的免费 AI 入门课。项目驱动,只会基础 Python 也能动手实现经典算法。
课程信息
- 学校
- 哈佛(Harvard)
- 课程号
- CS50AI
- 讲师
- 大卫·马兰(David J. Malan)、Brian Yu
- 学期
- 2020 录像(第 6 讲为 2023 录像)
- 平台
- 课程官网 + edX + YouTube
- 费用
- 免费
- 难度
- 中级
- 学时
- 7 周 × 每周 10–30 小时
- 先修
- 学过 CS50x,或有 1 年左右 Python 编程经验。
- 材料
- 视频、讲义、作业、代码
- 许可证
- CC BY-NC-SA 4.0
课程大纲 · 共 7 节
大纲依据:CS50 AI 官网逐周列表(Week 0–6)及 Projects 页(查看原始页面 ↗)
- 0搜索Search
讲搜索问题的表示,对比深度优先、广度优先、贪心最佳优先和 A* 搜索。后半讲博弈中的 minimax 和 α-β 剪枝。项目:Degrees、Tic-Tac-Toe。
- 1知识Knowledge
讲命题逻辑、蕴含、模型检验和归结推理,最后引入一阶逻辑。项目:Knights(逻辑谜题)、Minesweeper(扫雷推理)。
- 2不确定性Uncertainty
讲条件概率、贝叶斯规则、贝叶斯网络和采样推断,再讲马尔可夫模型与隐马尔可夫模型。项目:PageRank、Heredity(基因遗传推断)。
- 3优化Optimization
讲爬山法和模拟退火等局部搜索,以及线性规划。后半讲约束满足问题和回溯搜索。项目:Crossword(填字游戏生成)。
- 4学习Learning
讲最近邻、感知机、支持向量机、回归、损失函数与正则化。再讲强化学习中的马尔可夫决策过程和 Q-learning,最后讲 k-means 聚类。项目:Shopping、Nim。
- 5神经网络Neural Networks
讲激活函数、梯度下降和反向传播(backpropagation),用 TensorFlow 搭网络。再讲图像卷积、卷积神经网络和循环神经网络。项目:Traffic(交通标志识别)。
- 6语言Language
讲句法、语义和上下文无关文法,用 nltk 做分析。再讲 n-gram、词袋模型、朴素贝叶斯、word2vec,最后讲注意力与 Transformer。项目:Parser、Attention。
哈佛的其他AI课
- 哈佛数据科学专业证书系列(9 门课) · Professional Certificate in Data Science (HarvardX)
- Python 数据科学导论 · Introduction to Data Science with Python
- Python 机器学习与人工智能 · Machine Learning and AI with Python
- TinyML 基础(微型机器学习系列) · Fundamentals of TinyML (Tiny Machine Learning series)
- 机器学习系统(哈佛 CS249r 开放教材) · Machine Learning Systems (open textbook for Harvard CS249r)
- AI 安全(CS 2881R) · CS 2881R: AI Safety