File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -470,4 +470,58 @@ class CoCa(nn.Module):
470470
471471 # 总损失 = caption loss + contrastive loss
472472 return caption_loss + contrastive_loss
473- ```
473+ ```
474+
475+ ## 消融实验
476+
477+ ### ** 训练目标和损失**
478+
479+ * ** 生成式损失 vs 分类损失** :
480+
481+ * 使用图像描述的生成式损失训练的编码器-解码器模型,性能和传统的单编码器分类损失模型差不多
482+
483+ * 说明生成式训练本身就包含了分类能力,CoCa 可以统一多种训练方法,而且不需要先单独预训练视觉编码器
484+
485+ * ** 联合损失效果** :
486+
487+ * 同时使用对比损失和生成损失的 CoCa,比只用单一损失的模型表现更好
488+
489+ * 生成损失不仅提升 VQA 的能力,也让跨模态对齐(图像和文本匹配)更准确
490+
491+ * 两个损失共享计算资源,所以训练效率高,成本低
492+
493+ ---
494+
495+ ### ** 解码器设计和文本嵌入**
496+
497+ * ** 单模态和多模态解码器层** :
498+
499+ * 减少单模态文本层 → 零样本分类能力下降
500+
501+ * 减少多模态层 → 多模态推理(如 VQA)能力下降
502+
503+ * 将解码器拆成一半单模态、一半多模态 → 取得了较好平衡
504+
505+ * ** \[ CLS] token 使用** :
506+
507+ * 只用一个可学习的 \[ CLS] token 表示整句话,比把它和原输入拼接更好
508+
509+ * 这种方式能减轻生成和对比损失之间的干扰,同时保证视觉和跨模态检索能力
510+
511+ ---
512+
513+ ### ** 注意力池化器设计**
514+
515+ * ** 预训练池化器方案** :
516+
517+ * 并行方案:同时提取对比和生成损失
518+
519+ * 级联方案:先用生成池化器,再在其输出上做对比池化
520+
521+ * 小模型实验表明,级联方案效果更好,所以 CoCa 默认采用
522+
523+ * ** 查询数量** :
524+
525+ * 查询越多 → 使用更多图像 token 信息 → 对多模态理解任务更有利
526+
527+ * 默认生成池化器长度设为 256,既能提升多模态理解,又保持冻结特征能力
You can’t perform that action at this time.
0 commit comments