HPS | Human Preference Score

Human Preference Score: Better Aligning Text-to-Image Models with Human Preference | 2023

  • Problem:
    • T2I 模型的生成局限性:当前的 T2I 模型 (DALL·E、Stable Diffusion、Imagen、GLIDE) 很难生成符合人类偏好的图像,比如从美学、美感、构图等方面
    • 评价指标模态局限与评价局限:当前的图像质量评价指标(IS,FID)评价比较局限而且是单一模态,无法反应人类的偏好和美学等,并反映 prompt 的遵从性,而 CLIP 不能对图像质量或者人类偏好进行评分。
  • Key Idea:
    • 构建符合人类偏好的数据集 Human Perference Dataset (HPD)
    • 利用 HPD 微调 CLIP 对齐人类偏好,实现人类偏好评分(Human Perference Score, HPS) 与 Prompt 遵从性评分。
  • Method:
    • HPD 构建:从 SD 的 Discord dreambot 频道里获取 prompt、多张候选图像和用户最终选择,避免了雇佣专业的标注员。HPD 中每个 prompt 对应 2-4 张候选图,其中包含一张用户的最终选择图(preferred)。
    • HPS 定义与获取:
      • 利用 HPD 微调 CLIP ViT-L/14,训练目标是提高 prompt embedding 与 preferred image embedding 的相似度,同时降低与 non-preferred image embedding 的相似度
      • HPS 定义:微调后 CLIP 文本与图像编码器输出的 embedding 的 cos sim * 100。
  • Key Design:
    • 微调 CLIP 图像编码器最后 10 层和文本编码器最后 6 层,训练时保持图像长宽比。
    • 利用 HPS 过滤训练数据,并微调 SD 使其能够生成符合人类偏好的图像。
      • 对于一个prompt下的 non-preferred image,作者微调的时候会添加一个 weird image 短语,然后推理的时候在 negative prompt 里添加这个词,避免SD生成不符合人类偏好的图像(负概念注入)。
      • 训练数据集构造:利用 HPS 对 DiffusionDB 中的图像进行过滤(规则略) + LAION-5B 子集。
  • Limitation:
    • 数据来源有Discord的频道用户偏好
    • HPS 可能奖励“看起来更漂亮”而牺牲语义严格性

HPSv2

  • Problem:
    • T2I 的评价指标与人类偏好不一致
    • 人类偏好评价指标的训练集图像来源单一,prompt 存在大量风格词,偏差大
  • Key Idea:
    • 扩大 HPDv2 的图像来源,并进行 prompt 清洗过滤,减少prompt偏差。
    • 建立稳定、公平、易用的 T2I benchmark
  • Method:
    • HPDv2 制作
      • 来源扩大至 4 个不同类型的生成模型和COCO公开数据集,避免在 SD 上学到偏置
      • 对 prompt 用 chatGPT 进行重写去偏,把强烈的风格词、艺术家词、平台词或者冲突的描述去掉,改成清晰、风格词更少、更短的陈述句。
      • 雇佣 labeler 进行标注和 rank
    • HPSv2: 利用 HPDv2 微调 CLIP,评分规则同 HPS
  • Key Design:
    • 标注策略:如果一张图虽然更贴 prompt,但严重模糊、结构崩坏、保真度低,那么应该排在质量更好的图之后;如果两张图审美和质量接近,则应更关注文本对齐。
    • HPDv2 微调 CLIP:
      • 只训练 CLIP image encoder 的最后 20 层和 text encoder 的最后 11 层。超参数通过 Bayesian optimization
      • 利用图像对进行训练和loss计算,实际效果接近对 preferred image 做 pairwise cross entropy,即最大化被人类选择图像的相对分数。
  • Limitation:
    • 来源只是相对没那么局限
    • Prompt 重构可能引入 gpt 的偏差
    • HPS v2 可能继承 CLIP 偏差

HPSv3

  • Problem:
    • 当前 T2I 任务的人类偏好评价模型的输入类型比较单一,可能是单一的架构、分辨率、标注来源等
  • Key Idea:
    • 进一步扩大偏好数据来源和类型,获取更宽的数据质量谱
    • 使用更强的 VLM 进行图像表征
  • Method:
    • HPDv3 数据集 :把高质量真实图、低质量真实图、传统/较新 diffusion 模型、DiT 模型、autoregressive 模型、Midjourney 用户偏好数据放在同一个人类偏好数据框架内,形成“wide-spectrum”训练与评测基础。
    • HPSv3 模型 :用 Qwen2-VL / Qwen2VL-7B 类 VLM backbone 替代 CLIP/BLIP 作为图文特征抽取器,并把 reward score 从单点标量改为带不确定性的分布建模。
    • CoHP 方法 :不是训练一个新生成模型,而是用 HPSv3 做 reward / scorer,在多个生成模型和多轮采样中选择最优候选,再进行 image-to-image 式迭代 refinement。
  • Key Design:
    • HPSv3 模型使用 Qwen2-VL 作为 backbone,然后接 MLP 作为 reward head 输出偏好分数。
    • Uncertainty-Aware Ranking:作者认为人类的偏好具备不确定性,应该服从某种分布,故将 reward 建模为一维高斯分布,并使 reward head 输出 。于是偏好概率变成 (TODO 论文中补充) Loss 为:
    • Chain-of-Human-Perference (CoHP): 本质是在推理阶段使用训练好的 HPSv3 做选择器进行 ranking,Prompt→多个模型生成→HPSv3 选平均得分最高的几个模型→选定模型生成多张→HPSv3 选最佳图→img2img 多轮优化
  • Limitation:
    • VLM backbone 成本高 :Qwen2VL-7B 作为 reward model 不适合所有工业场景。
    • uncertainty-aware loss 增益有限:Table 5 显示它是锦上添花,不是主要贡献
    • specialized domain 覆盖不足:医学、生物、物理、科学图示等不是 HPDv3 的强项