AIGC-CVPR2024best paper-Rich Human Feedback for Text-to-Image Generation-论文精读

news2024/12/26 13:22:15

Rich Human Feedback for Text-to-Image Generation斩获CVPR2024最佳论文!受大模型中的RLHF技术启发,团队用人类反馈来改进Stable Diffusion等文生图模型。这项研究来自UCSD、谷歌等。
在本文中,作者通过标记不可信或与文本不对齐的图像区域,以及注释文本提示中的哪些单词在图像上被歪曲或丢失来丰富反馈信号。 在 18K 生成图像 (RichHF18K) 上收集如此丰富的人类反馈,并训练多模态转换器来自动预测丰富的反馈。 实验结果表明,可以利用预测的丰富人类反馈来改进图像生成,例如,通过选择高质量的训练数据来微调和改进生成模型,或者通过使用预测的热图创建mas来修复有问题的区域。 值得注意的是,除了用于生成收集人类反馈数据的图像(稳定扩散变体)之外,这些改进还推广到了模型(Muse)。
在这里插入图片描述

MOTIVATION

  • many generated images still suffer from issues such as artifacts/implausibility, misalignment with text descriptions, and low aesthetic quality.(伪影和错位问题)
  • Inspired by the success of Reinforcement Learning with Human Feedback (RLHF) for large language models, prior works collected human-provided scores as feedback on generated images and trained a reward model to improve the T2I generation.
  • There has been much recent work on evaluation of text-to-image models along many dimensions,but the focus of their work is artifact region only.

CONTRIBUTION

  • 这是第一个关于生成图像的丰富人类反馈数据集(RichHF-18K),包括对18K张Pick-a-Pic图像的细粒度评分、不真实/错位的图像区域和不一致的关键词。
  • 设计了一个多模态Transformer模型(RAHF),用于预测生成图像上的丰富反馈,并展示这些预测与测试集上的人类注释高度相关。
  • 进一步展示了通过RAHF预测的丰富人类反馈的有效性,可用于改进图像生成,例如
    • (i) 使用预测的热图作为掩模修复问题图像区域,
    • (ii) 通过使用预测的评分来帮助微调图像生成模型(例如Muse [6]),例如选择/过滤微调数据或作为奖励指导。我们表明在这两种情况下,我们获得比原始模型更好的图像。
  • 在Muse模型上的改进表明,我们的RAHF模型具有良好的泛化能力,与训练集中生成图像的模型不同。

METHODS

Collecting rich human feedback

数据收集过程

  • 数据集内容:RichHF-18K数据集包括两种热图(人工/不合理和不一致)、四种细粒度评分(合理性、对齐度、美学和总体评分),以及一个文本序列(不一致的关键词)。(5-point Likert scale)

  • 标注者任务:标注者首先检查生成的图像并阅读用于生成图像的文本提示。然后,他们在图像上标记点,以指示与文本提示相关的不合理/人工或不一致的区域。

  • 有效半径:每个标记点都有一个“有效半径”(图像高度的1/20),围绕标记点形成一个想象的圆盘区域。这样,即使使用较少的点,也能覆盖图像中有缺陷的区域。
    在这里插入图片描述

  • 数据标注细节(在附录中提供)

    • Image artifacts/implausibility definitions
      包括对扭曲的人/动物身体/面部、物体、文本以及不真实/无意义的表现形式的定义。
  • Text-image misalignment definitions and what-to-do
    为标注者提供了详尽的操作指导,包括当文本提示中的元素在图像中缺失、属性错误、动作错误、数量错误、位置错误或其他不一致性时的处理方法。

反馈整合

  • 多标注者:为了提高收集到的人类反馈的可靠性,每个图像-文本对由三名标注者进行标注。
  • 评分整合(score):对于评分,简单地将多个标注者对一个图像的评分平均,以获得最终评分。
  • 关键词整合(misaligned keyword annotations):对于不一致关键词的标注,执行多数投票,使用最频繁的标签作为关键词的最终指标序列。
  • 点标注整合(point annotations):首先将点标注转换为每个标注的热图,然后将每个点转换为热图上的圆盘区域,并计算所有标注者的平均热图。明显不合理的区域可能会被所有标注者标注,并在最终平均热图中具有较高的值。

数据集RichHF-18K

  • 从 Pick-a-Pic 数据集中选择图像文本对的子集进行数据注释,选择大部分数据集为照片级真实感图像
  • 类别平衡:为了确保图像类别的平衡,使用了PaLI视觉问题回答(VQA)模型来从Pick-a-Pic数据样本中提取基本特征。对每对图像-文本,提出了两个问题,根据PaLI的答案,从Pick-a-Pic中采样得到17K图像-文本对,形成了多样化的子集。
    • 图像是否为照片写实风格(Is the image photorealistic)?
    • 最能描述图像的类别是什么?从“人类”、“动物”、“物体”、“室内场景”、“室外场景”中选择。(Which category best describes the image? Choose one in ‘human’, ‘animal’, ‘object’, ‘indoor scene’, ‘outdoor scene’)

数据统计和标注者一致性分析

  • 分数标准化:使用公式 s norm = s − s min s max − s min \text{s}_{\text{norm}} = \frac{s - s_{\text{min}}}{s_{\text{max}} - s_{\text{min}}} snorm=smaxsminssmin(其中 s max = 5 s_{\text{max}} = 5 smax=5 s min = 1 s_{\text{min}} = 1 smin=1对分数进行标准化,使分数范围在[0, 1]内。

  • 分数分布:分数的分布类似于高斯分布,合理性和文本-图像对齐分数的1.0得分比例略高。在这里插入图片描述

  • 样本平衡:收集的分数分布确保了训练良好奖励模型的负面和正面样本数量合理。

  • 标注者一致性:为了分析标注者对图像-文本对的评分一致性,计算分数之间的最大差异: maxdiff = max ⁡ ( scores ) − min ⁡ ( scores ) \text{maxdiff} = \max(\text{scores}) - \min(\text{scores}) maxdiff=max(scores)min(scores),其中分数是图像-文本对的三个评分标签。大约25%的样本有完美的标注者一致性,大约85%的样本有良好的标注者一致性(在标准化后maxdiff小于等于0.25或5点Likert量表上的1)。
    在这里插入图片描述

Predicting rich human feedback

模型架构如图所示,模型基于Vision Transformer(ViT)和T5X模型,灵感来自Spotlight模型架构,但对模型和预训练数据集进行了修改,以更好地适应任务需求。在这里插入图片描述

自注意力模块的使用

  • 自注意力模块用于处理连接(concatenated)的图像标记(tokens)和文本标记,以实现双向信息传播,这对于任务
  • 文本信息传播到图像标记,帮助模型评估文本与图像的不一致性(text misalignment),并预测热图(heatmaps)(点标记)。
  • 视觉信息传播到文本标记,增强文本编码对视觉内容的感知,这对于解码文本不一致序列特别重要。

模型结构

  • 输入处理

    • ViT编码:Vision Transformer(ViT)接收生成的图像作为输入,并将其输出为高级别的图像标记(tokens),这些标记是对图像的高级表示。
    • 文本嵌入:文本提示(prompt)被分割成标记(tokens),并嵌入(embedded)到高维向量空间中,形成密集的向量表示。
    • 图像标记和嵌入文本标记由 T5X 中的 Transformer 自注意力编码器连接和编码。(在多模态任务中,如文本到图像生成,T5X decoder 可以接收来自图像的编码表示,并生成描述图像的文本)
  • 预测器与输出:use three kinds of predictors to predict different outputs
    模型包含三种类型的预测头:

    • heatmap预测:图像标记被重塑(reshaped)成特征图(feature map)。特征图通过卷积层和反卷积层进行处理,并通过Sigmoid激活函数来输出不合理性(implausibility)和不一致性(misalignment)热图。热图预测器用于生成图像中不合理或不一致区域的热图。

    • score预测:特征图进一步通过卷积层和线性层处理,并通过Sigmoid激活函数生成细粒度的分数(scalars),作为图像的评分。分数预测器用于预测图像的合理性、美学等分数。

    • keyword misalignment sequence预测:使用生成图像的原始文本提示作为模型的文本输入。修改后的提示(特殊后缀“_0”标记不一致的标记)作为T5Xdecoder的预测目标。例如,如果图像中有一只黑色的猫,而文本提示是“a yellow cat”,则修改后的提示可能是“a yellow_0 cat”,这里的“0”表示“yellow”与图像不一致(预测结果).文本预测器用于预测文本中与图像不一致的关键词序列。

  • 模型变体

    • 多头(Multi-head)方法:这是一种直接的方式,用于预测多个热图和分数,通过为每种分数和热图类型使用单独的预测头(prediction head)来实现。这种方法需要总共七个预测头,每种类型一个.
    • 增强提示(Augmented prompt)方法:即总共三个预测头,分别用于heatmap、score和keyword misalignment sequence。为了告知模型具体的热图或分数类型,通过在提示中增加输出类型信息来进行增强。具体来说,对于每个样本的特定任务,将任务字符串(例如,“implausibility heatmap”)添加到提示的前面,并使用相应的标签作为训练目标。在推理(inference)阶段,通过在提示中增加相应的任务字符串,单个热图头可以预测不同的热图,单个分数头可以预测不同的分数。实验表明,增强提示方法可以创建特定于任务的视觉特征图和文本编码,这在某些任务中表现得显著更好。
  • 用于不同任务的损失函数

    • 热图预测的损失:使用像素级均方误差(Mean Squared Error, MSE)损失函数。这种损失函数计算模型预测的热图与真实热图之间的差异,对每个像素的误差进行平方和求平均,从而得到总的误差。
    • 分数预测的损失:同样使用MSE损失函数。这里,损失计算的是模型预测的分数与实际分数之间的差异。
    • 不一致序列预测的损失:使用教师强制(Teacher-Forcing)交叉熵(Cross-Entropy)损失函数。交叉熵损失衡量的是模型预测的序列与真实序列之间的差异,而教师强制是一种在序列生成任务中常用的技术,它在训练过程中使用真实的输出作为下一个时间步的输入,以提高学习效率。

Experiments

Experimental setup

评估指标

  • SCORE预测任务:
    • PLCC(皮尔逊线性相关系数):衡量预测分数与人类注释之间的线性相关性。
    • SRCC(斯皮尔曼等级相关系数):评估预测分数和实际分数之间的单调关系。
  • HEATMAP预测任务:
    • MSE(均方误差):用于评估所有样本的预测,包括那些真实热图为空的样本(例如,没有人工/不合理的图像)。
    • 标准显著性热图评估指标:对于非空真实热图的样本,报告NSS、KLD、AUC-Judd、SIM、CC等指标。这些指标通常用于评估显著性图(saliency heatmap)的质量,本研究中某些任务可能存在空的真实热图,因此需要适应性修改。
      • NSS(Normalized Scanpath Saliency):衡量预测显著性图与实际人类注视路径之间的相关性。评估显著性图的质量,值越高越好。
      • KLD(Kullback-Leibler Divergence):衡量预测热图与真实热图之间的差异。 评估预测热图与真实热图的分布差异,值越低越好。
      • AUC-Judd(Area Under Curve - Judd): 测量预测热图在二值分类任务中的表现。评估显著性图的检测性能,值越高越好。
      • SIM(Similarity):衡量预测热图与真实热图的相似度。评估两个热图之间的相似性,值越高越好。
      • CC(Correlation Coefficient):衡量预测热图与真实热图之间的线性相关性。评估热图之间的相关性,值越高越好。
  • 不一致关键词序列预测:精确度、召回率和F1分数:计算所有样本中不一致关键词的精确度、召回率和F1分数,这些指标衡量模型在识别不一致关键词方面的准确性。

baseline

  • ResNet-50模型:
    使用两个微调的ResNet-50模型作为基线,使用多个全连接层和反卷积头分别预测分数和热图。

  • PickScore模型:
    使用现成的模型来计算分数,并针对四种真实分数计算指标。

  • CLIP模型:

    • 现成的CLIP模型用以计算图像和文本嵌入之间的余弦相似度,用于文本-图像对齐度量。
    • 微调CLIP模型以使用训练数据集预测四种类型的分数。
  • CLIP梯度图:
    用作不一致热图预测的基线,提供基于梯度的图像区域指示,这些区域可能与文本提示不一致。(CLIP梯度图表示图像中每个像素对文本描述的匹配度影响程度。梯度值越高的区域表示这些区域对文本描述的影响越大,从而在视觉上更能吸引注意力。)

实验结果

Quantitative analysis

作者展示了他们模型在四个细粒度分数(合理性、对齐度、美学和总体评分)、不可信热图、不一致热图和不一致关键词序列预测方面的预测结果。

  • GT = 0:这指的是空的不可信热图(empty implausibility heatmap),即在真实情况(ground truth)中不存在任何人工或不合理的元素。在995个测试样本中,有69个样本的不可信热图为空。
  • GT > 0:这指的是存在人工或不合理元素的热图,即在真实情况中确实存在一些问题,需要模型检测并突出显示。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 在表格1和3中,所提出的模型的两个变体在所有任务上都显著优于ResNet-50模型(或在文本-图像对齐分数上优于CLIP模型)。
  • 在表格2中,多头版本的模型在某些任务上表现不如ResNet-50,但增强提示版本的模型表现优于ResNet-50。
  • 多头版本的问题:在没有在提示中增强预测任务的情况下,所有七个预测任务使用相同的提示,导致特征图和文本标记相同,可能难以在这些任务之间找到良好的折衷,导致某些任务(如人工/不可信热图)的性能变差。
  • 增强提示的优势:通过在提示中增强预测任务,可以为特定任务调整特征图和文本标记,从而获得更好的结果。
  • 不一致热图预测通常比不可信热图预测的结果要差,可能是因为不一致区域定义不够明确,注释可能因此更加嘈杂。

Qualitative examples

不合理热图的一些示例预测(图5),其中模型识别了具有伪影/不合理的区域。
以及对于未对准热图(图 6),模型识别了不对应的对象提示。
在这里插入图片描述
示例图像的真是分数和预测分数
在这里插入图片描述

Learning from rich human feedback

为了确保 RAHF 模型的好处能够泛化到生成模型系列中,主要使用 Muse 作为的目标模型来改进,它基于masked transformer architecture,因此与 RichHF 中的稳定扩散模型变体不一样。

使用预测分数微调生成模型(Finetuning generative models with predicted scores)

使用预训练的Muse模型为12,564个提示生成图像。为每张图像预测RAHF分数,并选择每个提示中分数高于固定阈值的图像作为微调数据集。使用选定的图像数据集对Muse模型进行微调。通过新提示生成图像,并让标注者对原始Muse和微调后的Muse图像进行合理性比较,结果显示微调后的Muse模型生成的图像具有显著更少的人工或不合理元素。
在这里插入图片描述

使用预测的热图和分数进行区域修复(Region inpainting with predicted heatmaps and scores)

对于每个图像,我们首先预测不可信热图(implausibility heatmaps),然后通过处理热图(使用阈值thresholding和膨胀dilating)创建mask。 Muse 修复应用在mask区域内,以生成与文本提示匹配的新图像。 生成多个图像,并根据我们的 RAHF 预测的最高合理性分数选择最终图像。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1847269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习(V)--无监督学习(六)流形学习

title: 机器学习(V)–无监督学习(二)流形学习 date: katex: true categories: Artificial IntelligenceMachine Learning tags:机器学习 cover: /img/ML-unsupervised-learning.png top_img: /img/artificial-intelligence.jpg abbrlink: 26cd5aa6 description: 流形学习 【降…

String(C++)

文章目录 前言文档介绍经典题目讲解HJ1 字符串最后一个单词的长度 模拟实现框架构造函数析构函数迭代器c_str()赋值size()capacity()reserveempty()[ ]访问front/backpush_backappendoperatorinsert一个字符insert一个字符串eraseswapfind一个字符find一个字符串substr()clear(…

集群开发学习(三)修改用户模块(git 使用,局域网设代理)

git 使用 参考:https://blog.csdn.net/weixin_60033897/article/details/136016074 在服务器端创建公钥私钥 git config --global user.email "1686660735qq.com" git config --global user.name qinliangql git config --global -l # 查看信息# 这样可…

基于组件的架构:现代软件开发的基石

目录 前言1. 基于组件的架构概述1.1 什么是组件?1.2 组件的分类 2. 基于组件的架构的优势2.1 提高代码的可重用性2.2 增强系统的灵活性2.3 简化维护和升级2.4 促进团队协作 3. 实现基于组件的架构3.1 识别和定义组件3.2 设计组件接口3.3 组件的开发和测试3.4 组件的…

摊牌了,我不装了~各种Amazon Bedrock小样儿、试用装,今天免费!

探索世界顶级的大模型、智能体、文生图、对话机器人……新手?还是专家?加入我们,解锁精彩内容: l 初体验:在 Amazon Bedrock Playground 直接调用强大的大模型,点亮生成式AI技能树。 l 文生图&#xff1a…

代码随想录训练营Day 65|卡码网99岛屿数量 深搜、99.岛屿数量 广搜 、100.岛屿的最大面积

1.岛屿数量 深搜 99. 岛屿数量 | 代码随想录 代码&#xff1a;&#xff08;在符合递归条件时进行递归处理&#xff09; #include <iostream> #include <vector> using namespace std; int dir[4][2] {1,0,0,1,-1,0,0,-1}; // 表示4个方向 上下左右 void dfs(cons…

每日练题(py,c,cpp).6_19,6_20

检验素数 from math import sqrt a int(input("请输入一个数&#xff1a;")) for i in range(2,int(sqrt(a))):if a%i 0:print("该数不是素数")breakelse: print("该数是素数")# # 1既不是素数也不是合数 # #可以用flag做标志位 # b int(…

向“黑公关”开战,比亚迪悬赏500万征集恶意诋毁线索

近日&#xff0c;比亚迪品牌及公关处总经理李云飞在微博发文&#xff0c;面向社会公开征集黑公关证据。 微博中&#xff0c;李云飞写道&#xff1a;“近期&#xff0c;我们收到多方提醒&#xff1a;某车企在使用黑公关手段&#xff0c;对我司品牌及产品进行贬低、拉踩和恶意诋…

c++里对 new 、delete 运算符的重载

&#xff08;1&#xff09;c 里 我们可以用默认的 new 和 delete 来分配对象和回收对象。 new 可以先申请内存&#xff0c;再调用对象的构造函数&#xff1b; delete 则先调用对象的析构函数&#xff0c;再回收内存。当然&#xff0c;当我们为类定义了 operator new () 和 oper…

Qt坐标系统

目录 概述 渲染 逻辑表示 锯齿绘制 转换 模拟时钟示例 Window-Viewport转换 概述 坐标系统由QPainter类控制。与QPaintDevice和QPaintEngine类一起&#xff0c;QPainter构成了Qt绘画系统的基础。QPainter用于执行绘制操作&#xff0c;QPaintDevice是一个二维空间的抽象&…

L54--- 404.左叶子之和(深搜)---Java版

1.题目描述 2.思路 递归遍历左子树 &#xff0c;然后再把左子树的和相加 3.代码实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val …

JavaScript之类(1)

class基础语法结构&#xff1a; 代码&#xff1a; class MyClass {constructor() { ... }method1() { ... }method2() { ... }method3() { ... }... } 解释&#xff1a; 属性解释class是我们定义的类型(类)MyClass是我们定义的类的名称 constructor()我们可以在其中初始化对象m…

linux中Java程序调用C程序中方法的实现方式浅析

在Linux中&#xff0c;Java程序可以通过JNI&#xff08;Java Native Interface&#xff09;来调用C程序的方法。 Linux系统环境&#xff0c;Java调用C的主要流程如下&#xff1a; 1、创建Java类文件&#xff0c;如NativeLibrary.java 2、编写Java代码&#xff0c;加载.so共享库…

HTTP 状态码详解及使用场景

目录 1xx 信息性状态码2xx 成功状态码3xx 重定向状态码4xx 客户端错误状态码5xx 服务器错误状态码 HTTP思维导图连接&#xff1a;https://note.youdao.com/s/A7QHimm0 1xx 信息性状态码 100 Continue&#xff1a;表示客户端应继续发送请求的其余部分。 使用场景&#xff1a;客…

20240621在飞凌的OK3588-C开发板的Buildroot系统中集成i2ctool工具

20240621在飞凌的OK3588-C开发板中打开i2ctool工具 2024/6/21 17:44 默认继承的i2c工具&#xff1a; rootrk3588-buildroot:/# rootrk3588-buildroot:/# i2c i2c-stub-from-dump i2cdump i2cset i2cdetect i2cget i2ctransfer rootrk3588-…

机器学习第四十四周周报 SAMformer

文章目录 week44 SAMformer摘要Abstract1. 题目2. Abstract3. 网络架构3.1 问题提出3.2 微型示例3.3 SAMformer 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程 5. 结论6.代码复现小结参考文献 week44 SAMformer 摘要 本周阅读了题为SAMformer: Unlocking the Potential…

开启文物保护新篇章——智能RFID文物藏品库房管理系统

在历史的长河中&#xff0c;文物不仅是见证文明的瑰宝&#xff0c;更是文化传承的重要载体。这些承载着丰富历史和文化价值的珍贵文物&#xff0c;需要得到科学、精细的保护和管理。为了更好地守护和传承我们的文化遗产&#xff0c;我们荣幸地推出智能RFID文物藏品库房管理系统…

(2024,Vision-RWKV,线性复杂度双向注意力,四向标记移位)通过类似 RWKV 的架构实现高效且可扩展的视觉感知

Vision-RWKV: Efficient and Scalable Visual Perception with RWKV-Like Architectures 公和众与号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 2. 特征聚合机制 3. Vision-RWKV 3.…

怎么看电脑实时充电功率

因为我想测试不同的充电器给电脑充电的速度&#xff0c;所以就想找一款软件可以看电脑当前充电功率的软件&#xff0c;我给一个图 直接搜索就可以下载了&#xff0c;charge rate就是功率&#xff0c;这里是毫瓦&#xff0c;换算单位是 1000mw1w 所以我这里充电功率是65w&…

RocketMQ-记一次生产者发送消息存在超时异常

目录 1、背景说明 2、排查 2.1、防火墙 2.2、超时时间设置 2.3、服务器资源检查 2.3.1、内存、CPU等 2.3.2、磁盘空间 ​编辑 2.3.3、检查文件描述符 2.3.4、swap区 3、增加swap空间 3.1、创建目录 3.2、格式化 3.3、启动swap 3.4、查看效果 1、背景说明 在一次…