一、可视化动机

  1. CNN 层次由浅到深:边缘与颜色 $\rightarrow$ 纹理与部件 $\rightarrow$ 物体级语义。理解「每层在找什么」有助于调试架构、发现数据集偏差与对抗脆弱性。

二、浅层与中层

  1. 第一层卷积核可直接画成 RGB 小块,常呈现定向边、blob 检测器。

  2. 更高层与输入非直接相连,可看 激活图(某通道在空间上的强弱)或 最大激活图像块:在数据集中搜索使某神经元响应最大的裁剪区域,观察其视觉共性。


三、特征空间与降维

  1. 倒数第二层(如 4096 维)特征上 kNN:语义相近图像在特征空间接近,尽管像素可能差异大。

  2. t-SNE / PCA 将高维特征降到 2D,常观察到按类别或场景因素聚类。


四、输入像素归因

  1. 遮挡实验:逐块遮挡输入,看分类概率变化,定位关键区域。

  2. 显著图(Saliency):对类别得分 $S_c$ 关于像素 $I$ 求梯度 $\frac{\partial S_c}{\partial I}$,幅值大的像素对当前预测敏感。可推广到中间层指导分割等。

CAM and Grad-CAM example

  1. 引导反向传播:反向时 ReLU 只传递正梯度,可视化更清晰,可与最大激活块对照。

五、梯度上升与特征反演

  1. 固定网络权重,对像素或特征做 梯度上升 最大化某神经元或类别得分,加 L2、全变分或高斯模糊等 正则 使图像自然。

  2. 特征反演:固定某层特征向量,优化输入图像使该层特征与目标接近(L2),观察不同层保留的信息量:浅层可近似重建像素,深层保留布局而丢失纹理。


六、DeepDream

  1. 前向到选定层,令该层梯度等于激活本身再反传到图像,迭代更新输入,「放大」网络在该尺度检测到的模式,产生梦境化纹理。可用于艺术化或理解偏好响应。

DeepDream example


七、纹理与风格迁移

  1. Gram 矩阵:设某层激活为 $C\times H\times W$,展平为 $C\times HW$,Gram $G=\frac{1}{HW}FF^{\mathsf T}$,刻画通道间二阶共现,近似纹理统计。

Neural style transfer result

神经风格迁移目标(概念)

内容图在高层与生成图特征接近(内容损失);风格图与生成图在若干层的 Gram 接近(风格损失);对生成图像素梯度下降(或训练前馈网络做 Fast style transfer 加速推理)。


  1. 快速风格化:训练一个前馈网络,用原优化目标在训练阶段监督,推理时单次前向即可。

(可参考 Johnson et al., 2016:https://arxiv.org/abs/1603.08155)


八、局限与拓展

  1. 显著图等基于梯度的方法可能受梯度饱和、无关扰动影响;现代可结合积分梯度、Grad-CAM 等改进,属可解释性专门课题。

九、推导与掌握要点(增补)

  1. 显著图与一阶近似
    设 $S_c(I)$ 为图像 $I$ 上类别 $c$ 的未归一化得分(logit 或 softmax 前)。在 $I_0$ 处一阶泰勒展开:
    $$S_c(I)\approx S_c(I_0)+\left(\nabla_I S_c\right)\big|{I_0}^{\mathsf T}(I-I_0).$$
    在局部,$\left|\frac{\partial S_c}{\partial I
    {i,j}}\right|$ 大表示该像素微小变化对类别得分影响大,故取梯度幅值作 saliency map 有解释意义(线性近似下的敏感度)。

  1. Gram 矩阵与风格损失(Gatys 等)
    对层 $l$,记内容图特征为 $\mathbf{F}_{\mathrm{con}}^l$,待优化生成图特征为 $\mathbf{F}_{\mathrm{gen}}^l\in\mathbb{R}^{C\times HW}$,风格图特征为 $\mathbf{F}_{\mathrm{sty}}^l$。内容损失常取 $\mathcal{L}_{\mathrm{content}}=|\mathbf{F}_{\mathrm{gen}}^l-\mathbf{F}_{\mathrm{con}}^l|F^2$(取较高层 $l$)。风格损失在若干层 $\mathcal{S}$ 上比较 Gram 矩阵 $G=\frac{1}{HW}FF^{\mathsf T}$:
    $$\mathcal{L}_{\mathrm{style}}=\sum
    {l\in\mathcal{S}} w_l \left|G_{\mathrm{gen}}^l-G_{\mathrm{sty}}^l\right|F^2,\quad G{\mathrm{gen}}^l=\mathbf{F}_{\mathrm{gen}}^l {\mathbf{F}_{\mathrm{gen}}^l}^{\mathsf T}/(H_lW_l).$$
    总损失 $\mathcal{L}=\alpha\mathcal{L}_{\mathrm{content}}+\beta\mathcal{L}_{\mathrm{style}}+\mathcal{R}(\mathbf{I})$,$\mathcal{R}$ 为图像正则。
全变分(TV)正则

$\mathcal{R}_{\mathrm{TV}}(\mathbf{I})=\sum_{i,j}|I_{i+1,j}-I_{i,j}|+|I_{i,j+1}-I_{i,j}|$,抑制高频噪声,使优化出的图像更平滑自然。


  1. 梯度上升生成图像的优化形式
    最大化 $S_c(I)$ 同时最小化 $|I|_2^2$ 等价于无约束最大化 $S_c(I)-\lambda|I|_2^2$;迭代 $I\leftarrow I+\eta\nabla_I(S_c-\lambda|I|^2)$。高斯模糊可并入每步作为投影或加权,减少高频纹理。

  1. DeepDream 与反向传播目标
    选定层激活 $\mathbf{A}$,希望放大「当前图像已激发的模式」,可设目标 $\mathcal{J}=|\mathbf{A}|^2$(或逐通道能量),则 $\frac{\partial \mathcal{J}}{\partial I}$ 经标准反向传播传到输入,更新 $I$ 使 $\mathcal{J}$ 增大,等价于在像素空间沿「增强内部表示」方向移动。

  1. 引导反向传播与 ReLU
    普通反向传播经 ReLU 时,若前向激活为 0 则梯度为 0。引导式仅保留 正梯度 回传(或与前向符号一致),可视化更「集中」,但不再严格等于真实梯度,属于启发式可视化技巧。

十、逻辑脉络(如何把前面几节串起来)

  1. 主线:黑盒预测 $\rightarrow$ 浅层核 / 中层最大响应块 看「学到了何种局部模式」$\rightarrow$ 特征空间 kNN / t-SNE 看语义聚类 $\rightarrow$ 遮挡、显著图 回答「像素级谁重要」$\rightarrow$ 梯度上升 / 特征反演 回答「何种图像使某神经元最强」$\rightarrow$ Gram + 内容项 把「纹理统计」与「内容布局」拆开,得到风格迁移。DeepDream 则是 放大已有激活 的特例。

  2. 与 CV4:可视化对象几乎都是 卷积层或全连接层 的响应;理解感受野有助于解释 中层最大响应块 为何比浅层更大、更语义化。


十一、分步例题(便于自检)

例1:Gram 矩阵 $2\times 2$(与第七节、第九节 2 对照)

设 $C=2$,空间仅 2 个位置($HW=2$),展平后
$$F=\begin{bmatrix}f_{11}&f_{12}\f_{21}&f_{22}\end{bmatrix}\in\mathbb{R}^{2\times 2}.$$
则 $G=\frac{1}{2}FF^{\mathsf T}$ 为 $2\times 2$ 矩阵,$(G){11}=\frac{1}{2}(f{11}^2+f_{12}^2)$,$(G){12}=\frac{1}{2}(f{11}f_{21}+f_{12}f_{22})$。$G$ 在 通道之间 统计共现,对两个空间位置平均,故大致丢掉绝对位置,保留纹理式二阶信息——这是风格损失用 Gram 的要点。


例2:内容项与单层匹配(与第九节 2 对照)

若只在某层 $l$ 最小化 $|\mathbf{F}_{\mathrm{gen}}^l-\mathbf{F}_{\mathrm{con}}^l|_F^2$,且两特征张量形状相同,则等价于对该层每个通道、每个空间位置逐点 MSE。层越深,语义越强、空间细节越弱,故高层的「内容」更接近物体布局而非像素。


例3:遮挡实验读图(与第四节对照)

若滑窗遮挡某区域后,正确类概率从 0.95 掉到 0.3,说明网络 依赖 该区域特征;若几乎不变,则模型可能利用上下文或其它捷径(数据偏差风险提示)。