Q-learning、Deep Q-learning 和 Deep Q-network 有什么区别?

人工智能 强化学习 比较 q学习 dqn 深度学习
2021-10-20 22:32:12

Q-learning使用一个表来存储所有的状态-动作对。Q-learning是一种无模型的RL算法,怎么会有Deep Q-learning,因为深度就是使用DNN;或者状态-动作表(Q-table)仍然存在,但 DNN 仅用于输入接收(例如将图像转换为向量)?

Deep Q-network 似乎只是 Deep Q-learning 程序的 DNN 部分,而 Q-network 似乎是 Deep Q-network 的简称。

Q-learningDeep Q-learningDeep Q-network,有什么区别?可能有这三个术语之间的比较表吗?

2个回答

下表试图系统地显示表格 Q 学习 (TQL)、深度 Q 学习 (DQL) 和深度 Q 网络 (DQN) 之间的差异。

表格 Q 学习 (TQL) 深度 Q 学习 (DQL) 深度 Q 网络 (DQN)
是强化学习算法吗? 是的 是的 否(除非您使用 DQN 来指代 DQL,这是经常这样做的!)
它使用神经网络吗? 不,它使用一张桌子。 是的 不,DQN 是神经网络。
是模型吗? 的(但通常不是 RL 意义上的
它可以处理连续的状态空间吗? 否(除非您将它们离散化) 是的 是(从某种意义上说,它可以获得状态的实值输入)
它可以处理连续的动作空间吗? 的(但也许不是一个好主意) 的(但也许不是一个好主意) 是的(但只是感觉它可以为动作产生实值输出)。
会收敛吗? 是的 不必要 不必要
它是在线学习算法吗? 是的 不,如果你使用经验回放 不可以,但它可以用于在线学习环境

在 Q 学习(以及一般基于价值的强化学习)中,我们通常对学习 Q 函数感兴趣,Q(s,a). 这被定义为

Q(s,a)=Eπ[Gt|St=s,At=a].

对于表格 Q 学习,您有一个有限的状态和动作空间,您可以维护一个表格查找来维护您当前对 Q 值的估计。请注意,在实践中,即使空间有限也可能不足以使用 DQN,例如,如果您的状态空间包含大量数字,例如1010000, 的状态,那么为每个状态-动作对维护一个单独的 Q 函数可能是不可管理的

当您拥有无限的状态空间(和/或动作空间)时,就不可能使用表格,因此您需要使用函数逼近来概括各个状态。由于它们的表达能力,这通常使用深度神经网络来完成。作为技术方面,Q 网络通常不将状态动作作为输入,而是接受状态的表示(例如d维向量或图像)并输出大小为实值的向量|A|, 在哪里A是动作空间。

现在,在您的问题中,您似乎对为什么使用模型(神经网络)感到困惑,而正如您正确地说的那样,Q-learning 是无模型的。这里的答案是,当我们谈论强化学习是无模型的时,我们并不是在谈论它们的价值函数或策略是如何参数化的,我们实际上是在谈论算法是否使用过渡动态模型来帮助他们学习. 也就是说,无模型算法不使用任何关于p(s|s,a)而基于模型的方法希望使用这个转换函数——或者因为它在 Atari 环境中完全已知,或者它必须被近似——来执行动态规划。