深度增强学习David Silver(八)——Integrating Learning and Planning

本节课主要讲:

  • Model-Based Reinforcement Learning
  • Integrated Architectures
  • Simulation-Based Search

model用一个具有参数 η 的MDP S,A,P,R 表示。它告诉我们怎么从一个状态转移到另一个状态,和发生动作之后的奖励。假设S和A都已知,则 PηP,RηR

  • model-free RL直接从经验中学习价值函数或者策略。
  • model-based RL从经验中学习模型,然后从模型中学习价值函数或策略。

model-based RL的优点是可以通过监督学习直接学习模型,推导出模型的不确定性。缺点是首先学习环境模型和建立价值函数会导致两种估计误差。

model-based RL对于环境模型的学习是监督学习。输入状态、行动学习奖励,是一个回归问题,输入状态、行动学习下一个状态是密度估计问题。模型有多种选择,以table lookup model为例。用N(s,a)表示状态行动对的经过次数。

P^as,s=1N(s,a)t=1T1(St,At,St+1=s,a,s)R^as=1N(s,a)t=1T1(St,At=s,a)Rt

计算出环境模型之后,就可以根据模型进行planning。环境模型不准确将会导致planning计算出一个次优的策略。解决方法如下:

  1. 当模型出错时,使用model-free RL。
  2. 明确推导出关于模型不确定性因素,如贝叶斯。

sample-based planning是一种很有效的方法——将环境模型看做环境,用模型产生样本,然后用model-free RL(比如Monte-Carlo控制、Sarsa、Q-learning等)来学习计算出价值和奖励。

接下来考虑两种训练经验来源:

  • real experience。从真实环境中采样。
  • simulated experience。从模型中采样。

Dyna是一种同时采用这两种训练经验的方法。Dyna-Q算法如下:
深度增强学习David Silver(八)——Integrating Learning and Planning_第1张图片

(a)-(e)是从真实环境中提取经验的方法。(f)步从模型中提取经验。

前向搜索(Forward search)是一种通过向前看来选择最好行动的方法。他们以状态 st 为根部建立一棵搜索树,使用MDP模型向前看。前向搜索使用sample-based planning, st 开始,运用model-free RL进行模拟。

将前向搜索和Monte-Carlo控制结合,以下是简单的Monte-Carlo搜索:

  • 给定模型 MV 和模拟策略 π
  • 对于每个行动 aA
    • 从当前状态 st 开始,模拟K个episodes。
    • 通过return的均值来评估行动。
  • 选择当前具有最大值的行动。 at=argmaxaAQ(st,a)

MCTS(Monte-Carlo Tree Search)进一步优化,分为评估(evaluation)和模拟(simulation)两个过程。
评估:

  • 给定模型 MV 和模拟策略 π
  • 从当前状态 st 开始,使用策略 π 模拟K个episodes。
  • 建立一棵包含状态和行为的搜索树。
  • 通过return的均值来评估Q。 Q(s,a)=1N(s,a)Kk=1Tu=t1(Su,Au=s,a)GuPqπ(s,a)
  • 当搜索结束,选择当前具有最大值的行动。 at=argmaxaAQ(st,a)

模拟:

  • 在这个过程,模拟策略 π 能得到提升
  • 每个模拟过程由两个阶段组成:
    • in-tree(提升):选择行动最大化Q(S,A)
    • out-of-tree(固定的):随机选择行动
  • 每个模拟过程重复评估(通过Monte-Carlo评估)和改进(通过 ϵ -greedy(Q))。
  • Monte-Carlo控制被应用到模拟经验中。
  • 收敛到最优的搜索树。

MCTS的优点:优先选择最好的行动;动态评估状态;使用sampling打破维度的限制;只需要samples;计算有效,可并行。

Temporal-Diffrence Search使用TD代替MC,MCTS采用MC控制,TD Search采用Sarsa。二者比较如下:
深度增强学习David Silver(八)——Integrating Learning and Planning_第2张图片

TD Search:

  • 从当前状态 st 开始模拟episode。
  • 估计Q(s,a)
  • 在模拟过程的每一步,使用Sarsa更新Q。 ΔQ(S,A)=α(R+γQ(S,A)Q(S,A))
  • 基于Q(s,a)选择行动。

你可能感兴趣的:(DRL)