3.8 最大熵强化学习(Maximum Entropy RL, SAC)

news/2025/10/13 4:21:13/文章来源:https://www.cnblogs.com/zzzxx/p/19137622

最大熵强化学习(Maximum Entropy RL, SAC)


背景

此前的所有强化学习方法均专注于最大化回报(return),这对应于强化学习中的利用(exploitation):我们只关心最优策略。
探索(exploration)通常由额外机制实现,例如:

  • 基于值函数方法中的 \(\epsilon\)-greedy 或 softmax 策略;
  • DDPG 中对动作添加高斯噪声或 OU 噪声。

这些机制通常引入新的超参数(如 \(\epsilon\)、softmax 温度等),且需手动调整其随时间的衰减。

最大熵强化学习(Maximum Entropy RL) 的核心思想是:

让算法自动学习“需要多少探索”才能最有效地学习。

这种思想可追溯至 [@Ziebart2008] 与 [@Todorov2008] 的概率推断视角。
我们先介绍熵正则化(entropy regularization),再讨论 Soft Q-learning 与 Soft Actor-Critic(SAC)。


熵正则化(Entropy Regularization)

熵正则化 [@Williams1991] 在目标函数中加入一个熵项:

\[J(\theta) = \mathbb{E}_{s_t \sim \rho^\pi, a_t \sim \pi_\theta}[R(s_t, a_t) + \beta H(\pi_\theta(s_t))] \]

其中 \(\beta\) 控制探索强度。

离散策略的熵定义为:

\[H(\pi_\theta(s_t)) = -\sum_a \pi_\theta(s_t, a) \log \pi_\theta(s_t, a) \]

selfinformation

对于连续动作空间,若策略服从高斯分布 \(\pi_\theta(s,a)=\mathcal{N}(\mu_\theta(s),\sigma_\theta^2(s))\),其微分熵为:

\[H(\pi_\theta(s)) = \frac{n}{2}(1+\ln 2\pi) + \frac{1}{2}\ln |\sigma_\theta(s)| \]


熵的意义

  • 策略确定性强 → 熵接近 0;
  • 策略随机性强 → 熵较大。

通过在目标函数中增加熵项,鼓励策略保持非确定性,即在获取高回报的同时保持足够探索。

\(\beta\) 过小 → 熵项作用弱,策略过早收敛为确定性;
\(\beta\) 过大 → 策略过度随机,性能下降。

此外,随机策略还能:

  • 对抗环境的不确定性(POMDP 中尤为重要);
  • 学习多样化的最优解(减少样本复杂度)。

熵正则化如今被广泛用于深度强化学习(如 A3C、PPO、SAC 等)。


Soft Q-learning

传统熵正则化在每个状态中单独最大化策略熵。
@Haarnoja2017 在 最大熵强化学习框架 下推广为Soft Q-learning

\[J(\theta) = \sum_t \mathbb{E}_{s_t,a_t}[r(s_t,a_t) + \beta H(\pi_\theta(s_t))] \]

区别在于:Soft Q-learning 最大化的是整条轨迹的熵,即希望智能体访问“高不确定性状态”以减少对环境的无知。

策略可定义为 softmax 形式:

\[\pi(s,a) \propto \exp(Q_{\text{soft}}(s,a)/\beta) \]

相应的软 Q 值满足:

\[Q_{\text{soft}}(s_t,a_t) = r(s_t,a_t) + \gamma \mathbb{E}_{s_{t+1}}[V_{\text{soft}}(s_{t+1})] \]

而软状态值定义为:

\[V_{\text{soft}}(s_t) = \mathbb{E}_{a_t \sim \pi}[Q_{\text{soft}}(s_t,a_t) - \log \pi(s_t,a_t)] \]

该形式在离散动作空间中等价于熵正则化 Bellman 方程。
其关键思想:值函数同时考虑了期望回报与策略的不确定性。


Soft Q-learning 算法

算法流程:

  1. 从经验回放中采样 \((s,a,r,s')\)
  2. 计算 \(V_{\text{soft}}(s') = \mathbb{E}_{a'\sim\pi}[Q_{\text{soft}}(s',a') - \log\pi(s',a')]\)
  3. 更新 Q 函数:

    \[Q_{\text{soft}}(s,a) \leftarrow r + \gamma V_{\text{soft}}(s') \]

  4. 更新策略 \(\pi\)(若不直接用 softmax 形式)。

其不足在于:计算 \(V_{\text{soft}}(s')\) 需在连续空间中多次采样,计算复杂。

softQL

与传统 RL 不同,Soft Q-learning 的策略在收敛后仍保持随机性,可持续探索多种最优策略。


Soft Actor-Critic(SAC)

@Haarnoja2018a 提出的 Soft Actor-Critic (SAC)
是 Soft Q-learning 的可扩展版本,具有以下特征:

  • off-policy 学习(使用经验回放);
  • 同时学习随机策略与值函数;
  • 样本效率与稳定性远超 DDPG、PPO。

网络结构

SAC 包含三个近似器:

名称 作用
\(V_\varphi(s)\) 软状态值函数
\(Q_\psi(s,a)\) 软 Q 值函数
\(\pi_\theta(s,a)\) 随机策略(Actor)

损失函数

软状态值网络:

\[\mathcal{L}(\varphi) = \mathbb{E}_{s_t \sim \mathcal{D}} [(V_\varphi(s_t) - \mathbb{E}_{a_t \sim \pi_\theta}[Q_\psi(s_t,a_t) - \log \pi_\theta(s_t,a_t)])^2] \]

软 Q 网络:

\[\mathcal{L}(\psi) = \mathbb{E}_{(s,a,r,s') \sim \mathcal{D}} [(Q_\psi(s,a) - (r + \gamma V_\varphi(s')))^2] \]

策略网络:

通过最小化 KL 散度,使策略接近 soft Q 分布:

\[\mathcal{L}(\theta) = \mathbb{E}_{s_t \sim \mathcal{D}}[D_{KL}(\pi_\theta(s,\cdot) || \frac{\exp(Q_\psi(s,\cdot))}{Z(s)})] \]

利用重参数化技巧(reparameterization trick)可避免直接计算 \(Z(s)\)


SAC 算法流程

  1. 采样 \((s_t,a_t,r_{t+1},s_{t+1})\) 并存入回放池;

  2. 从回放池中采样批量;

  3. 采样动作 \(a \sim \pi_\theta(s)\)

  4. 更新:

    • 状态值网络:

      \[\nabla_\varphi (V_\varphi - (Q_\psi - \log\pi_\theta))^2 \]

    • Q 网络:

      \[\nabla_\psi (r + \gamma V_\varphi' - Q_\psi)^2 \]

    • 策略网络:

      \[\nabla_\theta D_{KL}(\pi_\theta || e^{Q_\psi}/Z) \]

  5. 定期软更新目标网络。


性能与特点

  • off-policy → 高样本复用率;
  • 熵调节 → 自动探索与稳定收敛;
  • 随机策略 → 适用于高维连续控制任务;
  • 双 Q 网络 + 目标网络 → 抑制过估计偏差。

在 MuJoCo 与 Humanoid 等复杂任务上,SAC 的收敛速度与最终性能均超越 DDPG、PPO 等主流算法。


总结

算法 关键特性
Soft Q-learning 最大熵目标,基于 Q 更新
DDPG 确定性策略,off-policy
SAC 最大熵 + off-policy + 随机策略
PPO/TRPO on-policy,基于信赖域的稳定优化

SAC 实现了最大熵强化学习思想的完整落地:
在高维连续动作空间中兼顾高效探索、稳定性与性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乐理 -06 和弦, 和声

#和弦 与 和声..#三和弦大三和弦 与 小三和弦 感情。 多数情况下

3.7 带经验回放的演员–评论家算法(Actor-Critic with Experience Replay, ACER)

带经验回放的演员–评论家算法(Actor-Critic with Experience Replay, ACER)概述 前述自然梯度方法(如 TRPO、PPO)均为随机演员–评论家(stochastic actor–critic)结构,因此属于 on-policy 学习。 相比之下,o…

3.6 策略优化(TRPO 与 PPO)

策略优化(TRPO 与 PPO)信赖域策略优化(Trust Region Policy Optimization, TRPO) 基本原理 @Schulman2015 将自然梯度的思想推广到非线性函数逼近(如深度网络),提出了 TRPO。 该方法已在实践中被 PPO(Proximal…

3.5 自然梯度(Natural Gradients)

自然梯度(Natural Gradients)学习稳定性 此前介绍的深度强化学习方法均使用随机梯度下降(SGD)或其变体(RMSProp、Adam 等)来训练神经网络函数逼近器。 其基本思想是:沿损失函数梯度的反方向(或策略梯度的正方向…

3.3 离策略演员–评论家(Off-policy Actor–Critic)

离策略演员–评论家(Off-policy Actor–Critic)On-policy 与 Off-policy 演员–评论家算法通常是on-policy(同策略)的:用于探索环境的动作必须由当前策略生成,否则评论者(Critic)提供的反馈(优势项)会在策略…

3.4 深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)

深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)背景与动机 在前面的策略梯度方法中,演员(Actor)产生的是随机策略 \(\pi_\theta(s)\),即输出动作的概率分布(离散动作)或分布参数(连续动作)。…

20232325 2025-2026-1 《网络与系统攻防技术》实验一实验报告

一、实验内容 本次实验以Linux可执行文件pwn1为对象,核心目标是通过三种技术手段篡改程序执行流程,触发原本不可运行的getShell函数或自定义shellcode,具体如下: (一)手工修改可执行文件,直接跳转到getShell函数…

MINIX 3 值得仔细研究 from Tanenbaum A., Bos H. Modern Operating Systems 5ed 2023

10.1.6 MINIX One property that all modern UNIX systems have is that they are large and complicated, in a sense the antithesis of the original idea behind UNIX. Even if the source code were freely avail…

乐理 -06 相对音感 绝对音感

相对音感 判断两个音之间的距离练习绝对音感 无参照音下判断

【光照】UnityURP[天空盒]原理与[动态天空盒]实现

《Unity URP动态天空盒技术解析》专栏文章摘要:URP天空盒采用立方体贴图技术,通过六面HDR图像构成全景环境,作为无限远背景始终跟随摄像机。核心技术包括:1.基于主光源方向的昼夜动态切换(smoothstep平滑过渡);…

实验1 现代c++初体验

task 1.cpp1 #include<iostream>2 #include<string>3 #include<vector>4 #include<algorithm>5 6 template<typename T>7 void output(const T& c);8 9 void test1(); 10 void test…

Hadoop概念以及安装

Hadoop概论Hadoop是一个由 Apache基金会所开发的分布式系统基础架构。 主要解决,海量数据的存储和海量数据的分析计算问题。 广义上来说, Hadoop通常是指一个更广泛的概念 Hadoop生态圈。Hadoop三大发行版本:Apache、…

presto配置

presto启动时默认配置文件目录在安装目录下的etc下每个节点的配置 在etc下创建node.properties文件,配置如下: node.environment=production node.id=ffffffff-ffff-ffff-ffff-ffffffffffff node.data-dir=/var/pres…

Hadoop--MapReduce

dr.who是通过http连接的默认用户,可以直接在配置文件里面修改为当前用户,重启之后就可以使用当前用户在页面里面对文件进行相关操作。 MapReduce概述 分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应…

Hadoop--yarn

Yarn资源调度器 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。 Y****arn基本架构 YARN主要由ResourceM…

AI元人文构想框架体系

AI元人文构想框架体系 一、核心概念与理论基础 1.1 基本定义 AI元人文构想:一种革命性AI发展范式,旨在构建能够理解、协调并增强人类复杂价值体系的新型人工智能系统。其核心特征包括:从"优化工具"转变…

[DAX/数据分析表达式/Power BI] DAX 查询视图语言 = `Data Analysis eXpressions`(数据分析表达式) = 编程式数据分析语言

0 序Power BI1 概述:DAX 查询视图语言 = Data Analysis eXpressions(数据分析表达式) = 编程式数据分析语言 for Power BI / SSAS / ... DAX是什么?DAX 全称 Data Analysis eXpressions(数据分析表达式); 其是面向 …

Hadoop--HDFS-HA高可用

high avilability HA****概述 1)所谓HA(High Availablity),即高可用(7*24小时不中断服务)。 2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。 3)Hadoop2.…

Hadoop--HDFS

注意机器启动过之后,同步的时候不要同步data文件夹一次写入,多次读出,不支持文件修改。适合数据分析,不适合网盘应用 分布式存储,文件系统。 优点:高容错性。多复制,丢失自动恢复 适合大数据,数据以及文件规模…

10月——算法竞赛回坑杂记

说起来上次打比赛已经是好久以前了呢。初中、高中作为OIer的生涯就这么糊里糊涂的结束了,似乎连一个正经的告别都没写。谁叫广大附离家那么远呢,只记得当时比完赛回到家光顾着玩了,第二天一早又懒得补上。说起来也好…