我们都知道神经网络像一个黑盒子一样,输入数据→训练→得出模型,但我们一直不了解神经网络的内部是怎么运行的?内部的各层要寻找什么样的特征?为什么训练后是这个样子的?这节课的主题是尝试从人类的角度理解神经网络的内部结构和它到底在做些什么。
可视化卷积核
训练完网络后,根据模板匹配的思想(卷积核展示为图片的样子就是它想要在图片里寻找的东西),把卷积核拿出来,展示为图片,就叫做卷积核可视化。
下面左边第一幅图是AlexNet第一层卷积核可视化的结果。它总共有64个卷积核,每个卷积核的形状都是3*11*11,所以可以可视化为64张11*11的彩色图片。对比各种网络的第一次卷积核可视化结果,可以发现它们都是在寻找特定方向的边缘(笔记一里的猫的实验)和各种颜色。
第二层和之后的层就没有那么直观了。第二层接受16个输入(这是另一个网络了),有20个卷积核,每个卷积核是7*7大小。所以第二层得到的卷积核是20*16*7*7大小的,16*7*7大小的卷积核无法展示成彩色图片,所以我们化为灰度图来展示(需要把它的定义域改为0-255),总共有20*16个7*7的灰度图。
可视化后你可能会看到一些空间结构,但它并不能给你更直观的感觉(比如:这个卷积核在寻找蓝色,这个卷积核在寻找水平的边等),因为它没有直接连接到输入图像。或许我们可以尝试去看看最