I have a general question about the updating of the network/model in the PPO algorithm.
If I understand it correctly, there are multiple iterations of weight updates done on the model with data that is created from the environment (with the model before the update). Now, I think that the updates of the model weights are not correct anymore after the first iteration/optimization step, because the model weights changed and therefore the training data is outdated (since the model would now give different actions in the environment and therefore different rewards).
Basically, in the pseudo code-code of the algorithm, I don't understand the line "Optimize surrogate L ... with K epochs...". If the update is done for multiple epochs, the data that is learned on is outdated already after the first iteration of optimization, since the modelmodel's weights changed. In other algorithms, like A2C, there is only one opimizationoptimization step done, instead of K$K$ epochs.
Is this some form of approximation or augmentation on the data by using the data that was created by an older model for multiple iterations or am I missing something here? If yes, where was this idea first introduced or better described? And where is aan (empirical) proof that this still leads to a correct weight updating?