Update README.md

pull/1/head
wsy182 2024-11-30 20:31:38 +08:00
parent 9d95edfa11
commit 7d040f7e40
1 changed files with 62 additions and 0 deletions

View File

@ -144,3 +144,65 @@
麻将游戏引擎建模代码于项目根src/engine/目录下。
## PPOProximal Policy Optimization算法
TensorBoard 通常会记录和可视化多种训练指标。你提到的这些图表代表了 PPO 训练过程中的不同方面。下面是对每个图表的解释:
### 1. `train/loss`
- **含义**:总损失函数值。
- **用途**:这是所有损失项的综合,包括策略梯度损失、价值函数损失等。通过观察这个指标,可以了解整个训练过程中的总体损失趋势。
### 2. `train/policy_gradient_loss`
- **含义**:策略梯度损失。
- **用途**这表示策略网络更新时的损失。PPO 通过剪裁来限制策略更新的幅度,以确保稳定的学习过程。观察这个指标可以帮助你了解策略更新的情况。
### 3. `train/value_loss`
- **含义**:价值函数损失。
- **用途**:这表示价值网络(用于估计状态值或状态-动作对的价值)的损失。价值函数的准确性对于评估策略的好坏非常重要。通过观察这个指标,可以了解价值网络的学习情况。
### 4. `train/learning_rate`
- **含义**:当前的学习率。
- **用途**:学习率是优化器的一个重要超参数,控制着每次更新时权重调整的幅度。观察学习率的变化可以帮助你了解学习率调度策略的效果。
### 5. `train/explained_variance`
- **含义**:解释方差。
- **用途**:这是一个衡量价值函数预测与实际回报之间差异的指标。解释方差越接近 1说明价值函数的预测越准确。通过观察这个指标可以评估价值函数的性能。
### 6. `train/entropy_loss`
- **含义**:熵损失。
- **用途**:熵损失鼓励策略具有一定的随机性,以防止过早收敛到局部最优解。通过观察这个指标,可以了解策略的探索程度。
### 7. `train/clip_range`
- **含义**:剪裁范围。
- **用途**PPO 使用剪裁来限制策略更新的幅度,以确保稳定性。剪裁范围是一个重要的超参数,决定了剪裁的严格程度。观察这个指标可以帮助你了解剪裁策略的效果。
### 8. `train/clip_fraction`
- **含义**:被剪裁的比例。
- **用途**:这个指标表示有多少比例的更新被剪裁。如果剪裁比例很高,可能意味着你的策略更新过于激进,需要调整剪裁范围或其他超参数。
### 9. `train/approx_kl`
- **含义**:近似 KL 散度。
- **用途**KL 散度衡量新旧策略之间的差异。PPO 通过控制 KL 散度来确保策略更新的稳定性。通过观察这个指标,可以了解策略更新的幅度和稳定性。
### 总结
这些图表提供了关于 PPO 训练过程的全面视图,帮助你监控和调试模型。以下是每个图表的主要用途:
- **`train/loss`**:总体损失,反映训练的整体进展。
- **`train/policy_gradient_loss`**:策略梯度损失,反映策略网络的更新情况。
- **`train/value_loss`**:价值函数损失,反映价值网络的学习情况。
- **`train/learning_rate`**:学习率,反映优化器的设置。
- **`train/explained_variance`**:解释方差,反映价值函数的准确性。
- **`train/entropy_loss`**:熵损失,反映策略的探索程度。
- **`train/clip_range`**:剪裁范围,反映策略更新的限制。
- **`train/clip_fraction`**:被剪裁的比例,反映策略更新的稳定性。
- **`train/approx_kl`**:近似 KL 散度,反映策略更新的幅度和稳定性。