Why not use the target network in DQN as the predictor after training
The learning model and target model are only different by N steps (typically a few thousand) out the entire taining process. If the process is near complete, they will also be quite similar.
The target model is not inherently more stable in terms of producing &quot;correct&quot; or &quot;better&quot; Q values. Instead it is kept static for a period of time in order to stabilise the temporal difference (TD) target $R_{t+1} + \gamma \text{max}_{a'} \hat{q}(S_{t+1}, a', \theta^{-})$
Due to the copying stage that you listed:

If you return the target model, this is identical to returning the learning model from N steps beforehand.

Which in turn means that there was no point in doing the last N steps of training. You may as well have returned the learning model at the same point as copying.


Or another way of thinking about it: Returning the learning model at the end of the training process is identical to copying it to the target model as normal, then returning the target model immediately.