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眼睛和嘴巴”)。
@浙大疏錦行