机器学习工程师 - Udacity 可视化 CNN
我们看一个 CNN 示例,了解具体运行过程。
我们要查看的 CNN 在 ImageNet 上进行了训练(请参阅这篇来自 Zeiler 和 Fergus 的论文)。在下面的图片中(摘自上述同一论文),我们将看到该网络中的每个层级会检测到什么,并查看每个层级如何检测到越来越复杂的规律。
上述图片来自 Matthew Zeiler 和 Rob Fergus 的深度可视化工具箱(YOUTUBE链接,国内网络可能打不开),使我们能够可视化 CNN 中的每个层级侧重的是什么。
上述网格中的每个图片代表的是第一层级的神经元被激活的规律,换句话说,它们是第一层级能够识别的规律。左上角的图片显示的是 -45 度线条,顶部中间的图片显示的是 +45 度的线条。下面的这些方框再次供参考。
我们查看一些导致此类激活的示例图片。下面的图片网格均激活了 -45 度的线条。注意它们均被选中了,但是具有不同的颜色、渐变和规律。
因此,该 CNN 的第一层级清晰地选出了非常简单的形状和规律,例如线条和色块。
第 2 层级
该 CNN 的第二层级发现了复杂的规律。
正如在上述图片中所看到的,该 CNN 的第二层级识别出圆圈(第二行第二列)、长条(第一行第二列)以及长方形(右下角)。
CNN 自己学会发现这些规律。没有任何特殊说明指导该 CNN 侧重于更深层级中的更复杂对象。当你向 CNN 提供训练数据时,它通常都会这么做。
第 3 层级
第 3 层级从第 2 层级中选出复杂的特征组合。包括网格和蜂窝(左上角)、轮子(第二行第二列),甚至面孔(第三行第三列)。
我们将跳过第 4 层级(继续这一模式),并直接跳到第 5 层级,即该 CNN 的最后一个层级。
第 5 层级
最后一个层级选出我们关心的最高级分类规律,例如狗的脸部、鸟类脸部和自行车。
posted on 2018-12-03 19:58 paulonetwo 阅读(163) 评论(0) 编辑 收藏 举报