深度强化学习和强化学习有什么区别?我基本上知道强化学习是什么,但具体的术语深在这种背景下代表什么?
答案 0 :(得分:40)
在强化学习中,代理人试图在给定状态的情况下提出最佳行动。
例如,在视频游戏Pac-Man中,状态空间将是您所在的2D游戏世界,周围的物品(pac-dots,敌人,墙壁等),以及行动将通过2D空间(上/下/左/右)。
因此,鉴于游戏世界的状态,代理人需要选择最佳行动来最大化奖励。通过强化学习的试验和错误,它通过这些(state, action)
对积累“知识”,因为它可以判断给定(state, action)
对是否会有正面或负面的奖励。我们将此值称为Q(state, action)
。
存储这些知识的基本方法是如下表
state | action | Q(state, action)
---------------------------------
... | ... | ...
(state, action)
空间可能非常大
然而,当游戏变得复杂时,知识空间会变得庞大,并且不再可能存储所有(state, action)
对。如果你以原始的方式思考它,即使是略微不同的状态仍然是一个独特的状态(例如敌人通过同一个走廊的不同位置)。您可以使用可以概括知识的内容,而不是存储和查找每个小的不同状态。
所以,你可以做的是创建一个神经网络,例如预测输入(state, action)
的奖励(或选择给定状态的最佳动作,但是你喜欢看它)
使用神经网络逼近Q
值
因此,根据输入Q
,您实际拥有的是 预测 (state, action)
值的NN。这比存储每个可能的值更容易处理,就像我们在上表中所做的那样。
Q = neural_network.predict(state, action)
深度神经网络
为了能够为复杂的游戏做到这一点,NN可能需要“深入”,这意味着一些隐藏的层可能不足以捕获该知识的所有复杂细节,因此使用深层NN(很多隐藏的图层)。
额外的隐藏层允许网络在内部提供有助于学习和概括在浅层网络上可能无法实现的复杂问题的功能。
简而言之,深度神经网络允许强化学习应用于更大的问题。您可以使用任何函数近似值而不是NN来近似Q
,如果您选择NN,则绝对必须是深度的。最近研究人员使用它们取得了巨大的成功。
答案 1 :(得分:1)
摘要:Deep RL使用Deep Neural Network来近似Q(s,a)。 非深度RL使用表格函数定义Q(s,a)。
大众强化学习算法使用函数Q(s,a)或V(s)估算回报(折扣奖励的总和)。该功能可以通过离散输入和输出的表格映射来定义。但是,这限制了连续状态或无限/大量状态。对于许多州,必须采用更通用的方法。
函数逼近用于较大的状态空间。流行的函数逼近方法是神经网络。您可以通过添加许多隐藏层来构建深度神经网络。
因此,深度强化学习使用函数近似而不是表函数。具体而言,DRL使用深度神经网络来近似Q或V(甚至A)。