图19-3 决定是否在餐厅等待的决策树
图19-4 通过测试属性来对样例进行分割。在每一个节点中我们给出剩余样例的正(绿色方框)负(红色方框)情况。(a)根据Type分割样例,没有为我们分辨正负带来帮助。(b)根据Patrons分割样例,很好地区分了正负样例。在根据Patrons进行分类之后,Hungry是相对较好的第二个测试属性
图19-6 根据12样例训练集推断出的决策树
图19-9 两个不同问题上不同复杂性模型的训练误差(下方绿线)和验证误差(上方橙色线)。模型选择算法Model-Selection将选择验证误差最小的模型对应的超参数值。(a)模型类是决策树,超参数是节点数量。数据来自餐厅等待问题。最佳的超参数大小为7。(b)模型类是卷积神经网络(见21.3节),超参数是网络中常规参数的数量。数据是数字图像的MNIST数据集,任务是识别手写数字的照片。效果最好的超参数是1 000 000(注意坐标的对数刻度)
图19-15 (a)两种类型地震数据,包含体波震级x1和面波震级x2,数据来源于1982~1990年在亚洲和中东发生的地震(橙色空心圆)和地底爆炸(绿色实心圆)(Kebeasy et al., 1998)。图中还绘制了类之间的决策边界。(b)同一个领域,有比之前更多的数据点。此时地震和爆炸不再是线性可分的
图19-19 (a)一个k近邻模型,该图显示了图19-15中数据的爆炸一类的范围,其中k = 1。可以明显看到有过拟合现象。(b)当k = 5时,该数据集上的过拟合现象消失了
图19-21 支持向量机分类器:(a)两类点(橙色空心圆和绿色实心圆)和3个候选线性分离器。(b)极大边距分离器(粗线)位于边距(虚线之间的区域)的中间。支持向量(带有大黑圈的点)是最靠近分离器的,本图中有3个
图19-22 (a)一个二维训练集,其中正样例为绿色实心圆,负样例为橙色空心圆。图中还给出了真实的
决策边界。(b)映射到三维输入空间后的相同数据。(a)中的圆形决策边界变成
三维空间中的线性决策边界。图19-21b给出了(b)中分离器的特写
图19-27 MNIST数据集上的二维t-SNE平面图,该数据集收集了60 000幅手写数字图像,每幅28像素×28像素,因此是784维。可以清楚地看到10个数字的聚类簇,每个聚类簇之间都存在一些混淆;例如,顶部是数字0的聚类簇,但是在聚类簇的范围内有一些表示数字3和6的数据点。t-SNE算法找到了一种突出聚类簇间差异的表示
图20-1 (a)根据式(20-1)得到的后验概率。观测数量N为1~10,且每一个观测都是酸橙味的糖果。(b)基于式(20-2)的贝叶斯预测
图20-4 (a)高斯线性模型,它表述为加上固定方差的高斯噪声。(b)由该模型生成的50个数据点,以及它的最佳拟合直线
图20-5 不同(a, b)下Beta(a, b)分布的例子
图20-7 贝叶斯线性回归模型,它被约束为经过原点且噪声方差固定为。误差为±1、±2和±3个标准差的密度预测等高线也在图中给出。(a)其中3个数据点距离原点较近,因此斜率相当不确定,其方差。注意,当离观测到的数据点距离增大时,预测的不确定性也逐渐增大。(b)相比前一幅图多出两个距离较远的数据点,此时斜率被较严格地约束,其方差为。密度预测中剩余的方差几乎完全来源于噪声的固定方差
图20-8 (a)图20-12a中所给出的混合高斯模型的三维样貌。(b)从混合高斯模型中采样的128个数据点、两个查询点(小方块)以及它们的10近邻(大圆圈以及右边的小圆圈)
图20-9 应用k近邻进行密度估计,所用的数据为图20-8b中的数据,分别对应k = 3、10和 40。k = 3的结果过于尖锐,40的结果过于光滑,而10的结果接近真实情况。最好的k值可以通过交叉验证进行选择
图21-3 (a)具有两个输入、一个包含两个单元的隐藏层和一个输出单元的神经网络,其中虚拟输入及其权重没有在图中给出。(b)将(a)中的网络分解为完整的计算图
图21-9 生成模型如何使用空间中的不同方向来表示人脸不同方面的信息。实际上我们可以在空间中进行运算。这里的图像都是从学习到的模型中生成的,并且图像解释了当我们解码空间中的不同点时会发生什么。我们从“戴眼镜的男人”这个对象的坐标出发,减去“男人”的坐标,再加上“女人”的坐标,得到“戴眼镜的女人”的坐标。图像经许可摘自(Radford et al., 2015)
图22-3 在给定图22-1所示的最优策略情况下,关于4×3世界问题的被动自适应动态规划的学习曲线。(a)选定某个状态子集,其效用估计值与试验次数的关系。注意,对于很少被访问的状态(2, 1)和(3, 2),它们分别在第14次和第23次试验才被“发现”连接到位于(4, 3)处的+1退出状态。(b)U(1, 1)估计的均方根误差(见附录 A),所示的结果为50组,每组执行100次试验的平均值
图22-5 4×3世界问题中,TD的学习曲线。(a)选定的状态子集的效用估计与试验次数的关系。此为单组执行500次试验的结果。可以与图22-3a中的每组执行100次试验的结果进行比较。(b)U(1, 1)估计的均方根误差,所示结果为50组、每组执行100次试验的平均值
图25-4 这张照片展示了各种照明的效果。不锈钢佐料壶上发生镜面反射。洋葱和胡萝卜是亮的漫反射表面,因为它们面向光照射的方向。阴影部分出现在根本看不到光源的表面点上。在锅中存在一些暗的漫反射表面,光线沿着切线角度照射进来(锅内还有一些其他阴影)。该照片由Ryman Cabannes/Image Professionals GmbH/Alamy Stock Photo拍摄
图25-10 (a)原始图像。(b)图像的边界轮廓,其中Pb值越高,轮廓颜色越深。(c)通过对图像精细划分得到的各个分割区域,其中每个区域使用区域中的平均颜色进行填充。(d)通过对图像进行较粗糙的分割得到的各个分割区域,粗糙分割将导致得到的区域更少(图片由Pablo Arbelaez、Michael Maire、Charless Fowkes和Jitendra Malik提供)
图25-12 最左侧是MNIST数据集中的一些图像。中间图的左侧为3个卷积核。它们以实际大小(图中的小方块)给出,并放大以显示其内容:中度灰色的值为0,浅色表示正值,深色表示负值。中间图的右中侧给出了将左侧这些核应用于图像的结果。最右侧给出了响应大于阈值(绿色)与小于阈值(红色)的像素。注意,这里(从上到下)给出了一个水平条检测器、一个竖条检测器和(更难注意到的)一个尾端检测器。这些检测器关注条的对比度,因此(例如)顶部亮底部暗的水平条产生正(绿色)响应,顶部暗底部亮的水平条产生负(红色)响应。这些检测器有一定的效果,但它们不是完美的
图25-13 快速RCNN使用两个网络。一张年轻时的纳尔逊·曼德拉的照片被输入物体检测器。一个网络用于计算候选图像框(称为“锚框”)的物体检测得分,这些框以网格上的点为中心。每个网格点对应着9个锚框(3种尺寸,每种尺寸包含3种纵横比)。对于示例图像,内部的绿色框和外部的蓝色框通过了物体检测。第二个网络是一个特征栈,用于计算适合分类的图像表示。具有最高得分的框将从特征图中分割出来,通过ROI池化进行尺寸标准化,再传给分类器。注意,蓝色框的得分高于绿色框,并且与绿色框重叠,因此绿色框将被非极大值抑制算法拒绝。最后,我们对蓝色框进行边框回归,使其符合人脸的形状。这意味着对位置、比例和纵横比的相对粗粒度的采样不会降低预测准确率。照片由Sipa/Shutterstock提供
图25-16 从单一的图像中重建人类模型目前已经可以实现。两行图片都展示了基于单个图像的三维身体形状重建。这些重建是有可能的,因为一些方法可以估计关节的位置、关节在三维中的角度、身体的形状以及身体相对于图像的位姿。每行包括以下内容:最左图为一张图片,中左图为原图与重建出的身体叠加的图片,中右图为重建出的身体的另一个视图,最右图是重建出的身体的另一个不同视图。考查身体的不同视图使得在重建中隐藏错误变得更加困难。图由Angjoo Kanazawa提供,并用(Kanazawa et al., 2018a)中提出的系统加以处理
图25-17 同一个动作看起来很不一样,不同的动作看起来很相似。这些例子是来自一个数据集中的自然动作,其标签由数据集的管理员进行选择,而不是由算法预测的。上面3幅图表示标签为“打开冰箱”的样本,有的是特写,有的是远处拍摄。下面3幅图表示标签为“从冰箱里拿东西”的样本。注意,在两排图像中,图像里的人的手是如何靠近冰箱门的——若要区分不同的情况,就需要对手的位置和门的位置做出相当微妙的判断。图由David Fouhey提供,摘自(Fouhey et al., 2018)中给出的数据集
图25-18 我们所说的动作取决于时间尺度。对于最上面的单幅图像,最好的描述是“打开冰箱”(当你打算关上冰箱时,你不会盯着里面的东西)。但是,如果你看完了一段视频短片(由中间一行图像表示),关于这个动作的最佳描述就是“从冰箱里拿牛奶”。如果你看完了一段较长的视频(由最下面一行图像表示),关于这个动作的最佳描述是“准备点心”。这说明了行为的一种构成方式:从冰箱中拿牛奶有时是准备点心的一部分,而打开冰箱通常是从冰箱中拿牛奶的一部分。图由David Fouhey提供,摘自(Fouhey et al., 2018)中给出的数据集
图25-19 自动图像标题系统给出了一些好的结果和一些失败的结果。左边的两个标题很好地描述了各自的图像,尽管“eating … in his mouth”是一个不流畅的表达,这是早期标题系统所使用的循环神经网络语言模型的一个相当典型的特点。根据右边的两个标题,我们认为标题系统似乎不了解松鼠,所以从环境猜测该动物;它也没有意识到这两只松鼠在吃东西。图片来源:geraine/Shutterstock、ESB Professional/Shutterstock、BushAlex/Shutterstock、Maria.Tem/Shutterstock。所示图像与用于生成标题的原始图像相似但不完全相同。原始图像见(Aneja et al., 2018)
图25-20 视觉问答系统产生关于图像的自然语言问题的答案(通常从多项选择中选择)。顶部:该系统对有关图像的一些相当棘手的问题给出了非常合适的答案。底部:不太令人满意的答案。例如,系统被要求猜测比萨饼上的洞的个数,但系统并不知道什么算洞,而且洞本身很难计数。类似地,系统认为猫的腿的颜色是棕色,这是因为图片背景是棕色的,并且系统不能正确定位猫的腿。图片来源:(顶部)Tobyanna/Shutterstock、679411/Shutterstock、ESB Professional/Shutterstock、Africa Studio/Shutterstock,(底部)Stuart Russell、Maxisport/Shutterstock、Chendongshan/Shutterstock、Scott Biales DitchTheMap/Shutterstock。所示的图像与用于问答系统的原始图像相似但不完全相同,原始图像见(Goyal et al., 2017)
图25-21 多视图立体算法根据运动结构图像生成的建筑工地的三维模型。它们可以帮助建筑公司通过比较目前三维模型实际搭建的进度与建筑计划来协调大型建筑工作。左图:基于无人机拍摄图像重建出的可视化几何模型。重建出的三维点以彩色呈现,因此结果看起来像是目前的真实进度(注意用起重机完成的部分建筑)。这些小金字塔表示无人机拍摄图像时的位姿,以便对飞行轨迹进行可视化。右图:这些系统实际上是施工队所使用的;作为协调会议的一部分,该团队正在查看竣工场地的模型,并将其与建筑平面图进行比较。图由Derek Hoiem、Mani Golparvar-Fard和Reconstruct提供,模型由商业系统制作
图25-22 如果你已经看过很多鸟类物种的图片(上图),你可以利用它们从一个新的图片(下图)中生成一个三维重建模型。你需要确保所有的物体都有一个相当类似的几何结构(所以如果你看到的是麻雀,那么鸵鸟的图片将对你没有任何帮助),但分类方法可以解决这个问题。你可以从许多图像中估计出图像中的纹理是如何分布在物体上的,从而完成对你尚未观察到的鸟的纹理估计(下图)。图由Angjoo Kanazawa提供,模型用(Kanazawa et al., 2018b)中提供的系统生成。上方图片来源于Satori/123RF,左下图来源于Four Oaks/Shutterstock
图25-23 左图为真实场景的图像。在右图中,计算机图形物体已插入场景中。你可以看到光线看上去来自正确的方向,并且物体看起来也投射了效果不错的阴影。尽管生成的图像在光线和阴影方面有较小的误差,但这个图像仍是令人信服的,因为人类并不擅长分辨这些误差。图由Kevin Karsch提供,模型用(Karsch et al., 2011)中提供的系统生成
图25-24 成对图像的转换,其中输入由航空影像和相应的道路图组成,我们的目标是训练一个从航空影像生成道路图的网络(该系统还可以学习从道路图生成航空影像。)网络通过比较(X型样本xi的输出)和Y型的正确输出yi进行训练。在测试时,网络必须从新的X型输入中生成新的Y型图像。图由Phillip Isola、Jun-Yan Zhu和Alexei A. Efros提供,模型用(Isola et al., 2017)中提供的系统生成。地图数据©2019 Google
图25-25 未配对图像转换:给定两组图像(X型是马,Y型是斑马),但没有对应的配对,我们要学习将马转换成斑马。该方法训练两个预测器:一个将X型映射为Y型,另一个将Y型映射为X型。如果第一个网络将马xi映射为斑马,那么第二个网络应当把映射回原始的xi。两个网络利用xi和之间的差进行训练。从Y型到X型再回到Y型的循环必须是封闭的。这样的网络可以成功地对图像进行丰富的变换。图由Alexei A. Efros提供,见(Zhu et al., 2017)。正在奔跑的马的照片由Justyna Furmanchyk Gibaszek/Shutterstock拍摄
图25-26 风格转换:将内容为猫的照片与抽象绘画的风格相结合,生成经过抽象风格渲染的猫的新图像(右图)。中间这幅画为Wassily Kandinsky绘制的Lyrisches或The Lyrical(公共领域),左图猫的照片为Cosmo
图25-28 MobileEye研发的基于摄像头的自动车辆传感装置。顶部:两张来自前置摄像头的照片,照片的拍摄相隔几秒。绿色区域为自由空间——车辆在不久的将来可以实际移动到的区域。系统使用表示侧面的三维边框来表示物体(红色表示后部,蓝色表示右侧,黄色表示左侧,绿色表示前部)。其中物体包括车辆、行人、自行车道内边缘标志(横向控制所需)、其他标线道路和人行横道标志、交通标志和交通信号灯。动物、路杆和锥桶、人行道、护栏和其他一般物体(例如,从卡车后面掉下来的沙发)没有在图中给出。然后用三维位置和速度对每个物体进行标记。底部:根据检测到的物体刻画的环境的完整物理模型(图中所示为MobileEye的仅基于视觉的系统产生的结果)。图像由MobileEye提供
图25-29 导航功能通过分解成地图构建:和路径规划两个问题来实现。在每一个连续的时间步中,来自地图构建传感器的信息将用来逐步地建立一个关于世界的不确定的模型。该模型连同其规范目标一起传入路径规划器,路径规划器输出机器人为实现目标应该采取的下一个动作。关于世界的模型可以是纯粹的几何模型(如经典的SLAM),也可以是语义模型(通过学习得到),甚至可以是拓扑模型(基于地标)。我们在右图中给出实际的机器人的图片。图由Saurabh Gupta提供
图26-1 (a)具有定制末端效应器的工业机器人。图片来源:Macor/123RF。(b)安装在轮椅上的Kinova® JACO® Assistive Robot 机械臂。Kinova和JACO是Kinova股份有限公司的商标
图26-2 (a)美国国家航空航天局的好奇号巡视器在火星上自拍。图片来自美国国家航空航天局。(b)Skydio无人机伴随一家人骑行。图片由Skydio提供
图26-7 蒙特卡罗定位,这是一种用于移动机器人定位的粒子滤波算法。(a)起初,全局具有不确定性。(b)在导航到(对称的)走廊后形成近似双峰的不确定性。(c)在进入到特定的房间后形成单峰不确定性
图26-10 使用适应性视觉取得的一系列“可行驶表面”分类。(a)只有路面被分类为可行驶的(粉色区域)。蓝色的V形线表示车辆的行驶方向。(b)车辆被迫驶离路面,分类器开始将部分草地分类为可行驶的。(c)车辆更新了它的可行驶表面模型,以将草地视作路面。图片由Sebastian Thrun提供
图26-12 (a)有两个自由度的机械臂的工作空间表示。工作空间是一个盒子,其中扁平障碍物悬挂在天花板上。(b)同一个机器人的构形空间。只有空间中的白色区域是没有碰撞的构形。图中的点对应左图所示的机器人构形
图26-13 工作空间和构形空间中的3个机器人构形
图26-15 沃罗诺伊图式展示了构形空间中与周围两个或多个障碍物等距的点的集合(红色线)
图26-19 RRT生成并经过“走捷径”后期处理的截图。图片由Anca Dragan提供
图26-21 用轨迹优化器解决了伸手抓住瓶子的任务。左图:为末端效应器绘制的初始轨迹。中图:优化后的最终轨迹。右图:目标构形。图片由Anca Dragan提供,见(Ratliff et al., 2009)
图26-26 训练健壮的策略。(a)在一个操作物体的机械手上多次运行模拟,物理学参数和照明情况是随机的。图片由Wojciech Zaremba提供。(b)真实世界环境中,单个机械手处于笼子中央,周围有摄像头和测距器。(c)模拟和真实世界训练产生了多个抓住物体的策略,此处有捏住和四指握两种。图片由OpenAI提供,见(Andrychowicz et al, 2018a)
图26-27 假设人类在给定目标的情况下的理性带有噪声时进行预测:机器人使用过往动作来更新对人类目标的信念,并使用这个信念预测未来动作。(a)房间的地图。(b)看到小部分人类轨迹时的预测(白色路径)。(c)看到更多人类动作时的预测:机器人现在知道人类没有走向左边的走廊,因为如果那是人类的目标,到目前为止的行进路径就是一条糟糕的路径。图片由Brian D. Ziebart提供,见(Ziebart et al., 2009)
图26-28 (a)左图:自主驾驶汽车(中间车道)预测人类司机(左侧车道)要继续前进,并规划了减速并入该车后方的轨迹。右图:自主驾驶汽车考虑了它的动作对人类动作的影响,发觉它可以依靠人类司机的减速来并入前方。(b)在交叉路口,同样的算法产生了不寻常的策略:自主驾驶汽车发觉它可以通过稍稍后退来使人类司机(底部)更快地通过路口。图片由Anca Dragan提供,见(Sadigh et al., 2016)
图26-29 (a)向移动机器人展示保持在土路上的演示。(b)机器人推断所需的代价函数,将其用于新场景中,且知道使道路上的代价较低。(c)机器人对新场景规划了一条同样在道路上的路径,重现了演示中隐含的偏好。图片由Nathan Ratliff and James A. Bagnell提供,见(Ratliff et al., 2006)
图26-30 人类教学者把机器人向下拽来教它离桌子更近一些。机器人正确地更新了它对所需代价函数的理解,并开始对代价函数进行优化。图片由Anca Dragan提供,见(Sefidgar et al., 2017)
图26-31 一个编程接口,在机器人的工作空间中放置专门设计的程序块,以选择物体并指定高层级动作。图片由Maya Cakmak提供,见(Sefidgar et al., 2017)
图26-32 (a)六足机器人Genghis。图片由Rodney A. Brooks提供。(b)用于控制一条腿的增强有限状态机(AFSM)。AFSM对传感器反馈进行反应:如果腿在前摆阶段卡住,则会逐渐增加高度
图26-33 (a)一位用脑机接口控制机械臂抓取饮料的患者。图片由布朗大学提供。(b)吸尘器机器人Roomba。照片来自HANDOUT/KRT/Newscom
图26-34 (a)手术室内的外科手术机器人。照片来自Patrick Landmann/科学图片库。(b)医院运输机器人。照片来自Wired
图26-35 (a)赢得DARPA城市挑战赛的自主汽车Boss。照片由 Tangi Quemener/AFP/Getty Images/Newscom拍摄,由Sebastian Thrun提供。(b)展示Waymo自主汽车(绿色轨迹上的白车)的感知和预测的空中视角。其他车辆(蓝色方块)和行人(橙色方块)及其预期轨迹也展示在图中。道路/人行道边界为黄色。照片由Waymo提供
图26-36 (a)机器人为废弃煤矿绘制地图。(b)机器人获取的该煤矿三维地图。图片由Sebastian Thrun提供