Processing math: 47%

[RL Notes] Dyna 架构

1. Dyna 架构

  智能体与环境交互获得经验,这些经验一方面可以直接用于学习,例如通过Q 学习的方法,更新价值函数和策略,这称为直接强化学习(direct RL)。直接学习直接与环境交互,不受模型设计偏差的影响。另一方面,这些经验可以用来改进模型,即模型学习,并通过如Q 规划的方法从模型模拟的经验中学习,称为间接强化学习。间接学习可以在有限交互的基础上充分利用已有的经验。

  Dyna 架构将两种方法结合起来,如图 1 所示。

图 1

智能体从环境中得到真实经验,这些真实经验一方面用于直接学习,进行策略和价值函数的更新,另一方面用于模型学习,然后通过模型模拟经验。为了对生成的模拟经验进行控制,需要选择初始状态和动作,这一过程称为搜索控制(search control)。通过模拟经验可以得到规划,进而更新策略和价值函数。

  通过 Dyna 架构,同样的强化学习方法既可以从真实经验中进行学习,又可以从模拟经验中进行规划。

2. Dyna 算法

  使用 Dyna 架构结合 Q 学习和 Q 规划,得到表格型 Dyna-Q 算法的完整步骤如下所示。

表格型 Dyna-Q 算法
对所有的 sSaA,初始化 Q(s,a)Model(s,a)
无限循环:
  (a) S 当前(非终止)状态
  (b) A ε-贪心(S,Q)
  (c) 采取动作 A;观察产生的收益 R 以及状态 S
  (d) Q(S, A) \leftarrow Q(S, A) + \alpha [R + \gamma \max_{a} Q(S’, a) – Q(S, a)]
  (e) Model(S, A) \leftarrow R, S’(假设环境是确定的)
  (f) 重复 n 次循环:
    S \leftarrow 随机选择之前观察到的状态
    A \leftarrow 随机选择之前在状态 S 下采取过的动作 A
    R, S’ \leftarrow Model(S, A)
    Q(S, A) \leftarrow Q(S, A) + \alpha[R + \gamma \max_{a} Q(S’, a) – Q(S, a)]

其中 Model(s, a) 表示基于“动作-状态”二元组 (s, a) 预测的后继状态和收益。步骤 (d) 为直接强化学习,(e) 为模型学习,f 为规划。如果省略步骤 (e) 和 (f),就得到表格型 Q 学习。