博弈算法中的Q-Learning技术路线总结
(2019-05-31 18:58:30)
标签:
杂谈 |
一、Q-Learning
做法:使用表格来存储每一个状态 state, 和这个 state 采取行为 action 所拥有的 Q 值.
存在问题:实际问题状态、动作多 ,计算机内存有限,无法用表格保存。而且每次在这么大的表格中搜索对应的状态也很耗时.
解决方法:DQL
二、DQN
做法:在机器学习中, 使用神经网络拟合Q函数估计.
将状态和动作当成神经网络的输入, 然后经过神经网络前馈得到动作的Q 值, 即不在表格中记录 Q 值, 而是直接使用神经网络生成 Q 值. 还有一种形式是只输入状态值, 输出所有的动作值, 然后按照 Q learning 的原则, 直接选择拥有最大值的动作当做下一步要做的动作.
更新:
需要 a1, a2 正确的Q值, 这个Q值用之前在 Q learning中的Q现实来代替. Q估计是由神经网络前馈得到. Q的更新公式如下:
DQN重点:
1、 经验回放(Experience Replay)
2、 Fixed Q-targets
三、多智能体Q-Learning
随着智能体数目的增多,联合动作空间将会呈指数级增长,这使得传统单智能体RL方式失效。
去中心化策略表示每个智能体只根据自己观察到的信息和自己的历史行为来做出行动,因此解决了传统RL方式遇到的问题。
(1)VDN:
将除自己以外的智能体都视作环境,每个智能体进行自己的Q-Learning过程。这种方法的结构示意图如下:
VDN弊端很明显,其他智能体在学习的过程中策略会发生改变,因此智能体学习到的Q值一直在发生变化很难收敛。由于VDN只是将每个智能体的局部动作值函数求和相加得到联合动作值函数,没有在学习时利用状态信息以及没有采用非线性方式对单智能体局部值函数进行整合,使得VDN算法还有很大的提升空间。
(2)QMix:




加载中…