什么是强化学习中的高维状态?

人工智能 强化学习 q学习 dqn 术语 状态空间
2021-10-21 05:38:49

DQN 论文中,写到状态空间是高维的。我对这个术语有点困惑。

假设我的状态是长度的高维向量N, 在哪里N是一个巨大的数字。假设我使用Q-学习,我将状态空间固定为10向量,每个N方面。Q-learning 可以轻松地使用这些设置,因为我们只需要一个维度表10x 动作数。

假设我的状态空间可以有无数个向量N方面。在这些设置中,Q 学习将失败,因为我们无法将每个无限向量的 Q 值存​​储在表中。另一方面,DQN 很容易工作,因为神经网络可以泛化状态空间中的其他向量。

假设我有一个无限向量的状态空间,但是每个向量现在都有长度2,即小维向量。在这些设置中使用 DQN 有意义吗?这个状态空间应该被称为高维还是低维?

3个回答

通常当人们写到拥有高维状态空间时,他们指的是算法实际使用的状态空间。

假设我的状态是一个高维向量N长度在哪里N是一个巨大的数字。假设我使用Q-学习,我将我的状态空间修复为10向量中的每一个N方面。Q-learning 可以轻松地使用这些设置,因为我们只需要一个维度表10x 动作数。

在这种情况下,我认为长度的“特征向量”N是很没用的。如果只有有效10独特的状态(可能每个都有一个很长的长度特征向量N)... 好吧,使用那些长特征向量似乎是个坏主意,仅使用状态作为身份(即表格 RL 算法)效率更高。如果您最终使用表格方法,我不会将其称为高维空间。如果您最终对特征向量使用函数逼近,那将是一个高维空间(对于大型N)。

假设我有一个无限向量的状态空间,但每个向量现在都有长度2即非常小的维向量。在这些设置中使用 DQN 有意义吗?这个状态空间应该被称为高维还是低维?

这通常被称为具有低维状态空间。请注意,我说的是低你的状态空间/输入空间维度很低,因为它是2在谈论输入空间的维度时,这通常被认为是一个低值。状态空间可能仍然有很大的尺寸(这与Dimensionity不同)。

至于 DQN 在这种情况下是否有意义……也许吧。由于维度如此之低,我猜线性函数逼近器通常也能正常工作(而且训练起来也不那么痛苦)。但是,是的,您可以仅使用 2 个输入节点来使用 DQN。

是的,在具有少量维度的状态空间中使用 DQN 也是有意义的。你的状态维度有多大并不重要,但是如果你有二维的状态,你不会像你提到的论文中使用的那样在你的神经网络中使用卷积层,你可以使用普通的全连接层,这取决于问题。

除了这个答案,这里还有一个更基于公式的答案,它试图阐明状态的维度状态空间的大小之间的区别。

让我们表示我们的状态空间,即状态空间,由S. 让我们这么说S是的一个子集RN, IESRN. 所以,在这种情况下,一个状态sS是一个向量N实数。根据NN,状态的维数可以很大也可以不大。如果N=1,则状态是实数,因此状态的维数很小。如果N=1040,状态的维数很大。

更具体地说,让S={a,b},a,bRNN=1040,则状态空间很小,即它只包含 2 个状态 (ab),但维度ab很大。

你也可以有S={a,b}, 但a,bR. 在那种情况下,状态空间和状态的维数都很小。

在机器学习(以及 DQN 的情况下)中,图像,除非它们非常小(例如5×5),通常被认为是高维特征向量(或在 DQN 的情况下的观察)。在 DQN(图 1)的情况下,输入是84×84×4多维数组,所以每个状态都是相对高维的(即你需要28224表示每个状态的实数)。