Home
avatar

Tolshao

强化学习笔记1:基本概念

概述

强化学习是一门多学科交叉的技术 截屏2020-07-27 下午5.35.46

与传统控制的关系:

  • 相似性:
RLtraditional control
agentcontroller
envplant + enviroment
rewardfeedback(error signals)
valueoptimize function
  • 不同点:
  • 传统的控制:将任务分解成多个任务的串并联,设计(子)控制器
  • 机器学习:将控制器压缩成黑盒Black box -w1354

强化学习不同于 监督、非监督学习(与静态数据交互),与环境产生交互,产生最优结果的动作序列。

基础概念

RL组成要素Agent、Env

Agent

组成要素:Policy、Value function、Model其中至少一个 -w410

策略(Policy):observation to action的映射

  • 固定策略:a=π(s)a = \pi(s)给定状态ss,对应fixed的action aa
  • 随机策略:当Agent处于某一个state的时候,它做的Action是不确定的,例如你可以选择study也可以选择game,也就是说你在某一个状态是以一定的概率去选择某一个action。也就是说,策略的选择是一个条件概率π(as)\pi(a|s),这里的π\pi与数序中的π\pi没有任何关系,他只是代表一个函数而已(其实就是f(as)f(a|s))。
π(as)=P(At=aSt=s)\pi(a \mid s)=P\left(A_{t}=a \mid S_{t}=s\right)

函数代表:在状态ss时采取动作aa的概率分布。

截屏2020-07-27 下午7.07.57

价值(value function):未来奖励的预测(期望)

前面我们说到过奖励,当Agent在tt时刻执行某个动作时,会得到一个Rt+1\mathcal{R_{t+1}}。我们可以想一下蝴蝶效应,这个Action会影响Rt+1\mathcal{R_{t+1}},那么他会不会影响Rt+2,Rt+3...\mathcal{R_{t+2}},\mathcal{R_{t+3}}...呢?很可能会的,比如说在电游中,你所做的某个选择肯定会对接下来的游戏产生影响,这个影响可以深远,也可以没那么深渊(对,我说的就是隐形守护者,mmp),因此状态价值函数可以表示为:

vπ(s)=Eπ(Rt+1+γRt+2+γ2Rt+3+St=s)v_{\pi}(s)=\mathbb{E}_{\pi}\left(R_{t+1}+\gamma R_{t+2}+\gamma^{2} R_{t+3}+\ldots \mid S_{t}=s\right)

vπ(s)v_{\pi}(s)与策略函数π\pi有关,可以理解为当Agent以策略π\pi运行时,状态ss的价值是多少。也就是在此状态下,我能够得到多少回报。 -w425

模型Model:

对未知env的预测,包括状态s、奖励r

预测状态:s->s’的概率

Pssa=P(St+1=sSt=s,At=a)\mathcal{P}_{s s^{\prime}}^{a} =\mathbb{P} \left(S_{t+1}=s^{\prime} \mid S_{t}=s, A_{t}=a\right)

预测奖励:R的期望

Rsa=ERt+1(St=s,At=a)\mathcal{R}_{s}^{a} =\mathbb{E} R_{t+1} \left( \mid S_{t}=s, A_{t}=a\right)

环境Env

完全可观测环境

个体观测=个体状态=环境状态 标准的**MDP **

部分可观测环境

环境不完全可观测

解决办法

  • Beliefs of environment state:用个体的经验,记录历史状态并创建概率分布函数
Sta=(P[Ste=s1],,P[Ste=sn])S_{t}^{a}=\left(\mathbb{P}\left[S_{t}^{e}=s^{1}\right], \ldots, \mathbb{P}\left[S_{t}^{e}=s^{n}\right]\right)
  • Recurrent neural network:用循环神经网络,表示为,上个状态和当前观测的函数
Sta=σ(St1aWs+OtWo)S_{t}^{a}=\sigma\left(S_{t-1}^{a} W_{s}+O_{t} W_{o}\right)

概念区分

学习和规划 Learning & Planning

  • 学习:环境初始时是未知的,个体不知道环境如何工作,个体通过与环境进行交互,逐渐改善其行为策略。
  • 规划: 环境如何工作对于个体是已知近似已知的,个体并不与环境发生实际的交互,而是利用其构建的模型进行计算,在此基础上改善其行为策略。 一个常用的强化学习问题解决思路是,先学习环境如何工作,也就是了解环境工作的方式,即学习得到一个模型,然后利用这个模型进行规划。

预测和控制 Prediction & Control

在强化学习里,我们经常需要先解决关于预测(prediction)的问题,而后在此基础上解决关于控制(Control)的问题。

  • 预测:给定一个策略,评价未来。可以看成是求解在给定策略下的价值函数(value function)的过程。How well will I(an agent) do if I(the agent) follow a specific policy?
  • 控制:找到一个好的策略来最大化未来的奖励。

探索和利用 Exploration & Exploitation

试错的学习,个体需要从其与环境的交互中发现并执行一个好的策略,同时又不至于在试错的过程中丢失太多的奖励。探索和利用是个体进行决策时需要平衡的两个方面

探索率ϵ\epsilon

怎么说的探索率呢?它主要是为了防止陷入局部最优。比如说目前在s1s_1状态下有两个a1,a2a_1,a_2。我们通过计算出,发现执行a1a_1的动作比较好,但是为了防止陷入局部最优,我们会选择以ϵ\epsilon的概率来执行a2a_2,以1ϵ1-\epsilon的概率来执行a1a_1。一般来说,ϵ\epsilon随着训练次数的增加而逐渐减小。

其他概念

γ\gamma奖励衰减因子

在上面的价值函数中,有一个变量γ\gamma,即奖励衰减因子,在[0,1]之间。如果为0,则是贪婪法,即价值只由当前的奖励决定,如果是1,则所有的后续状态奖励和当前奖励一视同仁。一般来说取0到1之间的数。

环境的状态转化模型

由于在某个状态下,执行一定的action,能够达到新的一个状态St+1S_{t+1},但是St+1S_{t+1}不一定是唯一的。环境的状态转化模型,可以理解为一个概率状态机,它是一个概率模型,即在状态tt下采取动作aa,转到下一个状态ss'的概率,表示为PssaP^a_{ss'}

具体在RL_2,MP 中讲解

强化学习 RL