Skip to content

安全稳定扩散

安全稳定扩散是在《安全潜在扩散:减轻扩散模型中的不当退化》中提出的,旨在减轻稳定扩散模型中的不当退化问题,因为这些模型是在未经筛选的网络爬取数据集上训练的。例如,稳定扩散模型可能会意外生成裸露、暴力、自残图像以及其他冒犯性内容。安全稳定扩散是稳定扩散的一个扩展,能够大幅减少此类内容。

论文的摘要如下:

文本条件图像生成模型最近在图像质量和文本对齐方面取得了惊人的成果,并因此被迅速应用于越来越多的应用中。由于这些模型高度依赖于从互联网上随机抓取的数十亿规模的数据集,它们也遭受了我们展示的退化和偏见的人类行为。反过来,它们甚至可能强化这些偏见。为了帮助对抗这些不希望的副作用,我们提出了安全潜在扩散(SLD)。具体来说,为了衡量由于未经筛选和不平衡的训练集导致的不当退化,我们建立了一个新的图像生成测试平台——不当图像提示(I2P),其中包含专门的真实世界图像到文本提示,涵盖了裸露和暴力等概念。正如我们全面的实证评估所展示的,引入的SLD在扩散过程中移除和抑制了不当的图像部分,无需额外的训练,并且对整体图像质量或文本对齐没有负面影响。

提示

使用[StableDiffusionPipelineSafe]的safety_concept属性来检查和编辑当前的安全概念:

python
>>> from diffusers import StableDiffusionPipelineSafe

>>> pipeline = StableDiffusionPipelineSafe.from_pretrained("AIML-TUDA/stable-diffusion-safe")
>>> pipeline.safety_concept
'an image showing hate, harassment, violence, suffering, humiliation, harm, suicide, sexual, nudity, bodily fluids, blood, obscene gestures, illegal activity, drug use, theft, vandalism, weapons, child abuse, brutality, cruelty'

每次图像生成时,活动概念也包含在 [StableDiffusionSafePipelineOutput] 中。

有四种配置(SafetyConfig.WEAKSafetyConfig.MEDIUMSafetyConfig.STRONGSafetyConfig.MAX)可以应用:

python
>>> from diffusers import StableDiffusionPipelineSafe
>>> from diffusers.pipelines.stable_diffusion_safe import SafetyConfig

>>> pipeline = StableDiffusionPipelineSafe.from_pretrained("AIML-TUDA/stable-diffusion-safe")
>>> prompt = "the four horsewomen of the apocalypse, painting by tom of finland, gaston bussiere, craig mullins, j. c. leyendecker"
>>> out = pipeline(prompt=prompt, **SafetyConfig.MAX)

StableDiffusionPipelineSafe

[[autodoc]] StableDiffusionPipelineSafe - all - call

StableDiffusionSafePipelineOutput

[[autodoc]] pipelines.stable_diffusion_safe.StableDiffusionSafePipelineOutput - all - call