课件Lecture 1: Introduction to Reinforcement Learning

视频David Silver深度强化学习第1课 - 简介 (中文字幕)


强化学习的特征

作为机器学习的一个分支,强化学习主要的特征为:

  • 无监督,仅有奖励信号;

  • 反馈有延迟,不是瞬时的;

  • 时间是重要的(由于是时序数据,不是独立同分布的);

  • Agent的动作会影响后续得到的数据;


强化学习问题

奖励(Rewards)

奖励 \(R_t\) 是一个标量的反馈信号,表示Agent在 \(t\) 时刻的表现如何.

Agent的目标: 最大化累积奖励(maximise cumulative reward).

强化学习基于奖励假设(reward hypothesis).

奖励假设(Reward Hypothesis):
所有强化学习任务的目标都可以被描述为最大化期望累积奖励.


序贯决策(Sequential Decision Making)

目标: 选择合适的动作最大化将来的累积奖励.

  • 动作可能会产生长期后果;
  • 奖励会有延迟性;
  • 牺牲立即回报可能会获得更多的长期回报.

智能体和环境(Agent and Environment)

智能体在每个时刻\(t\)会:

  • 执行动作(Action)\(A_t\);
  • 接收观测(Observation)\(O_t\);
  • 接收标量奖励(Reward)\(R_t\).

而环境则会:

  • 接收动作(Action)\(A_t\);
  • 产生观测(Observation)\(O_{t+1}\);
  • 产生标量奖励(Reward)\(R_{t+1}\).

历史与状态(History and State)

历史(History):由一系列观测,动作和奖励构成.

\[
H_t = O_1, R_1, A_1, \dots, A_{t-1}, O_t, R_t
\]

下一步将发生什么取决于历史:

  • 智能体选择的action;
  • 环境选择的observations/rewards.

状态(State):用来决定接下来会发生什么的信息.

状态是历史的函数:

\[
S_t = f(H_t)
\]


环境状态(Environment State)

环境状态 \(S_{t}^{e}\) 是环境的私有表示,通常对于智能体来说该状态不可见.

即使\(S_{t}^{e}\)可见,也可能包含不相关信息.


智能体状态(Agent State)

智能体状态 \(S_{t}^{a}\) 是智能体的内部表示,包含其用来决定下一步动作的信息,也是强化学习算法使用的信息.

可以写成历史的函数: \(S_{t}^{a} = f(H_t)\)


信息状态(Information State)

信息状态(也称为马尔科夫状态): 包含历史中所有有用的信息.

马尔科夫状态表明: 未来只与现在有关,而与过去无关.

其中,环境状态\(S_t^e\)历史\(H_t\)具有马尔科夫性质.


Rat Example

  • 假如个体状态=序列中的后三个事件(不包括电击、获得奶酪,下同),事件序列3的结果会是什么? (答案是:电击)

  • 假如个体状态=亮灯、响铃和拉电闸各自事件发生的次数,那么事件序列3的结果又是什么? (答案是:奶酪)

  • 假如个体状态=完整的事件序列,那结果又是什么? (答案是:未知)


完全可观测环境(Fully Observable Environments)

完全可观测性(Full observability): 智能体可以直接观测到环境状态,即
\[
O_t = S_t^a = S_t^e
\]

  • 智能体状态 = 环境状态 = 信息状态
  • 实际上是马尔科夫决策过程(Markov Decision Process, MDP)

部分可观测环境(Partially Observable Environments)

部分可观测性(Partial observability): 智能体不能够直接观测到环境.

如,机器人不能通过摄像头得知自身的绝对位置.

  • 智能体状态 \(\neq\) 环境状态
  • 部分可观测马尔科夫决策过程(POMDP)

此时,智能体必须构建其自身的状态表示 \(S_t^a\),比如:

  • 完全的历史: \(S_t^a = H_t\);
  • 环境状态的置信度: \(S _ { t } ^ { a } = \left( \mathbb { P } \left[ S _ { t } ^ { e } = s ^ { 1 } \right] , \ldots , \mathbb { P } \left[ S _ { t } ^ { e } = s ^ { n } \right] \right)\);
  • 循环神经网络: \(S_t^a = \sigma \left(S_{t-1}^{a}W_{s} + O_{t}W_{o}\right)\)

智能体的构成

智能体主要包含以下几种成分:

  • 策略(Policy): 智能体的行为函数;
  • 值函数(Value Function): 每个state或action的好坏;
  • 模型(Model): 智能体对环境的表示.

策略(Policy)

  • 策略是智能体的行为;
  • 状态动作的映射;
  • 确定性策略: \(a = \pi(s)\);
  • 随机性策略: \(\pi(a|s) = \mathbb{P} \left[ A_{t} = a | S_{t} = s\right]\)

值函数(Value Function)

值函数是对于未来奖励的预测.

  • 用于评价状态的好坏;
  • 因此可以用来选择动作.

\[
v_{\pi}(s) = \mathbb{E}_{\pi} \left[ R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots | S_{t} = s \right]
\]


模型(Model)

模型用来预测环境接下来会做什么.

  • \(\mathcal{P}\): 预测下一个状态.
    \[
    \mathcal{P}_{ss'}^{a} = \mathbb{P} \left[ S_{t+1} = s' | S_{t} = s, A_{t} = a\right]
    \]
  • \(\mathcal{R}\): 预测下一个(立即)奖励.
    \[
    \mathcal{R}_{s}^{a} = \mathbb{E} \left[ R_{t+1} | S_{t} = s, A_{t} = a\right]
    \]

Maze Example


策略表示:

箭头表示每个状态的策略 \(\pi(s)\).


值函数表示:

数值表示每个状态的值 \(v_{\pi}(s)\).


模型表示:

智能体可能对环境建立内部模型

  • 网格布局表示转移模型 \(\mathcal{P}_{ss'}^{a}\);
  • 数值表示每个状态的立即奖励 \(\mathcal{R}_{s}^{a}\).

智能体的分类(Categorizing RL agents)

按智能体的成分分类:

  • 基于值函数(Value Based)
  • 基于策略(Policy Based)
  • 演员-评论家(Actor Critic)

或者按有无模型分类:

  • 无模型(Model Free)
  • 基于模型(Model Based)

强化学习的问题

学习与规划(Learning and Planning)

强化学习

  • 环境的初始状态未知;
  • 智能体与环境进行交互;
  • 智能体提升其策略.

    规划

  • 环境的模型已知;
  • 智能体通过模型进行计算,无须与外部进行交互;
  • 智能体提升其策略


探索和利用(Exploration and Exploitation)

强化学习是一种试错(trial-and-error)学习.

智能体需要从与环境的交互中找到一种好的策略,同时不损失过多的奖励.

  • 探索(Exploration): 从环境中寻找更多信息;
  • 利用(Exploitation): 利用已知信息使奖励最大化.

探索和利用同等重要,即使根据已有信息选择出的最优动作可以得到不错的奖励,不妨尝试全新的动作对环境进行探索,也许可以得到更好的结果.


预测和控制(Prediction and Control)

  • 预测(Prediction): 对未来进行评估.


  • 控制(Control): 最优化未来的结果.

David Silver强化学习Lecture1:强化学习简介的更多相关文章

  1. David Silver强化学习Lecture2:马尔可夫决策过程

    课件:Lecture 2: Markov Decision Processes 视频:David Silver深度强化学习第2课 - 简介 (中文字幕) 马尔可夫过程 马尔可夫决策过程简介 马尔可夫决 ...

  2. David Silver强化学习Lecture3:动态规划

    课件:Lecture 3: Planning by Dynamic Programming 视频:David Silver强化学习第3课 - 动态规划(中文字幕) 动态规划 动态(Dynamic): ...

  3. David Silver 强化学习原理 (中文版 链接)

    教程的在线视频链接: http://www.bilibili.com/video/av9831889/ 全部视频链接: https://space.bilibili.com/74997410/vide ...

  4. AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清

    摘要:诸多关于人工智能的流行词汇萦绕在我们耳边,比如深度学习 (Deep Learning).强化学习 (Reinforcement Learning).迁移学习 (Transfer Learning ...

  5. C#.NET学习笔记1---C#.NET简介

    C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...

  6. python学习第一讲,python简介

    目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...

  7. python入门学习:2.列表简介

    python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么   列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  8. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  9. 『NiFi 学习之路』简介

    『NiFi 学习之路』简介 『NiFi 学习之路』入门 -- 下载.安装与简单使用 『NiFi 学习之路』资源 -- 资料汇总 『NiFi 学习之路』把握 -- 架构及主要组件 『NiFi 学习之路』 ...

随机推荐

  1. Django REST framework 之分页,视图,路由,渲染器

    1.分页 2.视图 3.路由 4.渲染器 1.分页 方法一: from django.shortcuts import render from rest_framework.versioning im ...

  2. Vue仿抽屉

    创建VUE项目的步骤: npm install vue-cli -g vue init webpack myproject cd myproject npm run dev 组件:它是可扩展的html ...

  3. Android应用启动、退出分析

    http://www.jianshu.com/p/72059201b10a §AMS和应用进程 §应用启动流程 §应用退出流程 §启动.退出消息 AMS和应用进程 应用进程 <- 系统管理 &l ...

  4. 全文索引搜索whoosh

    问题 Whoosh是python中解决索引查找的模块,在讨论索引查找的文章已经对有关索引查找进行了阐述,此处具体说明Whoosh模块的应用. 思路说明 Whoosh的安装 这里有具体内容(链接被被阉割 ...

  5. Spark算子讲解(二)

    1:glom def glom(): RDD[Array[T]] 将原RDD的元素收集到一个数组,创建一个数组类型的RDD 2:getNumPartitions final def getNumPar ...

  6. leetcode 338. Counting Bits,剑指offer二进制中1的个数

    leetcode是求当前所有数的二进制中1的个数,剑指offer上是求某一个数二进制中1的个数 https://www.cnblogs.com/grandyang/p/5294255.html 第三种 ...

  7. Java相关框架资料及其基础资料、进阶资料、测试资料之分享

    个人说明:只为分享,不为其他,愿所有的程序员们在编程的世界自由翱翔吧! 在我看来,只有不断实战,不断学习,不断积累,不断归纳总结,形成自己的核心竞争力,方能在未来竞争中脱颖而出! 程序员谨记!重要的事 ...

  8. 安装webpack和webpack打包(此文转自Henery)

    Henery博客地址为:http://blog.csdn.net/henery_002 写的很详细,可以做参考 最近要做项目优化了,尤其是前端这块,许多js需要模块化管理和相应的优化 1.输入如下地址 ...

  9. dijkstra P4779 【模板】单源最短路径(标准版) 洛谷luogu

    题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 然后呢? 100→60 Ag→Cu 最终,他因此没能与理想的大 ...

  10. django_redis作为 session backend 使用配置

    Django 默认可以使用任何 cache backend 作为 session backend, 将 django-redis 作为 session 储存后端不用安装任何额外的 backend # ...