参考资料:
1) David Silver的强化学习视频
2) Sutton的Reinforcement Learning入门,第二版
3) Shangtong Zhang代码,地址:https://github.com/ShangtongZhang/reinforcement-learning-an-introduction
对应了Sutton的书中的练习;
先是几个概念:
1,Agent 和Environment
在t时刻,
Agent执行,接收
和奖赏
Environment接收动作,释放
和
2,History和State
History是一个序列,而State是History的函数:
3, Reward和Returns
t时刻的Reward 是一个标量;
t时刻的Returns 定义为:
其中,0
1
当接近于0的时候,只考虑未来一小段时间的Reward,这个
被看成是myopic的;
当接近于0的时候,考虑了未来很长一段时间的Reward,这个
被看成是far-sighted的;
4, Policy ,Value Function, Model
Policy是Agent的行为,是state到action的映射,包括:
确定性策略:a = (s)
统计策略:(a | s) = P[
= a |
= s]
Value Function是对未来奖赏的预测,用来估计状态的好坏,继而选择要执行的动作,定义为:
Model预测Environment接下去将怎么做,Model由状态转移概率P和奖赏R组成,通常定义为:
5,对上面的流程画了个图,(model和value function是用来找最优策略的,看第6条)。
6,有model和无model
前面看出,如果知道了某个策略对应的model,也就是知道了策略
对应的各种状态的转移概率P和奖赏R,可以直接求出值函数
,利用
可以找到最优策略
,后面的章节还能看出,在所有策略中,对于任意的状态
= s,这个最优策略
对应的值函数
都是最大的。
但是,后面的章节会提到,绝大多数情况是无模型的,如何在无模型的情况下去估计值函数呢?看后续。
因此,强化学习的任务是:估计值函数,找最优策略。