简介:这是清华大学《人工智能导论》课程(龙明盛老师主讲)的完整资料包,面向计算机及相关专业的本科生、考研备考生及AI方向自学者,可系统补齐从模型原理到动手实践的知识链路。压缩包共184个文件、170.1MB,文件类型丰富,既有PDF讲义、PPT课件、TeX源码等教学材料,也有Python脚本、Jupyter Notebook、npy/csv数据文件及实验日志,对应编程作业、数据分析和结课报告等环节。附带多份作业与试题,包含习题解答、数据资源和运行结果,覆盖机器学习、深度学习、自然语言处理、计算机视觉等基础模块,有助于对照课件边学边练、检验掌握程度。已有380人学习,适合需要完整体系化课内资源来复习、备课或自学人工智能入门内容的用户。 看到THU-AI-Intro-Assignments-Tests.zip这个文件名,很多想系统学AI的人应该不陌生。这是清华大学龙明盛老师《人工智能导论》课程的课件、作业和历年试题打包合集,在不少学习群里流传过。学人工智能入门,有人习惯找吴恩达,但国内这套导论课其实更值得先啃:它不玩虚的,把搜索、知识表示、概率推理、机器学习、神经网络串成一条完整线索,学完你对"AI到底在解决什么问题"会有特别清晰的画面。对自学的在校生、准备考研复试的同学、想系统补AI基础的工程师来说,这份资源相当于集讲义、练习册、模拟卷于一体的学习资料,省去了东拼西凑的时间成本。
1. 这门课和这份资源包,凭什么值得花时间去啃
1.1 课程定位:为什么导论课反而更值得细读
很多人对"导论"两个字有误解,觉得就是泛泛讲概念、放几张科普图。实际上龙明盛老师这门课,定位是让人真正建立AI知识坐标系。它不是上来就讲深度学习,而是把AI的核心问题拆成两层:我们想让机器做什么(感知、推理、决策),以及用什么方法做(搜索、逻辑、概率、学习)。这种讲法对初学者的好处在于,你不会一上来就被各种模型带偏,而是先理解搜索、规划、约束满足这些底层能力,再看到深度学习时,心里会有一个"它在解决大问题中的哪个环节"的判断。
我自己的体会是,很多同学刷了几个月视频,追了一堆大模型新闻,但对"为什么需要反向传播""为什么模型会有幻觉"还是说不清楚,本质上就是缺了这层基础框架。这门课的课件恰好把这些底座知识讲得比较透,而且每一讲都对应配置了作业题目,等于逼着你把"听懂"变成"会做"。这种设计与很多只讲概念不布置实操的免费课截然不同,也是我推荐优先学这门课的核心原因。
1.2 资源包整体结构:一个压缩包里到底有什么
我拿到的这版THU-AI-Intro-Assignments-Tests.zip,解压后的目录结构大概是这样的:
THU-AI-Intro-Assignments-Tests/ ├── lectures/ # 课件,按周划分 │ ├── week01-intro.pptx │ ├── week02-search.pptx │ ├── week03-adversarial-search.pptx │ ├── week04-constraint-satisfaction.pptx │ ├── ... ├── assignments/ # 作业题与代码框架 │ ├── hw1-search/ │ ├── hw2-csp/ │ ├── hw3-bayes/ │ └── hw4-mlp/ ├── exams/ # 期中、期末试题与部分答案 │ ├── midterm-2021.pdf │ ├── final-2021.pdf │ └── ... └── README.md # 课程说明与使用建议不同渠道下载的版本可能会有细微差别,但通常都包含这三类核心内容。课件文件一般是PPT或PDF,作业会给题目描述和代码骨架,试题多为PDF。这个结构本身就很适合自学:先用课件建立框架,再做作业检验理解,最后用试题模拟考试。我的建议是,拿到压缩包后不要急着全部解压到桌面,先建一个专门的课程学习文件夹,按上述三级结构存放。后续复习时,每学完一章就在对应目录里回填笔记,查找效率会高很多。
2. 课件怎么读:不是逐页翻完,而是带着问题找答案
2.1 课件内容主线:从搜索到学习的知识脉络
这套课件的章节组织大体沿袭欧美名校AI导论课的主流结构,同时也带龙老师自己的风格。大致主线是:
- 绪论与智能体:什么是智能体,任务环境如何建模;
- 问题求解:无信息搜索(BFS、DFS、迭代加深)、启发式搜索(A*、爬山法);
- 对抗搜索:Minimax与Alpha-Beta剪枝,延伸到博弈场景;
- 约束满足问题:回溯、前向检查、弧一致性;
- 逻辑与推理:命题逻辑、一阶逻辑、归结法;
- 概率与不确定性:贝叶斯公式、朴素贝叶斯、贝叶斯网络;
- 机器学习基础:决策树、线性回归、逻辑回归、SVM的概念;
- 深度学习:感知机到MLP、反向传播、CNN/RNN的基本思想;
- 强化学习与高级话题:Q-learning、多智能体、应用案例。
可以看到,深度学习被放在了比较靠后的位置。这个顺序不是随意排的,AI研究的核心难题从来不是怎么搭模型,而是怎么表示问题、怎么搜索解空间、怎么在不确定中做决策。先学搜索和逻辑,你才能理解深度学习的许多设计动机。另外,网上检索"人工智能导论"时会看到张睿老师相关的一些资料,如果你手里恰好有不同版本的讲义,也可以拿来交叉参考,但主线还是建议以龙老师的课件为准,毕竟课件、作业、试题是一套完整体系,混着看不同版本容易打乱知识索引。
2.2 高效读课件的三步法
课件不是小说,不建议从头到尾线性朗读。我自己摸索出的三步法,可以帮你大幅提高效率。
第一步,拿出某一周的PPT,先看目录页,自己列3到5个问题。比如看启发式搜索这一讲前,先问自己:A*为什么能比BFS更高效?启发函数该怎么设计?这样读起来有明确目标。
第二步,快速过一遍正文,把不懂的术语标记出来,不要纠结细节,控制在20分钟以内。很多概念第一遍只需要混个脸熟,后面做作业时自然会逼你回头看。
第三步,立刻做对应的作业题,不会做再回到课件里翻公式、看例子。作业做通一个环节,这个知识点才算真正属于你。这三步走下来,一次学习周期大约需要两小时,比单纯看课件记忆要牢固得多。我看过太多人把PPT从头看到尾,结果合上电脑什么也说不出,就是因为缺少第三部的代码输出和题目反馈。
3. 作业才是这门课的精华,别指望只看课件就能过
3.1 作业设计背后的思路:从算法到代码的强制落地
这份资源包里最值钱的部分,我反而认为是作业。课程作业通常不是那种简单的选择题问卷,而是以代码实现为主的编程任务,考查的是你能否把算法转化成可运行的程序。以常见版本为例,作业会覆盖这几个方向:
- HW1搜索算法:在迷宫里实现BFS、DFS、A*,比较节点扩展数,直观感受启发函数省了多少搜索;
- HW2约束满足问题:实现一个回溯求解器,解决地图着色或数独,顺带接触弧一致性剪枝;
- HW3概率与贝叶斯:用朴素贝叶斯做文本分类,踩一遍特征工程和拉普拉斯平滑的坑;
- HW4神经网络:用numpy手写一个两层MLP,在MNIST或简化数据集上训练,强制你把前向传播和反向传播的矩阵维度算明白。
这些作业本身就是小型项目训练。真正动手写一遍A*,你对启发式可采纳性的理解,会远超看十遍课件。而且作业之间还有梯度:先做搜索,你才知道状态空间怎么建模;再学约束满足,你才知道剪枝对复杂问题有多重要;之后接触贝叶斯,你才明白不确定性推理和确定性搜索是两套完全不同的思维。完成一轮作业,相当于把整个AI方法体系亲手搭了一遍。
3.2 做作业时的实操建议与环境配置
做作业前,先把Python环境收拾干净。我建议用conda新建一个虚拟环境,避免和日常开发环境冲突:
conda create -n ai-intro python=3.9 conda activate ai-intro pip install numpy matplotlib scikit-learn jupyter版本方面不用追新,作业框架一般在Python 3.8到3.10之间都能跑,关键是numpy和matplotlib装好。跑不通的时候,优先检查是不是版本兼容问题。写代码时,建议先用小数据集或简化版场景调试,比如HW1先在5×5的小地图上跑通逻辑,再去跑完整地图。这一步能帮你区分实现bug和算法bug,省下大量排错时间。
3.3 两个容易被忽略的作业细节
第一个细节是随机种子。很多作业里的数据加载、权重初始化都会用到随机数,如果不固定seed,哪怕算法完全一样,每次跑出来的结果也不一样,很难和参考答案对比。所以交作业前,把random.seed和np.random.seed固定在某个数值,养成固定复现的好习惯。
第二个细节是实验报告。别把代码往GitHub一扔就算完事,课程考核通常还看报告质量。报告里要有实验设置、结果表格、失败案例分析。比如"A*在迷宫规模增大后节点扩展数增长了多少"这类观察,比单纯贴代码有价值得多。写清楚你在实现过程中遇到过什么坑、最后怎么解掉的,这份报告放到求职作品集里也是很好的能力证明。
4. 往年试题的正确用法:从背题变成知识体检
4.1 一份试题里有哪些题型
试题文件其实揭露了这门课的考核重点。根据资源包里的往年题,大致会有这几类题型:
- 概念简答题:考察"什么是智能体""搜索的完备性与最优性区别"这类基础认知;
- 推导计算题:比如贝叶斯公式推导、A*开闭集合的扩展过程、反向传播的梯度推导;
- 算法设计题:给一个新问题,要求设计状态表示或启发函数;
- 应用题:给一个业务场景,要求用约束满足问题或概率图模型建模。
这些题型说明,考试不靠死记硬背,而是要求你真正能用知识解决问题。有些同学喜欢把往年题从头背到尾,其实风险很高——出题风格每年都在微调,场景一换,背答案的人就露馅了。正确做法是把它当自测卷:先限时做一遍,批改后不是只看对错,而是去翻错题背后的课件章节,搞懂为什么错。
4.2 用往年题做知识补漏的复习节奏表
我给自己定过一个四周复习计划,实测效果不错,列在这里供参考:
| 时间 | 任务 | 目标 |
|---|---|---|
| 第1周 | 通读全部课件,按章节整理知识卡片 | 建立完整知识框架 |
| 第2周 | 重新完成所有作业题,不看旧代码 | 巩固代码层面的理解 |
| 第3周 | 限时做一套往年试题,批改后整理错题 | 定位知识薄弱点 |
| 第4周 | 围绕错题回看对应课件和作业 | 补齐盲区,再自测一次 |
这套节奏在校生和在职自学党都适用。如果你时间更紧,至少保证第2周和第3周不省略,因为这两周是真正输出的阶段,最涨能力。对于在职党,我建议把每周拆成5个晚上,每晚1.5小时,连续四周,比周末两天突击容易坚持得多,也更容易形成知识记忆的连贯性。
5. 自学这门课最容易踩的坑,我已经替你踩过一遍
5.1 高频问题速查表
自学过程中,下面几个问题出现频率极高。我把对应思路整理成一张表:
| 问题 | 原因 | 解决办法 |
|---|---|---|
| 课件看了就忘 | 缺少输出环节 | 必须做作业和自测 |
| 作业跑不出结果 | 环境依赖或随机种子问题 | 固定seed,检查numpy版本 |
| 往年题对不上考点 | 只看题没补基础 | 以课件知识点为纲,再做题 |
| 深度学习部分听不懂 | 线代和概率基础薄弱 | 先补矩阵运算和贝叶斯基础 |
| 资源包文件损坏 | 下载不完整 | 重新下载检查大小和md5 |
5.2 关于资源包使用的几个实操提醒
最后说几个关于资源包本身的提醒,都是大家实际使用中容易踩的。
第一,打开压缩包前先看看文件大小,如果明显小于正常值,多半是下载不全,解压时会报错,与其到处问不如重新下一遍。解压工具建议用7-Zip,它对多层嵌套目录和特殊文件名支持更好,直接双击系统自带解压有些时候会漏文件。
第二,作业可以讨论思路,但不要直接抄代码。课程目的不是交一份漂亮答案,而是真正学会解决问题。哪怕你第一次做只做对一半,后面收获也远大于复制一份满分作业。如果实在卡住,可以先看别人代码的核心思路,然后关掉参考自己重写一遍。
第三,遇到某个文件加密或打不开,先确认是不是下载工具导致文件损坏,再检查解压工具,大概率能解决。这套资源已经在不少学习群里验证过完整度,整体上是可以正常使用的。
第四,可以把每章课件对应的重点术语、作业要点、常考题型整理成一个表格,用Notion或Excel都行。我当时的做法是,每做完一个知识点就在表里打一个勾,一个月下来,哪些章节还没复习透一目了然,比买一堆标签纸贴在书上好用太多。
说实话,我自己第一次看到这份课程资源时,第一反应也是先收藏再吃灰。后来逼着自己按课件到作业再到试题的节奏走完一轮,最大的感受是:AI基础真的不一定需要高价训练营,只要你肯把作业逐行写一遍,把错题背后的知识点老老实实补上,这套已经流传许久的资源就足够把你领进门。这门课还让我养成了一个习惯:拿到任何新技术,先问三个问题——它要解决什么问题,它用什么表示方法,它怎么评估好坏。这三个问题想清楚了,学什么都快。希望这份THU-AI-Intro-Assignments-Tests.zip能成为你AI学习路上的一个靠谱起点。
本文还有配套的精品资源,点击获取