![](https://img.haomeiwen.com/i8035072/1141f08fca56b515.png)
强化学习:Agent与Environment之间交互,Agent发起一个Action,环境会给出一个reward。目标是如何执行action才能将reward最大化。
1. Markov Decision Process
是强化学习的数学基础,马尔可夫特性:目前的状态完全刻画世界的状态
![](https://img.haomeiwen.com/i8035072/fb02ac82e1c2bf8f.png)
其中包含S为状态集,A是action集,R是给定(state, action)对后reward的分布,P是转移概率(例如从给定的状态action对转移到下一个state的分布),y是discount factor表示了reward的重要程度。
马尔可夫决策过程的工作原理为:
![](https://img.haomeiwen.com/i8035072/772e32fdb5f63861.png)
首先有初始的状态分布p(s0),在t=0时,先从初始状态分布中采样一些初始状态。接着Agent选择一个action,然后环境给出一个reward并且采样下一个状态,接着Agent收到reward和下一个时刻的状态。目标就是找到一个函数能使得reward求和最大。
问题:如何处理随机性(例如初始状态,转移概率)?
![](https://img.haomeiwen.com/i8035072/f431ce2718b32721.png)
问题:如何衡量state的好坏和state-action对的好坏?使用value function和Q-value function
![](https://img.haomeiwen.com/i8035072/e013455e7e1fcbfd.png)
如何计算最优的Q-value function
使用Bellman Equation贝尔曼方程,也被称作是动态规划方程(Dynamic Programming Equation),这种方法的问题在于不可扩展,需要对每个(state-action)对计算Q(s, a)
![](https://img.haomeiwen.com/i8035072/0d91f18ede37c8ad.png)
解决方法:Q-learning,使用一个function approximator来估计action-value function。
![](https://img.haomeiwen.com/i8035072/513f90c078fcfcef.png)
网络结构:
![](https://img.haomeiwen.com/i8035072/482a15478dffffee.png)
输入是过去四帧图像,输出是一个向量,比如有四个action的话,输出就是四维向量,代表每个动作的Q-value
Experience Replay:
问题:从批次的连续样本中学习是有问题的---1. 样本是相关的,学习效率低下 2. Q-network的参数决定了下一个训练样本(例如,如果最大的action是向左移动,那么训练样本将由左侧的样本控制),会导致错误的反馈循环。
解决这些问题的方法是使用experience replay,更新replay memory table of transitions(st, at,rt, st+1),同时训练的时候使用随机的minibatches of transitions from the replay memory,而不是使用连续的样本。
![](https://img.haomeiwen.com/i8035072/8390e0eaa4fb3e39.png)
(1)首先初始化replay memory,Q-network。(2)接着玩M次完整的游戏,这是训练集。在每个episode的开始都初始化state(starting game screen pixels,开始游戏的画面)。(3)接着对于每个时刻,以一个很小的概率随机选择一个action,或者根据当前的policy贪心的选择一个action。(4)接着执行action之后,得到了s(t+1) = st, at, x(t+1),将其保存在replay memory中。(5)接下来是experience replay阶段,采样然后这行BP
2. Policy Gradients
Q-function很复杂,如果有很多个状态就很难计算啦。
![](https://img.haomeiwen.com/i8035072/f2d510f6a533d43a.png)
定义一组policies,然后选择最优的。使用Reinforce algorithm
![](https://img.haomeiwen.com/i8035072/de692d144f68c35b.png)
![](https://img.haomeiwen.com/i8035072/8c6f11202669ea92.png)
![](https://img.haomeiwen.com/i8035072/252ffb278d435d1c.png)
如果reward高,就推高概率,如果reward低,就减少概率。
网友评论