26. 强化学习的主流算法

免模型学习(Model-Free) vs 有模型学习(Model-Based)

在介绍详细算法之前,我们先来了解⼀下强化学习算法的2⼤分类。这2个分类的重要差异是:智能体是否能完整了解或学习到所在环境的模型

  • 有模型学习(Model-Based)对环境有提前的认知,可以提前考虑规划,但是缺点是如果模型跟真实世界不⼀致,那么在实际使⽤场景下会表现的不好。
  • 免模型学习(Model-Free)放弃了模型学习,在效率上不如前者,但是这种⽅式更加容易实现,也容易在真实场景下调整到很好的状态。所以免模型学习⽅法更受欢迎,得到更加⼴泛的开发和测试。

免模型学习 – 策略优化(Policy Optimization)

这个系列的⽅法将策略显示表示为: 。 它们直接对性能⽬标 进⾏梯度下降进⾏优化,或者间接地,对性能⽬标的局部近似函数进⾏优化。优化基本都是基于 同策略 的,也就是说每⼀步更新只会⽤最新的策略执⾏时采集到的数据。策略优化通常还包括学习出 ,作为 的近似,该函数⽤于确定如何更新策略。

基于策略优化的⽅法举例:

  • A2C / A3C, 通过梯度下降直接最⼤化性能
  • PPO , 不直接通过最⼤化性能更新,⽽是最⼤化 ⽬标估计 函数,这个函数是⽬标函数 的近似估计。

免模型学习 – Q-Learning

这个系列的算法学习最优⾏动值函数 的近似函数: 。它们通常使⽤基于 ⻉尔曼⽅程 的⽬标函数。优化过程属于 异策略 系列,这意味着每次更新可以使⽤任意时间点的训练数据,不管获取数据时智能体选择如何探索环境。对应的策略是通过 \(Q^andπ^\) 之间的联系得到的。智能体的⾏动由下⾯的式⼦给出:

基于 Q-Learning 的⽅法

  • DQN, ⼀个让深度强化学习得到发展的经典⽅法
  • 以及 C51, 学习关于回报的分布函数,其期望是 \(Q^*\)

有模型学习 – 纯规划

这种最基础的⽅法,从来不显示的表示策略,⽽是纯使⽤规划技术来选择⾏动,例如 模型预测控制 (model-predictive control, MPC)。在模型预测控制中,智能体每次观察环境的时候,都会计算得到⼀个对于当前模型最优的规划,这⾥的规划指的是未来⼀个固定时间段内,智能体会采取的所有⾏动(通过学习值函数,规划算法可能会考虑到超出范围的未来奖励)。智能体先执⾏规划的第⼀个⾏动,然后⽴即舍弃规划的剩余部分。每次准备和环境进⾏互动时,它会计算出⼀个新的规划,从⽽避免执⾏⼩于规划范围的规划给出的⾏动。

MBMF 在⼀些深度强化学习的标准基准任务上,基于学习到的环境模型进⾏模型预测控制

有模型学习 – Expert Iteration

纯规划的后来之作,使⽤、学习策略的显示表示形式: 。智能体在模型中应⽤了⼀种规划算法,类似蒙特卡洛树搜索(Monte Carlo Tree Search),通过对当前策略进⾏采样⽣成规划的候选⾏为。这种算法得到的⾏动⽐策略本身⽣成的要好,所以相对于策略来说,它是“专家”。随后更新策略,以产⽣更类似于规划算法输出的⾏动。

  • ExIt 算法⽤这种算法训练深层神经⽹络来玩 Hex
  • AlphaZero 这种⽅法的另⼀个例⼦

除了免模型学习和有模型学习的分类外,强化学习还有其他⼏种分类⽅式:

  • 基于概率 VS 基于价值
  • 回合更新 VS 单步更新
  • 在线学习 VS 离线学习