Skip to content

IOAI 2024 Madarian Cow

  • 来源:noai-mis/IOAI/IOAI-2024/On-Site-Round/Madarian_Cow
  • 类型:Multimodal / generative model control
  • 原始资料:Madarian_Cow.ipynbSolution/Madarian_Cow_Solution.ipynb
  • 题面完整性:notebook 内完整
  • 解法资料完整性:有 reference solution

题面大意

在 Madaria 星球文化中,消防栓与奶牛有特殊联系。任务是在扩散生成模型中实现一个 Magic layer,它接收 latent 图像表示和文本 embedding 均值,修改这些表示,使模型在相关提示下更倾向于生成带牛的消防栓/或让消防栓概念与牛正确关联,同时不破坏其他类别生成。测试类别包括 cow、cat、horse、pizza、bus、tv 等。

数据特点

题目提供可用数据集,包含测试会涉及的类别以及一些 cows with hydrant 图像。模型是生成式扩散 pipeline,参赛者只能在指定中间层修改 latents 和 text embedding mean,不能改变后续推理代码。评测可能使用对象检测或图像分类指标检查生成结果。

考点

核心考点是生成模型中间表示编辑。参赛者需要找到一个轻量变换,让特定概念关联改变,同时保持其他提示语义。它类似概念注入、模型补丁和 representation steering。

涉及知识点

  • Diffusion pipeline。
  • Text embedding / latent representation。
  • Concept steering。
  • 小模块训练或手工向量偏移。
  • 生成图像自动评估。

解法思路

可从训练数据中计算含牛/消防栓图像和文本的平均表示差异,学习一个向量偏移或线性层,在 Magic.forward(latents, text_embeddings_mean) 中对特定方向进行调整。若允许训练,可冻结扩散模型,只训练 Magic 层,使生成结果被检测器判为目标组合,同时对非目标类别保持一致。

可选/多种解法

向量偏移:计算目标概念方向,简单稳。

小 MLP/LoRA 式 Magic:学习非线性表示修正。

基于检测器反馈优化:用 DETR/分类器作为弱评估训练 Magic。

特殊技巧

只修改目标相关表示,避免所有 prompt 都生成牛或消防栓。可以根据文本 embedding 与目标关键词方向的相似度门控偏移强度。训练时加入非目标类别保持损失,防止语义漂移。

调参优化

这题只能改 Magic 层可访问的少量参数,因此调参空间应集中在允许的两个参数及随机性控制上。建议固定 seed 后做小范围网格搜索,记录每组参数在 validation 上的生成质量和评测分,再用 2 到 3 个 seed 检查稳定性。若参数影响生成强度或编辑方向,优先选择分数均值高且方差低的区域,而不是单次最高值。不要通过改 inference/evaluation 代码来“调参”,那会偏离题目限制。

注意事项

只能修改 Magic 层可访问的两个参数,后续 inference 和 evaluation 不应改。外部数据限制严格,只能用题目提供数据。生成任务随机性较大,需要固定 seed 或多 seed 稳定策略。

推广意义

这题是模型编辑和生成控制的竞赛题。其思想可迁移到安全概念抑制、风格注入、品牌/角色定制和轻量模型补丁。