当前位置: 首页 > news >正文

day46/60

@浙大疏锦行

DAY 46 通道注意力(SE注意力)

知识点回顾:

  1. 不同CNN层的特征图:不同通道的特征图
  2. 什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。
  3. 通道注意力:模型的定义和插入的位置
  4. 通道注意力后的特征图和热力图

内容参考

作业:

  1. 今日代码较多,理解逻辑即可
  2. 对比不同卷积层特征图可视化的结果(可选)

ps:

  • 我这里列出来的是通道注意力中的一种,SE注意力
  • 为了保证收敛方便对比性能,今日代码训练轮数较多,比较耗时
  • 目前我们终于接触到了模块,模块本质上也是对特征的进一步提取,整个深度学习就是在围绕特征提取展开的,后面会是越来越复杂的特征提取和组合步骤
  • 新增八股部分,在本讲义目录中可以看到----用问答的形式记录知识点

今天的内容被拆开到2天完成,不然任务量有点大,热图顺移到明天


我将用生活中常见的 **“图书馆检索”“动物特长分工”** 等场景,把这些深度学习概念转化为直观易懂的内容,并通过比喻加深理解。

一、知识点通俗解释 + 趣味比喻

1. 不同 CNN 层的特征图:不同通道的特征图

含义:CNN 每一层卷积后输出的特征图,可看作从不同角度提取图像的信息;而每个特征图的 “通道”,类似 RGB 图像的红、绿、蓝通道,各自捕捉不同类型的特征。浅层特征图聚焦边缘、纹理等基础元素,深层特征图则捕捉物体形状、语义等抽象信息。
比喻:把特征图想象成 “图书馆的检索卡片” ,通道就是 “不同的检索关键词” 。

 
  • 浅层网络:用 “直线”“曲线” 等关键词标记图像,比如在猫的图片里,某个通道专门找胡须的直线,另一个通道找毛发的曲线,这些卡片(特征图)记录的是零散的局部细节。
  • 深层网络:改用 “猫耳”“猫尾” 等关键词,通道们合作标注出完整的猫的轮廓。此时的卡片(特征图)更抽象,能直接关联到 “猫” 这个概念。
  • 不同通道:每个通道像一位 “专精馆员”,有的只关注线条(纹理通道),有的只找颜色(色彩通道),各自从图像里 “检索” 特定信息。
2. 什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道

含义:注意力机制是一类让模型聚焦重要信息、忽略次要信息的技术,包含多种不同类型的模块(如通道注意力、空间注意力、自注意力等),每种模块通过不同方式分配 “注意力权重”,提升模型性能。实际效果需通过实验验证。
比喻:把注意力机制比作 “动物园的动物特工队” :

 
  • 注意力家族:动物园里有不同动物(模块),老鹰擅长高空侦查(全局信息捕捉),狐狸擅长潜入寻找目标(局部细节挖掘)。模型遇到任务时,可以 “雇佣” 不同动物(选择不同模块),让它们用特长找关键信息。
  • 好不好试了才知道:就像派老鹰和狐狸同时执行任务,有时老鹰一眼锁定目标更高效,有时狐狸靠灵活走位找到线索更好用。模型训练时也需要尝试不同注意力模块,看哪种组合在特定任务(如猫狗分类)中表现最佳。
3. 通道注意力:模型的定义和插入的位置

含义:通道注意力模块通过学习每个通道的重要性,为不同通道分配权重,增强关键通道(如识别猫的 “猫耳”“猫尾” 特征通道)的信号,抑制无关通道。通常插入在卷积层之后,用于调整特征图的通道信息。
比喻:通道注意力是 “图书馆的资源调度员” :

 
  • 模型定义:调度员分析所有检索卡片(特征图的通道),给 “猫耳”“猫尾” 等关键卡片贴上 “加急处理” 标签(高权重),给记录杂线的卡片贴上 “普通” 标签(低权重),让后续流程优先处理重要信息。
  • 插入位置:调度员在图书馆的中间环节工作,当馆员们(卷积层)刚整理完检索卡片(输出特征图),调度员就立刻介入,调整卡片的优先级,再交给下一个部门(后续网络层)。
4. 通道注意力后的特征图和热力图

含义:经过通道注意力加权后,特征图中关键通道的信息被增强,次要通道被削弱;热力图则可视化通道注意力的权重分布,高亮显示模型关注的重点通道。
比喻

 
  • 特征图:类似 “重点标注版检索卡片” ,调度员处理后,“猫耳”“猫尾” 等关键卡片颜色变深、字号变大(权重提升),杂线卡片颜色变淡(权重降低),让后续流程一眼看清重点。
  • 热力图:好比 “调度员的工作记录” ,用红色高亮标注出被赋予高权重的通道(如 “猫耳” 通道),蓝色表示低权重通道,直观展示模型更关注图像的哪些信息维度。

二、核心要点总结表

知识点核心概念比喻场景关键作用
不同 CNN 层的特征图分层提取图像特征,通道聚焦不同信息图书馆检索卡片与关键词从局部到整体抽象特征提取
注意力机制多种模块聚焦重要信息动物园动物特工队提升模型对关键信息的敏感度
通道注意力加权调整特征图的通道重要性图书馆资源调度员增强关键通道,抑制次要通道
注意力后的特征图与热力图增强关键信息,可视化权重分布重点标注卡片与工作记录优化特征表达,直观展示关注点
 

通过这些比喻,复杂的深度学习概念变得像生活故事一样好理解。如果想进一步了解某部分细节,随时可以告诉我!



error:

import matplotlib.pyplot as plt
import numpy as npdef visualize_feature_maps(feature_maps, title='Feature Maps'):num_maps = feature_maps.shape[0]size = int(np.ceil(np.sqrt(num_maps)))fig, axes = plt.subplots(size, size, figsize=(10, 10))fig.suptitle(title)for idx, ax in enumerate(axes.flat):if idx < num_maps:ax.imshow(feature_maps[idx], cmap='viridis')ax.axis('off')plt.show()
import torch
# 设置模型为评估模式
model.eval()# 定义需要可视化的卷积层
layers_to_visualize = [model.conv1, model.conv2, model.conv3]  # 需根据实际模型结构调整for idx, layer in enumerate(layers_to_visualize):# 注册钩子函数获取该层的输出activation = {}  def get_activation(name):def hook(model, input, output):activation[name] = output.detach()return hooklayer.register_forward_hook(get_activation(f'layer_{idx}'))# 前向传播with torch.no_grad():_ = model(test_image.unsqueeze(0))# 获取该层的特征图feature_maps = activation[f'layer_{idx}'].squeeze(0).cpu().numpy()# 可视化特征图visualize_feature_maps(feature_maps, title=f'Feature Maps of Layer {idx+1}')

相关文章:

  • Java垃圾收集机制Test
  • Modbus 报文结构与 CRC 校验实战指南(一)
  • 5 c++核心——文件操作
  • 【NLP 实战】蒙古语情感分析:从 CNN 架构设计到模型训练的全流程解析(内附项目源码及模型成果)
  • EPLAN Electric P8 2.9 零基础保姆级安装教程
  • 力扣第84题-柱状图中最大的矩形
  • [Python 基础课程]Python 规范
  • 【QT】信号和槽(1) 使用 || 定义
  • 信号处理分析工具——时频分析(二)
  • python sklearn 机器学习(1)
  • 【C++】C++的虚析构函数
  • Linux基本命令篇 —— head命令
  • 什么是P2P 网络(Peer-to-Peer Network)
  • linux运维学习第10周
  • FastAPI+Sqlite+HTML的登录注册与文件上传系统:完整实现指南
  • 命令模式 - Flutter中的操作封装大师,把“动作“变成可管理的对象!
  • 数据同步工具对比:Canal、DataX与Flink CDC
  • stm32hal模块驱动(2)bmi270气压计
  • 数据结构之单链表
  • 爬虫实战之图片及人物信息爬取