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缺乏层级结构的问题

相关推荐
Csvn13 分钟前
第 12 章 并行化 Parallelization
人工智能·aigc·agent
大刚测试开发实战18 分钟前
我在WorkBuddy上打通了TestHub,全程用AI来跑测试!
人工智能
IT_陈寒42 分钟前
为什么我的Vue组件总是莫名其妙重渲染?
前端·人工智能·后端
欧特克_Glodon1 小时前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
lhldsg1 小时前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售
richard_first2 小时前
Transformer与大语言模型:第13章 Decoder
人工智能·机器学习
东坡肘子2 小时前
举手之劳 -- 肘子的 Swift 周报 #151
人工智能·swiftui·swift
Henry-SAP2 小时前
AI产业迎来标准化与商业化双突破
人工智能·云原生·sap·erp
火山引擎开发者社区2 小时前
Seed-Evolving再升级:更强多模态能力,更低幻觉
人工智能