ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

LAVIS 数据集全解析:SNLI-VE 视觉蕴含任务的数据构成、评测指标与 ALBEF 实战

LAVIS 数据集全解析:SNLI-VE 视觉蕴含任务的数据构成、评测指标与 ALBEF 实战 LAVIS 数据集全解析SNLI-VE 视觉蕴含任务的数据构成、评测指标与 ALBEF 实战【免费下载链接】LAVISLAVIS - A One-stop Library for Language-Vision Intelligence项目地址: https://gitcode.com/gh_mirrors/la/LAVISSNLI-VEStanford Natural Language Inference - Visual Entailment是 LAVIS 仓库内置支持的一个经典视觉语言推理数据集它要求模型以一张图片作为前提premise判断一句自然语言假设hypothesis与图片之间的蕴含、中立或矛盾关系。本文以 dataset_card/snli_visual_entailment.md 数据集卡片为骨架结合仓库内的数据集源码、配置 YAML 与训练/评测脚本完整梳理 SNLI-VE 的任务定义、数据统计、评测方式并给出在 LAVIS 中从数据下载到 ALBEF 微调与评测的端到端实战方案。SNLI-VE 是什么视觉蕴含Visual Entailment任务定义SNLI-VE 由 Xie 等人提出arXiv:1811.10582其核心目标是推理图片前提 P_image 与文本假设 H_text 之间的关系。任务设定如下给定一张图片作为前提premise给定一句自然语言句子作为假设hypothesis根据 (P_image, H_text) 所表达的关系为样本分配三种标签之一entailment蕴含P_image 中存在足够证据可以断定 H_text 为真contradiction矛盾P_image 中存在足够证据可以断定 H_text 为假neutral中立P_image 中的证据不足以对 H_text 的真伪做出结论。如上图所示同一张前提图片可以对应多个假设句例如“两个穿棕色衬衫的人带着女人和两条黑狗站在户外”这一前提可派生出蕴含、中立、矛盾三种不同标签的样本——这正是视觉蕴含与图像分类、检索等任务的本质区别它考验模型基于视觉证据做细粒度逻辑推理的能力。值得注意的是数据集卡片中明确强调SNLI-VE 建立在 Flickr30k 之上即复用 Flickr30k 的图片外加人工构造的蕴含标注。这一点在仓库的配置文件中有直接体现详见下文“数据在 LAVIS 中的实现”一节。数据构成与统计分析SNLI-VE 划分为 train、dev、test 三个 split三个标签entailment、neutral、contradiction在每一个 split 内都近似均匀分布。数据集卡片给出的详细统计如下TrainDevTest#Image2978310001000#Entailment17693259595973#Neutral17604559605964#Contradiction17655059395964Vocabulary Size2955065766592从中可以看出几个关键事实训练集规模大、标注充分训练集约 3 万张图片、近 53 万条样本每个标签约 17.6 万条标签分布基本均衡无需做类别重加权同一图片对应多条假设图片数远小于样本数说明每张前提图片平均派生约 18 条假设标注这与上一节“前提-多假设”的示例一致测试集相对精简dev/test 各 1000 张图片、约 1.8 万条样本适合作为快速验证与提交基准。仓库 defaults.yaml 中分别给出了三个 split 的标注文件映射train →snli/annotations/ve_train.json、val →snli/annotations/ve_dev.json、test →snli/annotations/ve_test.json而图片统一指向flickr30k/images/flickr30k-images再次印证了 SNLI-VE 与 Flickr30k 图片共享的关系。评测指标与模型排行榜SNLI-VE 的官方评测指标为Accuracy准确率即预测标签与真实标签一致的样本占比。由于三个标签在各 split 中近似均匀分布Accuracy 可以直接反映模型的真实判别能力无需引入 macro/micro 等加权处理。数据集卡片给出了按 dev 集准确率排序的公开排行榜节选核心模型RankModeldevtest1CoCa87.087.12SimVLM86.286.33SOHO85.085.04ALBEF80.880.95VILLA80.280.06UNITER79.479.47LXMERT72.472.58BUTD65.365.7排行榜展示了视觉蕴含任务从自底向上注意力BUTD到大规模预训练视觉语言模型CoCa、SimVLM的演进轨迹也说明该任务对跨模态对齐与推理能力的要求较高。ALBEF 以 80.8/80.9 的成绩位居第四而 ALBEF 正是 LAVIS 仓库中为该任务提供完整训练/评测管线的主力模型见下文。数据获取自动下载脚本数据集卡片给出了最简明的数据获取方式——运行仓库内置的 Flickr30k 下载脚本cd lavis/datasets/download_scripts python download_flickr.py该脚本位于 download_flickr.py负责下载 SNLI-VE 复用的 Flickr30k 图片。需要说明的是标注文件ve_train.json / ve_dev.json / ve_test.json与图片的存放位置由 defaults.yaml 的build_info控制其中storage字段定义了相对存储路径在snli_ve_instruct配置defaults_instruct.yaml中三个 split 的标注文件提供了可直接拉取的公开下载地址图片则指向flickr30k/images/flickr30k-images或本地路径方便不同网络环境的用户选用使用load_dataset时LAVIS 会依据build_info自动完成下载、存储与读取。数据在 LAVIS 中的实现源码解读SNLI-VE 在仓库中的核心实现位于 snli_ve_datasets.py包含两个数据集类。分类数据集 SNLIVisualEntialmentDataset该类继承自 MultimodalClassificationDataset后者又是 BaseDataset 的子类核心逻辑如下类别映射_build_class_labels()将三个标签映射为数值索引{contradiction: 0, neutral: 1, entailment: 2}这也是分类头输出维度num_classes3的来源样本读取__getitem__根据标注中的image字段拼接图片路径os.path.join(self.vis_root, %s.jpg % image_id)经 PIL 打开并转为 RGB 后送入vis_processor做图像预处理假设句ann[sentence]经text_processor处理返回结构每个样本返回image、text_input、数值化的label、image_id与instance_id其中image_id指向 Flickr30k 图片编号instance_id是样本级唯一标识可视化调试内置displ_item混入类可返回file、sentence、label、image的 OrderedDict便于在 dataset_browser 等工具中展示样本。指令微调数据集 SNLIVisualEntialmentInstructDatasetsnli_ve_instruct变体对应 defaults_instruct.yaml将三分类任务改写为指令问答形式适配 InstructBLIP 类生成式模型classnames被替换为[no, maybe, yes]分别对应 contradiction / neutral / entailment每条样本自动生成提示词based on the given the image is {} true?并把标签字符串作为answer与label返回question_id复用instance_id。从源码结构看这种设计让同一份 SNLI-VE 数据既能驱动判别式三分类模型也能驱动生成式指令模型体现了 LAVIS“一库多用”的数据层抽象。配置文件详解图像与文本预处理SNLI-VE 在 LAVIS 中默认采用 CLIP 风格预处理instruct 变体或 BLIP 风格预处理ALBEF 微调配置两者都值得关注。以 defaults_instruct.yaml 为例vis_processortrain 与 eval 均使用clip_image_train/clip_image_eval图像尺寸image_size: 224text_processortrain/eval 均使用blip_caption负责对假设句做统一规范化data_typeimages即按静态图片而非视频/特征处理。而在 ALBEF 的训练配置snli_ve_ft.yaml中图像预处理切换为blip_image_train/blip_image_eval文本处理器同样为blip_caption。两种配置一脉相承只是处理器名称与模型架构不同。实战用 ALBEF 在 SNLI-VE 上微调与评测LAVIS 仓库为 SNLI-VE 提供了开箱即用的 ALBEF 三分类模型架构注册名为albef_classification模型类型ve对应配置 albef_classification_ve.yaml。关键参数如下参数取值说明num_classes3对应 entailment / neutral / contradictionuse_distillTrue启用动量蒸馏momentum distillationmomentum0.995动量编码器更新系数alpha0.4蒸馏损失权重上限image_size384输入图像分辨率vit_typebaseVision Transformer 主干med_config_pathconfigs/models/med_config_albef.json文本/多模态编码器配置模型实现位于 albef_classification.py值得关注的实现细节分类头cls_head由Linear(hidden_size, hidden_size) → ReLU → Linear(hidden_size, num_classes)组成作用在文本编码器输出last_hidden_state[:, 0, :]即 [CLS] 位置之上动量蒸馏训练时以动量更新方式维护一份编码器副本loss (1 - alpha) * CrossEntropy alpha * KL(softmax(prediction), softmax(prediction_m))alpha随训练进度由_rampup_factor从 0 线性爬坡到 0.4这与 ALBEF 论文中的动量蒸馏策略一致推理模式forward(is_trainFalse)仅返回predictions与targets供评测阶段计算 Accuracy。微调命令仓库提供了 train_ve_albef.shpython -m torch.distributed.run --nproc_per_node8 train.py --cfg-path lavis/projects/albef/train/snli_ve_ft.yaml对应训练配置 snli_ve_ft.yaml 中的关键超参数任务multimodal_classification、学习率调度linear_warmup_cosine_lr、init_lr: 2e-5、weight_decay: 0.05、max_epoch: 10、batch_size_train: 32、batch_size_eval: 64训练 split 为[train]验证用[val]输出目录output/ALBEF/SNLI_VE。评测命令仓库提供了 eval_albef_ve.shpython -m torch.distributed.run --nproc_per_node16 evaluate.py --cfg-path lavis/projects/albef/eval/snli_ve_eval.yaml对应评测配置 snli_ve_eval.yamlevaluate: True、test_splits: [val, test]并可直接加载 albef_classification_ve.yaml 中声明的 ALBEF SNLI-VE 微调权重load_finetuned: True。评测输出即模型在 dev/test 上的 Accuracy与数据集卡片排行榜口径一致可复现 ALBEF 约 80.8/80.9 的水平。小结与扩展阅读SNLI-VE 以“图片前提 文本假设 三分类标签”的形式为视觉语言模型提供了细粒度的逻辑推理测试床。围绕这一数据集LAVIS 仓库形成了从数据卡片、下载脚本、数据集类、配置体系到模型训练/评测脚本的完整闭环数据集卡片snli_visual_entailment.md含示例图 snli_ve.png数据实现snli_ve_datasets.py数据配置defaults.yaml、defaults_instruct.yaml模型与训练/评测 albef_classification.py、albef_classification_ve.yaml、snli_ve_ft.yaml、snli_ve_eval.yaml。读者既可以直接复用仓库脚本完成 ALBEF 的 SNLI-VE 微调与评测也可以基于SNLIVisualEntialmentDataset与SNLIVisualEntialmentInstructDataset的源码将该数据集适配到自定义的判别式或生成式模型中。【免费下载链接】LAVISLAVIS - A One-stop Library for Language-Vision Intelligence项目地址: https://gitcode.com/gh_mirrors/la/LAVIS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表