Target Networks
DQN learns by bootstrapping: it updates one prediction using another prediction. The online network predicts , and the target includes a future value estimate for .
If the same network supplies both sides, the target changes every time the network learns. The agent is then chasing a target that moves because of its own last update.
DQN stabilizes this by keeping two networks. The online network, , is updated by gradient descent. The target network, , is copied from the online network only every steps.
- Online network:
- Target network:
- Copy step: periodically update
The target network appears in the Bellman target:
Only the prediction is directly trained on the current gradient step. The target network creates a slower reference point for the future-value estimate.
Equation walkthrough
Theta moves quickly; theta-minus moves slowly
Click the pieces to see why DQN separates the trained network from the network used inside the target.
Target-network estimate
slower reference point
The target network supplies the future-value estimate. Because theta-minus is copied only occasionally, the target is less jumpy.
Terms
Target networks
The target network makes the Bellman target less jumpy
Move through training steps. Compare the target you would get from the online network with the target DQN actually uses from the copied network.
If target used online Q
1.64
1.00 + 0.90 x 0.71
DQN target uses theta-
1.36
1.00 + 0.90 x 0.40
Online next Q
0.71
Target next Q
0.40
Copy event
no
In standard DQN, why is used inside the target ?