SwinTransformer

传统Transformer的做法
  • patch划分: 将图像划分为多个patch,每个patch包含多个像素点

  • 序列构建: 将patch作为序列中的token进行处理

  • 粒度选择: patch越小(如

    4×44×44×4

    ),序列长度越长;patch越大(如

    8×88×88×8

    ),序列长度越短

    序列长度与效率问题

    • 效率问题: 序列越长,计算注意力时每个token需要与其他所有token进行计算,效率显著降低
    • 计算复杂度: 传统Transformer需要对长序列进行多次计算(如8次、12次),进一步加剧效率问题
Swin Transformer的解决方案
  • 核心思想: 采用窗口和分层的形式替代长序列方法

  • 分层处理:

    • 第一层: 使用细粒度划分(如400个token),提取详细特征
    • 第二层: 进行合并(如两两合并为200个token)
    • 第三层: 继续合并(如再合并为100个token)
  • 类比CNN: 这种分层结构与CNN中的感受野层级结构类似,随着层数增加,感受野逐渐增大

  • 效率优势: 通过分层处理,计算量逐层减少,解决了传统Transformer的效率问题

  • 关键创新: 引入分层结构,使Transformer能够像CNN一样具有层级特征提取能力

  • 与传统Transformer区别:

    • 传统方法每层处理相同长度的序列
    • Swin Transformer通过分层合并逐步减少token数量
  • 效果类比: 在特征提取效果和方式上都与CNN更加接近,解决了传统Transformer缺乏层级结构的问题

相关推荐
guoran_shini10 分钟前
SVD矩阵分解
人工智能
烟锁池塘柳022 分钟前
【Agent】如何从大模型构建真正的 Agent?以 Claude Code 为例,理解能构建智能体的真正的 Harness 工程
人工智能·agent
qq_1998868726 分钟前
第6板块 第2节 CUDA运行时API与驱动API 核心笔记
c++·人工智能·gpu算力
m0_7345717627 分钟前
深入理解人工智能 最核心的算法模块
人工智能
烈风逍遥44 分钟前
第六篇:RAG 知识库构建与检索全链路
前端·人工智能·后端
花椒技术1 小时前
Agent 沙箱怎么接入生产?花椒的选型、持久化与执行协议实践
人工智能·后端·agent
Liaiyang661 小时前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
liuchangng1 小时前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
GPU实战笔记1 小时前
本地跑不动 llama.cpp,临时租云 GPU 怎么搭?从启动服务到环境复用
java·服务器·网络·人工智能·深度学习·llama
Seoyoneh1 小时前
智能客服意图识别实战:深度学习与规则引擎融合架构与落地实践
人工智能·信息与通信·通信