Skip to content

关于 Mortal 中 DQN Loss 的疑问 #81

Answered by Equim-chan
adsf0427 asked this question in Q&A
Discussion options

You must be logged in to vote

Mortal 的确是 value-based RL,但这里没有使用 TD 方法,而是用了 MC (Monte Carlo) 方法,或者也可以说是 TD(1),这么做有很多考虑:

  1. TD 的开销比 MC 高。计算 TD error 的 Bellman equation 里有一项 $\displaystyle \max_a Q(S_{t+1}, a)$,为了计算它就要多 forward 一次。然后,常用的 double DQN 框架需要增加一个 target network,于是各种存储的开销也翻了倍,还得多算一个 $\displaystyle \arg \max_a Q(S_{t+1}, a)$,又多了次 forward。MC 只 forward 一次,十分痛快。
  2. TD 需要 bootstrapping,增加了训练的难度,MC 没有这个问题。
  3. MC 的结果不比 TD 差,即便在 sparse reward 的情况下。这篇研究有提到一些。曾经我在 Mortal 上也尝试过换成 TD,但并没有提升。
  4. 一个猜想,由于麻将本身的 variance 就很大,TD 所带来的小 variance 的优势体现不出来——variance 仍然会很大,反而训练时还要依赖由 NN 输出的 noisy estimation,增加了不稳定性,而相比之下 MC 可以对真实的 sparse reward 更敏感。

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by adsf0427
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants