本文章参考《Python深度学习》
深度学习用于计算机视觉(下篇)
本系列文章内容较多,共分为三篇,主要包括以下内容:
- 理解卷积神经网络(convnet)
- 使用数据增强来降低过拟合
- 使用预训练的卷积神经网络进行特征提取
- 微调预训练的卷积神经网络
- 将卷积神经网络学到的内容及其如何做出分类决策可视化
上篇主要包括前两点,中篇包括三四点,下篇主要围绕第五点。
卷积神经网络的可视化
人们常说,深度学习模型是“黑盒”,即模型学到的表示很难用人类可以理解的方式来提取和呈现。虽然对于某些类型的深度学习模型来说,这种说法部分正确,但对卷积神经网络来说绝对不是这样。卷积神经网络学到的表示非常适合可视化,很大程度上是因为它们是视觉概念的表示,这篇文章介绍三种最容易理解也最有用的可视化方法。
- 可视化卷积神经网络的中间输出(中间激活):有助于理解卷积神经网络连续的层如何 对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义。
- 可视化卷积神经网络的过滤器:有助于精确理解卷积神经网络中每个过滤器容易接受的 视觉模式或视觉概念。
- 可视化图像中类激活的热力图:有助于理解图像的哪个部分被识别为属于某个类别,从 而可以定位图像中的物体。
对于第一种方法(即激活的可视化),我们将使用 前面在猫狗分类问题上从头开始训练的小型卷积神经网络。对于另外两种可视化方法,我们将使用前面介绍的 VGG16
模型。