DAY47打卡
DAY 47 注意力热图可视化
昨天代码中注意力热图的部分顺移至今天
知识点回顾:热力图(代码学习在day46天)
作业:对比不同卷积层热图可视化的结果
通道注意力热图的代码整体结构与核心功能
- 数据处理:对 CIFAR-10 数据集进行加载、预处理和增强
- 模型构建:基于 CNN 架构并集成通道注意力模块(SE)
- 训练过程:包含损失记录、准确率评估和学习率调度
- 可视化:特征图和注意力热力图的可视化分析
- 优化策略:早停机制和模型保存
- 网络结构:3 个卷积块(每层含卷积 + 批归一化 + 激活 + 注意力 + 池化),2 个全连接层
- 注意力集成:在每个卷积块后插入 SE 模块,对该层特征图进行通道加权
在引入注意力后,可以发现:
1. 上图↑ 进行特征逐层抽象:从“看得见的细节”(conv1)→ “局部结构”(conv2)→ “类别相关的抽象模式”(conv3),模型通过这种方式实现从“看图像”到“理解语义”的跨越。
2.引入注意力后
这个注意力热图是通过构子机制: `register_forward_hook` 捕获最后一个卷积层(`conv3`)的输出特征图。
1. 通道权重计算:对特征图的每个通道进行全局平均池化,得到通道重要性权重。
2. 热力图生成:将高权重通道的特征图缩放至原始图像尺寸,与原图叠加显示。
热力图(红色表示高关注,蓝色表示低关注)半透明覆盖在原图上。主要从以下方面理解:
- **高关注区域**(红色):模型认为对分类最重要的区域。
例如:
- 在识别“狗”时,热力图可能聚焦狗的面部、身体轮廓或特征性纹理。
- 若热力图错误聚焦背景(如红色区域在无关物体上),可能表示模型过拟合或训练不足。
**多通道对比**
- **不同通道关注不同特征**:
例如:
- 通道1可能关注整体轮廓,通道2关注纹理细节,通道3关注颜色分布。
- 结合多个通道的热力图,可全面理解模型的决策逻辑。
可以帮助解释
- 检查模型是否关注正确区域(如识别狗时,是否聚焦狗而非背景)。
- 发现数据标注问题(如标签错误、图像噪声)。
- 向非技术人员解释模型决策依据(如“模型认为这是狗,因为关注了2q眼睛和嘴巴”)。
@浙大疏锦行