播放中
[第1课]01 什么是人工智能(课程介绍)
这一讲首先介绍了人工智能的定义[0:00:00]。之后,教授讲解了生成测试法,并详细谈到了给事物命名的重要性:“给某种事物命名后,你就对它拥有了力量”[0:11:30]。再后,教授介绍了人工智能发展的简史,讲到了本课程中将会接触到的各种人工智能程序[0:20:28]。最后,教授展望了人工智能的未来并讲了一些课程事务信息[0:32:40]。
[第2课]
02 推理:目标树与问题求解
这一讲首先通过一个积分题引出了课程内容,讲解早期人工智能中求解符号积分的人工智能程序,该程序能够求解出MIT微积分期末考试中的几乎所有积分题目并打败大一学生[0:00:00]。之后,教授介绍了安全变换和启发式变换,并用它们求解了这个积分题[0:05:40]。详细介绍了程序求解积分题的方法之后,教授讲解了人工智能这方面中值得思考的问题[0:31:40]。
[第3课]
03 推理:目标树与基于规则的专家系统
这一讲首先介绍了一个移动方块的人工智能程序,并以此详细讲解了目标树的概念,这一程序不仅能够能够实现目标,还能解释自己在过程中的一些行为[0:00:00]。第二部分,教授详细介绍了基于规则的专家系统,有一个医疗方面的专家系统比医生的诊断还要准确,教授讲解了它是如何做到的[0:18:20]。第三部分,教授通过杂货店装袋的例子,总结了知识工程中的三大原则[0:33:17]。
[第4课]
04 搜索:深度优先、爬山、束搜索
这一讲开始讨论各种搜索算法,首先是最基本的大英博物馆法,也就是找出一切可能的蛮力算法[0:00:00]。之后教授通过例子讲解了深度优先搜索算法和广度优先搜索算法[0:08:05]。之后,教授介绍了搜索中如何避免重复搜索,并用其分别优化深度优先和广度优先算法,得到爬山算法和束搜索算法[0:20:26]。最后,教授讲解了故事阅读中搜索的程序例子[0:41:15]。
[第5课]
05 搜索:最优、分支限界、A*
这一讲主要讨论了最短路径问题。首先教授在黑板上演示了一个例子,介绍分支限界法[0:00:00]。之后,教授引入了扩展列表,避免重复扩展,以优化分支限界法[0:18:35]。再后,教授通过可容许启发式对算法进行了优化,避免寻找最短路径时往反方向进行的无谓搜索[0:25:15]。最后,教授将上述两种优化加到分支限界法上,得到A*算法,并讲解了A*算法中可能碰到的一些问题[0:36:00]。
[第6课]
06 搜索:博弈、极小化极大、α-β
这一讲讲解了人工智能如何进行博弈,包括下棋,深蓝曾经因为击败国际象棋世界冠军卡斯帕罗夫而轰动一时。这一讲首先介绍了进行博弈可以使用的各种方法[0:00:00]。之后开始讲解极小化极大算法[0:14:40]。再后,教授介绍了极小化极大算法的优化——α-β剪枝法,这样做能够有效提高算法效率[0:21:57]。最后,教授讲解了逐步深入和随时算法的概念,并介绍了深蓝的实际工作机制[0:34:10]。
[第7课]
07 约束:解释线条图
这一讲主要讲解了如何让计算机智能识别物体的组成,也就是线条图解释,这是计算机视觉方面的基础。教授首先介绍了这方面研究的历史,详细介绍了不同时期,三位计算机科学家对这一问题的解决方法:首先讲解了Guzman的实验方法[0:00:00],之后讲解了哈夫曼的理论方法[0:11:50],最后讲到Waltz是如何将前人的方法总结得出优秀算法的[0:32:00]。
[第8课]
08 约束:搜索、域缩减
这一讲主要讲解地图着色问题和资源调度问题。首先,教授使用一般深度优先搜索为美国地图进行着色(四色问题),这是根本行不通的[0:00:00]。之后,教授在此基础上使用了域缩减算法,这让问题处理得到了很大改善[0:09:20]。再后,教授又加入了最多约束优先的优化,这种做法效果很大[0:29:00]。最后,教授将地图着色问题的解决方法应用到了资源调度问题,考虑如何调度飞机的情况[33:35]。
[第9课]
09 约束:视觉对象识别
这一讲讨论了计算机视觉和对象识别,介绍了这方面技术的缓慢发展以及仍未完全解决的现状。这一讲首先介绍了大卫·马尔对计算机视觉的早期思想[0:00:00]。之后,教授介绍了Shimon Ullman的比对理论(alignment theories),并进行了模拟演示和相关证明[0:07:00]。最后一部分,教授介绍了人脸识别技术的现有方法和困境[0:30:45]。
[第10课]
10 学习介绍、最近邻
这一讲开始讨论机器学习方面的内容,机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,不断改善自身的性能,是人工智能的核心[0:00:00]。教授首先举例讲解了机器人如何辨别流水线上不同的产品,以此介绍最近邻问题[0:08:45]。之后,教授讲解了机械臂如何在学习过程中实现特定的动作,例如打球和抽熄蜡烛[0:24:15]。最后,教授讲解了睡眠相关的研究[0:42:20]。
[第11课]
11 学习:识别树、无序
这一讲继续讲机器学习方面的内容。首先,教授介绍了识别树的概念,这是用一系列测试标准判别某个体属于哪一类的树[0:00:00]。之后,教授考虑了大数据的情况,这时就有必要引入无序度的概念,来衡量测试的质量,这部分借用了信息论方面的知识[0:21:43]。最后,教授在前面的基础上进行完善,考虑了数值数据如何处理,并同之前的最近邻算法进行了对比[0:40:30]。
[第12课]
12 学习:神经网络、反向传播
这一讲继续讲机器学习方面的内容。首先,教授介绍了生物学上的神经网络,并将其推广到人工智能领域,对其进行建模[0:00:00]。之后,教授讲解了性能函数,并讲到如何对其进行优化,详细讲到了梯度上升法[0:10:40]。再后,教授详细进行了相关的偏导计算,并深入探究了反向传播算法[0:25:36]。最后,教授讲到了神经网络算法相关的一些问题,并给出了示例[0:40:45]。
[第13课]
13 学习:遗传算法
这一讲继续讲机器学习方面的内容,主要内容是遗传算法,这是一种对生物和进化的模仿,教授首先介绍了相关的生物学知识[0:00:00]。第二部分,教授介绍了朴素的进化算法[0:07:20]。第三部分考虑了对算法的一些改进(包括模拟退火算法)[0:20:50]。最后,教授介绍了一些遗传算法的例子,包括用方块模拟的生物进化[0:35:10]。
[第14课]
14 学习:稀疏空间、音韵学
这一讲继续讲机器学习方面的内容,首先介绍了音韵学方面的基础知识,讲到了音素、区别性特征等概念[0:00:00]。之后,教授引出了Yip-Sussman机器的概念,并通过一个课堂演示讲解了它在音韵学方面的用途[0:14:00]。最后,教授介绍了稀疏空间的概念,并总结出了好的AI算法应该满足哪些要素[0:37:15]。
[第15课]
15 学习:相近差错、妥适条件
这一讲继续讲机器学习方面的内容,首先介绍了一次性学习(one-shot learning)的概念,讲解如何通过相近差错(near miss)从每一对例子中学到确切的知识[0:00:00]。之后,教授将这方面人的学习同机器学习进行了详细对比[0:14:30]。最后,教授通过一次性学习的概念,总结出了一个好的概念应当满足哪些特性才更容易出名[0:37:30]。
[第16课]
16 学习:支持向量机
这一讲继续讲机器学习方面的内容,焦点是支持向量机。教授首先介绍了如何通过一条最宽的"街道"将两类样本点分开[0:00:00]。之后,教授详细给出了支持向量机概念中涉及到的数学推导,并由此得到了一个非常妙的结论[0:15:10]。最后,教授演示了一个demo,并讲解了核函数的概念和应用[0:38:50]。
[第17课]
17 学习:boosting算法
这一讲继续讲机器学习方面的内容,着重讲解boosting(提升)算法。这一讲首先总结了之前的各种学习算法,引入了分类器的概念,并讲解了如何从弱分类器得到强分类器[0:00:00]。之后,教授讲到了各种改进,来得到boosting算法[0:11:50]。最后,教授讲解了如何使用一些计算技巧,获得简单美妙的结果,告诉学生在考试中碰到相关问题应该怎么算[0:35:30]。
[第18课]
18 表示:分类、轨迹、过渡
这一讲首先简介了人类的进化历程,强调象征性思维能力是让人类不同于其它生物的关键[0:00:00]。随后,教授介绍了内语言和语义网络的概念[0:09:00]。之后,教授详细介绍了内语言中非常重要的三大元素:分类、轨迹和过渡框架[0:14:30]。最后教授强调了故事讲解和理解的重要性,并告诉大家如何讲故事[0:39:25]。
[第19课]
19 架构:GPS、SOAR、包容架构、心智社会
这一讲介绍了人工智能方面的一些通用架构:第一部分讲解了通用问题求解器(GPS)[0:00:00];第二部分讲解了SOAR架构(状态算子与结果架构)[0:09:24];第三部分详细讲解了马文·闵斯基的情绪机器(emotion machine)[0:16:16];第四部分向详细讲解了包容架构(subsumption architecture),这也是当今主流吸尘器机器人伦巴所使用的架构[0:22:26];最后,教授讲解了自己现在正在开发的Genesis架构[0:34:00]。
[第20课]
20 概率推理I
这一讲主要是一些概率相关的必要知识,首先教授通过一个例子引出了考虑概率问题的重要性,引入了联合概率表的概念,并进行了相关演示[0:00:00]。第二部分,教授讲解了一些基本的概率公理和定义[0:18:30]。最后,教授引出了信念网络这一概念,并将之前所讲的概率知识用于这一重要领域[0:36:30]。
[第21课]
21 概率推理II
这一讲首先详细讲解了上一节已经提到过的贝叶斯概率方面的知识,考虑如何从一系列条件概率的乘积算出整张联合概率表[0:00:00]。然后,教授介绍了如何根据结果来反推哪类模型更有可能正确(例如有两个硬币,抛得正反的概率不同,如何通过实际抛掷试验,求更有可能是哪个硬币)[0:18:15]。最后,教授介绍了结构发现方面的内容[0:42:50]。
[第22课]
22 模型融合、跨通道偶合、课程总结
这一讲是MIT人工智能课程的最后一节课,教授首先继续上一讲讲完了主干内容,包括模型融合、跨通道偶合[0:00:00]。之后,教授对课程进行了一些回顾,并讲到了期末考的相关事项[0:12:30]。再后,教授展望了未来,告诉感兴趣的同学,后面还有哪些课程值得学习[0:20:30]。最后,教授演示了他的团队正在开发的Genesis系统,并在此基础上进行了总结[0:29:40]。