【强化学习的数学原理】第08课-值函数近似-笔记

学习资料:bilibili 西湖大学赵世钰老师的【强化学习的数学原理】课程。链接:强化学习的数学原理 西湖大学 赵世钰


一、例子:曲线拟合

截止到目前为止,我们所介绍的state value和action value都是以表格的形式呈现的(如下图所示)。这种呈现方式虽然清晰简单,但难以处理很大/连续的状态空间、动作空间。
在这里插入图片描述
下面通过一个例子来介绍value function approaximation的基本思想。
假设现在有 ∣ S ∣ |S| S个状态,基于给定的策略,每个状态都有一个state value(用下图中的离散点表示,每一个离散点代表状态s对应的state value v(s))。如果状态s的数量非常多,那么储存就耗费很大空间,因此希望用一个函数来拟合这些点。
在这里插入图片描述
首先,用一个直线来拟合这些点。如下图所示。 w w w里面包含a和b,是parameter vector; ϕ ( s ) \phi(s) ϕ(s)是特征向量。
在这里插入图片描述
用直线进行拟合的好处:节约存储空间。现在不用存储很多状态s的state value,只需要存储两个参数a和b。但缺点是,拟合后的结果只是一个近似值,不那么精确了。
下面是一个非线性的拟合方式,这种方法使用的参数多一些,提高了拟合精度。
在这里插入图片描述
简单总结:总体思想是用参数化的函数来拟合状态s的state value。
优点:
(1)节省存储空间
(2)提高泛化性。假如s1/s2/s3是相邻的三个状态,现在episode访问到了s2,需要更新s2的state value,更新后的state value变大。在表格的形式中,s1和s3的state value值是保持不变的。但是在函数的形式中,s2的state value变化后,拟合的函数发生变化(w变化),此时对s1和s3的state value的估计值也更准确。
在这里插入图片描述

二、原理-目标函数介绍

v π ( s ) v_{\pi}(s) vπ(s)是state value的真实值, v ^ ( s , w ) \hat{v}(s,w) v^(s,w)是state value的近似值。
我们的目标是找到一个最优的 w w w,使得对于每一个状态 s s s v ^ ( s , w ) \hat{v}(s,w) v^(s,w)都能最好地近似 v π ( s ) v_{\pi}(s) vπ(s)

为了寻找最优的 w w w,我们定义如下目标函数:
在这里插入图片描述

值得指出的是, S S S是一个随机变量,既然是一个随机变量,这个随机变量就是有概率分布的。那么S的概率分布是什么呢?有几种方式来定义S的概率分布。

第一种方式是均匀分布。这种方式下,每一个状态的权重都是一样的,一共有 ∣ S ∣ |S| S个状态,那每一个状态的权重就是 1 / ∣ S ∣ 1/|S| 1/∣S。但这样的缺点在于,并不是每一个状态都是同等重要,有的状态更重要,我们需要这样的状态权重高一点,计算的误差小一点。
在这里插入图片描述

第二种方式是stationary distribution。在这种方式下,从某一个状态开始,不断地和环境进行交互,交互很多次之后,就达到了一种平稳的状态,在这种平稳的状态下,能够计算出,每一个状态出现的概率是多少。这个概率分布用 d π ( s ) d_{\pi}(s) dπ(s)来表示,基于 d π ( s ) d_{\pi}(s) dπ(s)可以把目标函数写成如下图所示的形式。 d π ( s ) d_{\pi}(s) dπ(s)实际上扮演了权重的角色。
在这里插入图片描述
stationary distribution是状态state 的概率分布,从当前状态出发,跑了很多很多步之后达到的一种平稳的分布。它也被称作steady-state distribbution或者limiting distribution。

下图展示了一个例子。用 n π ( s ) n_{\pi}(s)

### 强化学习中的数学原理 #### 一、马尔可夫决策过程 (MDP) 强化学习的基础框架之一是马尔可夫决策过程(Markov Decision Process, MDP),其定义了一个五元组(S,A,P,r,γ)[^1]。其中: - S 表示状态空间; - A 是动作集合; - P(s'|s,a) 描述转移概率,即在给定状态下执行某个特定操作转移到下一个可能的状态的概率; - r(s,a,s') 定义奖励函数,表示从当前状态通过某一行为到达另一状态所获得即时回报; - γ∈[0,1] 称作折扣因子(discount factor),用于衡量未来收益的重要性。 ```python import numpy as np def mdp_example(): states = ['state_1', 'state_2'] actions = ['action_a', 'action_b'] transition_probabilities = { ('state_1', 'action_a'): {'state_1': 0.7, 'state_2': 0.3}, ('state_1', 'action_b'): {'state_1': 0.4, 'state_2': 0.6} } rewards = {('state_1', 'action_a', 'state_1'): 1, ('state_1', 'action_a', 'state_2'): -1} discount_factor = 0.9 return locals() ``` #### 二、贝尔曼方程(Bellman Equation) 对于任意一对状态 s 和 a,在最优策略下求解期望累积奖赏 V*(s)=maxₐQ*(s,a),可以得到如下形式的贝尔曼最优化方程式: \[V^{*}(s)=\underset{a}{\text{max}} \sum_{s'} p(s'|s,a)\left[r(s,a)+\gamma V^{*}\left(s'\right)\right]\] 这里 \(p(s'|s,a)\) 表达的是由状态 s 执行动作 a 后进入新状态 s' 的条件概率;r(s,a) 则代表了立即收到的奖励值。 #### 三、价值函数(Value Function)与策略(Policy) 价值函数用来评估某状态下遵循某种固定规则所能带来的长期平均效益大小。而策略则决定了智能体如何依据现有信息做出选择。两者之间存在紧密联系——优秀的策略往往对应着较高的预期回报率。当采用参数化的深度神经网络来近似表达这些映射关系时,则构成了所谓的“深度强化学习”。 #### 四、损失函数(Loss Function) 为了训练模型并使其能够更好地拟合真实世界的数据分布情况,通常会设计相应的损失函数来进行监督式的梯度下降更新权重参数 w : \[L(w)=E[(y-V_\theta)^2]\] 这里的 y 可能是指实际观测到的结果或者是基于蒙特卡洛方法计算得出的目标估计量;\(V_\theta\) 即为使用当前版本的 DNN 对相同输入样本作出的价值预估值[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值