fix ch7
This commit is contained in:
@@ -81,7 +81,7 @@ $$
|
||||
|
||||
那可是接下来有人就会问说会不会最后 学习出来的结果是说,反正 machine 就学到 V 永远都是 0,然后反正 A 就等于 Q,那你就没有得到任何 Dueling DQN 可以带给你的好处, 就变成跟原来的 DQN 一模一样。为了避免这个问题,实际上你要给 A 一些约束,让 更新 A 其实比较麻烦,让网络倾向于会想要去用 V 来解问题。
|
||||
|
||||
举例来说,你可以看原始的文献,它有不同的约束 。一个最直觉的约束是你必须要让这个 A 的每一列的和都是 0,所以看我这边举的例子,列的和都是 0。如果这边列的和都是 0,这边这个 V 的值,你就可以想成是上面 Q 的每一列的平均值。这个平均值,加上这些值才会变成是 Q 的 值。所以今天假设你发现说你在更新参数的时候,你是要让整个行一起被更新。你就不会想要更新这边,因为你不会想要更新 A 这个矩阵。因为 A 这个矩阵的每一列的和都要是 0,所以你没有办法说,让这边的值,通通都 +1,这件事是做不到的。因为它的约束就是你的和永远都是要 0。所以不可以都 +1,这时候就会强迫网络去更新 V 的值,然后让你可以用比较有效率的方法,去使用你的数据。
|
||||
举例来说,你可以看原始的文献,它有不同的约束 。一个最直觉的约束是你必须要让这个 A 的每一列的和都是 0,所以看我这边举的例子,列的和都是 0。如果这边列的和都是 0,这边这个 V 的值,你就可以想成是上面 Q 的每一列的平均值。这个平均值,加上这些值才会变成是 Q 的 值。所以今天假设你发现说你在更新参数的时候,你是要让整个列一起被更新。你就不会想要更新这边,因为你不会想要更新 A 这个矩阵。因为 A 这个矩阵的每一列的和都要是 0,所以你没有办法说,让这边的值,通通都 +1,这件事是做不到的。因为它的约束就是你的和永远都是要 0。所以不可以都 +1,这时候就会强迫网络去更新 V 的值,然后让你可以用比较有效率的方法,去使用你的数据。
|
||||
|
||||

|
||||
|
||||
|
||||
Reference in New Issue
Block a user