Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 3.2 KB

File metadata and controls

87 lines (62 loc) · 3.2 KB

动画讲解深度强化学习 - PPO

本节目录


0 环境设置

如第一个视频所述,我们定义了环境的基本元素,包括障碍物、正奖励终止方格、负奖励终止方格以及小球的自由移动。


1 价值神经网络

主要训练手段:根据预测跟实际的差作为训练的数据,迭代权重。

在实际训练中,我们会在随机初始化的网格中找到一个路径,然后根据训练集的实际数据来优化,尽量把损失函数降到最低。

$$L_{\text{value}}(\theta) = \mathbb{E} \left[ \left( V_{\theta}(s_t) - R_t \right)^2 \right]$$

  • ( L_{\text{value}}(\theta) ):价值函数的损失,衡量预测值与实际值的差异。
  • ( V_{\theta}(s_t) ):预测状态 ( s_t ) 下的预期。
  • ( R_t ):实际值。
  • ( \left( V_{\theta}(s_t) - R_t \right)^2 ):预测价值与实际回报的平方差,即预测误差平方。平方误差是常用损失函数,放大大误差以优化。

2 策略神经网络

主要思想:策略对于每种不同操作的概率是源于对不同结果的预测;如果预测变化了,那么操作的概率也变化了,那么策略也得变化。

2.1 动量法

但是我们不能因为一次预测的不同就全部否定之前的预测。自然而然的,我们就想到了动量法来避免过于剧烈的改变。如下,就是对避免剧烈变化的量化分析。

用了这个公式:

  • ( L_{\text{policy}}(\theta) ) 是策略的损失函数,( \theta ) 表示策略的参数。
  • ( \mathbb{E} ) 表示期望值,通常通过采样多个轨迹来估计。
  • ( \pi_\theta(a_t \mid s_t) ) 是在状态 ( s_t ) 下,根据参数为 ( \theta ) 的策略选择动作 ( a_t ) 的概率。
  • ( \pi_{\theta_{\text{old}}}(a_t \mid s_t) ) 是在状态 ( s_t ) 下,根据旧策略(参数为 ( \theta_{\text{old}} ))选择动作 ( a_t ) 的概率。
  • ( A_t ) 是在时间 ( t ) 的优势函数(Advantage Function),它衡量在状态 ( s_t ) 下采取动作 ( a_t ) 相对于平均情况的好处。

2.2 裁切

为了避免过多的变化,裁切也是常用的方法之一,下图是可视化理解。

下图是公式:


3 同时训练两个网络