深度强化学习和强化学习有什么区别?我基本上知道强化学习是什么,但在这个背景下,具体术语“深度”代表什么意思?
深度强化学习和强化学习有什么区别?我基本上知道强化学习是什么,但在这个背景下,具体术语“深度”代表什么意思?
在强化学习中,一个智能体试图在给定状态下找到最佳的行动。
例如,在游戏《吃豆人》中,状态空间将是您所处的二维游戏世界、周围的物品(豆子、敌人、墙壁等),而行动将是在这个二维空间中移动(向上/向下/向左/向右)。
因此,根据游戏世界的状态,智能体需要选择最佳行动以最大化奖励。通过强化学习的试错过程,它通过这些 (state, action)
对积累了"知识",即,它可以告诉我们在给定的(state, action)
的情况下会有正面还是负面的奖励。我们称这个值为 Q(state, action)
。
一种存储这些知识的简单方法是像下面这样的表格:
state | action | Q(state, action)
---------------------------------
... | ... | ...
"(状态,行动)"空间可能非常大。
然而,当游戏变得复杂时,知识空间可能会变得巨大,不再可行存储所有的(状态,行动)对。如果你用原始术语思考,即使是稍微不同的状态仍然是一个独立的状态(例如,敌人通过同一走廊的不同位置)。你可以使用某些可以概括知识的方法,而不是存储和查找每个小的不同状态。
所以,你可以创建一个神经网络,例如预测输入的(状态,行动)的奖励(或选择给定状态的最佳行动,无论你想如何看待它)
用神经网络来逼近Q
值
因此,实际上你拥有一个神经网络,该网络基于输入的(状态,行动),预测 Q
值。这比以上表格中存储每个可能值要容易处理得多。
Q = neural_network.predict(state, action)
深度神经网络
为了能够处理复杂的游戏,神经网络可能需要是"深层的",这意味着仅使用一些隐藏层可能不足以捕捉到所有复杂的知识细节,因此使用深度神经网络(有很多隐藏层)。
额外的隐藏层使得网络可以内部生成能够帮助其学习和概括复杂问题的特征,这在浅层网络上可能是不可能的。
简而言之,深度神经网络允许强化学习应用于更大的问题。您可以使用任何函数逼近器来逼近 Q
,如果您选择使用神经网络,它并不一定需要是一个深度神经网络。只是最近研究人员使用它们获得了巨大的成功。
概述:深度 RL(强化学习)使用深度神经网络来近似 Q(s,a)。非深度 RL 使用表格函数来定义 Q(s,a)。
流行的强化学习算法使用函数 Q(s,a) 或 V(s) 来估计回报(折扣奖励之和)。该函数可以通过离散输入和输出的表格映射来定义。然而,这对于连续状态或大量状态是有限制的。在处理大量状态时,需要更广泛的方法。
函数逼近用于大型状态空间。一种流行的函数逼近方法是神经网络。通过添加许多隐藏层,可以创建深度神经网络。
因此,深度强化学习使用函数逼近,而不是表格函数。具体来说,DRL 使用深度神经网络来近似 Q 或 V(甚至是 A)。