如何解读智能算法的几个重要参数

epsilon-greedy策略

Epsilon-greedy是一种平衡探索(exploration)和利用(exploitation)的策略:

  • 探索(Exploration):以ε的概率随机选择动作,以便发现可能更好的策略
  • 利用(Exploitation):以(1-ε)的概率选择当前认为最优的动作

例如,epsilon=0.2,意味着20%的概率随机选择动作(探索),80%的概率根据当前Q网络选择最优动作。

如果说epsilon的值在训练初期比较高,意味着这里面侧重于探索。而epsilon的值在训练初期比较低,那么这里面侧重于利用已学到的策略。

设置方式

动态还是静态?

在实践中,epsilon-greedy 策略通过在每个决策步骤中生成一个随机数来工作。如果该数字小于 ε,则智能体选择一个随机动作;否则,它会根据其当前知识遵循最佳动作。

例如,想象一个机器人在迷宫中导航:最初,它可能会探索不同的路径(高 ε),但逐渐转向使用已知的最短路径(低 ε)。一个常见的实现包括从较高的 ε 值开始,以鼓励在训练早期进行探索,然后随着智能体学习,随着时间的推移降低 ε(例如,通过衰减计划)以优先考虑利用。

这种平衡至关重要,因为纯粹的利用可能会错过更好的策略,而纯粹的探索会将时间浪费在已知的糟糕选择上。

如何设置

在推荐系统中,ε 可以决定何时向用户展示新内容(探索)与已被证明的流行项目(利用)。然而,ε 的选择对性能有重大影响:太高,智能体学习缓慢;太低,它可能会错过最佳解决方案。高级变体,例如衰减 ε 或将其与其他探索策略(例如,上限置信区间)相结合,可以解决这些权衡。尽管存在局限性(例如在大动作空间中效率低下),但 epsilon-greedy 方法由于其清晰性和适应性,仍然是强化学习中的一种基本方法。

Reward波动

波动较大的原因

一般,average reward,即episode/average reward的值波动如果较大,原因有两点,一点是环境复杂度较高,第二是超参数设置不够理想。

解决方案

尝试减小epsilon的衰减速度,让智能体更早地采用学到的策略。

调整gamma(折扣因子),看看是否能够改善长期奖励的累积。

Reward后期停滞

停滞的原因

可能陷入了局部最优解,或者探索不足。

改善方法

1、增加replay_buffer的容量,提供更多样化的经验供学习。

2、尝试使用不同的探索策略,比如增加噪声,或者使用更复杂的HER目标生成方法。

Loss波动

原因

可能是数据分布不稳定,或者网络结构不够深。

建议

检查输入数据的预处理步骤,确保数据标准化和归一化正确。

尝试增加网络层数或调整隐藏层大小,看看是否能提高拟合能力

怎么实验

设计一些对比实验,来验证不同超参数对模型性能的影响:

  • 不同 epsilon 衰减速度:比如 epsilon_decay=0.99 vs epsilon_decay=0.999
  • 不同 gamma 值:比如 gamma=0.9 vs gamma=0.99
  • 不同 replay_buffer 容量:比如 buffer_size=10000 vs buffer_size=50000

2. 记录日志

每次实验后,记得记录下使用的超参数和对应的训练结果,方便后续分析和复现。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注