内隐分位数回归网络(IQN)与QR有何不同?

我要感谢威尔·达布尼( Will Dabney )和乔治·奥斯特罗夫斯基( Georg Ostrovski )(这篇论文的两位作者)和莫西米诺·托马索利(简易机器学习博客所有者)帮助我理解IQN。

要理解这个算法,您需要知道:

TD学习强化学习的价值功能DQN是什么。C51是什么什么是累积分布函数(CDF)反民防是什么意思。就像C51或QR一样,IQN允许我们在采取一些行动a时估计出整个可能的回报分布。然而,IQN并不像以前那样输出发行版。相反,每次您询问它时,它都会输出一个样本。它输出的红点,你看到的右边,底部的图像。

IQN的最终输出是每个动作的一个标量值。换句话说,每个动作只需一个样本。我们多次重新运行IQN以获得更多的"CurrentState“样本。

IQN接受两个不同阶段的输入: 1)和2)

首先,IQN获取当前状态S(它是向量),将其转换为另一个向量V(例如,维数10)。现在,我们将任何称为\tau的随机标量值(从统一的0,1范围中提取),并将该标量值输入函数\phi(\tau)。它给出了一个向量H,它的维数与V相同然后,将向量V和H通过级联结合起来。事实上,如果没有更多的前向层,我们将执行乘法而不是级联。在这一前传结束时,我们的IQN输出一个包含我们试图估计的动作分布样本的x-A-维向量。另一种说法是“行动的数量”。注意:因为IQN输出的是向量,而不是矩阵(就像QR那样),所以在执行当前状态的前向传递时,每个动作只能得到一个标量样本。为了获得更多的样本,我们必须返回到步骤2),并重新运行与另一个标量\tau从0,1范围再次采样的前向传递。当然,如果硬件允许的话,我们也可以重复使用IQN,并行运行所需数量的前传。不需要从步骤1开始),因为我们只关心\tau实际进入系统的终端层。“任何前面的层”无论如何都会被重新计算成相同的值。在训练时,我们也会评估"CurrentState+1“。我们通过通常的TD学习将我们的结果从"CurrentState“引导到"CurrentState+1”,就像通常的DQN一样。不要忘记,对于"CurrentState“和"CurrentState+1”,我们将不得不多次重复前向传递(如步骤5所述),以获得当前和目标分布的几个示例。这使我们很好地了解了这两个发行版的样子。

本文认为,在大多数情况下,重新运行前通过8次(从而得到8个样本),足以逼近Z_{\tau}和我们的目标分布Z (对“CurrState+1”的最佳动作的分布)。因此,我们总共执行了16次前传:8次为"CurrentState“,8次为"CurrentState+1”,以了解这两个发行版。为什么向网络中输入随机的\tau是有效的?

你必须明白,经过良好训练的IQN网络代表着一个反向的CDF本身。也就是说,如果请求某个标量的“金额”值(取自0到1的均匀范围),逆of将从实际分布中输出一个值,该值位于该值。

虽然发行版不一定像Bell曲线,但请看下面的示例:

为什么作者在\phi(\tau)中使用余弦?我仍然不知道,但文件的附录部分说,它似乎是最好的。也许它能很好地应用于ReLU。

我也被w_{ij}或b_j弄糊涂了。在我看来,似乎有一个权重矩阵和一个偏差值向量。...Do,我们一次输入一个不同\tau值的完整向量?

答案是否定的。注意,作者使用j只是为了提醒向前传球必须运行几次。总之,在\phi(\tau)中只有i的权重和1种偏倚。

因此,我们得到一些标量\tau,并将其与所有这些权重一起使用。基本上,\phi(\tau)类似于一个简单的完全连接的层,它一次只接受一个标量输入值。对于不同的\tau标量值,我们将重用同一层。

友情链接