David silver强化学习课程第一课 强化学习简介

本章主要介绍了强化学习涉及到的一些基础概念,包括强化学习解决的是哪类问题,涉及哪些要素以及解决强化学习问题的思路。

1 强化学习的特征

是什么使得强化学习不同于其他机器学习范式呢?

  • 不存在监督,只有奖励作为指导信号
  • 奖励是延迟的,比如游戏结束时反馈一个正/负信号(也存在实时奖励吧,比如迷宫游戏为了寻找最短路径,每走一步奖励设置为-1)
  • 事件涉及时间序列,它们之间是有关联的,不是独立同分布的
  • 代理的动作会影响后续序列化数据

2 奖励

  • 奖励Rt是一个尺度反馈信号
  • 指出代理在t时刻表现如何
  • 代理的任务就是最大化累积奖励

奖励假说:所有的目标都可以表述为最大化期望累计奖励

3 序列化决策制定需要满足以下几个条件

  • 目标:选择动作去最大化未来总奖励(也可以称为回报)
  • 动作会产生长期的影响
  • 奖励可能是延迟的
  • 为了最大化长期奖励可以避开选择当前最大奖励

4 代理和环境

课程中给出了代理和环境的交互图:

第一课 强化学习简介

5 历史和状态

  • 历史是观察,奖励和动作的序列:第一课 强化学习简介
    下一步发生什么取决于历史
  • 状态是用来决定下一步发生什么的信息,它是历史Ht的函数:第一课 强化学习简介

文中提到了三种状态,加以区分:

**环境状态:**表示环境的私有表示,用来选择下一个O/R的数据,通常对代理来说是不可见的。即使可见,对代理来说也包含了大量的冗余信息。

**代理状态:**代理的内部表示,是代理用来选择动作的数据;是强化学习算法适用到的信息,可以被表示为历史Ht的函数

**信息状态:**信息状态又称为马尔可夫状态,包含历史H的所有有用信息

第一课 强化学习简介

马尔可夫状态可以代替历史信息H,是未来的充分统计数据。环境状态和历史都是马尔可夫状态(下一课讲得马尔可夫决策过程就是指环境完全可见的)

马尔可夫决策过程:环境完全可观测,代理状态=环境状态=信息状态

部分可观测马尔可夫决策过程:代理状态≠环境状态

注:马尔可夫决策问题所用到的信息是环境状态,而强化学习所用到的信息是代理状态。因为强化学习中环境对于代理来说是部分可见的

6 强化学习代理的主要组成

  • 策略:代理的行为/动作函数(基于状态选择动作),分为确定性策略和随机策略第一课 强化学习简介
    第一课 强化学习简介

  • 值函数:预测未来奖励的函数,评价每个状态/动作的好坏第一课 强化学习简介

  • 模型:表示环境下一步将会做什么,包括反馈的状态和奖励第一课 强化学习简介

7 强化学习代理的两种分类

1)

  • 基于值函数:根据状态/动作的值函数,间接学习最优策略。一般采取ε-greedy策略选择动作,最后得到确定性策略。
  • 基于策略:将策略从概率形式变成函数形式,直接学习最优策略。可以学习到随机策略。
  • 基于策略和值函数(Actor Critic):既有策略函数,也有价值函数

2)

  • Model Free:不需要对环境建模获取环境模型(状态转移概率和回报),对于代理来说环境是部分可观测的
  • Model Based:对环境建模得到环境的完整信息,对代理来说环境是完全可观测的

8 学习与规划

学习(learning)和规划(planning)是序列决策(sequential decision making)中的两个基本问题:

学习:对于代理来说环境是不可知的,代理需要和环境进行交互获取信息,并提升其策略

**规划:**对于代理来说环境是可知的,代理根据已知的环境M改善其策略

学习需要代理和环境进行实际的交互,而规划不需要代理和环境进行交互。课程提到,强化学习问题的一个一般解决思路,先学习环境如何工作,再利用学习到的模型进行规划。

个人的理解:学习更像是model-free方法,环境对于代理来说不是完全可观测的。规划更像是一个model-based方法,代理基于环境模型进行决策,这里的环境模型不一定是完全可观测的,可以是代理学习到的经验,根据这些经验进行策略改进。

9 探索和利用

强化学习是一个试错的过程,探索(exploration)是获取未知的信息,利用(exploitation)是从过往的信息中找到最为合适的目标。探索和利用是个体进行决策时需要平衡的两个方面。

10 预测和控制

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

  • 预测:评价某个策略的好坏
  • 控制:找到最优策略

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

  • 预测:评价某个策略的好坏
  • 控制:找到最优策略

举个例子,Srasa算法中,策略评估就是预测;不断地进行策略评估和策略改进最后找到最优的策略就是控制。

相关文章: