从文本到安全图像:自动提示优化防止不当内容生成

news2024/10/5 14:12:16

T2I生成技术已经得到了广泛关注,并见证了如GLIDE、Imagen、DALL-E 2、Stable Diffusion等大型生成模型的发展。尽管这些模型能够根据文本描述生成高质量的图像,促进了书籍插图、品牌标识设计、游戏场景创作等多种实际应用,但它们也被恶意用户用于生成不安全内容。尽管在开发阶段通过过滤训练数据或鲁棒学习等方法使T2I模型能够生成安全内容,但最近的研究表明,T2I模型仍然容易受到提示扰动的影响,从而生成不适当的内容。来自宾夕法尼亚州立大学、中国科学院大学和天津大学的研究团队提出了一种新的安全T2I生成问题,并提出了一种提示优化器,它可以在不获取T2I模型结构的情况下,指导T2I模型生成安全且语义保持的内容。

原始样本和优化后的样本之间的比较。原始图像是手动模糊处理后用于展示的

框架

整个过程的目标是开发一个自动化的系统,该系统能够优化文本提示,以指导T2I模型生成既安全又语义上与原始提示相符的图像。旨在创建一个有效且通用的提示优化框架,可以减少不适当内容的生成,并提高T2I模型的安全性和可靠性。

方法的概述,展示了从有毒提示到修改后的提示,再到T2I模型生成图像的整个流程

图2提供了所提出的提示优化器(POSI)的概述。该系统分为三个主要步骤:

  1. 使用GPT预处理有毒提示

    研究者们采用了GPT-3.5 Turbo这一高性能的语言模型来执行这一任务。GPT-3.5 Turbo的选用基于其在处理效能和成本效益之间所达到的平衡。任务的起点是收集I2P数据集中的有毒提示,这些提示可能包含性暗示、骚扰、自我伤害或非法活动等不当内容。为了引导GPT-3.5 Turbo学习如何将这些有毒提示转化为清洁版本,研究者们首先创建了一系列高质量的有毒-清洁提示对,作为模型学习的样本。

    利用这些少量学习样本,GPT-3.5 Turbo通过模仿学习过程,自动生成了大量对应的清洁提示。这个过程不仅要求模型理解并剔除原始提示中的不当元素,还要求它保持原始提示的核心语义和信息。生成的有毒-清洁提示对被整理成数据集DSFT,这个数据集是后续训练语言模型进行提示优化的基础。数据集的构建注重多样性和质量,确保每个清洁提示都能准确地反映原始提示的意图,同时避免不适当的内容。

    在生成过程中,需要对结果进行评估和筛选,以保证清洁提示不仅去除不当内容,而且与原始提示在语义上保持高度一致。最终,这个经过精心构建的数据集将被用于训练提示优化器,使其能够在不直接修改T2I模型内部结构的情况下,学习如何生成既安全又符合原始意图的图像。这一步骤是实现自动化、安全文本到图像生成的关键,为后续的超级微调和近端策略优化训练阶段奠定了坚实的基础。

  2. 基于数据集进行超级微调

    这一过程紧随有毒-清洁提示对数据集的创建之后,目的是让语言模型通过学习这些对,掌握将含有不适当内容的有毒提示转换为适宜的清洁提示的技能。

    在SFT过程中,模型接受了大量有毒提示及其对应的清洁版本,以此训练其参数,使其更好地理解如何对提示进行恰当的修改。通过对数据集中的每一对提示进行分析,模型学习识别和替换可能导致不适当图像生成的关键词或短语,同时保持原始提示的核心意义和语境。

    尽管SFT是一个关键的步骤,它为模型提供了必要的基础能力,但在这个初始阶段,模型的性能并不足以达到最优。这是因为模型仅仅通过监督学习来模仿已有的示例,而没有进一步优化以提高生成清洁提示的质量和效率。因此,尽管SFT后的模型能够生成基本的清洁提示,但其在处理复杂或新颖的有毒提示时可能还不够精准。

    为了进一步提升模型的性能,研究者们需要进入下一步,即近端策略优化阶段,通过强化学习的方法来增强模型的决策过程,使其在生成清洁提示时更加智能和有效。这样,模型不仅能够模仿已有的示例,还能够创造性地处理各种新的有毒提示,从而在保持语义一致性的同时,显著降低生成不适当内容的风险。

  3. 基于设计的奖励进行近端策略优化

    在近端策略优化阶段,研究者们采用了一种先进的强化学习算法——近端策略优化(PPO),以进一步提升语言模型在生成安全且语义一致图像方面的表现。此阶段的核心在于设计并应用一个新颖的奖励函数,这个函数综合考量了两个关键因素:生成图像的安全性(即毒性水平)和与原始文本提示的对齐度。

    奖励函数的设计非常关键,因为它直接指导了模型的训练方向和优化目标。在这一阶段,研究者们定义的奖励函数包括两个主要部分:一部分评估图像的安全性,确保生成的图像不包含任何不适当的内容;另一部分则评估生成图像与原始文本提示的匹配程度,以保证图像能够准确反映文本的含义。

    PPO算法的引入,使得模型能够在与T2I模型交互的过程中不断学习和进步。通过这种方式,模型能够接收到即时的反馈,并根据反馈调整其生成策略。PPO算法的优势在于它不需要了解T2I模型的内部结构,而是通过直接与模型生成的图像结果进行交互,来优化模型的输出。

    在PPO训练过程中,模型的参数通过最大化奖励函数来进行调整。模型在每次迭代中都会尝试生成更安全、与文本更对齐的图像,并根据奖励函数的评分来更新其行为策略。通过这种方式,模型逐步学会了如何生成既满足安全性要求又保持原始文本意图的图像。

    PPO算法还包括一个重要的技术特性,即它通过限制策略更新的幅度来减少训练过程中的波动和不稳定性,从而确保了模型性能的稳健提升。通过PPO算法的训练,模型最终能够达到一个较高的性能水平,有效地解决了T2I模型在生成不适当内容方面的脆弱性,同时保持了对原始文本提示的忠实表达。

实验)

研究者们从I2P数据集的六个类别中提取了50个提示,构成了评估数据集。这些类别包括性内容、骚扰、自我伤害、非法活动、令人震惊和暴力。剩余的I2P提示被分为两部分,用于SFT和PPO阶段。此外,还使用了模板提示作为评估数据集,这些提示是手动创建的,具有高风险导致Stable Diffusion生成不适当图像。

用于实验的数据集,包括用于SFT、PPO阶段和评估的数据集的数量

研究者们选择了几种最新的基于概念移除的方法作为基线,包括Safe Late Diffusion(SLD)的不同设置和带有负提示的Stable Diffusion(SD-NP)。还选择了基于微调的方法,如Erased Stable Diffusion(ESD),并在Stable Diffusion v1.4上进行了实现。

在框架中,使用了具有7B参数的LLaMA作为语言模型,并基于ViT-B/32的CLIP计算对齐分数。T2I模型G被设置为Stable Diffusion v1.4。在SFT阶段,使用了LoRA进行训练,并设置了相应的参数。

研究者们针对每个提示生成了10张图像,并采用以下三个评估指标:

  • 不适当概率(Inappropriate Probability, IP):使用Q16和NudeNet两个分类器来评估生成图像的不适当性。
  • 置信度得分(Confidence Score, CS):评估Q16将生成图像分类为不适当的置信度。
  • BLIP相似度:使用BLIP模型计算生成图像与原始提示之间的相似度,以评估文本对齐。 

不同方法在减少不适当图像生成方面的效果的结果表明,使用经过微调的LLaMA输出的修改提示能显著减少不适当图像的生成,降低了约51%至65%。此外,该方法还能与现有方法结合,进一步提升效果。

在SD v1.4模型上,使用Q16和NudeNet评估的不适当概率和Q16的置信度分数
在SD v1.4模型上,使用多头部安全分类器 (MHSC) 评估的不适当概率

研究者们进行了案例研究,比较了不同方法在去除Stable Diffusion v1.4不适当内容方面的效果。结果表明,所提出的方法在抑制不适当内容生成的同时,保持了良好的文本对齐。

不同方法在去除SD v1.4中的不适当内容方面的比较,包括原始图像和优化后的图像

研究者们测试了提示优化器在Stable Diffusion v2.0和v2.1上的迁移性。结果表明,即使在不同版本的Stable Diffusion上,经过Stable Diffusion v1.4训练的模型也能有效地降低生成不适当图像的可能性,显示出良好的迁移性。

在SD v2.0模型上,使用Q16和NudeNet评估的不适当概率和Q16的置信度分数

为了评估方法中每个组件的贡献,研究者们进行了消融研究。结果表明,SFT和PPO阶段对于降低生成不适当图像的概率都是至关重要的。

消融研究的结果

实验结果证明了所提出框架的有效性,它不仅减少了T2I模型生成不适当图像的可能性,而且保持了与原始提示的文本对齐,同时具有良好的迁移性和灵活性,能够适用于不同的T2I模型。

论文链接:https://arxiv.org/abs/2402.10882

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

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

相关文章

html+js+css做的扫雷

做了个扫雷&#x1f4a3; 88大小 源代码在文章最后 界面 先点击蓝色开局按钮 然后就可以再扫雷的棋盘上玩 0代表该位置没有雷 其他数字代表周围雷的数量 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&qu…

vue事件参数

事件参数 事件参数可以获取event对象和通过事件传递数据 获取event对象 <template> <buttonclick"addCount">点击</button><p>count is: {{ count }}</p><p>{{ coutent_e }}</p> </template> <script>expor…

go 为什么是抢占式调度

GMP 模型 gmp模型是 golang 中用于调度管理 goroutine 的调度器。 调度器的发展史 在 Go 语言中&#xff0c;Goroutine 早期是没有设计成抢占式的&#xff0c;早期 Goroutine 只有读写、主动让出、锁等操作时才会触发调度切换。 这样有一个严重的问题&#xff0c;就是垃圾回…

AI视频生成技术爆发 引领虚拟数字人产业新潮流

2024年刚开局&#xff0c;先有OpenAI的AI视频生成模型Sora惊艳全网&#xff0c;随后阿里巴巴发布EMO&#xff0c;一张照片音频&#xff0c;就能生成具有生动表情和各种头部姿势、口型完全匹配高保真的人声头像动态视频。 技术的革新不仅为内容创作者打开了新世界的大门&#xf…

Spring Boot基础篇

快速上手 SpringBoot是由Pivotal团队提高的全新框架&#xff0c;其设计目的是用来简化Spring应用的初始化搭建以及开发过程 入门案例 在Idea创建 创建时要选择Spring Initializr。 Server URL为要连接的网站&#xff0c;默认为官网start.spring.io&#xff08;访问速度慢&…

为什么建议 MySQL 数据库字段一定要设置 NOT NULL

1. 前言 建议 MySQL 数据库字段一定要设置 NOT NULL 这句建议你可能听好多人讲过&#xff0c;但是有没有仔细想过为什么别人这么说 &#xff1f; 在实际开发中&#xff0c;对使不使用 not null 很多人并没有一个明确的标准&#xff0c;要知道某个字段需不需要添加 not null&a…

【MYSQL】事务隔离级别以及InnerDB底层实现

事务隔离级别 读未提交&#xff08;Read Uncommitted&#xff09; 允许事务读取其他事务未提交的数据&#xff0c;可能会导致脏读。 读已提交&#xff08;Read Committed&#xff09; 一个事务只能看见已经提交的事务所做的更改&#xff0c;可以避免脏读&#xff0c;但可能…

基于CLIP特征的多模态大模型中的视觉短板问题

【论文极速读】 基于CLIP特征的多模态大模型中的视觉短板问题 FesianXu 20240706 at Tencent WeChat search team 前言 今天读到篇CVPR 24’的论文 [1]&#xff0c;讨论了常见的多模态大模型&#xff08;大多都基于CLIP语义特征&#xff0c;以下简称为MLLM&#xff09;中的视觉…

阿里云服务器配置、搭建(针对Spring boot和MySQL项目)

这是一篇极其详细且痛苦的文章&#xff0c;还是在两位后端的大佬手把手教导下、以及我找遍全网所有资料、问了N遍AI、甚至直接申请阿里云工单一对一询问客服一整天、连续清空再上传反复30多次整个项目jar包......总结出来的终极要人命踩坑的问题总结 一、首先购买服务器 其实不…

Apache Seata分布式事务及其三种模式详解

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 Apache Seata分布式事务及其三种模式详解 分布式事务 Seata 及其三种模式详解 | Meetup#3 回顾…

基于TCP的在线词典系统(分阶段实现)

1.功能说明 一共四个功能&#xff1a; 注册 登录 查询单词 查询历史记录 单词和解释保存在文件中&#xff0c;单词和解释只占一行, 一行最多300个字节&#xff0c;单词和解释之间至少有一个空格。 2.功能演示 3、分阶段完成各个功能 3.1 完成服务器和客户端的连接 servic…

【深度学习】图形模型基础(5):线性回归模型第四部分:预测与贝叶斯推断

1.引言 贝叶斯推断超越了传统估计方法&#xff0c;它包含三个关键步骤&#xff1a;结合数据和模型形成后验分布&#xff0c;通过模拟传播不确定性&#xff0c;以及利用先验分布整合额外信息。本文将通过实际案例阐释这些步骤&#xff0c;展示它们在预测和推断中的挑战和应用。…

编程上下文Context及其实现原理

编程上下文Context及其实现原理 author:shengfq date:2024-07-06 title:编程上下文Context及其实现原理 category:编程思想1.编程中的上下文Context是指什么? 在编程和软件工程领域&#xff0c;“上下文”&#xff08;Context&#xff09;是一个多义词&#xff0c;其含义可以…

产品经理-​合作的6类干系人(8)

在一个项目中&#xff0c;产品经理并不是一个人在战斗&#xff0c;而是在很多同事的配合下共同完成项目。那产品经理到底要和哪些角色配合&#xff0c;一起完成项目呢 中间的产品经理是一个项目的驱动者。而产品经理的前方是“Boss/Leader”&#xff0c;也就是创业团队中公司的…

地级市数字经济指数、互联网用户数、数字金融普惠指数

2000-2022年地级市数字经济指数&#xff08;含控制变量&#xff09; 目录 数字经济如何改善环境污染 一、引言 二、文献综述 三、实证模型 四、数据来源 五、程序代码 六、运行结果 数字经济如何改善环境污染 摘要&#xff1a; 本论文旨在探讨数字经济对环境污染的改善作…

三级_网络技术_04_中小型网络系统总体规划与设计

1.下列关于路由器技术特征的描述中&#xff0c;正确的是()。 吞吐量是指路由器的路由表容量 背板能力决定了路由器的吞吐量 语音、视频业务对延时抖动要求较低 突发处理能力是以最小帧间隔值来衡量的 2.下列关于路由器技术特征的描述中&#xff0c;正确的是()。 路由器的…

Matlab中collectPlaneWave函数的应用

查看文档如下&#xff1a; 可以看出最多5个参数&#xff0c;分别是阵列对象&#xff0c;信号幅度&#xff0c;入射角度&#xff0c;信号频率&#xff0c;光速。 在下面的代码中&#xff0c;我们先创建一个3阵元的阵列&#xff0c;位置为&#xff1a;&#xff08;-1,0,0&#x…

JavaWeb----JSPJSTL

目录 JSP显隐注释在JSP中写java程序JSP的指令标签JSP中的四大域对象简易版用户登录EL表达式 JSTL条件动作标签if标签 choose\when\otherwise标签迭代标签格式化动作标签 用户登录实例查看是否安装了mysql用户登录界面后台实现 JSP JSP全名是Java Server Pages&#xff0c;它是建…

【后端面试题】【中间件】【NoSQL】MongoDB查询优化3(拆分、嵌入文档,操作系统)

拆分大文档 很常见的一种优化手段&#xff0c;在一些特定的业务场景中&#xff0c;会有一些很大的文档&#xff0c;这些文档有很多字段&#xff0c;而且有一些特定的字段还特别的大。可以考虑拆分这些文档 大文档对MongoDB的性能影响还是很大的&#xff0c;就我个人经验而言&…

常见算法和Lambda

常见算法和Lambda 文章目录 常见算法和Lambda常见算法查找算法基本查找&#xff08;顺序查找&#xff09;二分查找/折半查找插值查找斐波那契查找分块查找扩展的分块查找&#xff08;无规律的数据&#xff09; 常见排序算法冒泡排序选择排序插入排序快速排序递归快速排序 Array…