文生图模型评测之PickScore

PickScore是一个基于CLIP的打分模型,用于评估文本到图像生成(文生图)模型的性能。它利用用户在Pick-a-Pic web App中表达的偏好数据进行训练,该数据集包含超过50万个样本。模型可以用于模型选择、构建高质量数据集和改进文生图模型。

在这里插入图片描述

论文链接:Pick-a-Pic: An Open Dataset of User Preferences for Text-to-Image Generation
代码/数据链接:yuvalkirstain/PickScore
🤗关注微信公众号 funNLPer,分享有用的算法知识🤗

PickScore是一个文生图打分模型,作者在公开模型的同时也公开了他们收集的人类偏好数据集,该模型即可作为文生图模型的评价标准,也可作为类似于RLHF中奖励函数。而对于作者公开的人类偏好数据集则对文生图中RLHF具有重要作用,同时研究者们也可基于该数据集训练打分模型。

1. 简介

从文生图用户中收集大量的人类偏好数据一般只能是大公司才能做到,普通研究者很难收集到这种数据。因此本文制作了一个web应用,用户在该应用上可以使用文生图模型生成各种图片,并且指出他们对图片的偏好。通过这个应用本文收集了大量的文生图prompts以及用户对生成图片的偏好。作者利用该数据集训练了一个基于CLIP的打分函数PickScore,PickScore在预测人类偏好任务上展示了惊人的效果。

2. 构建数据集

2.1 Pic

### 文生图模型的美学评测方法与指标 评估文生图模型生成图像的质量通常涉及多个维度,其中包括视觉逼真度、语义一致性以及美学质量。以下是关于文生图模型美学评测的主要方法和指标: #### 1. 主观评价(Human Evaluation) 主观评价是最直接的方式之一,通过让评分者对生成图像进行打分来衡量其美学价值。这种方法可以分为以下几种形式: - **偏好测试**:给定两组或多组图像,评分者选择更喜欢的一组[^2]。 - **单项评分**:评分者基于特定标准(如清晰度、美感、创意等)为单张图像打分。 尽管主观评价能有效捕捉人类审美倾向,但它也存在耗时长、成本高以及结果受个体差异影响较大的缺点。 #### 2. 客观数量化指标 为了弥补主观评价的不足,研究者开发了一系列客观数量化指标用于自动评估生成图像的美学质量。常见的指标包括但不限于以下几个方面: ##### a. Fréchet Inception Distance (FID) FID 是一种广泛使用的生成对抗网络性能评估工具,它可以计算真实数据分布与生成样本之间的距离。虽然 FID 更侧重于整体相似性和多样性而非纯粹的艺术风格匹配程度,但在一定程度上也能间接反映出某些类型的美观特性[^3]。 ##### b. CLIPScore CLIPScore 结合了自然语言处理技术和计算机视觉技术的优势,利用预训练好的对比学习框架(Contrastive Language–Image Pre-training, CLIP),分别提取文本描述特征向量和图片表示空间中的位置关系作为输入参数;最终输出一个介于0到1之间的小数用来表征两者间契合水平——数值越高表明二者越接近理想状态即既忠实还原原始指令又具备良好外观属性。 ##### c. LPIPS (Learned Perceptual Image Patch Similarity) LPIPS 考虑到了人眼感知上的细微差别,在低层次像素级误差基础上融入高层语义信息从而更加贴近实际用户体验效果。因此当应用于艺术创作领域内的作品评判环节时往往表现出色因为它们倾向于奖励那些具有强烈个人特色或者独特表达方式的画面构图而不是单纯追求精确复制原物象外形轮廓而已。 ##### d. AMT (Amazon Mechanical Turk Tests) 有时也会借助众包平台比如 Amazon MTurk 来收集大量匿名用户的反馈意见进而得出统计意义上的结论有关某款产品或服务的整体受欢迎程度如何等等情况下的参考依据之一便是此类在线问卷调查活动所得出来的平均得分状况报告等内容资料来源说明如下所示。 #### 3. 综合考量因素 除了上述提到的一些具体的技术手段之外还需要注意到其他一些可能会影响最后评定结果的因素例如文化背景差异可能导致不同地区人群对于色彩搭配喜好偏向有所不同; 年龄性别职业等因素也可能造成各自偏爱不同类型题材内容的现象发生所以最好能够在设计实验方案之初就充分考虑到这些潜在变量并采取适当措施加以控制以便获得更为可靠稳定的测量值范围区间内合理估计目标群体普遍认可接受的标准阈限设定原则等方面的知识要点归纳总结起来就是一句话概括得好不好看不仅仅取决于算法本身还要考虑使用者的需求特点才行啊朋友们记住了吗哈哈😊 ```python import numpy as np from scipy.spatial.distance import cosine def calculate_fid(real_features, generated_features): mu_real = np.mean(real_features, axis=0) sigma_real = np.cov(real_features, rowvar=False) mu_gen = np.mean(generated_features, axis=0) sigma_gen = np.cov(generated_features, rowvar=False) fid_value = _compute_frechet_distance(mu_real, sigma_real, mu_gen, sigma_gen) return fid_value def _compute_frechet_distance(mu1, sigma1, mu2, sigma2, eps=1e-6): diff = mu1 - mu2 covmean, _ = linalg.sqrtm(sigma1.dot(sigma2), disp=False) if not np.isfinite(covmean).all(): msg = ('fid calculation produces singular product; ' 'adding %s to diagonal of cov estimates') % eps warnings.warn(msg) offset = np.eye(sigma1.shape[0]) * eps covmean = linalg.sqrtm((sigma1 + offset).dot(sigma2 + offset)) tr_covmean = np.trace(covmean) return (diff.dot(diff) + np.trace(sigma1) + np.trace(sigma2) - 2 * tr_covmean) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值