强化学习到大模型训练理论概要(五)

196 阅读1分钟

Lecture 14 Monte Carlo Tree Search

Simulation-Based Search

仅针对当前状态计算动作

  • 到目前为止,课堂上计算的是整个状态空间的策略。
  • 关键思想:可以优先考虑一些额外的局部计算,以便现在做出更好的决策。

Simple Monte-Carlo Search

  • 给定一个模型 MvM_v 和一个模拟策略 π\pi
  • 对于每个动作 aAa \in \mathcal{A}
    • 从当前(真实)状态 sts_t 模拟 KK 个回合:
    {st,a,Rt+1k,,STk}k=1KMv,π\{s_t, a, R_{t+1}^k, \ldots, S_T^k\}_{k=1}^K \sim M_v, \pi
  • 通过平均回报评估动作(蒙特卡洛评估):
Q(st,a)=1Kk=1KGtPqπ(st,a)(1)Q(s_t, a) = \frac{1}{K} \sum_{k=1}^K G_t \xrightarrow{P} q_\pi(s_t, a) \tag{1}
  • 选择当前(真实)动作的最大值:
at=argmaxaAQ(st,a)a_t = \arg\max_{a \in \mathcal{A}} Q(s_t, a)
  • 这本质上是在进行一次策略改进步骤。

Simulation-Based Search Expectimax Tree 期望最大化树

  • 我们能否做到超过一步的策略改进?
  • 如果有一个 MDP 模型 MvM_v
  • 可以通过构建一个期望最大化树来计算当前状态的最优 Q(s,a)Q(s, a) 值。
  • 限制:树的大小按 (SA)H(|\mathcal{S}| |\mathcal{A}|)^H 进行扩展,其中 HH 是搜索的深度。

Forward Search Expectimax Tree 前向搜索期望最大化树

  • 前向搜索算法通过前瞻选择最佳动作。
  • 它们构建一个以当前状态 sts_t 为根的搜索树。
  • 使用 MDP 的模型进行前瞻预测:
  • 不需要解决整个 MDP,只需从现在开始解决子 MDP。

Monte-Carlo Tree Search (MCTS)

  • 给定一个模型 MvM_v
  • 构建一个以当前状态 sts_t 为根的搜索树。
  • 采样动作和下一个状态。
  • 通过从根状态开始执行 KK 次模拟回合,迭代地构造和更新树。
  • 在搜索结束后,选择搜索树中具有最大值的当前(真实)动作:
    at=argmaxaAQ(st,a)a_t = \arg\max_{a \in \mathcal{A}} Q(s_t, a)
  • 检查你的理解:这个方法与蒙特卡洛模拟搜索有何不同?

Upper Confidence Tree (UCT) Search 上置信界树(UCT)搜索

  • 在模拟回合中如何选择要采取的动作?
  • UCT:借鉴赌博文献中的思想,将每个节点视为一个多臂赌博机(MAB)问题。
  • 在节点 ii 处保持每个动作奖励的上置信界:
Q(s,a,i)=1N(i,a)k=1N(i,a)Gk(i,a)+cO(logN(i))N(i,a)Q(s, a, i) = \frac{1}{N(i, a)} \sum_{k=1}^{N(i,a)} G_k(i, a) + c \sqrt{\frac{O(\log N(i))}{N(i, a)}}

其中 N(i,a)N(i, a) 是在节点 ii 选择动作 aa 的次数,Gk(i,a)G_k(i, a) 是在节点 ii 处执行动作 aa 后获得的第 kk 次回报(折扣奖赏的总和),

  • 对于节点 ii 处的模拟回合 kk,选择具有最高上界的动作/臂,然后进行模拟并扩展(或评估)树:
aik=argmaxQ(s,a,i)a_{ik} = \arg\max Q(s, a, i)
  • 这意味着用于模拟回合(并扩展/更新树)的策略可以在每次回合之间变化。

蒙特卡洛树搜索(MC Tree Search)的优点

  • 高度选择性的最佳优先搜索
  • 动态评估状态(与例如动态规划不同)。
  • 使用采样来克服维度灾难
  • 适用于“黑箱”模型(仅需样本)。
  • 计算效率高,随时可用,并且可以并行化

Lecture 15 Value Alignment