深度强化学习与控制 课程 第二周 课程总结
一、策略梯度算法
1. 从基于价值到基于策略
传统Q学习学习动作价值函数,而策略梯度直接学习参数化策略 πθ(a∣s),目标函数为期望回报:
通过梯度上升最大化目标函数。策略梯度定理给出:
2. REINFORCE算法
使用蒙特卡洛方法估计 Q(s,a),梯度为:
流程:采样轨迹 → 计算每个时刻的回报 ψt → 更新参数 θ=θ+α∑tψt∇θlogπθ(at∣st)
二、Actor-Critic框架
1. 核心思想
用可训练的价值网络(Critic)替代蒙特卡洛估计,降低方差。策略梯度的一般形式:
其中 ψt可以是TD残差 rt+γV(st+1)−V(st)或优势函数 A(s,a)=Q(s,a)−V(s)。
2. A2C算法
Actor更新:θ←θ+αθ∑δt∇θlogπθ(at∣st)
Critic更新:损失函数
,梯度下降更新
3. A3C(异步A2C)
使用多线程并行采样,梯度异步更新,大幅提升训练效率。
三、确定性策略梯度(DPG)与DDPG
1. 确定性策略
随机策略:a∼πθ(⋅∣s)
确定性策略:a=μθ(s)(连续动作空间可微)
确定性策略梯度定理:
2. DDPG算法
解决DPG+神经网络不稳定的问题,采用:
经验回放(off-policy)
目标网络(软更新 ττ)
批标准化
动作噪声探索
更新流程:
Critic最小化 L=1/N∑(yi−Qω(si,ai))2,其中
Actor通过链式法则更新
四、SAC算法(Soft Actor-Critic)
1. 最大熵强化学习
目标函数加入熵正则项,鼓励探索:
Soft贝尔曼方程:
2. SAC核心技巧
使用两个Q网络(取min缓解过高估计)
重参数化技巧使采样可导:at=fθ(ϵt;st)at=fθ(ϵt;st)
自动调整熵正则系数 αα,损失函数
3. 算法流程
初始化Q网络、策略网络、目标网络、经验池 → 每个时间步采样动作交互 → 存储 → 从回放池采样 → 计算目标y → 更新Critic → 重参数化更新Actor → 更新αα → 软更新目标网络
五、基于模型的控制
1. 模型预测控制(MPC)
无显式策略,每步生成候选动作序列,推演未来 HH 步,选最优序列的第一个动作执行。
打靶法:
随机打靶:随机采样动作序列
交叉熵方法(CEM):维护分布,保留最优M条序列更新分布,迭代优化
2. PETS算法
概率集成与轨迹采样。环境模型输出高斯分布,损失函数为负对数似然:
第一项:马氏距离(加权预测误差)
第二项:协方差正则,防止方差坍缩
集成多个模型(不同初始化+不同数据)捕捉认知不确定性,MPC时随机选模型预测。
3. MBPO算法(基于模型的策略优化)
关键观察:模型推演步数过长累积误差大。解决方案:分支推演——从真实采样状态开始,用模型推演短步数(k步),生成数据用于训练策略。无模型部分使用SAC。
六、DRL控制应用案例
案例一:无人机自主导航与避障
状态:自身状态(位置/速度/姿态)+ 传感器(雷达/视觉)
动作:连续三维加速度或角速度
奖励:距离目标负惩罚(−d−d)、碰撞惩罚(-100)、能耗惩罚(−∥a∥2×0.01−∥a∥2×0.01)、成功奖励(+500)
算法:PPO(稳定、样本效率高)或SAC(平滑、鲁棒)
案例二:机械臂轨迹跟踪
动力学:
任务:末端执行器精确跟踪“8”字等轨迹
奖励:跟踪误差惩罚
+ 控制平滑惩罚
结果:SAC跟踪精度达微米级,抗扰动能力远超PID
