强化学习和深度RL有什么区别?

Chr*_*aus 21 machine-learning reinforcement-learning q-learning

深层强化学习和强化学习有什么区别?我基本上都知道强化学习是什么,但在这种背景下,具体术语深刻的含义是什么?

bak*_*kal 44

强化学习

在强化学习中,代理人试图在给定状态的情况下提出最佳动作.

例如,在视频游戏Pac-Man中,状态空间将是您所在的2D游戏世界,周围的物品(pac-dots,敌人,墙壁等),并且动作将在2D空间中移动(进行中)上下左右).

因此,鉴于游戏世界的状态,代理人需要选择最佳行动来最大化奖励.通过强化学习的试验和错误,它通过这些(state, action)对积累了"知识" ,因为它可以判断给出一(state, action)对是否会有正面或负面的奖励.我们称之为这个值Q(state, action).

存储这些知识的基本方法如下表所示

state | action | Q(state, action)
---------------------------------
  ... |   ...  |   ...
Run Code Online (Sandbox Code Playgroud)

(state, action)空间可以非常大

然而,当游戏变得复杂时,知识空间可能变得巨大并且不再可能存储所有(state, action)对.如果你以原始的方式思考它,即使是略微不同的状态仍然是一个独特的状态(例如敌人通过同一个走廊的不同位置).您可以使用可以概括知识的东西,而不是存储查找每个小的不同状态.

所以,你可以做的是创建一个神经网络,例如预测输入的奖励(state, action)(或选择给定状态的最佳动作,但是你喜欢看它)

Q用神经网络逼近该值

所以,你有效地拥有的是一个神经网络预测Q数值,根据输入(state, action).这比存储每个可能的值更容易处理,就像我们在上表中所做的那样.

Q = neural_network.predict(state, action)
Run Code Online (Sandbox Code Playgroud)

深度强化学习

深度神经网络

为了能够为复杂的游戏做到这一点,NN可能需要"深入",这意味着一些隐藏的层可能不足以捕获该知识的所有复杂细节,因此使用深层NN(大量隐藏层) .

额外的隐藏层允许网络内部提供可以帮助它学习和概括在浅网络上可能无法实现的复杂问题的功能.

关闭的话

简而言之,深度神经网络允许强化学习应用于更大的问题.您可以使用任何函数近似值而不是NN来近似Q,如果您选择NN ,则它不一定非常深.最近研究人员使用它们取得了巨大的成功.

  • "深度"将来自[深度学习](https://en.wikipedia.org/wiki/Deep_learning)(强调多个处理层).为了概括,我们可以认为Deep RL标签可以应用于任何具有深度学习组件的RL方案.例如[本文](https://www.aaai.org/ocs/index.php/WS/AAAIW11/paper/viewFile/3898/4303)使用[_Deep Belief Networks_](https://en.wikipedia.org/wiki/Deep_belief_network)作为近似值.之前[你问](http://stats.stackexchange.com/questions/51273/what-is-the-difference-between-a-neural-network-and-a-deep-belief-network):) (2认同)

Lui*_*s B 8

总结:深度强化学习使用深度神经网络来近似 Q(s,a)。非深度强化学习使用表格函数定义 Q(s,a)。


流行的强化学习算法使用函数 Q(s,a) 或 V(s) 来估计回报(折扣奖励的总和)。该函数可以通过离散输入和输出的表格映射来定义。然而,这对于连续状态或无限/大量状态是有限制的。对于大量状态,更通用的方法是必要的。

函数逼近用于大状态空间。一种流行的函数逼近方法是神经网络。您可以通过添加许多隐藏层来制作深度神经网络。

因此,深度强化学习使用函数逼近,而不是表格函数。具体来说,DRL 使用深度神经网络来近似 Q 或 V(甚至 A)。