Open greg2paris opened 4 years ago
This is outside stable-baselines, and the library does support such setup. The closest approach is to combine the multiple rewards (sum or weighted sum) into one, and train on that. You might want to look up terms like "multi-task learning" to learn more into this.
You may close this issue if there are no other questions related to stable-baselines.
Nice idea of structuring the rewards. Actually a similar idea is already published in Hybrid Reward Architecture for RL with which they were the first to solve Pacman. We will present a similar work on safe human-robots Collaboration using DRL in ICRA 2020 (where we define a reward for reaching the goal, and a reward for avoiding obstacles). In order to extend stable_baselines to include this, you need to:
Is there any progress on this in stable-baselines3? i.e handling reward vector!
Is is possible to make an array of different reward? for example, If we have a robot who have to walk and in the same time looking around with his camera, we could separate the rewards into an array to tell the agent that he is doing a good job at walking but not at looking around. So the learning process will be faster than to have only one reward. another example would be to trade multiple assets in the same time. if the agent is doing completly random action, it is very unlickly his balance will be positive, and it would take lots of time to train. but if the agent knows that one of the trade he made, was positive, he may learn to trade better and faster. is it possible to make? or should I divide my environment in multiple "little" environment?