4-6 什么是深度卷积网络 ?

假如你训练了一个卷积神经网络,是一个 Alexnet,轻量级网络,你希望将看到不同层之间隐藏单元的计算结果。

从第一层的隐藏单元开始,假设你遍历了训练集,然后找到那些使得单元激活最大化的一些图片,或者是图片块。换句话说,将你的训练集经过神经网络,然后弄明白哪一张图片最大限度地激活特定的单元。注意在第一层的隐藏单元,只能看到小部分卷积神经,如果要画出来哪些激活了激活单元,只有一小块图片块是有意义的,因为这就是特定单元所能看到的全部。你选择一个隐藏单元,发现有 9 个图片最大化了单元激活,你可能找到这样的 9 个图片块:

4-6 什么是深度卷积网络 ?

似乎是图片浅层区域显示了隐藏单元所看到的,找到了像这样的边缘或者线:

4-6 什么是深度卷积网络 ?

然后你可以选一个另一个第一层的隐藏单元,重复刚才的步骤,这是另一个隐藏单元:

4-6 什么是深度卷积网络 ?

看来这个隐藏单元在输入区域,寻找这样的线条:

4-6 什么是深度卷积网络 ?

对其他隐藏单元也进行处理,会发现其他隐藏单元趋向于激活类似于这样的图片:

4-6 什么是深度卷积网络 ?

以此类推,这是 9 个不同的代表性神经元,每一个不同的图片块都最大化地激活了。你可以这样理解,第一层的隐藏单元通常会找一些简单的特征,比如说边缘或者颜色阴影。

在深层部分,一个隐藏单元会看到一张图片更大的部分,在极端的情况下,可以假设每一个像素都会影响到神经网络更深层的输出,靠后的隐藏单元可以看到更大的图片块:

4-6 什么是深度卷积网络 ?

由此可以看到,第一层的边缘,第二层的质地,一直到深层的复杂物体。