一、基本概念
1. Agent 智能体:执行动作的对象
2. State 状态:对当前环境的概括
3. Action 动作:智能体基于当前状态做出的决策
4. Reward 奖励:智能体执行完一个动作后,环境反馈给智能体的一个数值。(由程序编写者定义)
5. State transition 状态转移:智能体从当前t时刻的状态s转移到下一时刻的状态s'的过程。
注:状态转移是随机的,其随机性来自于环境。
6. State transition function 状态转移函数:
注:这个函数表示,在当前状态s下,智能体执行动作a,环境状态变成s’的可能性。由于环境是随机的,所以即使s和a是确定的,s‘仍旧具有随机性。
7. polocy 策略:如何根据观测到的状态s决策选择动作a。强化学习的目标是得到策略函数。
1)随机性策略函数:状态s下选择动作a的概率值。
注:这是一个概率密度函数,其中有两个输入,一个是s,一个是a;当我已知一个s,对于不同的a会有不同的概率P,所有a得到的概率P的总和或者积分为1。
2)确定性策略:对于给定状态s,做出的策略a是确定的,没有随机性。
8. Agent environment interaction 智能体与环境交互:智能体观测到环境的状态s,做出动作a,动作会改变环境的状态,环境反馈给智能体奖励r以及新的状态s’。
注:其实就是如果我观察到当前的状态s,利用策略Π可以算出所有动作的概率,然后随机抽样,做出动作a,利用状态转移函数pt(s'|s,a)可以随机生成新的状态s',并反馈一个奖励r(s,a,s')。
9. reward 奖励:奖励是状态和动作的函数。
二、强化学习的随机性
1.随机性的两个来源:动作和状态。动作的随机性来源于策略;状态的随机性来源于状态转移。策略由策略函数决定;状态转移由状态转移函数决定。
动作随机性:给定状态s,策略函数可以计算出不同动作的概率,随机抽样有可能获得不同的执行动作a。
状态随机性:当状态s和a都确定,下一个状态可以用状态转移函数计算出所有可能的状态的概率,同样利用随机抽样可以获得下一个状态s’, 这个s’也是随机的。
2.马尔可夫性质:下一时刻状态St+1仅仅依赖于当前状态St和动作At,而不依赖于过去的状态和动作。
3.轨迹:S1==>a1==》s2,r1==》a2==》s3,r2==》a3......==>st==>at==>st+1,rt==>.......
4.回报:从当前时刻开始到本回合结束所有奖励总和
5.折扣回报:未来的奖励和现在的奖励价值是不同的,就像未来的钱会贬值一样,未来的奖励也要成一个折扣系数。
回报也是随机的,其随机性在于At;St+1;At+1;.......Sn;An。也就是动作随机性和状态随机性。前面说过了,动作随机性来自策略,状态随机性来自状态转移。
三、价值函数
1.价值函数:是回报的期望,也就是未来期望获得的奖励之和。价值函数反映了目前这个状态的好坏,价值函数值越大,说明现在的状态越好,越有利。
2.价值函数总共有三种:动作价值函数;最优动作价值函数;状态价值函数。
1)动作价值函数
已经观测到St和At的值,对t+1后的S和A变量求条件期望,从而消除随机变量St+1,At+1.....Sn,An的影响。由于动作A依赖于策略Π,所以t时刻的动作价值函数与三个因素有关,分别是st,at,Π。策略越好,期望越高。
2)最优动作价值函数:为了排除策略的影响,只评价当前状态和动作的好坏,可以采用最有价值函数。
意思就是对于多种策略函数,选择最优的策略,使得价值函数最大。则可以使得价值函数只与st和at有关,而不用再考虑策略影响。
比如:
即如果智能体选择向左走,不管以后用什么策略,回报Ut的期望不会超过130。通过这个方式可以对不同的动作作比较,选择出当前最优的动作,以便有希望获得最高期望。
3)状态价值函数:如果我现在需要知道当前状态st是否对智能体有利,以及成功的概率是多少,就可以用状态价值函数来量化评估。
相当于将At作为随机变量,对其求期望,消除At的影响,得到状态价值函数只依赖与策略和当前的状态st。
学习资料:《深度强化学习》,作者王树森、黎彧君、张志华。
学习视频:【王树森】深度强化学习(DRL)_哔哩哔哩_bilibili