当前位置: 首页 > 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}')

http://www.xdnf.cn/news/1074079.html

相关文章:

  • H3C-路由器交换机-中继
  • 计算机组成原理与体系结构-实验一 进位加法器(Proteus 8.15)
  • 5 c++核心——文件操作
  • MySQL技巧
  • 如何优化RK3588集群的性能?支持12个RK3588云手机阵列
  • C++ 格式化输入输出
  • Java中对JSON的操作
  • 模拟多维物理过程与基于云的数值分析-AI云计算数值分析和代码验证
  • SpringCloud系列(41)--SpringCloud Config分布式配置中心简介
  • TCP/UDP协议深度解析(三):TCP流量控制的魔法—滑动窗口、拥塞控制与ACK的智慧
  • Java笔记
  • 野生动物检测数据集介绍-5,138张图片 野生动物保护监测 智能狩猎相机系统 生态研究与调查
  • 贝叶斯自学笔记——基础工具篇(一)
  • Python爬虫实战:研究Bleach库相关技术
  • 【linux】权限深入解析
  • [分布式并行] 流水线并行 PP(NaivePP/GPipe/F-then-B/PipeDream/1F1B)
  • #华为鲲鹏#华为计算#鲲鹏开发者计划2025#
  • 概率论符号和公式整理
  • 大模型小模型选型手册:开源闭源、国内国外全方位对比
  • 团结引擎发布纯鸿蒙应用
  • 微信小程序接入腾讯云短信验证码流程
  • python 使用 pyenv 管理 python 版本
  • 从代码学习深度学习 - 自然语言推断:使用注意力 PyTorch版
  • 基于Servlet + Jsp 的在线考试系统
  • 华为云Flexus+DeepSeek征文 | 华为云 ModelArts Studio 赋能高情商AI聊天助手:用技术构建有温度的智能对话体验
  • libevent(2)之使用教程(1)介绍
  • 基于云的平板挠度模拟:动画与建模-AI云计算数值分析和代码验证
  • 多模态大语言模型arxiv论文略读(143)
  • 广度优先搜索BFS(广搜)复习(c++)
  • 深入理解Mysql索引底层数据结构和算法