InternViT-6B Few-shot语义分割实验解析:用1/16数据看表征泛化能力的完整指南 📅 发布时间:2026/9/17 12:13:57 👁 浏览次数: InternViT-6B Few-shot语义分割实验解析用1/16数据看表征泛化能力的完整指南【免费下载链接】InternVL[CVPR 2024 Oral] InternVL Family: A Pioneering Open-Source Alternative to GPT-4o. 接近GPT-4o表现的开源多模态对话模型项目地址: https://gitcode.com/GitHub_Trending/in/InternVLInternVL 系列开源了InternViT-6B这是接近 GPT-4o 表现的多模态模型所用的视觉编码器。本文聚焦其 segmentation 目录 下的Few-shot 语义分割实验只用 ADE20K 训练集1/16约 1263 张的标注数据就能在 150 类场景分割上取得46.5 mIoU直观展示了其视觉表征的泛化能力。适合想理解表征质量如何被少量数据检验的新手阅读。一、为什么用 Few-shot 分割检验视觉表征语义分割要求对图像每个像素输出类别标签比图像分类更难也更依赖底层的像素级语义表征。如果冻结或轻调一个预训练视觉编码器、只训练一个简单线性头还能在极少数据下取得不错的mIoU就说明该编码器学到的特征已经够用泛化能力强。直观类比把 6B 参数的主干看作一位看图的老师傅分割头只是他手里的一支笔。笔线性头很简单画得好不好主要取决于老师傅看得准不准。二、数据设置1/16、1/8、1/4、1/2、1/1 怎么来的官方在 ADE20K训练集共20210张上按不同比例采样训练其余超参保持一致只改用多少图 训多少步从而形成一条干净的数据量-性能曲线1/16→20210 // 16 1263张训练5k迭代1/8→ 2526 张10k迭代1/4→ 5052 张20k迭代1/2→ 10105 张40k迭代1/1→ 全量80k迭代比例由数据集配置中的max_image_num控制例如1/16配置max_image_num 20210 // 16相关文件ade20k_504x504_1of16.pyade20k_504x504_1of8.py2.1 训练入口配置1/16 示例以1/16为例的主配置绑定了模型、数据集、运行环境与学习率调度linear_intern_vit_6b_504_5k_ade20k_bs16_lr4e-5_1of16.pylinear_intern_vit_6b_504_10k_ade20k_bs16_lr4e-5_1of8.py三、模型与训练配置速览整套分割代码基于 MMSegmentation v0.30.0结构是InternViT-6B 主干 线性分割头。3.1 视觉主干 InternViT-6B从配置可见关键超参504px 输入参数值说明embed_dim3200隐藏维度depth48Transformer 层数num_heads25注意力头数patch_size14分块大小img_size504推理/训练分辨率out_indices[47]取最后一层特征主干实现见 intern_vit_6b.py。3.2 线性分割头 FCNHeadFew-shot 实验使用零卷积的FCNHeadnum_convs0本质就是一个3200 → 150的线性映射参数量极小正是只训一支笔的体现decode_headdict( typeFCNHead, in_channels3200, channels3200, num_convs0, num_classes150, ... )实现见 fcn_head.py。3.3 优化器与层衰减采用AdamWlr4e-5配合层衰减layer decayrate0.95让浅层以更低学习率更新是视觉 Transformer 微调的常用技巧layer_decay_optimizer_constructor.py四、实验结果mIoU 随数据量如何变化在 ADE20K 验证集上150 类Few-shot 线性头的成绩如下训练数据比例迭代数分割头mIoU1/165kLinear46.51/810kLinear50.01/420kLinear53.31/240kLinear55.81/1全量80kLinear57.2全量·冻结80kLinear47.2全量·Head Tuning80kUperNet54.9全量·Full Tuning80kUperNet58.9解读要点仅用1/16数据5k 步就有46.5 mIoU几乎追平全量数据 冻结主干的 Linear Probing47.2说明 6B 预训练表征质量很高。数据从 1/16 → 1/1mIoU 从 46.5 稳步升到 57.2符合数据越多越好的规律但起点已经很高。换成更强的 UperNet 头并微调Full Tuning 可达58.9比线性头高约 1.7 个点。各配置的权重与日志、以及完整结果表见 segmentation/README.md。五、如何复现 1/16 实验说明当前开源版未内置 DeepSpeed官方仅支持linear probing与head tuning训练Few-shot 配置默认deepspeedFalse。1. 数据准备按 MMSegmentation 指引准备 ADE20K放到data/ade/ADEChallengeData2016。2. 模型准备将intern_vit_6b_224px.pth放入pretrained/目录。3. 训练单节点 8 卡总 batch 16sh dist_train.sh configs/intern_vit_6b/few_shot/linear_intern_vit_6b_504_5k_ade20k_bs16_lr4e-5_1of16.py 8训练脚本见 dist_train.sh、train.py。4. 评测单卡python test.py configs/intern_vit_6b/few_shot/linear_intern_vit_6b_504_5k_ade20k_bs16_lr4e-5_1of16.py checkpoints/xxx.pth --eval mIoU评测脚本见 test.py。推理采用slide 滑窗crop_size(504,504), stride(322,322)可对大图做分块预测再拼回。六、结论如何判断表征泛化能力看起点数据越少1/16起点 mIoU 越高说明预训练表征越开箱即用。看斜率从 1/16 到 1/1 的提升幅度反映额外数据带来的边际收益。看对比同一线性头下冻结 vs 全量微调的差距能区分特征本身强还是微调后变强。InternViT-6B 在这组实验中展现了出色的表征泛化——即便只见过千余张标注图也能在 150 类语义分割上拿到实用级分数。这套少数据 简单线性头的配方也为评估其它视觉编码器的表征质量提供了很好的参照模板。本文基于开源仓库 InternVL 的segmentation目录整理所有配置与结果均可在仓库中直接复现。【免费下载链接】InternVL[CVPR 2024 Oral] InternVL Family: A Pioneering Open-Source Alternative to GPT-4o. 接近GPT-4o表现的开源多模态对话模型项目地址: https://gitcode.com/GitHub_Trending/in/InternVL创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考