news 2026/9/3 6:28:27

强化学习第六课 —— SAC:熵驱动的更智能探索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
强化学习第六课 —— SAC:熵驱动的更智能探索

目录

  1. 引言:不仅仅是为了赢
  2. 第一章:最大熵目标——混乱中的秩序
    • 2.1 传统 RL 的局限
    • 2.2 引入熵奖励:J(π)J(\pi)J(π)的重构
  3. 第二章:软策略迭代——数学推导的核心
    • 3.1 软值函数与软 Bellman 方程
    • 3.2 策略评估与策略提升
  4. 第三章:SAC 的工程实现——Actor 与 Critic 的共舞
    • 4.1 Critic:双 Q 网络与软目标更新
    • 4.2 Actor:高斯策略与重参数化技巧
    • 4.3 Tanh 变换带来的概率密度修正
  5. 第四章:自动化α\alphaα——让算法自己决定探索力度
  6. 第五章:SAC vs PPO vs TD3——谁是王者?
  7. 结语:随机性的胜利

1. 引言:不仅仅是为了赢

想象你在玩一个走迷宫游戏。

  • DDPG/TD3 (确定性策略)像是一个执着的赛车手,一旦发现了一条通往终点的捷径,它就会死死咬住这条路,哪怕这条路非常狭窄,哪怕稍微有一点扰动就会撞墙。
  • SAC (随机性策略)则像是一团流动的水。它也想去终点,但它倾向于填满所有通往终点的可行路径。如果一条路堵了,它自然流向另一条。

这就是 SAC 的核心哲学。传统的 RL 算法试图寻找一个最优动作,而 SAC 试图寻找一个最优分布。它认为:在回报差不多的情况下,保留的选择越多越好(熵越大越好)。

这种“留有余地”的思想,使得 SAC 成为了目前样本效率(Sample Efficiency)最高且最抗干扰的算法之一。


2. 第一章:最大熵目标——混乱中的秩序

2.1 传统 RL 的局限

标准的强化学习目标是最大化期望累积回报:
max⁡π∑tE(st,at)∼ρπ[r(st,at)] \max_\pi \sum_t \mathbb{E}_{(s_t, a_t) \sim \rho_\pi} [r(s_t, a_t)]πmaxtE(st,at)ρπ[r(st,at)]
这种目标函数导向的结果通常是一个确定性策略(Deterministic Policy),即π(a∣s)→1\pi(a|s) \rightarrow 1π(as)1(对于某个最优动作)。这导致 Agent 很容易放弃探索,过早收敛到局部最优。

2.2 引入熵奖励:J(π)J(\pi)J(π)的重构

SAC 基于最大熵强化学习框架。我们将目标函数修改为:

J(π)=∑t=0TE(st,at)∼ρπ[r(st,at)+αH(π(⋅∣st))] J(\pi) = \sum_{t=0}^{T} \mathbb{E}_{(s_t, a_t) \sim \rho_\pi} [r(s_t, a_t) + \alpha \mathcal{H}(\pi(\cdot | s_t))]J(π)=t=0TE(st,at)ρπ[r(st,at)+αH(π(st))]

这里的H(π(⋅∣st))\mathcal{H}(\pi(\cdot | s_t))H(π(st))是策略在状态sts_ts

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 18:05:33

《信息安全技术》课程实战:手把手教你完成一次完整的渗透测试

一、渗透测试概述:不只是黑客行为渗透测试是一种获得授权的、模拟真实攻击的安全评估方法。与非法黑客攻击不同,渗透测试的目标是发现系统漏洞,评估安全防护的有效性,并最终提升整体安全水平。在信息安全领域,渗透测试…

作者头像 李华
网站建设 2026/9/3 3:38:47

变量命名终极方案:Codelf如何为中文开发者解决命名难题

变量命名终极方案:Codelf如何为中文开发者解决命名难题 【免费下载链接】codelf A search tool helps dev to solve the naming things problem. 项目地址: https://gitcode.com/gh_mirrors/co/codelf 作为一名中文开发者,你是否曾为变量命名而反…

作者头像 李华