目录
术语
State 状态 :
当前所处于的状态。
Action 动作:
上下左右。
Agent 代理:
汽车 ,机器人 等
Policy策略:
π 根据State观测出的状态做出policy决策,控制agent运动。
Policy策略最好是概率密度函数。取值需要随机,为了防止别人能猜出agent的下一步动作action。
Reward奖励:
agent做出一个action动作 ,游戏就会给出一个reward,奖励通常需要自己定义。奖励定义的好坏可以影响游戏的结果。
State transition状态转移:
Old State -->new State(一般是随机)
状态转移只有程序知道,玩家并不知道。
状态转移的随机性是从环境里来的,环境是游戏的程序,游戏程序决定下一个环境是什么。
超级玛丽中,环境是游戏环境,agent是超级玛丽,状态St是环境决定的。Agent做出动作以后,会更新状态把状态变成State St+1,同时环境会给agent一个奖励rt,比方说吃到金币奖励是正的,赢得游戏奖励是一个很大的正数,game over奖励是一个很大的负数。
Return
未来的累计奖励,我们把t时刻的return记作Ut.
return这样定义的,把t时刻开始的奖励全都加起来,一直加到游戏结束时的最后一个奖励。
折扣回报:
强化学习中普遍使用discounted return,折扣回报,把折扣率记作γ,只要介于0和1之间,如果未来和现在的权重一样,γ就等于1。要是未来的奖励不重要,γ就比较小,这是折扣回报的定义。
当前t时刻的奖励rt没有折扣,下一时刻的折扣率是γ,在下一时刻t+2时刻的折扣率是γ²,t+3时刻的折扣率是γ³,以此类推,γ是个超参数,需要我们自己来调,γ的设置对强化学习的效果有一定的影响。
return Ut的随机性
假如游戏已经结束了,所有的奖励都观测到了,那么奖励都是数值,用小写字母r(确定)表示。
如果在t时刻游戏还没有结束,这些奖励全都还是随机变量,没有被观测到,我们就用大写字母R(不确定)来表示奖励。
由于return U依赖于奖励R,所以return U也是个随机变量,也用大写字母表示。
随机性有两个来源,第一个是动作a,policy函数π,用状态S作为输入,输出一个概率分布。动作a就是从这个概率分布中随机抽样得到的。
第二个随机性的来源是下一个状态,给定了当前状态S和动作a,下一个状态S’是随机的,这个状态转移函数P输出一个概率分布,环境从这个状态中随机抽样得到新的状态S’对于任意的未来时刻i,奖励Ri会取决于状态si和动作Ai。
想一下超级玛丽游戏,当前Mario处在一个状态,Mario做什么动作就决定了奖励是什么。Mario往上跳,吃到金币就得到一个正的奖励。Mario往右走碰到了敌人Mario挂掉了game over就会得到一个很大的负奖励。
所以说得到什么奖励reward,跟现在的状态S和动作a有关。
上面提到return的定义,Ut是rt, rt+1...等奖励的加权求和。
刚才说了每一个奖励ri都是跟状态si和动作ai相关,那么Ut就跟从t时刻开始,未来所有的动作和状态都有关了。
Return Ut的随机性来源就是未来所有的动作和状态。
假设我们已经观测到t时刻的状态St,那么return Ut就会依赖于这些随机变量,未来的动作At At+1 At+2等等,以及未来的状态St+1 St+2等等。