由于时常对状态价值函数与动作价值函数之间的定义区别、公式关系迷惑不清,此次进行梳理并作记录。
理解公式推导需要先了解基础定义中几个概念。
文章目录
基础定义
奖励函数
奖励函数有两种记法。
①记作,表示某状态的奖励,指:转移到该状态时能够获得的奖励的期望,即:
为什么是用的期望而不是直接用来表示这个状态的奖励?
因为对于一个相同的状态,其采取的动作不同,获得的奖励可能不同。
②记作,表示某状态下采取动作的奖励,指:转移到该状态并采取该动作时能够获得的奖励的期望,即:
为什么是用的期望而不是直接用来表示这个状态下采取这个动作的奖励?
因为对于一个相同的状态,即使采取的动作相同,其下一个状态也可能不同,之后获得的奖励也可能不同,最终获得的回报自然也不同。
回报
回报 (Return),记作,指从时刻的状态开始,直至终止状态时,所有奖励的衰减之和,即:
价值
价值 (value),是一个基于状态的概念,某个状态的价值指:从某时刻的某状态开始,直至终止状态时,累积奖励(也就是回报)的期望。
1、为什么是要用**的期望**而不能直接用?
因为对于相同的起始状态,其可以是不一样的。想要客观地评价一个状态的价值,就要尽可能地考虑它能带来的不同的回报。
2、为什么可以是不一样的?
因为在交互进行的过程中,起始状态可能转到不同的状态,得到的也不同,最终的回报自然也就不同。
价值函数
价值函数 (value function),记作,可以理解成一个映射关系,输入是状态,输出是该状态的价值,即:
奖励函数和价值函数的区别是什么?
按照我自己的理解,奖励函数是只关注状态当前能获得的收益,价值函数则关注从当前状态开始直至未来结束时的所有收益。
状态转移矩阵
状态转移矩阵,可记作,表示状态转移到状态的概率。
在状态集合有限的情况下,可以用矩阵表示;若状态集合不是有限的,则称为状态转移函数。
策略
策略 (policy),记作。可以将策略理解成:在已知输入状态的情况下,采取动作的概率,即:
策略(的取值)只与当前的状态相关,与当前状态之前的状态无关。
对于同样的状态,使用的策略不同,采取的动作不同,价值value也就不同。
状态转移函数
状态转移函数,可记作,表示在状态执行动作后到达状态的概率。
与状态转移矩阵相比,状态转移函数可以表示状态集合不是有限的情况。
状态转移有两种表现形式,一种是,另一种是,连接两者之间的桥梁是策略,即:
状态价值函数
状态价值函数 (state-value function),可记作,表示:马尔可夫决策过程中,智能体从状态出发,遵循策略获得的回报的期望,即:
看起来和价值函数很像,只不过价值函数中没有强调策略。
下面这两个问题及其回答,跟理解价值时提的那两个问题和回答是相似的。
1、为什么是回报的期望而不是只用回报就行了?
因为对于同一个状态和给定的策略,其可能不同。想要客观地评价一个状态在给定策略下的价值,就要尽可能地考虑它能带来的不同的回报。
2、为什么可以是不一样的?
因为对于同一个状态和给定的策略,智能体在当前状态采取的动作可能不同(特别是当使用的策略是随机性策略时),得到的不同,最终的也可能不同。
动作价值函数
动作价值函数 (action-value function),可记作,表示:马尔可夫决策过程中,智能体从状态出发,根据策略执行动作,最终获得的回报的期望,即:
看起来和状态价值函数很像,只不过状态价值函数中没有强调动作。
下面这两个问题及其回答,跟理解状态价值函数时提的那两个问题和回答是相似的。
1、为什么是回报的期望而不是只用回报就行了?
因为对于同一个状态、给定的策略和给定的动作,其可能不同。想要客观地评价一个状态在给定策略下的价值,就要尽可能地考虑它能带来的不同的回报。
2、为什么可以是不一样的?
因为对于同一个状态、给定的策略和给定的动作,其下一步到达的状态可能不同(因为环境可能已经发生不同的变化了),智能体在不同采取的动作可能不同(特别是当使用的策略是随机性策略时),得到的不同,最终的也可能不同。
状态价值函数与动作价值函数之间的关系
关系1
关系1的推导基础:①状态价值函数的定义;②动作价值函数的定义。推导过程如下:
第1行使用了状态价值函数的定义;
从第2行转换到第3行的理解使用了动作价值函数的定义。
在此我就第2行为何将转换成,而不是(这两种想法的差别只在于有没有对求期望)给出自己的解释:后者虽然看起来比较符合数学期望的公式形式:状态根据概率选择动作后,后面乘上的对象应该就是对应的状态采取动作所得到的回报。但是前文在解释动作价值函数的定义时提到:对于同一个状态、给定的策略和给定的动作,其可能不同。也就是说,与并不是一一对应的关系,因此也无法直接相乘。此时就要找一个既能与一一对应、又能概括的收益的概念。这时,动作价值这一概念就成了不错的选择。它对能对应的多个计算数学期望,近似计算出的整体收益(这样看来,其实第2行也是可以省略的,直接就能推出第3行了)。
关系2
关系2的推导基础:①动作价值函数的定义;②回报的定义;③奖励函数的定义;④状态价值函数的定义。推导过程如下:
推导过程中,第1行的等式使用了动作价值函数的定义;
第1行到第2行的转化、第3行到第4行的转化使用了回报 (Return)的定义;
第4行到第5行的转化使用了奖励函数的定义;
第5行到第6行的转化使用了状态价值函数的定义。
在此我就第5行的第2个子项为何将拆解成,而不是(这两种想法的差别只在于有没有对求期望)给出自己的解释:后者虽然看起来比较符合数学期望的公式形式:状态、动作根据概率转移到状态后,后面乘上的对象应该就是对应的状态的回报。但是前文在解释价值的定义时提到:对于相同的起始状态,其可以是不一样的。也就是说,与并不是一一对应的关系,因此也无法直接相乘。此时就要找一个既能与一一对应、又能概括状态的收益的概念。这时,价值这一概念就成了不错的选择。它对能对应的多个计算数学期望,近似计算出状态的整体收益(这样看来,其实第5行也是可以省略的,直接就能推出第6行了)。
另外,特别提醒:
不能这样转!因为这样就没有考虑了,从直接绕到了。
贝尔曼方程 (Bellman Equation)
下式即为贝尔曼方程。
与价值函数的原式相比,贝尔曼方程允许使用者在知晓奖励函数和状态转移矩阵的情况下即可计算价值函数的解析解。
贝尔曼方程的推导基础:①回报的定义;②奖励函数的定义;③价值函数的定义。推导过程如下:
推导过程中,第1行到第2行的转化、第3行到第4行的转化使用了回报 (Return)的定义;
第5行到第6行的转化使用了奖励函数的定义;
第6行到第7行的转化使用了价值函数的定义。
在此我就第6行的第2个子项为何将拆解成,而不是(这两种想法的差别只在于有没有对求期望)给出自己的解释:后者虽然看起来比较符合数学期望的公式形式:状态根据概率转移到状态后,后面乘上的对象应该就是对应的状态的回报。但是前文在解释价值的定义时提到:对于相同的起始状态,其可以是不一样的。也就是说,与并不是一一对应的关系,因此也无法直接相乘。此时就要找一个既能与一一对应、又能概括状态的收益的概念。这时,价值这一概念就成了不错的选择。它对能对应的多个计算数学期望,近似计算出状态的整体收益(这样看来,其实第6行也是可以省略的,直接就能推出第7行了)。
贝尔曼期望方程 (Bellman Expectation Equation)
其实贝尔曼期望方程即是前面的贝尔曼方程,只是在引入动作之后更加完整。
根据状态价值函数和动作价值函数的两个关系,可以推出2个价值函数的贝尔曼期望方程。
方程1
推导过程如下:将关系2式代入关系1式,得:
方程2
推导过程如下:将关系1式代入关系2式,得:
贝尔曼最优方程
待补充……
文章出处登录后可见!