question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Feature Request] give users a way to provide their own exploration noise function?

See original GitHub issue

🚀 Feature

Let the users provide, if they want, a function that is used to sample the exploration noise. Possibly an API something like the following (it may be very naive though), so that it can collect data from the agent and its policies, or take any arguments the users want:

def user_noise(agent, *args, **kwargs)
    """this user_noise function will be called at each step to generate the exploration noise"""
    return exploration_noise

Motivation

The gSDE paper is extremely interesting, however, in some cases, using the before last policy layer may be a suboptimal choice; offering an API way to set other more specific exploration noise functions that depend on the agent internals exactly in the way the user wants would be great.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:18 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
qgallouedeccommented, Oct 7, 2022

I understand your need. Have you considered the following workaround:

from stable_baselines3 import DDPG
from stable_baselines3.common.noise import Noise

class MyNoise(Noise):
    def set_model(self, model):
        self.model = model

    ...

action_noise = MyNoise()
model = DDPG("MlpPolicy", "Pendulum-v1", action_noise=action_noise)
action_noise.set_model(model)
1reaction
qgallouedeccommented, Oct 7, 2022

The intuition behind not using action noise for on-policy agents is that an on-policy algorithm learns from the actions it has taken. However, if you add noise to the action, it is no longer “taken by the agent” but by the agent augmented with noise. So you introduce a bias.

Read more comments on GitHub >

github_iconTop Results From Across the Web

User-Personalization recipe - AWS Documentation
This allows Amazon Personalize to gauge item quality based on new interactions for already explored items and continually update item exploration.
Read more >
Feature Requests: What are they and how to manage them
Feature requests are a form of product feedback you may frequently encounter as a SaaS product manager. They typically come in the form...
Read more >
Feature Requests - Audacity Wiki
Double-click any point in a "silence " to automatically select the complete silence - useful for voice editing.
Read more >
Solved: Re: How to avoid bothering teachers with student g ...
This sounds like it would make a great feature request. I searched around on this and found some related ideas that had been...
Read more >
Play background sounds on iPhone to mask environmental ...
On iPhone, play calming sounds to mask unwanted environmental noise and help minimize distractions so you can focus or rest.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found