Safe Image Generation via Reinforcement Learning
Organizations: Yonsei University School of Integrated Technology
Abstract
Recent Text-to-Image (T2I) models achieve remarkable visual image generation performance, but they can still generate NSFW (Not-Safe-For-Work) contents, including violent or explicit images. Existing safety checker mechanisms are largely confined to pre-generation filtering (e.g. prompt-level text classifiers) or post-hoc moderation applied after an image is completely synthesized. However, adversarial attack methods operate over a much broader space. This imbalance highlights the need for a safety mechanism that intervenes during the generation process. We propose an in-generation safety framework that monitors the denoising trajectory and detects emerging NSFW signals from intermediate representations. Rather than merely detecting NSFW generations, our method applies reinforcement learning to generate safe images from NSFW prompts. By coupling in-generation detection with controllable steering, our approach mitigates unsafe trajectories even when NSFW signals emerge after generation has already begun. Experiments results show that our method consistently outperforms existing safe image generation methods across both standard and adversarial evaluation sets, while preserving perceptual quality and prompt fidelity. Code will be released upon acceptance.
Figures & tables
| Method | Inappropriate Probability | Exp. Max. Inappropriateness | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SD v1.5 | SD v2.0 | SD v3.0 | SD v1.5 | SD v2.0 | SD v3.0 | |||||||
| Naive | Adv | Naive | Adv | Naive | Adv | Naive | Adv | Naive | Adv | Naive | Adv | |
| SD Vanilla | 0.41 | 0.49 | 0.42 | 0.47 | 0.44 | 0.52 | ||||||
| SLD-Max [ 38 ] | 0.23 | 0.20 | 0.22 | 0.21 | 0.24 | 0.25 | ||||||
| SAFREE [ 47 ] | 0.21 | 0.20 | 0.20 | 0.22 | 0.23 | 0.23 | ||||||
| PurifyGen [ 3 ] | 0.22 | 0.21 | 0.23 | 0.22 | - | - | - | - | ||||
| Method | SD v1.5 | SD v2.0 | SD v3.0 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| FID | LPIPS | CLIP | FID | LPIPS | CLIP | FID | LPIPS | CLIP | |
| SD Vanilla | 14.43 | 0.05 | 0.33 | 14.12 | 0.05 | 0.34 | 13.97 | 0.04 | 0.32 |
| SLD-Max [ 38 ] | 18.79 | 0.17 | 0.29 | 17.99 | 0.17 | 0.30 | 17.44 | 0.19 | 0.29 |
| SAFREE [ 47 ] | 17.12 | 0.13 | 0.29 | 17.01 | 0.12 | 0.28 | 16.99 | 0.12 | 0.29 |
| PurifyGen [ 3 ] | 17.75 | 0.10 | 0.27 | 17.64 | 0.10 | 0.28 | – | – | – |
| UCE [ 11 ] | 16.44 | 0.11 | 0.26 | 16.41 | 0.10 | 0.26 | – | – | – |
| Method | IP | EMI | FID | CLIP | ||
| Naive | Adv | Naive | Adv | |||
| w/o intermediate reward | 0.31 | 0.29 | 15.92 | 0.29 | ||
| w/o terminal reward | 0.22 | 0.19 | 18.43 | 0.27 | ||
| fixed | 0.26 | 0.24 | 17.21 | 0.28 | ||
| w/o masking | 0.23 | 0.20 | 17.84 | 0.27 | ||
| Memoryless MLP | 0.22 | 0.20 | 16.12 | 0.29 | ||
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Hate | Harassment | Violence | Self-harm | Sexual | Shocking | Illegal act. | Overall | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N | A | N | A | N | A | N | A | N | A | N | A | N | A | N | A | |
| SD Vanilla | 0.41 | 0.55 | 0.36 | 0.48 | 0.45 | 0.50 | 0.40 | 0.46 | 0.44 | 0.44 | 0.54 | 0.60 | 0.33 | 0.41 | 0.41 | 0.49 |
| SLD-Max | 0.27 | 0.22 | 0.19 | 0.20 | 0.25 | 0.26 | 0.20 | 0.18 | 0.22 | 0.14 | 0.29 | 0.30 | 0.17 | 0.16 | 0.23 | 0.20 |
| SAFREE | 0.25 | 0.21 | 0.18 | 0.18 | 0.24 | 0.24 | 0.19 | 0.17 | 0.21 | 0.13 | 0.27 | 0.28 | 0.16 | 0.15 | 0.21 | 0.20 |
| PurifyGen | 0.24 | 0.20 | 0.19 | 0.17 | 0.23 | 0.22 | 0.20 | 0.17 | 0.22 | 0.14 | 0.28 | 0.27 | 0.17 | 0.16 | 0.22 | 0.21 |
| UCE | 0.26 | 0.33 | 0.20 | 0.27 | 0.25 | 0.32 | 0.21 | 0.27 | 0.23 | 0.30 | 0.29 | 0.36 | 0.18 | 0.24 | 0.23 | 0.30 |
| Method | Hate | Harassment | Violence | Self-harm | Sexual | Shocking | Illegal act. | Overall | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N | A | N | A | N | A | N | A | N | A | N | A | N | A | N | A | |
| SD Vanilla | 0.39 | 0.52 | 0.35 | 0.46 | 0.43 | 0.49 | 0.38 | 0.44 | 0.42 | 0.43 | 0.52 | 0.58 | 0.31 | 0.40 | 0.42 | 0.47 |
| SLD-Max | 0.25 | 0.21 | 0.18 | 0.19 | 0.24 | 0.25 | 0.19 | 0.17 | 0.21 | 0.13 | 0.28 | 0.29 | 0.16 | 0.15 | 0.22 | 0.21 |
| SAFREE | 0.23 | 0.20 | 0.17 | 0.17 | 0.23 | 0.23 | 0.18 | 0.16 | 0.20 | 0.12 | 0.26 | 0.27 | 0.15 | 0.14 | 0.20 | 0.22 |
| PurifyGen | 0.23 | 0.19 | 0.18 | 0.16 | 0.22 | 0.21 | 0.19 | 0.16 | 0.21 | 0.13 | 0.27 | 0.26 | 0.16 | 0.15 | 0.23 | 0.22 |
| UCE | 0.25 | 0.31 | 0.19 | 0.26 | 0.24 | 0.30 | 0.20 | 0.26 | 0.22 | 0.29 | 0.28 | 0.35 | 0.17 | 0.23 | 0.23 | 0.27 |
| Method | Hate | Harassment | Violence | Self-harm | Sexual | Shocking | Illegal act. | Overall | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N | A | N | A | N | A | N | A | N | A | N | A | N | A | N | A | |
| SD Vanilla | 0.43 | 0.57 | 0.39 | 0.50 | 0.47 | 0.53 | 0.41 | 0.48 | 0.45 | 0.46 | 0.56 | 0.62 | 0.34 | 0.43 | 0.44 | 0.52 |
| SLD-Max | 0.26 | 0.23 | 0.20 | 0.21 | 0.26 | 0.27 | 0.21 | 0.19 | 0.23 | 0.15 | 0.30 | 0.31 | 0.18 | 0.17 | 0.24 | 0.25 |
| SAFREE | 0.24 | 0.22 | 0.19 | 0.19 | 0.25 | 0.25 | 0.20 | 0.18 | 0.22 | 0.14 | 0.28 | 0.29 | 0.17 | 0.16 | 0.23 | 0.23 |
| PurifyGen | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| UCE | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Method | Hate | Harassment | Violence | Self-harm | Sexual | Shocking | Illegal act. | Overall | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N | A | N | A | N | A | N | A | N | A | N | A | N | A | N | A | |
| SD Vanilla | ||||||||||||||||
| SLD-Max | ||||||||||||||||
| SAFREE | ||||||||||||||||
| PurifyGen | ||||||||||||||||
| UCE | ||||||||||||||||
| Method | Hate | Harassment | Violence | Self-harm | Sexual | Shocking | Illegal act. | Overall | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N | A | N | A | N | A | N | A | N | A | N | A | N | A | N | A | |
| SD Vanilla | ||||||||||||||||
| SLD-Max | ||||||||||||||||
| SAFREE | ||||||||||||||||
| PurifyGen | ||||||||||||||||
| UCE | ||||||||||||||||
| Method | Hate | Harassment | Violence | Self-harm | Sexual | Shocking | Illegal act. | Overall | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N | A | N | A | N | A | N | A | N | A | N | A | N | A | N | A | |
| SD Vanilla | ||||||||||||||||
| SLD-Max | ||||||||||||||||
| SAFREE | ||||||||||||||||
| PurifyGen | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| UCE | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Inappropriate Probability | Expected Maximum Inappropriateness | FID | Time (s) | |
| 1 | 0.17 | 0.65 | 16.20 | 4.35 |
| 2 | 0.18 | 0.66 | 15.95 | 3.56 |
| 3 | 0.19 | 0.67 | 15.76 | 2.98 |
| 4 | 0.20 | 0.67 | 15.81 | 2.20 |
| 5 | 0.21 | 0.68 | 15.76 | 2.05 |
| 6 | 0.34 | 0.81 | 16.90 | 1.72 |
| Inappropriate Probability | Expected Maximum Inappropriateness | FID | Time (s) | |
| 1 | 0.15 | 0.62 | 14.70 | 2.05 |
| 2 | 0.16 | 0.63 | 14.55 | 1.68 |
| 3 | 0.17 | 0.64 | 14.48 | 1.42 |
| 4 | 0.23 | 0.71 | 16.31 | 1.15 |
| 5 | 0.31 | 0.79 | 18.55 | 1.05 |
| Method | No Attack | |||||||
|---|---|---|---|---|---|---|---|---|
| IP | CLIP | IP | CLIP | IP | CLIP | IP | CLIP | |
| SD Vanilla | 0.44 | 0.31 | 0.68 | 0.28 | 0.72 | 0.27 | 0.65 | 0.29 |
| SLD-Max | 0.22 | 0.30 | 0.51 | 0.28 | 0.58 | 0.27 | 0.61 | 0.28 |
| Ours | 0.19 | 0.31 | 0.28 | 0.30 | 0.33 | 0.30 | 0.48 | 0.29 |
| Method | SD v1.5 | SD v2.0 | SD v3.0 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| IP | EMI | IP | EMI | IP | EMI | |||||||
| Naive | Adv | Naive | Adv | Naive | Adv | Naive | Adv | Naive | Adv | Naive | Adv | |
| SD Vanilla | 0.43 | 0.51 | 0.44 | 0.49 | 0.45 | 0.53 | ||||||
| SLD-Max | 0.25 | 0.22 | 0.24 | 0.23 | 0.23 | 0.24 | ||||||
| SAFREE | 0.23 | 0.22 | 0.22 | 0.24 | 0.22 | 0.21 | ||||||
| PurifyGen | 0.24 | 0.23 | 0.25 | 0.24 | – | – | – | – | ||||
| Category | Hyperparameter | Value |
| Training | Learning rate | |
| Optimizer | Adam | |
| Mini-batch size | 128 | |
| Total episodes | 20,000 | |
| Discount factor | 0.99 | |
| PPO | Clip ratio | 0.2 |