Appearance
IOAI 2024 Madarian Cow
- 来源:
noai-mis/IOAI/IOAI-2024/On-Site-Round/Madarian_Cow - 类型:Multimodal / generative model control
- 原始资料:
Madarian_Cow.ipynb、Solution/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 稳定策略。
推广意义
这题是模型编辑和生成控制的竞赛题。其思想可迁移到安全概念抑制、风格注入、品牌/角色定制和轻量模型补丁。