人工智能导论 第 4 章 · 实验二

← 返回实验目录

第 4 章 深度学习新方法 · 实验二

它到底在看哪儿

网络看了一张图,说是草莓,把握接近百分之百。它是看了图上哪些像素才这么说的?把网络的判断分摊到每个像素头上,看每个像素出了多少力,这件事叫归因。本实验先看最直接的办法为什么不行,再动手做一遍集成梯度。

建议用时30 分钟
对应课件第七节 第 46 至 50 页
一共几步四步,外加实验报告
交什么最后生成的实验报告

这 个 实 验 要 说 明 四 件 事

  1. 第 01 步网络对一张图给出三个把握,加起来是 100%。归因要解释的,就是它对自己判定的那一类为什么这么有把握。
  2. 第 02 步输出已经涨到头、曲线变平的地方,梯度是 0。只看这一点的梯度,会把实际出过力的输入算成毫无作用。
  3. 第 03 步集成梯度从一张没有水果的空白图出发,一步步走到原图,把一路上的梯度攒起来,就得到每个像素的功劳。
  4. 第 04 步路分得够细时,所有像素的功劳加起来就等于网络对原图和对空白图的把握之差。

关于这个网络:它就是实验一练好的那个认苹果、香蕉、草莓的小网络。

01

先让它说这是什么

对应 第七节 · 第 46 页

这一步看什么挑一张水果图,网络先给三类各打一个分数,再把分数换算成把握,三类的把握加起来是 100%。后面三步要问的是:图上哪些像素让它对这一类这么有把握。

图旁边的三根柱子是网络给三类的把握,柱子下面的小字是换算之前的分数。赭色那一条是网络判定的类别。

换一张图

网络判为—
对这一类的把握—
这一类的分数—
网络的测试准确率—

动 手 做

  1. 三类各挑几张图看一看,注意网络的把握一般有多高。
  2. 点找一张它最没把握的,记下这张图的类别和把握。
  3. 再换回草莓第 5 张,后面三步都先用这张图来做。

应 该 看 到

90 张测试图里,绝大多数的把握都在 99% 以上,最没把握的是草莓第 4 张,也有 89% 左右。判定的那一类只要比第二名多出几分,把握就贴近 100% 了。

网络说得很肯定,却不说理由。接下来三步就来找它的理由。

02

只看梯度会漏掉功劳

对应 第七节 · 第 46、47 页

这一步看什么先把网络放一边,看课件第 47 页只有一个输入 x 的例子:输出 = x − x² ÷ 4,x 到 2 以后不再涨。梯度就是 x 再加一点点时输出跟着变多少,也就是曲线的斜率。最直接的归因办法是把“梯度 × x”当作 x 的功劳。

输出随 x 的变化只看这一点的梯度推算一路攒起来
可以直接在图上拖红点。红色虚线是按这一点的斜率从 0 画过来的,它的高度就是“梯度 × x”。绿色折线把从 0 到 x 这一路分成 25 小段,每一小段按那里的斜率往上爬,最后爬到的高度就是一路攒起来的功劳。

拖动 x

输出实际涨了多少—
这一点的梯度—
梯度 × x—
一路攒起来—
记下的几组
x实际涨了梯度 × x一路攒起来

动 手 做

  1. 把 x 拖到 0.50,点记下这一组,比较右边四个数。
  2. 把 x 拖到 2.00,再记一组,这时曲线已经变平了。
  3. 看两组里“梯度 × x”和“一路攒起来”,哪一个始终等于输出实际涨的量。

应 该 看 到

x 到 2.00 时,输出从 0 涨到了 1.00,全是 x 的功劳。可曲线在这里已经平了,梯度是 0,“梯度 × x”也是 0,只看梯度就会说 x 毫无作用。输出涨到头、再怎么推也不动的情况叫饱和。

x 取 0.50 时,“梯度 × x”是 0.38,也比实际涨的 0.44 少。一路攒起来的值始终和实际涨的量相等,集成梯度用的就是这个办法。

03

从空白图一路走到原图

对应 第七节 · 第 46、50 页

这一步看什么回到网络。从一张只有背景色的空白图(课件叫基线)出发,分 40 步走到原图,把每一步的梯度攒起来,再乘上每个像素一共变了多少,就是这个像素的功劳,画成图叫归因图。课件用全黑图当基线,这里背景是浅色的,从全黑出发功劳会大半算到背景上,所以改用空白图。

网络的把握梯度有多强(最强的一步记作 100%)
上排从左到右:走到这一步的图、这一步的梯度、攒到这一步的功劳,越亮的像素数值越大。下面两条线画的是走完 40 步的全过程,竖线是当前停的位置。

停在哪一步

走到了几成—
网络的把握—
这一步的梯度有多强—
已经攒下的功劳—

动 手 做

  1. 把滑块从 0 慢慢拖到 40,看上排三张图和右边四个数怎么变。
  2. 找出把握第一次超过 99% 是第几步,看这以后梯度还剩多强。
  3. 停在第 40 步,看最右边的归因图哪里最亮。

应 该 看 到

用草莓第 5 张图时,网络对空白图的把握只有 27.3%。前 10 步把握涨得最快,梯度也最强,功劳已经攒下八成。走到第 22 步,把握过了 99%,这时梯度只剩最强时的百分之五左右,走到原图只剩千分之一左右,和第 02 步曲线变平的那一段一样。只看终点那一步的梯度,就会漏掉前面攒下的功劳。

走完 40 步,归因图亮的地方大致就是草莓的形状,背景是暗的。

04

把所有像素的功劳加起来对一次账

对应 第七节 · 第 48、49 页

这一步看什么一张图有 20 × 20 个像素,每个像素有红、绿、蓝三个数,一共 1200 个数。它们的功劳加起来,应该正好等于网络对原图的把握减去对空白图的把握(课件第 48 页写作分数之差),这叫完整性。

灰色虚线是应该等于的数。柱子顶端离虚线越近,说明这个办法分出去的功劳越对得上账。

把路分成几段

应该等于—
集成梯度加起来—
集成梯度差了多少—
只看终点的梯度—
试过的段数
分几段集成梯度加起来差了多少
点一个段数,就记一笔

动 手 做

  1. 先看分 1 段时,绿柱离虚线有多远。
  2. 依次点 3、10、30、100 段,看表里记下的数。
  3. 比较红柱“只看终点的梯度加起来”和虚线差多少。

应 该 看 到

用草莓第 5 张图时,应该等于 0.727。分 1 段只算出 0.12,分 3 段又冲到 0.97,段数太少时算得忽高忽低。分 10 段、30 段、100 段时,差距都不到 0.01。课件第 49 页的工程近似就是这样把路切成 m 段来算的。

只看终点的梯度,加起来只有 0.002,几乎把全部功劳都漏掉了,段数再多也帮不了它。

05

实验报告

整理数据,写下结论

前面四步的操作结果会自动写进报告。下面的题目按你实际看到的情况回答。

一第 01 步中,网络最没把握的是哪一张图,它的把握是多少?大多数测试图的把握大约有多高?
二第 02 步中,x 取 0.50 和 2.00 时,“梯度 × x”和“一路攒起来”各是多少?只看梯度的办法错在哪里?
三第 03 步中,把握第一次超过 99% 是第几步,这以后梯度还剩多强?走完 40 步,归因图哪里最亮?
四第 04 步中,应该等于多少?分 1 段、10 段、100 段时,集成梯度加起来各是多少?只看终点的梯度加起来是多少?
总结学习总结
用自己的话说一说:集成梯度是怎样把网络的判断分摊到每个像素上的?它为什么要从空白图一路走过来,只看终点的梯度又差在哪里?还有哪里没弄明白?建议不少于一百字。
0 字
会打开打印窗口,选“另存为 PDF”即可
人 工 智 能 导 论 上 机 实 验 报 告

它到底在看哪儿:集成梯度

第 4 章 深度学习新方法 · 实验二
姓名—
学号—
班级—
完成日期—

一实验数据记录

网络与图片
—
一个输入的例子
—
一路走过来
—
对账
—

二思考题

一、网络的把握
二、只看梯度的毛病
三、从空白图走到原图
四、功劳对账

三学习总结

指导教师签字  
成绩  
保山学院 · 人工智能教研室 · 曹鼎鼎