0. 前言

因为入职之前需要完成公司安排的红心大战的task,所以在改论文之余稍微学习了一下强化学习。选择了Alpha Go第一作者David Sliver在伦敦大学的强化学习课程。

0.1 资料

  1. 课件
  1. 视频资源Youtube 或者b站搜索强化学习
  1. 推荐书籍:

0.2 课程目录

  • Lecture 1: Introduction to Reinforcement Learning
  • Lecture 2: Markov Decision Processes
  • Lecture 3: Planning by Dynamic Programming
  • Lecture 4: Model-Free Prediction
  • Lecture 5: Model-Free Control
  • Lecture 6: Value Function Approximation
  • Lecture 7: Policy Gradient Methods
  • Lecture 8: ntegrating Learning and Planning
  • Lecture 9: Exploration and Exploitation
  • Lecture 10: Case Study: RL in Classic Games

1. 强化学习简介

强化学习(Reinforcement Learning ,RL)的知识涉及到很多领域的知识,如CS、数学、经济学、神经学等。如下图所示。

image

1.1 RL的特点

相较于其他机器学习算法,D.Sliver认为Rl有以下特点:

  1. 强化学习是一种无监督学习,只有对机器的奖励(Reward)信号
  2. 反馈是延迟的,需要经历很多步之后才会知道选择是否正确
  3. 时间十分重要,处理的是一个动态的系统,处理的是独立同分布的信息。agent和环境相互交互
  4. Agent的每一步操作会影响到其得到的数据序列,是一种主动式的学习

1.2 Example

强化学习在工程上可以用在很多场景下,D.Sliver提到的为几种样例:

  1. 无人直升机飞行特效表演。直升机在不断尝试中学会什么是正确的飞行姿态。
  2. 在棋类游戏中不断学习,战胜人类玩家。如AlphaGo
  3. 管理资本投资
  4. 控制电力系统
  5. 机器人行走
  6. 电子游戏

2. RL的一些要点

2.1 Rewards

Reward($R_t$)在强化学习中是一个反馈标量信号,用来衡量agent在第t步行为的好坏。整个算法的目的就是为了在结束时使累计奖励最大化。强化学习算法建立在假设奖励之上。Agent通过Rewards知道自身决策是否正确。

在强化学习中,所需要做的事情就是选择不同的行动(action),使未来总的奖励最大化。因为每一步行动带来的后果并不一定立即生效,有可能会带来长远的影响,所以奖励也是延迟的。为了使强化学习的效果更好,在当前奖励和长期奖励中,agent应该选择牺牲当前奖励以获得更多的长期奖励。

如在一次经济决策中,需要几个月才能看到收益。在控制直升机时,一次加油可能会避免几个小时后的一次事故。

2.2 Agent与Environment(环境)

以人的大脑做出决策为例来简单介绍Agent与Environment之间的关系。如下图所示。

image

在第t步的决策当中,大脑作为一个agent,通过观察从环境中获得信息$Ot$,同时获得奖励$R_t$,基于此,做出行动$A_t$。同时,环境得到agent做出的$A_t$,同时向agent发出$O{t+1}$与$R_{t+1}$.以此反复。

2.3 History 与 State

History是一系列观测结果,行动以及奖励的序列,可表示为:

也就是说history是所有与 t有关的可观测到的变量,是agent可以感测到的所有变量。

从定义中可以看出,整个系统下一步会发生什么完全取决于history。

State是用来决定下一步会发生什么的信息,是关于history的函数

2.3.1 Environment State(环境状态,$S_t^e$)

Environment State指的是环境用来选择下一步中的可观测量和奖励时所需要的信息,通常对agent来说是不可见的,即使可见,也有可能包含很多与决策无关的信息。

2.3.2 Agent State($S_t^a$)

$S_t^a$是agent的内部特征,包括agent用来做出下一步行动的信息,是强化学习算法使用的信息,是关于history的函数

2.3.3 Information State

Information State(也可以叫做Markov State)包括可以从history中得到的所有有用信息。

定义:

如果一个状态是Markov,那么当且仅当

也就是说t+1状态发生的概率仅与t状态有关,与之前所有状态无关。

在强化学习中,可以理解为$H{1:t}\rightarrow S_t\rightarrow H{t+1:\infty}$,,一旦state确定了,history就不再有用。

$S_t^e$符合Markov,history$H_t$也符合Markov

2.4 Fully Observable Environment

Fully Observable指agent可以之间观测到环境状态$S_t^e$,即

Agent State = Environment State = Information State
这是一个Markov 决策过程(Markov decision process,MDP)

2.4 Partially Observable Environment

部分可观测指agent不能直接观测到环境,在工程中,比如机器人不能通过摄像头知道自己的绝对位置,在扑克牌中无法知道其他牌手的牌等。
这是一个部分可观测马尔科夫决策过程(POMDP)
agent必须自己来创建自己的状态表达$S_t^a$

  • 通过全部的历史:$S_t^a=H_t$
  • 通过贝叶斯方法,使用概率:$S_t^a=(P[S_t^e=s^1],\dots ,P[S_t^e=s^n])$,通过自己估计环境状态发生的概率来决定自己
  • 通过循环神经网络(RNN)

3. Agent的内部信息

强化学习agent通常包括Policy(策略)、Value function(价值函数)以及Model(模型)

  • Policy是指agent的行为函数
  • Value function是用来平均某一个状态或行为的
  • Model 是agent对环境的表述,即agent眼里的世界

3.1 Policy

policy是agent自身的行为,即agent根据当前状态做出的行动。是state到action的映射。

如果policy是可以确定的,那么就会有一个函$\pi$,其自变量为状态s,因变量是行为a,可以表达为:

与之相对的,还有一种情况就是policy不能准确确定,也就是说其选择是由概率的,可是表示为:

3.2 Value Function

价值函数Value Function是对未来reward的预测,用来评价状态的好坏。

上式指的式价值函数计算的是未来奖励的期望,但agent更关心t+1时刻的奖励,对越远的奖励越不关心,系数为0~1.

3.3 Model

agnet用Model来预测接下来会发生什么,用P来预测接下来的状态,用R来预测接下来的奖励

3.4 Example

3.5 强化学习agent分类

1) 基于价值(Value Based) 基于策略(Policy Based)Actor-Crotic

2) 基于模型 Model Free

4. 其他问题

4.1 强化学习与规划问题

  • 强化学习
    • 环境模型未知
    • agent和环境相互影响
    • agent完善策略
  • 规划问题
    • 环境的模型已知
    • agent和环境没有任何外部交互
    • agent完善策略

原文链接 http://blog.wuqingzhe.cn/2019/03/22/RL学习笔记/