强化学习极简入门




强化学习是一种解决控制任务(也称为决策问题)的框架,通过构建代理,使其通过试错与环境互动并接收奖励(正面或负面)作为唯一反馈来学习

马尔可夫决策过程(MDP)是用来描述决策问题的数学模型,主要由一个四元组 ( (S, A, R, P) ) 组成。

动作空间(Action): 表示在特定状态下可能采取的所有动作的集合
状态空间(State): 表示所有可能状态的集合。
奖励函数(Reward): ( R(s, a, s’) ) 表示在状态 ( s ) 下采取动作 ( a ) 并转移到状态 ( s’ ) 时所获得的即时奖励。
转移概率(Policy): ( P(s’ | s, a) ) 表示在状态 ( s ) 下采取动作 ( a ) 转移到状态 ( s’ ) 的概率。

Agent智能体,就是我们要训练的模型

RL与DLML的区别,在于RL是
监督学习如果做了比较坏的选择则会立刻反馈给算法
RL的结果反馈有延时,有时候可能需要走了很多步以后才知道之前某步的选择是好还是坏
监督学习中输入是独立分布的,即各项数据之间没有关联
RL面对的输入总是在变化,每当算法做出一个行为,它就影响了下一次决策的输入

RL为得到最优策略从而获取最大化奖励,有

基于值函数的方法,通过求解一个状态或者状态下某个动作的估值为手段,从而寻找最佳的价值函数,找到价值函数后,再提取最佳策略
比如Q-learning、DQN等,适合离散的环境下,比如围棋和某些游戏领域

基于策略的方法,一般先进行策略评估,即对当前已经搜索到的策略函数进行估值,得到估值后,进行策略改进,不断重复这两步直至策略收敛

一类现象是确定性的现象,如红绿灯系统,每一个状态之间的变化是确定的。
一类现象则不是确定的。如天气系统。

对于这种假设具有$M$个状态的模型

  1. 共有$M^2$个状态转移,因为任何一个状态都有可能是所有状态的下一个转移状态
  2. 每一个状态转移都有一个概率值,称为状态转移概率,相当于从一个状态转移到另一个状态的概率
  3. 所有的$M^2$个概率可以用一个状态转移矩阵表示

当且仅当某时刻的状态只取决于上一时刻的状态时,一个随机过程被称为具有马尔可夫性质,马尔可夫性质意味着我们的代理只需要当前状态来决定采取什么动作,而不需要之前的所有状态和动作的历史记录。

在马尔可夫过程的基础上加入奖励函数$R$和折扣因子 $\gamma$,就可以得到马尔可夫奖励过程(Markov reward process,MRP)。

强化学习过程通过奖励机制来导向学习,基于奖励假设,即所有目标都可以描述为最大化预期回报,为了获得最佳行为,需要最大化预期累积奖励。

观测/状态是代理从环境中获取的信息。
状态 s:是对世界状态的完整描述(没有隐藏信息)。在完全可观测的环境中。
观测 o:是状态的部分描述。在部分可观测的环境中。

动作空间是环境中所有可能动作的集合。

动作可以来自离散(可能的动作数量是有限的)或连续空间(可能的动作数量是无限的)。

奖励在强化学习中至关重要,因为它是代理的唯一反馈。

每个时间步 t 的累积奖励为:

相当于

但是不能就这样直接相加,较早的奖励更有可能发生,因为它们比长期未来的奖励更可预测,即风险更小。

所以引入折扣奖励。

定义一个称为伽马的折扣率。它必须在 0 到 1 之间。大多数情况下在 0.99 和 0.95 之间。
伽马值越大,折扣越小。这意味着我们的代理更关心长期奖励。

另一方面,伽马值越小,折扣越大。这意味着我们的代理更关心短期奖励。

然后,每个奖励将以时间步数的指数对伽马进行折扣,未来的奖励发生的可能性越来越小。

任务类型

情节性任务
有一个起点和终点(一个终点状态)。这构成一个回合:一个由状态、动作、奖励和新状态组成的列表。

连续性任务
这些任务将永远持续下去(没有终止状态)。在这种情况下,代理必须学习如何选择最佳动作并同时与环境交互。