当前位置: 首页 > news >正文

强化学习的数学原理(四)Value iteration Policy iteration

由于全文太长,只好分开发了。(已完结!在专栏查看本系列其他文章)

个人博客可以直接看全文~

本系列为在学习赵世钰老师的“强化学习的数学原理” 课程后所作笔记。

课堂视频链接https://www.bilibili.com/video/BV1sd4y167NS/

第四章 Value iteration & Policy iteration

Value iteration algorithm(值迭代算法)

值迭代算法就是根据贝尔曼最优公式来迭代求解优化问题。

v k + 1 = f ( v k ) = m a x π ( r π + γ P π v π ) v_{k+1} = f(v_k) = \underset{\pi}{max}(r_\pi + \gamma P_\pi v_\pi) vk+1=f(vk)=πmax(rπ+γPπvπ)


**求解步骤:**最开始生成一个任意的状态 v 0 v_0 v0 ,不断循环以下两步

  1. policy update更新策略: π k + 1 = a r g m a x π ( r π + γ P π v k ) \pi_{k+1} = \underset{\pi}{argmax}(r_\pi + \gamma P_\pi v_k) πk+1=πargmax(rπ+γPπvk)
  2. value update 更新值: v k + 1 = r π k + 1 + γ P π k + 1 v k v_{k+1} = r_{\pi_{k+1}}+\gamma P_{\pi_{k+1}} v_k vk+1=rπk+1+γPπk+1vk

需要注意的是 v k v_k vk 只是一个值,并不是一个state value。

不断迭代直到 v k − v k − 1 v_k-v_{k-1} vkvk1 足够小就认为已经收敛了。

Policy iteration algorithm(策略迭代算法)

最开始生成一个任意策略 π 0 \pi_0 π0

  1. policy evalution(PE): v π k = r π k + γ P π k v π k v_{\pi_k} = r_{\pi_k} + \gamma P_{\pi_k} v_{\pi_k} vπk=rπk+γPπkvπk
  2. policy improvement(PI): π k + 1 = a r g m a x π ( r π + γ P π v π k ) \pi_{k+1}=\underset{\pi}{argmax}(r_\pi + \gamma P_\pi v_{\pi_k}) πk+1=πargmax(rπ+γPπvπk)

整体过程即 π 0 → P E v π 0 → P I π 1 → P E v π 1 → P I π 2 → P E v π 2 → P I π 3 . . . . \pi_0 \overset{PE}{\to}v_{\pi_0} \overset{PI}{\to}\pi_1\overset{PE}{\to}v_{\pi_1} \overset{PI}{\to}\pi_2\overset{PE}{\to}v_{\pi_2} \overset{PI}{\to}\pi_3.... π0PEvπ0PIπ1PEvπ1PIπ2PEvπ2PIπ3....

  • 几个核心问题:

    1. 在policy evaluation中如何求解 state value?

    2. 为什么进行PI后, π k + 1 \pi_{k+1} πk+1 π k \pi_k πk 更优?

    3. 为什么最终能找到最优解?

    4. Policy iteration和Value iteration 有什么关系?

  • Q1: 有两种方法(即求解贝尔曼公式的两种方法):

    1. closed-form solution : v π k = ( I − γ P π k ) − 1 r π k v_{\pi_k} = (I-\gamma P_{\pi_k})^{-1} r_{\pi_k} vπk=(IγPπk)1rπk
    2. iterative solution: v π k j + 1 = r π k + γ P π k v π k ( j ) , j = 0 , 1 , 2 , . . . v^{j+1}_{\pi_k} = r_{\pi_k} + \gamma P_{\pi_k}v_{\pi_k}^{(j)} , j = 0,1,2,... vπkj+1=rπk+γPπkvπk(j),j=0,1,2,...

    Q2: π k + 1 = a r g m a x π ( r π + γ P π v π k ) \pi_{k+1}=\underset{\pi}{argmax}(r_\pi + \gamma P_\pi v_{\pi_k}) πk+1=πargmax(rπ+γPπvπk) ,因为 π k + 1 \pi_{k+1} πk+1 一定比 π k \pi_k πk 要更大

    Q3: v π 0 ≤ v π 1 ≤ v π 2 ≤ . . . ≤ v π k ≤ v ∗ v_{\pi_0} \le v_{\pi_1} \le v_{\pi_2} \le ...\le v_{\pi_k} \le v^* vπ0vπ1vπ2...vπkv

    Q4: 二者是两个极端

truncated policy iteration algorithm

他是值迭代算法和策略迭代算法的推广,值迭代算法和策略迭代算法是truncated policy iteration algorithm的极端情况。

Policy iteration: π 0 → P E v π 0 → P I π 1 → P E v π 1 → P I π 2 → P E v π 2 → P I π 3 . . . . \pi_0 \overset{PE}{\to}v_{\pi_0} \overset{PI}{\to}\pi_1\overset{PE}{\to}v_{\pi_1} \overset{PI}{\to}\pi_2\overset{PE}{\to}v_{\pi_2} \overset{PI}{\to}\pi_3.... π0PEvπ0PIπ1PEvπ1PIπ2PEvπ2PIπ3....

Value iteration: u 0 → P U π 1 ′ → V U u 1 → P U π 2 ′ → V U u 2 . . . u_0\overset{PU}{\to}\pi_1'\overset{VU}{\to}u_1\overset{PU}{\to}\pi_2'\overset{VU}{\to}u_2... u0PUπ1VUu1PUπ2VUu2...

Policy Iteration algorithmValue iteration algorithmComments
1)Policy: π 0 \pi _0 π0N/A
2) Value: v π 0 = r π 0 + γ P π 0 v π 0 v_{\pi_0} = r_{\pi_0}+\gamma P_{\pi_0} v_{\pi_0} vπ0=rπ0+γPπ0vπ0 v 0 : = v π 0 v_0 := v_{\pi_0} v0:=vπ0
3) Policy: π 1 = a r g m a x π ( r π + γ P π v π 0 ) \pi_1 = \underset{\pi}{argmax}(r_\pi + \gamma P_\pi v_{\pi_0}) π1=πargmax(rπ+γPπvπ0) π 1 = a r g m a x π ( r π + γ P π v 0 ) \pi_1 = \underset{\pi}{argmax}(r_\pi + \gamma P_\pi v_0) π1=πargmax(rπ+γPπv0)两个算法的第一步Policy是相同的。
4) Value:KaTeX parse error: Invalid color: ' #FF0000' at position 52: …i_1} \textcolor{̲ ̲#̲F̲F̲0̲0̲0̲0̲}̲{v_{\pi_1}}KaTeX parse error: Invalid color: ' #FF0000' at position 45: …pi_1}\textcolor{̲ ̲#̲F̲F̲0̲0̲0̲0̲}̲{v_0}两个算法求 v π v_\pi vπ 的方法是不一样的
5)Policy: π 2 = a r g m a x π ( r π + γ P π v π 1 ) \pi_2 = \underset{\pi}{argmax}(r_\pi + \gamma P_\pi v_{\pi_1}) π2=πargmax(rπ+γPπvπ1) π 2 ′ = a r g m a x π ( r π + γ P π v 1 ) \pi_2' = \underset{\pi}{argmax}(r_\pi + \gamma P_\pi v_1) π2=πargmax(rπ+γPπv1)

区别在于计算 v π 1 v_{\pi_1} vπ1的时候是使用贝尔曼公式求,还是直接继承上一步的求法。

考虑公式 v π 1 = r π 1 + γ P π 1 v π 1 v_{\pi_1} = r_{\pi_1} + \gamma P_{\pi_1} v _{\pi_1} vπ1=rπ1+γPπ1vπ1
KaTeX parse error: Invalid color: ' #FF0000' at position 143: …ion\ \textcolor{̲ ̲#̲F̲F̲0̲0̲0̲0̲}̲{v_1}\\ v_{\pi_…
可以发现,value iteration就是在得到第一个 v v v 后就进行下一步操作;policy iteration则是不断你迭代直到收敛。 那么 truncated policy iteraion则是二者的结合,选择在中间的某一步停下。

相关文章:

  • LLamaIndex中经常使用的四个模块
  • 2024年第九届团队程序设计天梯赛c++题解L1-L3-1(附PTA网址)
  • 6 CMD 与 PowerShell 指令大全、C 程序终端运行、字符编码切换指南
  • 【AI工具】用大模型生成脑图初试
  • C++学习记录:
  • 2025主流报表软件评测和推荐
  • 【DeepSeek答】如何成为一名科技领域陪同口译,阶段性学习目标是什么
  • FreeRTOS之消息队列
  • Spring Boot 应用程序中配置使用consul
  • 20250416在荣品的PRO-RK3566开发板的Android13下编译native C的应用程序的步骤
  • 免费使用RooCode + Boomerang AI + Gemini 2.5 Pro开发套件
  • 【技术派后端篇】深度剖析 Knife4j:从概述到整合及功能优势
  • RK3568 更换显示logo
  • 赋能顶尖AI平台:如何加速高质量AI音乐生成?
  • 架构风格(高软59)
  • STM32单片机入门学习——第38节: [11-3] 软件SPI读写W25Q64
  • Python学习之路(三)
  • 基于MyBatis自定义拦截器实现数据库字段加密脱敏
  • 反转一个字符串
  • C++零基础实践教程 文件输入输出
  • 网站分类目录大多数依靠的是人为提交而不是蜘蛛/页面优化
  • 怎么制定网站/百度访问量统计
  • 论坛类网站建站/国外常用的seo站长工具
  • 购物网站建设价格/网站建设网站推广
  • 个人网站备案材料填写/关键词搜索站长工具
  • 有没有做市场评估的网站/好推建站