一、强化学习(Reinforcement Learning)概述
Learning from experience
强化学习 方法起源于动物心理学的相关原理,模仿人类和动物学习的试错机制,是一种通过与环境交互,学习状态到行为的映射关系即策略,表示在各个状态下,智能体采取的行为或行为概率
1.1 智能体与环境
- 智能体在 t 时刻从环境中接收一个状态sts_tst,它会通过动作ata_tat与环境进行交互
- 环境会产生一个新的状态st+1s_{t+1}st+1,以及一个回报rt+1r_{t+1}rt+1
- 不断循环下去即智能体与环境不断交互,这个过程中会产生更多的数据(状态和回报),智能体就根据这些数据不断改善自身的行为
- 最终,智能体可以学到完成相应任务的最优策略
关键: 在交互过程中,智能体不会被告知在当前状态下,应该采取哪一个动作,只能通过不断尝试每一个动作,依靠环境对动作的反馈,改善自己的行为
区分智能体和环境的规则是:不能被智能体随意改变的东西都被认为是该智能体的外部环境
注: 智能体和环境之间的边界代表了智能体绝对控制的极限,而不是其学习和推理、进化的极限
1.2 智能体
1. 智能体的定义
能够与环境进行交互,自主采取行动以完成任务的强化学习系统
2. 智能体的组成:
智能体主要由策略、值函数、模型三个组成部分中的一个或多个组成
- 策略
用来决定智能体行为的机制,是状态到行为的映射,定义了智能体在各个状态下的各种可能的行为及概率
π(a∣s)=P(At=a∣St=s)\pi (a|s) = P(A_t = a | S_t =s)π(a∣s)=P(At=a∣St=s)
策略分为确定性策略 和 随机性策略:
- 确定性策略会根据具体状态输出一个动作
- 随机性策略会根据状态输出每个动作的概率
注:
- 同一个状态下,策略不会发生改变,发生改变的是依据策略可能产生的具体行为,因为具体的行为是具有一定的概率的
- 某一确定的策略是静态的,与时间无关,但智能体可以随时间更新策略
- 值函数
代表智能体在给定状态下的表现,或者给定状态下采取某个行为的好坏程度即期望回报——与策略相关
回报GtG_tGt: 是从t时刻开始往后所有的回报的有衰减的总和(收益或奖励)
Gt=Rt+1+γRt+2+...=∑k=0∞γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2}+ ... = \displaystyle \sum^{\infty}_{k = 0}{\gamma^k R_{t+k+1}}Gt=Rt+1+γRt+2+...=k=0∑∞γkRt+k+1
其中,γ\gammaγ为折扣因子或衰减系数,体现了未来的回报在当前时刻的价值比例:γ\gammaγ接近0,表明趋向于“近视”性评估;γ\gammaγ接近1,表明偏重考虑远期的利益
状态值函数Vπ(s)V_{\pi}(s)Vπ(s) 表示从状态 sss开始,遵循当前策略 π\piπ所获得的期望回报——用来评价一个状态的好坏,指导智能体选择动作,使得其转移到具有较大值函数的状态上去
Vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γRt+2+..∣St=s]V_{\pi}(s) = E_{\pi}[G_t |S_t = s]= E_{\pi}[R_{t+1} + \gamma R_{t+2}+ ..|S_t = s]Vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γRt+2+..∣St=s]
注:另一种值函数——状态行为值函数Qπ(s,a)Q_{\pi}(s,a)Qπ(s,a): 表示在执行策略π\piπ时,针对当前状态sss执行某一具体行为aaa所获得的期望回报
Qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[Rt+1+γRt+2+..∣St=s,At=a]Q_{\pi}(s,a) = E_{\pi}[G_t |S_t = s,A_t = a]= E_{\pi}[R_{t+1} + \gamma R_{t+2}+ ..|S_t = s,A_t =a]Qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[Rt+1+γRt+2+..∣St=s,At=a]
- 模型
- 模型M是智能体对环境的一个建模即以智能体的视角来看待环境的运行机制,期待模型能模拟环境与智能体的交互机制【环境实际运行机制为环境动力学(Dynamics of Environment)】
- 模型输入为状态和行为,输出为下一个状态和回报
至少解决两个问题:
- 状态转换概率 Pss′aP^a_{ss'}Pss′a:预测在状态sss上采取行为aaa后,下个状态s的概率分布
Pss′a=P(St+1=s′∣St=s,At=a)P^a_{ss'} = P(S_t+1 = s' | S_t =s,A_t =a)Pss′a=P(St+1=s′∣St=s,At=a) - 预测可能获得的立即回报RsaR^a_{s}Rsa:在状态sss上采取行为aaa后得到的回报
Rsa=E[Rt+1∣St=s,At=a]R^a_{s} = E[R_{t+1}|S_t =s,A_t =a]Rsa=E[Rt+1∣St=s,At=a]
1.3 强化学习、监督学习与非监督学习
监督学习: 需要人工给数据集打标以供模型训练学习
非监督学习: 模型训练不需要打好标记的样本,可以挖掘样本中潜在的结构信息
强化学习:
1. 输入的训练样本不需要打标但需要一个延迟的回报信号,输出是期望获得从状态到行动的映射
2. 由于强化学习是一个序贯决策(Sequential Decision Making)的过程,需要在与环境不断交互地过程中动态学习,从而所需地数据也是通过与环境不断交互动态产生的,不像监督学习和非监督学习的数据是静态的,此外,所产生的数据之间存在高度的相关关系
深度强化学习: 深度学习的感知(提取特征的能)+ 强化学习(决策能力)——因为强化学习无法直接对高维原始数据进行学习
1.4 强化学习分类
- 根据智能体在解决强化学习问题时是否建立环境动力学模型,分为:有模型方法 和 无模型方法,但实际中,很难知道环境的反馈机制即不知道模型
- 根据不同的估计方法,分为:基于值函数(求解时仅估计状态值函数,不去估计策略函数)、基于策略(仅求解策略函数,不去求解状态值函数)、行动者-评论家(Actor-Critic,AC,既有值函数又有策略函数估计)
1.5 研究方法
强化学习的目标是求解每个状态下的最优策略——每一时刻某个状态下智能体采取所有行为的概率分布
策略的目标是在长期运行过程中接收的累积回报最大——智能体在进行决策时不仅要考虑立即回报,也要考虑后续状态的回报
第一步: 构建强化学习的数据模型——马尔可夫决策(Markov Decision Process,MDP)模型——结合了状态空间【环境状态】、行为空间【智能体的行为】和目标空间【环境反馈的回报】
第二步: 求解马尔可夫决策模型的最优解
二、重要概念
2.1 学习与规划(Learning & Planning)
学习: 针对环境模型未知——智能体不知道环境如何工作,状态如何转变,以及每一步的回报是多少,这种情况下,智能体采用试错法不断与环境进行交互而逐渐改变策略
规划: 智能体已经知道或近似知道环境如何工作,会拟合出环境模型获得状态转换概率和回报,然后在此基础上改善其策略
**总结来看:**首先与环境交互,了解环境的工作方式,借助实际交互数据构建环境模型;然后把这个习得的环境模型当作智能体的外部环境,并利用这个环境模型进行规划
2.2 探索与利用(Exploration & Exploitation)
探索: 智能体在某个状态下去尝试一个新的行为,试图挖掘更多的关于环境的信息
利用: 智能体根据已知信息,选取当下最优的行为来最大化回报
2.3 预测与控制(Prediction & Control)/ 评估与改善
预测/评估: 评估当前策略有多好,一般做法是求解在既定策略下的状态值函数
控制/改善: 对当前策略不断优化,直到找到一个足够好的策略能够最大化未来的回报