AIGC生图的自动化质量评估(2)

简介: AIGC生图的自动化质量评估




Pick-a-Pic


 主要内容


对于文生图模型,反映人类偏好的大型数据集,很少有公开的。为了解决这个问题,本项目创建了一个web应用程序,允许文生图模型的用户生成图像并指定他们的偏好。使用这个web应用程序,构建了一个大型的、开放的文生图数据集,并且标注有用户偏好。部分数据集如下:

image.png


利用这个数据集,可以训练一个基于clip的评分函数,即PickScore,它在预测人类偏好的任务上展示了很好的性能。PickScore可以对于多张生成图像进行偏好排序,以此比较不同文生图模型的效果、以及相同模型在不同参数下的效果。


 Pick-a-Pic数据集


Pick-a-Pic数据集概况:

  • 包含超过50w组信息和3.5w个不同的prompt。
  • 每组信息包含一个prompt、两张图、以及偏好标签。
  • 偏好标签有三种情况:喜欢第一张图,喜欢第二张图,两幅图都差不多。
  • 对一个图片的选择是由文生图任务的爱好者参与的,而不是完全无生图模型使用经验的人员。


如何通过web应用程序收集数据:

  • 用户首先写一个prompt,然后收到两张图片。
  • 用户做出偏好判断,选择其中一张偏好的图片。
  • 之后会呈现一个新的图像的图像来替代被拒绝的图像,用户会在这张新图和刚才喜欢的图像里做偏好选择。
  • 该流程会一直重复,直到用户改变prompt。

image.png


数据集中的图像是通过采用多个模型生成的,即Stable Diffusion 2.1、Dreamlike Photoreal2.0, 以及使用不同CFG值的Stable Diffusion XL模型。同时,作者将减少数据集中包含的NSFW示例的数量,并将定期上传最新版本的数据集。在处理收集到的交互时,作者过滤了NSFW短语,并且禁止一些非法用户。每一次收集,将数据集划分为训练、验证集和测试集:

  • 采样1000个prompt,确保每个prompt都是唯一的。
  • 将这些prompt随机分成大小相同的两组,来创建验证集和测试集。
  • 每个prompt采样一组信息。
  • 确保训练集和这两个子集之间没有重复的prompt。


 PickScore模型


为了训练评分函数,本项目使用人类偏好数据和类似于InstructGPT的reward模型,来微调CLIP-H。PickScore在预测用户偏好的任务中取得了SOTA表现,PickScore准确率为70.5%,人类志愿者准确率为68.0%,而原生CLIP-H为60.8%。人类偏好与PickScore有很强的相关性(0.917),而与FID指标则呈负相关(-0.900)。


PickScore遵循CLIP的架构:给定一个prompt x和一个图像y,评分函数s通过使用两个编码器计算文本和图像的相似度。

image.png


计算对于两张图的偏好得分:分别计算两张图与prompt的相似度,计算函数的分母为两张图与prompt的相似度,分子为其中一张图与prompt的相似度,这个函数的目的是做归一化计算。

image.png


计算loss函数:拿到模型的偏好得分后,计算与人工打分的KL散度,表示预测结果与真实结果的差距。训练过程中,通过调整模型参数来最小化KL散度。

image.png


由于许多图像对来自于相同的prompt,通过对于这些图像对进行加权平均,来减轻过拟合的风险。具体来说,每个图像的权重,与它在数据集中的出现频率成反比。


 模型评估


对于模型推理,如果两张图的偏好得分的差值的绝对值,小于一个超参t,即

image.png

则认为这两张图偏好一致。该超参,对于不同模型效果不一样,作者采取了一个最合适的值,来用于不同模型的评估。


使用Spearman方法来计算预测得分与人类预测结果的相似度:

image.png

相关效果,对于每两列,左侧为CLIP-H偏好的图像,右侧为PickScore偏好的图像,绿色框选中的图像为人类偏好的图像,可以看到,PickScore偏好和人类偏好更加接近,PickScore通常选择更美观和与prompt更一致的图像。

image.png


偏好打分模型:可以对于一组生成图像,进行打分排序,并选择得分最高的那一张。PickScore优于其他评估方法。

image.png


本项目的一些局限性:

  • 一些图像和提示可能包含NSFW内容,这可能会使数据产生偏差。
  • 用户的偏好可能可能反映在所收集的数据中。


总结与讨论


在AIGC生图过程中,进行图像质量的自动化评估,能快速进行打分、节省人工成本,更准确的进行模型效果比较,以促进模型迭代。对于特定场景的自动化评估,则需要建立对应的评估体系,包括评分准则、特定数据集、打分模型。我们团队正在进行家装行业AIGC的相关研发,以提高家装AI模型的效果。我们希望与对此方向感兴趣的同学一起探讨和交流。



参考文献



团队介绍


我们是淘天集团-场景智能技术团队,一支专注于通过AI和3D技术驱动商业创新的技术团队, 依托大淘宝丰富的业务形态和海量的用户、数据, 致力于为消费者提供创新的场景化导购体验, 为商家提供高效的场景化内容创作工具, 为淘宝打造围绕家的场景的第一消费入口。我们不断探索并实践新的技术, 通过持续的技术创新和突破,创新用户导购体验, 提升商家内容生产力, 让用户享受更好的消费体验, 让商家更高效、低成本地经营。

相关文章
|
18天前
|
敏捷开发 安全 jenkins
自动化测试在敏捷开发中的应用:加速迭代,保障质量
【8月更文挑战第2天】自动化测试在敏捷开发中扮演着至关重要的角色。通过提升测试效率、提高测试覆盖率、及时反馈与修复等优势,自动化测试为敏捷开发团队提供了强大的支持。然而,在实施自动化测试的过程中也面临着一些挑战。通过选择合适的测试框架和工具、制定测试计划和策略、持续优化和维护等策略以及遵循最佳实践并克服挑战,我们可以充分发挥自动化测试在敏捷开发中的潜力,为软件质量的提升和快速迭代保驾护航。
|
26天前
|
测试技术
软件测试自动化策略与实施:提升质量与效率的关键
【7月更文挑战第25天】软件测试自动化是提高软件质量和效率的重要手段。通过明确自动化测试目标、选择合适的测试工具、制定详细的测试计划、建立稳定的测试框架以及持续优化与迭代,企业可以构建高效、可靠的自动化测试体系。在实施过程中,注重与项目团队的沟通与协作,确保自动化测试与项目开发的紧密结合,共同推动产品质量的不断提升。
|
1月前
|
机器学习/深度学习 编解码 算法
AIGC生图的自动化质量评估(1)
AIGC生图的自动化质量评估
|
1月前
|
人工智能 自然语言处理 Python
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
探索自动化测试的边界:如何有效整合AI技术提升软件质量
随着人工智能技术的飞速发展,其在软件测试领域的应用逐渐深入。本文将探讨自动化测试与AI结合的现状和挑战,分析AI在提升测试效率、发现深层次缺陷等方面的潜力,并提出实现这一融合的实践策略。
20 0
|
1月前
|
监控 JavaScript 前端开发
自动化测试框架的选择与评估
【6月更文挑战第30天】在软件开发的生命周期中,自动化测试是确保产品质量和效率不可或缺的环节。本文将探讨在选择自动化测试框架时需要考虑的关键因素,包括框架的成熟度、社区支持、易用性、可扩展性以及集成能力。通过比较流行的几种自动化测试框架,如Selenium、Appium和Cypress,我们将了解它们的优势和局限性,并学习如何根据项目需求和团队技能选择合适的工具。最终目标是帮助读者构建一个高效、可靠且易于维护的自动化测试策略。
34 1
|
16天前
|
运维 Unix 应用服务中间件
自动化运维:使用Ansible简化日常任务
【8月更文挑战第4天】在现代IT架构中,自动化运维成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常的运维任务,通过实际代码示例,展示配置管理、软件部署和系统更新等操作。我们将探索如何利用Ansible的简洁语法和强大功能来优化工作流程,从而为读者提供一套实用的自动化解决方案。
|
2天前
|
机器学习/深度学习 人工智能 运维
智能运维:未来趋势下的自动化与人工智能融合
【8月更文挑战第18天】 在数字化浪潮中,智能运维(AIOps)作为一股不可逆转的力量,正逐步改写传统运维的脚本。本文将探讨AIOps的核心要素、实施路径和面临的挑战,同时分享个人从新手到专家的心路历程,旨在启发读者思考如何在这一领域内持续成长并作出贡献。
12 6
|
4天前
|
运维 持续交付 网络安全
自动化运维:Ansible与Terraform的比较
【8月更文挑战第16天】Ansible和Terraform都是自动化运维领域的重要工具,它们各自以其独特的功能和优势在市场中占据了一席之地。在选择使用哪个工具时,用户应根据自己的实际需求和应用场景进行综合考虑。如果主要关注系统配置管理和应用程序部署,那么Ansible可能是一个更好的选择;如果主要关注基础设施的自动化部署和管理,那么Terraform可能更适合您的需求。
|
11天前
|
运维 Linux Apache
【一键变身超人!】Puppet 自动化运维神器 —— 让你的服务器听话如婴儿,轻松管理资源不是梦!
【8月更文挑战第9天】随着云计算与容器化技术的发展,自动化运维已成为现代IT基础设施的核心部分。Puppet是一款强大的自动化工具,用于配置管理,确保系统保持预期状态。通过易于理解的配置文件定义资源及其依赖关系,Puppet实现了“基础设施即代码”的理念。本文简要介绍了Puppet的安装配置方法及示例,包括Puppet Agent与Master的安装、基本配置步骤和一个简单的Apache HTTP Server管理示例,展示了Puppet在实际应用中的强大功能与灵活性。
24 9