基本概念

概述

现在有一个智能体(agent)和一个复杂不确定的环境(environment)。智能体会从环境里面获取到当前状态(state)(),根据这个状态,智能体会根据某种策略 (policy)来输出一个动作(action)()。然后环境会根据智能体采取的动作和奖励函数 ,返回给智能体一个奖励(reward)()。环境会怎么对动作进行反馈是由一个模型(model)来定义的,这个模型可能是已知的,也可能是未知的。然后智能体会根据转移概率 (transition function)转移到一个新的状态。

强化学习(Reinforcement Learning)的目标就是,让智能体通过不断的尝试和获得反馈,学习到一个最优策略,从而最大化它能获得的累计奖励 (cumulative future reward),也被叫做回报(return)。

rl illustration

Model-Based / Model-Free

首先是 model-free 和 mode-based 的区别,需要理解的是强化学习中的 model 跟智能体没有关系,model 只跟环境有关,它决定了奖励函数 和转移概率 。因此:

  • model-based:已知环境,即已知转移概率和奖励函数,那么可以用动态规划(dynamic programming)来解决问题
  • model-free:未知环境

回合与轨迹

对于时间步 轨迹(trajectory)是指一个回合(episode)中,智能体观测到的所有的状态、动作、奖励序列:

状态转移概率与奖励函数

model 是对环境的描述,它包含两个部分:转移概率 与奖励函数

假设智能体目前处于状态 ,然后它采取了一个动作,并转移到了状态 ,并得到了一个奖励 ,我们可以把这一步表示为:

转移概率 是一个条件概率密度函数,它表示了在状态 采取动作 ,能转移到状态 并得到奖励 的概率:

而状态转移概率 (state-transition function)消去了奖励这一项,表示在状态 采取动作 ,能转移到状态 的概率:

奖励函数 估计了在状态 采取动作 后能得到的奖励的期望:

回报与折扣

强化学习最大化的是回报 ,也叫累计奖励。回报是从当前时刻 开始到一回合结束的所有折扣奖励的总和:

是一个超参数折扣因子(discount factor),它会给未来的奖励打折扣,越久远的未来的奖励的折扣越大,因为:

  • 越是未来的奖励不确定性越大(比如股市)
  • 未来的奖励对当下并没有用,比如你现在给我一万块,或是一年后给我一万块,那我肯定选择现在就把一万块拿了
  • 不打折扣的话就需要考虑无限的时间步
  • 有些马尔可夫过程是带环的,它并没有终结的时候,我们想避免这个无穷的奖励

策略函数与值函数

策略函数和状态值函数都是在强化学习中需要学习的东西。

策略函数

策略函数 (一个条件概率密度函数)会控制智能体根据当前状态 来选择最优动作,从而最大化累计奖励(即回报)。需要注意的是最大化的是累积奖励而不是当前奖励。

策略函数可能是随机策略(stochastic policy function),也可能是确定策略(deterministic policy function):

  • 随机策略:
  • 确定策略:

动作值函数

之前已经给出了回报 的定义,它是 时刻之后所有奖励的加权和。但在 时刻我们并不知道 的值,此时 仍然是个随机变量,它的随机性来源于 时刻之后的状态和动作 ,而这些状态和动作是有 决定的。

因此动作值函数(action-value function,“Q-value”)会对 关于变量 求条件期望:

动作值函数依赖于当前状态 、当前动作 和策略

能让动作值函数最大的策略就是最优策略:

还可以定义一个最优动作值函数:

显然有:

状态值函数

每个状态 还有一个对应的状态值函数 (state-value function),它是动作值函数对当前动作 求期望:

状态值函数 只依赖于策略 和当前状态 ,不依赖于动作,因此它评估了策略 和当前状态 的好坏。

能让状态值函数最大的策略就是最优策略:

最优状态值函数:

显然有:

优势函数

动作值函数减状态值函数就是优势函数(advantage function):