强化学习(Reinforcement Learning)

转载至https://blog.csdn.net/zhangweijiqn/article/details/53200204

知乎上关于deep learning和强化学习的资源:
https://zhuanlan.zhihu.com/intelligentunit  

目前在Deep Reinforcement Learning取得开拓性进展的主要集中在DeepMind和UC Berkerley团队(openAI)
强化学习资料:
简明教程: http://blog.csdn.net/itplus/article/details/9361915 ( 推荐先看这个来了解Q-learning,theory和example很详细)
《Reinforcement Learning-An Introduction》-----入门经典
《Algorithms for Reinforcement Learning》----各种算法
《Reinforcement Learning State-of-the-Art》---最新进展(flat,hierarchical...)
《Recent Advances in Reinforcement Learning》


DQN从入门到放弃:
1, 2, 3, 4, 5, 6, 7

Q-learning、DNQ 和 Policy Gradient :

Q-Learning和Policy Gradient:
Q-learning 是一种基于值函数估计的强化学习方法, Policy Gradient 是一种策略搜索强化学习方法。两者是求解强化学习问题的不同方法,如果熟悉监督学习,前者可类比Naive Bayes——通过估计后验概率来得到预测,后者可类比SVM——不估计后验概率而直接优化学习目标。

Q-Learning和DQN:
Q-learning 中,t 为时刻, 每一对状态s_t (state)和动作a_t(action),相应的会有一个反馈reward, 定义Q表示从经验中学习到的知识,对应一个Q_t值。 这里的s_t就对应网络中的输入中的一张游戏截图,a_t就对应网络中的输出节点,就是网络看到这个游戏截图后,给出的动作。 Q-learning学习凑效的原因是对Q矩阵的更新 。这个更新遵循一个原则:若当前状态下执行某动作后的下一个状态的动作能带来更多价值,则当前动作的价值就应该往高方向更新,这里说的动作的价值就是Q值。
上面是一个Reward矩阵,Q矩阵和Reward大小一样,也是State*Action大小。
把cnn用作生成Q的一个函数。拿游戏来说,输入是训练游戏截图(state),输出是Q矩阵,所以就叫深度质量网络(DQN)。
状态State到动作Action的过程就称之为一个 策略Policy ,增强学习的任务就是找到一个最优的策略Policy从而使Reward最多。

最开始deep mind 用强化学习来进行Atari游戏,发表paper为 https://link.zhihu.com/?target=http%3A//arxiv.org/abs/1312.5602

DQN玩flappyBird:
TensorFlow:
https://github.com/songrotek/DRL-FlappyBird (150行代码完成DQN作者,该作者下还有很多其他的强化学习代码,比如: https://github.com/songrotek/DQN-Atari-Tensorflow)
150行代码完成DQN:

下面是一个强化学习的入门demo,:
cd blog/RL/Cat vs Mouse exploration
python egoMouseLook.py (可能要pip install pygame)
猫的行动是简单地朝着老鼠追(没有智能),老鼠的行动是学习出来的。老鼠学到避开猫、吃芝士。

MDP(Markov Decision Process)马尔科夫决策过程
MDP基于这样一种假设:
未来只取决于当前
什么意思呢?
就是如果我们站在上帝视角下看,我们知道这个世界的每个物体的状态,那么未来的变化只跟当前的状态相关,和过去没有关系。
用数学的话来描述就是:
一个状态是Markov当且仅当

P为概率。简单的说就是下一个状态仅取决于当前的状态和当前的动作。注意 这里的状态是完全可观察的全部的环境状态(也就是上帝视角)。
回到增强学习的范畴,增强学习的问题都可以模型化为MDP的问题。
一个基本的MDP可以用(S,A,P)来表示,S表示状态,A表示动作,P表示状态转移概率,也就是根据当前的状态和转移的概率。如果我们知道了转移概率P,也就是称为我们获得了 模型Model






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值