Dueling DQN 实现中的可能错误
ShuhuaGao opened this issue · 1 comments
ShuhuaGao commented
在这个jupyter notebook的In[7]中,有一行
return value + advantage - advantage.mean()
我对dueling DQN的理解是,给定一个状态s,求取其各个advantage值A(s) = [A(s, a0), A(s, a1), ...],然后从这些值中减去A(s)的平均值,但是不同s对应的平均值是无关的。而上述这行代码,是把所有s的advantage的值求了总平均,然后减去这一个标量值。
换句话说,正确的写法应该用 advantage.mean(dim=1)
.
johnjim0816 commented
value + advantage - advantage.mean()
这个advantage对应的输入就是给定的状态s,可以debug看下advantage的变量类型和结构