Project Icon

SOFT

无需softmax的线性复杂度Transformer模型

SOFT是一种新型Transformer模型,采用无需softmax的归一化自注意力机制,实现了线性复杂度和更强的泛化能力。该模型在图像分类、目标检测和语义分割等计算机视觉任务中表现优异。项目提供多种规模的预训练模型,适用于不同应用场景。开源代码包含完整的训练和评估流程,并附有详细说明,便于研究人员进行深入研究和应用开发。

无 Softmax 的线性 Transformer

图片

SOFT:线性复杂度的无 Softmax Transformer,
Jiachen Lu, Jinghan Yao, Junge Zhang, Xiatian Zhu, Hang Xu, Weiguo Gao, Chunjing Xu, Tao Xiang, Li Zhang
NeurIPS 2021

无 Softmax 的线性 Transformer,
Jiachen Lu, Junge Zhang, Xiatian Zhu, Jianfeng Feng, Tao Xiang, Li Zhang
IJCV 2024

新特性

  1. 我们提出了一种具有更强泛化能力的归一化无 Softmax 自注意力机制。
  2. SOFT 现在可应用于更多视觉任务(目标检测和语义分割)。

新闻

环境要求

  • timm==0.3.2

  • torch>=1.7.0 及匹配的 torchvision

  • cuda>=10.2

在 cuda < 10.2 上编译可能会失败。
我们已在 cuda 10.2cuda 11.2 上成功编译。

数据准备

http://image-net.org/ 下载并解压 ImageNet 训练集和验证集图像。 目录结构是 torchvision datasets.ImageFolder 的标准布局,训练数据和验证数据分别位于 train/ 文件夹和 val 文件夹中:

/path/to/imagenet/
  train/
    class1/
      img1.jpeg
    class2/
      img2.jpeg
  val/
    class1/
      img3.jpeg
    class/2
      img4.jpeg

安装

git clone https://github.com/fudan-zvg/SOFT.git
python -m pip install -e SOFT

主要结果

ImageNet-1K 图像分类

模型分辨率参数量FLOPsTop-1 %配置预训练模型
SOFT-Tiny22413M1.9G79.3SOFT_Tiny.yaml, SOFT_Tiny_cuda.yamlSOFT_Tiny, SOFT_Tiny_cuda
SOFT-Small22424M3.3G82.2SOFT_Small.yaml, SOFT_Small_cuda.yaml
SOFT-Medium22445M7.2G82.9SOFT_Meidum.yaml, SOFT_Meidum_cuda.yaml
SOFT-Large22464M11.0G83.1SOFT_Large.yaml, SOFT_Large_cuda.yaml
SOFT-Huge22487M16.3G83.3SOFT_Huge.yaml, SOFT_Huge_cuda.yaml
SOFT-Tiny-Norm22413M1.9G79.4SOFT_Tiny_norm.yamlSOFT_Tiny_norm
SOFT-Small-Norm22424M3.3G82.4SOFT_Small_norm.yamlSOFT_Small_norm
SOFT-Medium-Norm22445M7.2G83.1SOFT_Meidum_norm.yamlSOFT_Medium_norm
SOFT-Large-Norm22464M11.0G83.3SOFT_Large_norm.yamlSOFT_Large_norm
SOFT-Huge-Norm22487M16.3G83.4SOFT_Huge_norm.yaml

COCO目标检测(2017验证集)

骨干网络方法学习率调度边界框mAP掩码mAP参数量
SOFT-Tiny-NormRetinaNet1x40.0-23M
SOFT-Tiny-NormMask R-CNN1x41.238.233M
SOFT-Small-NormRetinaNet1x42.8-34M
SOFT-Small-NormMask R-CNN1x43.840.144M
SOFT-Medium-NormRetinaNet1x44.3-55M
SOFT-Medium-NormMask R-CNN1x46.642.065M
SOFT-Large-NormRetinaNet1x45.3-74M
SOFT-Large-NormMask R-CNN1x47.042.284M

ADE20K语义分割(验证集)

骨干网络方法裁剪大小学习率调度mIoU参数量
SOFT-Small-NormUperNet512x5121x46.254M
SOFT-Medium-NormUperNet512x5121x48.076M

入门指南

训练

我们有两种高斯核的实现:PyTorch版本和使用cuda实现的精确高斯函数形式。包含cuda的配置文件是cuda实现。两种实现都能达到相同的性能。 在运行cuda版本之前,请先安装SOFT。

./dist_train.sh ${GPU数量} --data ${数据路径} --config ${配置文件}
# 例如,使用8个GPU在ImageNet训练集上训练SOFT-Tiny
./dist_train.sh 8 --data ${数据路径} --config config/SOFT_Tiny.yaml

测试

./dist_train.sh ${GPU数量} --data ${数据路径} --config ${配置文件} --eval_checkpoint ${检查点文件} --eval

# 例如,使用8个GPU在ImageNet验证集上测试SOFT-Tiny

./dist_train.sh 8 --data ${数据路径} --config config/SOFT_Tiny.yaml --eval_checkpoint ${检查点文件} --eval

参考文献

@inproceedings{SOFT,
    title={SOFT: Softmax-free Transformer with Linear Complexity}, 
    author={Lu, Jiachen and Yao, Jinghan and Zhang, Junge and Zhu, Xiatian and Xu, Hang and Gao, Weiguo and Xu, Chunjing and Xiang, Tao and Zhang, Li},
    booktitle={NeurIPS},
    year={2021}
}
@article{Softmax,
    title={Softmax-free Linear Transformers}, 
    author={Lu, Jiachen and Zhang, Li and Zhang, Junge and Zhu, Xiatian and Feng, Jianfeng and Xiang, Tao},
    journal={International Journal of Computer Vision},
    year={2024}
}

许可证

MIT

致谢

感谢以下开源项目: Detectron2 T2T-ViT PVT Nystromformer pytorch-image-models

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号