加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

博弈算法中的Q-Learning技术路线总结

(2019-05-31 18:58:30)
标签:

杂谈

一、Q-Learning

做法:使用表格来存储每一个状态 state, 和这个 state 采取行为 action 所拥有的 Q .

存在问题:实际问题状态、动作多 ,计算机内存有限,无法用表格保存。而且每次在这么大的表格中搜索对应的状态也很耗时.

解决方法:DQL

二、DQN

做法:在机器学习中, 使用神经网络拟合Q函数估计.

 

将状态和动作当成神经网络的输入, 然后经过神经网络前馈得到动作的Q , 即不在表格中记录 Q , 而是直接使用神经网络生成 Q . 还有一种形式是只输入状态值, 输出所有的动作值, 然后按照 Q learning 的原则, 直接选择拥有最大值的动作当做下一步要做的动作.

博弈算法中的Q-Learning技术路线总结

更新:

需要 a1, a2 正确的Q, 这个Q值用之前在 Q learning中的Q现实来代替. Q估计是由神经网络前馈得到. Q的更新公式如下:

博弈算法中的Q-Learning技术路线总结

DQN重点:

1、 经验回放(Experience Replay)

2、 Fixed Q-targets

博弈算法中的Q-Learning技术路线总结

三、多智能体Q-Learning

随着智能体数目的增多,联合动作空间将会呈指数级增长,这使得传统单智能体RL方式失效。

去中心化策略表示每个智能体只根据自己观察到的信息和自己的历史行为来做出行动,因此解决了传统RL方式遇到的问题。

(1)VDN

将除自己以外的智能体都视作环境,每个智能体进行自己的Q-Learning过程。这种方法的结构示意图如下:

博弈算法中的Q-Learning技术路线总结

VDN弊端很明显,其他智能体在学习的过程中策略会发生改变,因此智能体学习到的Q值一直在发生变化很难收敛。由于VDN只是将每个智能体的局部动作值函数求和相加得到联合动作值函数,没有在学习时利用状态信息以及没有采用非线性方式对单智能体局部值函数进行整合,使得VDN算法还有很大的提升空间。

(2)QMix:

博弈算法中的Q-Learning技术路线总结
博弈算法中的Q-Learning技术路线总结
博弈算法中的Q-Learning技术路线总结

by 柳军领
1801213385

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有