强化学习&MPC——(三)

本文介绍了价值函数在强化学习中的作用,阐述了状态价值函数的概念,以及如何通过动态规划和贝尔曼方程来评估策略和计算累积奖励。着重讲解了状态转移、轨迹和策略选择对价值函数的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一次来由浅入深认识一下价值函数以及动态规划解决优化问题
首先我们要理解一下状态价值函数,这是bellman equation的第一次正式推导。

trajectory

作为一个trajectory,必须是一个完整的过程,也就是状态转移全部过程,从其实状态到终止状态,没有什么状态是达不到的,只是每种状态都会有代价或者是收益而已。
在这里插入图片描述
这里就展示了几条不同的trajectory,注意哈,trajectory可以是像第三种那样的有多条方向的

return

累计奖励是根据一条trajectory得到的,也就是说,针对每一种trajectory都会有一个return,它就是评价我的trajectory好不好的一种方式。所以说到这里,trajectory有点像策略的意思了。

v i v_i vi

反应一个trajectory好不好,当然就是用到v价值函数了。
v 1 = r 1 + γ r 2 + γ 2 r 3 + ⋯ v_1=r_1+\gamma r_2+\gamma^2r_3+\cdots v1=r1+γr2+γ2r3+
v 2 = r 2 + γ r 3 + γ 2 r 4 + ⋯ v_2=r_2+\gamma r_3+\gamma^2r_4+\cdots v2=r2+γr3+γ2r4+
v 3 = r 3 + γ r 4 + γ 2 r 1 + ⋯ v_3=r_3+\gamma r_4+\gamma^2r_1+\cdots v3=r3+γr4+γ2r1+
v 4 = r 4 + γ r 1 + γ 2 r 2 + ⋯ v_4=r_4+\gamma r_1+\gamma^2r_2+\cdots v4=r4+γr1+γ2r2+
其实可以看的出来,他和return没有什么区别。它就是return存在的意义。
接下来做一个递归:
v 1 = r 1 + γ r 2 + γ 2 r 3 + ⋯ = r 1 + γ v 2 v_1=r_1+\gamma r_2+\gamma^2r_3+\cdots=r_1+\gamma v_2 v1=r1+γr2+γ2r3+=r1+γv2
v 2 = r 2 + γ r 3 + γ 2 r 4 + ⋯ = r 2 + γ v 3 v_2=r_2+\gamma r_3+\gamma^2r_4+\cdots=r_2+\gamma v_3 v2=r2+γr3+γ2r4+=r2+γv3
v 3 = r 3 + γ r 4 + γ 2 r 1 + ⋯ = r 3 + γ v 4 v_3=r_3+\gamma r_4+\gamma^2r_1+\cdots=r_3+\gamma v_4 v3=r3+γr4+γ2r1+=r3+γv4
v 4 = r 4 + γ r 1 + γ 2 r 2 + ⋯ = r 4 + γ v 1 v_4=r_4+\gamma r_1+\gamma^2r_2+\cdots=r_4+\gamma v_1 v4=r4+γr1+γ2r2+=r4+γv1
写成矩阵的形式就是:
[ v 1 v 2 v 3 v 4 ] = [ v 1 v 2 v 3 v 4 ] + γ P [ v 1 v 2 v 3 v 4 ] \left[\begin{matrix} v_1 \\ v_2 \\ v_3 \\ v_4 \end{matrix} \right] =\left[\begin{matrix}v_1 \\ v_2 \\ v_3 \\ v_4 \end{matrix}\right]+\gamma P\left[\begin{matrix} v_1 \\ v_2 \\ v_3 \\ v_4 \end{matrix} \right] v1v2v3v4 = v1v2v3v4 +γP v1v2v3v4
简写为:
v = v + γ P v \pmb{v}=\pmb{v}+\gamma P \pmb{v} v=v+γPv
其实也就是两部分,即时奖励和未来奖励。

G t G_t Gt

考虑一条trajectory:
在这里插入图片描述
这里看起来是确定的action和reward,但是也可以是有转移概率的:

p ( r ∣ s , a ) p(r|s,a) p(rs,a)

位于状态s,采取动作a后的奖励r的概率

p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)

位于状态s,采取动作a后的状态s’的概率
当然,计算的 G ( t ) G(t) G(t)用不到,它本身就是上面v函数的一个表示:
G ( t ) = R t + 1 + γ R t + 2 + γ 2 R t + 3 + c d o t s G(t)=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+cdots G(t)=Rt+1+γRt+2+γ2Rt+3+cdots
这个其实也是累计奖励。return和v函数和它有什么区别呢?下面介绍状态价值函数

V π ( s ) V_{\pi}(s) Vπ(s)

这里开始深入强化学习的本质了,所有的价值函数都不是用来玩的,状态价值看似只与状态有关,其实隐含着与策略有关,甚至可以写成是 v ( π , s ) v(\pi,s) v(π,s),所以不要再觉得它没用了。
价值函数的定义式非常简单:
v π ( s ) = E [ G t ∣ S t = s ] v_\pi(s)=\mathbb{E}[G_t|S_t=s] vπ(s)=E[GtSt=s]
也就是处于状态s时的累计奖励。千万注意它是基于策略的函数,不同的策略会得到不同的价值函数,这样我们就能评价策略的好坏
以下是一个具体的例子:
在这里插入图片描述
怎么说呢,如果策略是确定的,那么就只与s有关,但是如果是在选在策略的过程中,价值函数是一直都在变化的。

状态价值函数与bellman equation

状态价值函数可以进一步表示,将累计奖励 G t G_t Gt迭代展开:
在这里插入图片描述
这样我们求的就变成了两个期望,期望就是加权平均,先看左边的式子,就是从状态s出发得到的r的期望,我们把它转化为标准的状态s,动作a的格式,并且引入在状态s动作a时的奖励概率来消除期望符号:
在这里插入图片描述
右边的式子也是一样的,主要目标是消除掉期望符号,于是通过状态转移概率来化简:
在这里插入图片描述
然后综合两者就得到了bellman公式了:
在这里插入图片描述
概率部分是模型,红色的是我们要求的价值函数,策略是用来评价的,所以计算时也是给定的。
以上就完成了bellman公式的分析过程。

### 使用深度强化学习MPC实现无人船轨迹跟踪 #### 深度强化学习在无人船轨迹跟踪中的作用 深度强化学习(Deep Reinforcement Learning, DRL)能够通过环境交互不断优化控制策略,适用于复杂的动态场景。对于无人船而言,DRL可以用于训练路径跟踪控制器,在未知或变化的环境中实现自主学习自适应控制[^2]。 具体来说,DRL的核心在于构建一个马尔科夫决策过程(Markov Decision Process, MDP),其中状态空间表示无人船的位置、速度其他传感器数据;动作空间定义为推进力或其他控制输入;奖励函数设计则需考虑轨迹偏差最小化以及能耗等因素[^3]。 #### MPC在无人船轨迹跟踪中的角色 模型预测控制(Model Predictive Control, MPC)是一种基于模型的优化方法,适合处理具有约束条件的控制系统。它通过对未来一段时间内的行为进行滚动优化,实时调整控制指令以满足目标性能指标[^4]。 针对无人船的应用,MPC通常依赖精确的动力学模型来进行短期预测,并结合当前测量值生成最优控制序列。这种方法的优势在于其较强的鲁棒性对复杂约束的良好支持能力[^1]。 #### 组合DRLMPC的设计思路 为了充分发挥两者优势,可采用如下架构: 1. **高层规划模块**:由DRL负责长期战略决策,例如全局路径的选择及应对突发状况下的快速反应。 2. **低层执行模块**:借助MPC完成即时操作层面的任务,比如依据预设航迹实施精准的速度调节与转向操控。 这种分层次结构不仅保留了各自特长——即DRL擅长探索未知领域而无需详尽先验知识的特点,同时也继承了MPC依靠准确物理描述保障稳定性与效率的传统强项。 以下是该混合方案的一个简化伪代码示例: ```python def combined_DRL_MPC_control(state): # Step 1: Use DRL to determine high-level action (e.g., desired heading angle) drl_action = deep_reinforcement_learning_policy(state) # Step 2: Pass the result into an MPC optimizer as reference trajectory or constraints. mpc_reference_trajectory = construct_mpc_input(drl_action) # Step 3: Solve MPC problem and get low-level control commands. u_star = model_predictive_controller(mpc_reference_trajectory, state) return u_star ``` 上述流程展示了如何将高层次的战略意图转化为具体的机械运动命令,从而达成理想的航行效果。 #### 总结 综上所述,利用深度强化学习MPC相结合的方式,可以在保持较高灵活性的同时确保系统的可靠性,这对于提升无人船只在多样化水域条件下自动巡航的表现至关重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值