Safety Modulation: Enhancing Safety in Reinforcement Learning through Cost-Modulated Rewards

Hanping Zhang, Yuhong Guo
4/3/2025
cs.LGcs.AI

No confident code implementation found for this paper.

Abstract

Safe Reinforcement Learning (Safe RL) aims to train an RL agent to maximize its performance in real-world environments while adhering to safety constraints, as exceeding safety violation limits can result in severe consequences. In this paper, we propose a novel safe RL approach called Safety Modulated Policy Optimization (SMPO), which enables safe policy function learning within the standard policy optimization framework through safety modulated rewards. In particular, we consider safety violation costs as feedback from the RL environments that are parallel to the standard awards, and introduce a Q-cost function as safety critic to estimate expected future cumulative costs. Then we propose to modulate the rewards using a cost-aware weighting function, which is carefully designed to ensure the safety limits based on the estimation of the safety critic, while maximizing the expected rewards. The policy function and the safety critic are simultaneously learned through gradient descent during online interactions with the environment. We conduct experiments using multiple RL environments and the experimental results demonstrate that our method outperforms several classic and state-of-the-art comparison methods in terms of overall safe RL performance.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{zhang2025safety,
  title  = {Safety Modulation: Enhancing Safety in Reinforcement Learning through Cost-Modulated Rewards},
  author = {Hanping Zhang and Yuhong Guo},
  year   = {2025},
  eprint = {2504.03040},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2504.03040v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2504.03040.svg)](https://codeofpaper.com/paper/2504.03040)

Discussion