DQN算法的Q-Loss是否必须收敛?

正在研究的问题中使用了DQN算法,我已经调整了一些超参数(网络架构,探索,学习率),每个epiode的奖励在训练期间增加,Q值也在收敛(参见图1),但…
关注者
127
被浏览
85,982

11 个回答

我也在做和强化学习有关的工作,对这个问题也十分感兴趣。虽然大概没办法回答DL里面的收敛情况,但是可以抛砖引玉简单介绍一下传统Q Learning里面的有关收敛性的东西。

最简单的情况,在deterministic policy情况下,q value iteration是收缩的。其证明由Bellman Operator可以推出:

指定一个MDP,其转移方程为P,用Q表示Q(s,a)的矩阵写法。定义Bellman Operator为 \mathcal{T} Q : = (1-\gamma) r + \gamma PV_Q ,其中 V_Q 是根据当前Q算出来的Value Function。每次做Q Value Update时就是 Q_{new} := \mathcal{T}Q

如果我们能证明这个operator是contraction的,那么只要我们反复 Q_{new} := \mathcal{T}Q , 我们最后能得到一个 Q_{new}==\mathcal{T}Q == Q ,根据Bellman Optimality,这个静止点是最优解。

详细证明可以看 RL and Bandits, Lecture Notes. Author: Alekh Agarwal, Nan Jiang, Sham M. Kakad


至于DQN,大概是不收敛吧?因为optimization landscape不是Convex的,很难想怎么样搞出一个收敛证明出来……

说到强化学习里面的Loss,就必须提提OpenAI给出的建议了——

归根结底的说,我们唯一需要关注的指标就是Average Return,其他的一切loss都可能是伪指标。

spinningup.openai.com/e