I use PPO to train my fermenter (digital twin) to maximize enzyme (product) production.
action: 1 or 0 ie. add substrate at a particular time or not based on cell and enzymes present in the tank
observation: enzymes in the tank and timestep
reward : enzyme_slope + cell_slope (Cell slope gives a negative reward due to negative slope as we do not want cells to go negative)
While analysing the training results I saw that the agent was able to find a solution that gave a very high cumulative reward but the agent did not explore in that direction. Whereas when I look at the kind of decisions the agent was taking towards the end of the training I see the cumulative reward is much lower than the max it was able to find before.
The image above clearly gives me more cumulative reward and a higher enzyme activity, agent still does not explore in that direction and decides to explore other things. The final solutions that I am able to find are still good but the I can see that there are better solutions explored by the agent.
Why is this happening? How does PPO decide if a particular solution is good or not and how does it decide to take a certain path? Should I try other algorithms as well?