RL Course by David Silver

"RL基本的概念理解"

Posted by Xion on November 17, 2018      views:

RL Course by David Silver

#Lecture 1: Introduction to Reinforcement Learning

两本书推荐

  • An Introduction to Reinforcement Learning, Sutton and Barto, 1998 概念多一些
  • Algorithms for Reinforcement Learning, Szepesvari 数学细节多一些

都有免费的online版本

什么是强化学习

多种交叉的学科

RL的特点

  • no supervisor, only a reward signal
  • Feddback is delayed, not instantaneous
  • time really matters(连续的处理)
  • Agent’s actions affect the subsequent data it receives(与环境产生交互)

强化学习

每个时刻都有一个$R_t$,表示t时刻的reward。强化学习的目标就是最大化$R_t$。

example of reward

  • Fly stunt manoeuvres in a helicopter
    • +ve reward for following desired trajectory
    • −ve reward for crashing
  • Defeat the world champion at Backgammon
    • +/−ve reward for winning/losing a game
  • Manage an investment portfolio
    • +ve reward for each $ in bank
  • Control a power station
    • +ve reward for producing power
    • −ve reward for exceeding safety thresholds
  • Make a humanoid robot walk
    • +ve reward for forward motion
    • −ve reward for falling over

目标:选择最大化$R_t$的action

  • action可能影响时间很长
  • 可能会延迟
  • 可能需要放弃一些暂时的reward

Agent and Environment

在每个时间,对于agent而言

  • 执行动作$A_t$
  • 收到环境信息$O_t$
  • 收到reward$R_t$

在每个时间,对于enviroment而言

  • 收到动作$A_t$
  • 发出$O_t$
  • 发出$R_t$

History and State

history: $H_t = O_1,R_1,A_1,…A_t-1,O_t,R_t$

将要发生的事情,取决于$H_t$

State是信息的summary $S_t = f(H_t)$

State

environment state $S_t^e$

environment对于agent是不可见的,即使可见也包含不相干的内容

agent state $S_t^a$

可以是$H_t$的任意函数 $S_t^a = f(H_t)$

information state(a.k.a Markov state) 含有所有的历史有信息,是个信息论的该你那 当下面条件满足的时候$S_t$是 Markov $P[S_{t+1}|S_t]=P[S_{t=1}|S_1,..,S_t]$

  • 未来与过去是独立的 $H_{1:t} –> S_t –> H_{t+1: \infty}$

  • 一旦state确定了,所有的history都可以被丢弃
  • environment state $S_t^e$ 是 Markov
  • history of everything $H_t$是Markov

例子

full Observable

$O_t = S_t^a=S_t^e$ 即可以观察到所有情况,这是个 Markov decision process(MDP)

Partal observability

agent state != environment state

通常这是个 partially observable Markov decision process(POMDP)

这样agent需要有自己的state,例如

  • 完整的历史$S_t^a = H_t$
  • 对环境状态分布的估计$S_t^a =(P[s_t^e=s1],…,p[S_t^e=s_n])$
  • RNN $S_t^a = \sigma(S_t-1^a W_S +O_tW_o)$

RL agent的组成

下面这些并不一定是都是必要的

  • Policy agent如何选择action
  • Value function 如何评价一个state或者是action
  • Model 表示environment

policy

policy是agent的行为 他是state到action的映射 确定的policy $a=\pi(s)$ 随机的policy $\pi(a|s)=P[A_t=a|S_t=s]$

Value function

评估action

$V_{\pi}(s)=E_\pi[R_t+\gamma R_{t+1}+\gamma ^2 R_{t+2} S_t=s]$

model

model预测环境 $P$预测next state $R$预测 next(immediate) review

例子

RL分类

  • Value Based
    • No policy(implicit)
    • Value Function
  • Policy Base
    • Policy
    • No value Function
  • Actor Critic 结合两者
    • Policy
    • Value Function

  • Model Free
    • Policy and/or ValueFunction
    • No model
  • Model base
    • Policy and/or value function
    • model

Learning and Planning

  • 强化学习
    • 环境不可知
    • agent与环境交互
    • 提升policy
  • Planning
    • model可知
    • agent的行为可由model得到
    • agent提升policy
    • a.k.a. deliberation, reasoning, introspection, pondering, thought, search 更像搜索

balance Exploration and Exploitation

Exploitation: 最大化以知最优 Exploration:最大化经验化环境

例子:

  • Restaurant Selection
    • Exploitation Go to your favourite restaurant
    • Exploration Try a new restaurant
  • Online Banner Advertisements
    • Exploitation Show the most successful advert
    • Exploration Show a different advert
  • Oil Drilling
    • Exploitation Drill at the best known location
    • Exploration Drill at a new location
  • Game Playing
    • Exploitation Play the move you believe is best
    • Exploration Play an experimental move

Prediction and Control

预测:Given a policy,衡量它 控制:选择最好的策略

总结

  • $O_t,R_t,A_t$ 表示的是agent与环境的交互
  • $H_t$,$S_t$ 表示的是历史的提炼
  • $S_t$ 是 Markov 可以理解为信息足够,可以进行推断
  • agent中model,policy,value funcion和分类
  • 强化学习用于解决不同的问题,Learning和Planing,Prediction和Control,Exploration and Exploitation

Lecture 2: Markov Decision Process

Markov Processes

Introduction

  • Almost all RL problems can be formalised as MDPs

Markov Property

  • state是有足够的统计量用于预测未来

### Markov Chains

Markov Process(or Markov Chain)

S 是一组状态 P 是状态转移概论矩阵 $P_{ss’}=P[S_{t+1}=s’|S_t=s]$

### Example: Student Markov Chain

进行sample 有这些可能的序列

Transition Matrix

Markov Reward Process

带有value judgement的 Markov 过程

S 是一组状态 P 是状态转移概论矩阵 $P_{ss’}=P[S_{t+1}=s’|S_t=s]$ $R_s=E[R_{t+1}|S_t=s]$

### Student MRP

### return G: Goal $G_t=R_{t=1}+\gamma R_{t+2}=\sum_{k=0} \gamma^k R_{t+k+1}$

$\gamma$ 是 discount 属于 [0,1] $\gamma$ 接近0 会比较贪心,接近1则会导致比较长远的进化

为什么使用discount

  • 数学上方便
  • 防止Markov process中的环
  • 没有环境的完美model,所与更远的reword,占比更小
  • 人和动物都对马上发生的事情反映
  • 如果在经济上,表示了interest
  • 如果知道序列会终止,可以不使用discount

Value Function

$v(s)=E[G_t S_t=s]$

如果你从state s开始,Goal是什么。

Example

$S_1=C_1$做sample,然后按照公式计算,gamma取0.5

gamma取0

gamma取0.9

### Bellman Equation

value function 由两部分组成

  • 立刻的reward $R_{t+1}$
  • discounted 的 接下来的状态$\gamma v(S_{t+1})$

### Example

### Bellman Equation in Matrix Form

$v = R + \gamma P v$ R 马上的回报

### Solving the Bellman Equation

MDP Markov Decision Process

马尔科夫过程是一个元组$S,A,P,R,\gamma$

$S$ 是一组有限的states集合 $A$ 是一组有限的action集合 $P$ 是一个状态转换概率矩阵 $P_{ss’}^a=P[S_{t+1}=s|S_t=s,A_t=a]$ $R$是reward function,$R_s^a=E[R_{t+1}|S_t=s,A_t=a]$ $\gamma$ 是 discount factor

例子

### policy

A policy π is a distribution over actions given states, $π(a|s) = P [A_t = a | S_t = s]$

  • policy 具有对于agent行为的完全的定义
  • 在MDP中,action只基现在的状态

### Value Function state-value function: 从s状态,遵从policy pi 的 期望

$v_π (s) = E_π [G_t S_t = s]$

action-valute function:

在s 状态,采取a操作,然后遵从policy pi 的期望

$q π (s, a) = E π [G t S t = s, A t = a]$

### value function example

### Bellman Expectation Equation

### Bellman Expectation Equation

## Optimal Value Function

在所有的policies下有可能获得的最大值 $v_∗ (s) = \max v_π (s)$ π

在action下能获得的最大数值 $q_∗ (s, a) = \max q_π (s, a)$

  • optimal value fn 表明了MDP有可能的最好性能
  • 如果optimal value fn能够被知道,那么MDP就被”解决了”

Example Optimal value fn

## Optimal Policy

$π ≥ π’ if v_π (s) ≥ v_{π’}(s), ∀s$

### Example Optimal Policy

## 如何计算

  • Bellman 优化等式是非线性的
  • 没有近似的solution
  • 采用迭代的方法
    • Value iteration
    • Policy Iteration
    • Q-learning
    • Sarsa