SAC:柔性动作-评价

基本概念

SAC

SAC全称Soft Actor-Critic,中文名柔性动作-评价。SAC算法解决的问题是离散动作空间和连续动作空间的强化学习问题,是off-policy的强化学习算法。

SAC和TD3的网络结构类似,主网络都拥有1个Actor网络和2个Critic网络。但是,对于SAC来说,目标网络只有两个Critic网络,没有Actor网络。也就是说,SAC有1个Actor网络和4个Critic网络。

Actor网络的输入为状态,输出为动作概率 π ( a t , s t ) \pi(a_t,s_t) π(at,st)(对于离散动作空间而言)或者动作概率分布参数(对于连续动作空间而言);
Critic网络的输入为状态,输出为状态的价值。其中V Critic网络的输出为 v ( s ) v(s) v(s),代表状态价值对的估计; Q Critic 网络的输出为 q ( a , s ) q(a,s) q(a,s),代表动作-状态对价值的估计 。
在这里插入图片描述
Q Critic网络的更新过程:
在这里插入图片描述

从经验池buffer中采出的数据 ( s t , a t , s t + 1 , r t + 1 ) (s_t,a_t,s_{t+1},r_{t+1}) (st,at,st+1,rt+1)进行Critic网络的更新,基于最优贝尔曼方程,用 U t ( q ) = r t + γ v ( s t + 1 ) U_t^{(q)}=r_t+\gamma v(s_{t+1}) Ut(q)=rt+γv(st+1)作为状态 s t s_t st真实价值估计,而用实际采用的动作 a 2 a_2 a2 q i ( s t , a 2 ) q_i(s_t,a_2) qi(st,a2) i ∈ ( 0 , 1 ) i\in(0,1) i(0,1)作为状态 s t s_t st预测价值估计,最后用MSEloss作为Loss函数,对神经网络 Q 0 Q_0 Q0 Q 1 Q_1 Q1进行训练。

MSELoss意味着对从经验池buffer中取一个batch的数据进行了求平均的操作。
在这里插入图片描述
V Critic网络的更新过程:
在这里插入图片描述
也是从经验池中拿出数据 ( s t , a t , s t + 1 , r t + 1 ) (s_t,a_t,s_{t+1},r_{t+1}) (st,at,st+1,rt+1)进行V Critic网络的更新,用V Critic网络的输出作为预测值,用含熵的式子进行状态价值估计,即下式作为V Critic网络输出的真实值
在这里插入图片描述
最后用MSEloss作为Loss函数,对神经网络 V V V进行训练。
在这里插入图片描述
Actor网络的更新过程:
在这里插入图片描述
对Actor网络训练的loss稍微有些复杂,其表达式为:

在这里插入图片描述
α \alpha α是熵的奖励系数,它决定熵 l n π ( a t + 1 ∣ s t ; θ ) ln\pi(a_{t+1}|s_t;\theta) lnπ(at+1st;θ)的重要性,越大越重要。 B B B为经验池buffer,即求Loss的时候还需要对经验池中取出的样本取平均。这样能够体现取出的样本平均意义下的好坏。

注意: a t ′ a_t' at并不是在buffer中取出的数据 ( s t , a t , s t + 1 , r t + 1 ) (s_t,a_t,s_{t+1},r_{t+1}) (st,at,st+1,rt+1)中的 a t a_t at,而是重新用Actor网络 π \pi π预测的所有可能的动作,因此对于离散动作空间,常有以下的等价计算方法:
在这里插入图片描述
SAC算法的伪代码如下图所示:
在这里插入图片描述

### SAC在信息技术(IT)背景下的含义 在信息技术领域中,“SAC”可以指代不同的概念,具体取决于其应用环境。以下是几种可能的解释: #### 1. 可切换空洞卷积(Switchable Atrous Convolution, SAC) 在计算机视觉领域,特别是目标检测任务中,SAC被用于改进卷积神经网络的表现。DetectoRS模型引入了一种名为可切换空洞卷积的技术,该技术允许动态调整卷积核的感受野大小,从而提升对不同尺度物体的检测效果[^2]。 #### 2. 结构感知交互(Structure-Aware Interaction, SAC) 在自然语言处理和知识图谱的研究中,SAC也可以表示一种结构感知机制。这种机制旨在捕捉数据中的复杂关系并将其融入到大型语言模型(LLM)的学习过程中,进而提高模型的知识图补全能力[^3]。 #### 3. 空间衰减上下文网络(Spatial Attenuation Context Network, SAC-Net) 对于显著性检测任务而言,SAC-Net是一种专门设计用来识别图像中最突出对象的方法。此方法利用空间衰减注意力机制来增强前景与背景之间的对比度,最终达到更精确的目标定位目的[^4]。 综上所述,在IT语境下,“SAC”可以根据实际应用场景分别代表上述提到的不同技术和算法之一。 ```python # 示例代码展示如何加载预训练好的DetectoRS模型 from mmdet.apis import init_detector, inference_detector config_file = 'configs/detectors/detectors_cascade_rcnn_r50_1x_coco.py' checkpoint_file = 'checkpoints/detectors_cascade_rcnn_r50_1x_coco-7b694c82.pth' model = init_detector(config_file, checkpoint_file, device='cuda:0') result = inference_detector(model, img_path) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不负韶华ღ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值