深度强化学习和强化学习有什么区别?我基本上知道强化学习是关于什么的,但具体术语deep在这种情况下代表什么?
2 回答
强化学习
在强化学习中,代理试图在给定状态下提出最佳动作。
例如,在电子游戏吃豆人中,状态空间将是您所在的 2D 游戏世界、周围的物品(pac-dots、敌人、墙壁等),并且动作将在该 2D 空间中移动(去上下左右)。
因此,给定游戏世界的状态,代理需要选择最佳动作来最大化奖励。通过强化学习的反复试验,它通过这些(state, action)
配对积累“知识”,例如,它可以判断给定配对是否会有积极或消极的奖励(state, action)
。我们称这个值Q(state, action)
。
存储这些知识的基本方法是如下表
state | action | Q(state, action)
---------------------------------
... | ... | ...
空间(state, action)
可以很大
然而,当游戏变得复杂时,知识空间会变得巨大,存储所有(state, action)
对不再可行。如果您从根本上考虑它,即使是稍微不同的状态仍然是不同的状态(例如,通过同一条走廊的敌人的不同位置)。您可以使用可以概括知识的东西,而不是存储和查找每个小的不同状态。
所以,你可以做的是创建一个神经网络,例如预测输入的奖励(state, action)
(或者选择给定状态的最佳动作,但是你喜欢看它)
Q
用神经网络近似值
因此,您实际上拥有的是一个基于输入预测value的NNQ
(state, action)
。这比像我们在上表中那样存储每个可能的值更容易处理。
Q = neural_network.predict(state, action)
深度强化学习
深度神经网络
为了能够为复杂的游戏做到这一点,NN 可能需要“深度”,这意味着一些隐藏层可能不足以捕获该知识的所有复杂细节,因此使用深度 NN(大量隐藏层) .
额外的隐藏层允许网络在内部提出可以帮助它学习和概括在浅层网络上可能不可能完成的复杂问题的特征。
结束语
简而言之,深度神经网络允许将强化学习应用于更大的问题。您可以使用任何函数逼近器而不是 NN 来逼近Q
,如果您确实选择了 NN,那么它不一定非要很深。只是研究人员最近在使用它们方面取得了巨大成功。
摘要:深度强化学习使用深度神经网络来近似 Q(s,a)。非深度强化学习使用表格函数定义 Q(s,a)。
流行的强化学习算法使用函数 Q(s,a) 或 V(s) 来估计回报(折扣奖励的总和)。该函数可以通过离散输入和输出的表格映射来定义。但是,这对于连续状态或无限/大量状态是有限的。对于大量状态,需要更通用的方法。
函数逼近用于大状态空间。一种流行的函数逼近方法是神经网络。您可以通过添加许多隐藏层来制作深度神经网络。
因此,深度强化学习使用函数逼近,而不是表格函数。具体来说,DRL 使用深度神经网络来近似 Q 或 V(甚至 A)。