参考资料:
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,这个最优策略对应的值函数都是最大的。
但是,后面的章节会提到,绝大多数情况是无模型的,如何在无模型的情况下去估计值函数呢?看后续。
因此,强化学习的任务是:估计值函数,找最优策略。