热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

强化学习(1):概述

一、强化学习描述1.算法定义强化学习算法是在不确定环境中,通过与环境的不断交互,来不断优化自身策略的算法。2.算法特点数据是序列分布而非独立同分

一、强化学习描述


1. 算法定义

强化学习算法是在不确定环境中,通过与环境的不断交互,来不断优化自身策略的算法。

2. 算法特点


  • 数据是序列分布而非独立同分布
  • agent的行为会影响后续的数据分布
  • 没有supervisor,仅仅是每幕最后的reword
  • 无法立即获得反馈,feedback是延迟的

整个过程是一个序列,比如金融投资,比如控制机器人移动等。整个决策序列最终是要实现综合的reward最大化。无法确定当前的每一步action,是否会在未来的某个时刻给你带来巨大的正向reward。在经过算法训练之后,可能出现牺牲当前的即时reward来谋取未来的长远reward.

强化学习问题定义在马尔可夫决策过程之上。一个MDP是<S,A,R,P,γ>的五元组。

关于马尔可夫决策模型&#xff0c;我们详细参见博客&#xff1a;link

3. 关于reward


特点


  • RtR_tRt是可以量化的回馈信号
  • 表示agent在该时刻动作的好坏
  • agent的任务是最大化累计reward

意义

整个强化学习的基础就是reward hypothesis

当前所有的强化学习研究目标&#xff0c;最终都可以用最大化期望累计reward来表示。

4. 关于state

在这里插入图片描述
agent依据当前环境的观测OtO_tOt &#43; 当前的rewardRtR_tRt&#xff0c;选择actionAtA_tAt去执行.

环境可以当作是互相博弈的另外一个agent&#xff0c;当AtA_tAt发生后&#xff0c;环境的state会变化&#xff0c;生成新的Ot&#43;1O_{t&#43;1}Ot&#43;1Rt&#43;1R_{t&#43;1}Rt&#43;1

state用来表示整个系统当前情况&#xff0c;包括过去发生的所有History&#xff0c;我们分别看下环境和agent的state变化。

对于一辆在路上行驶的车而言&#xff0c;在RL的世界&#xff0c;车本身属于agent&#xff0c;周围所有的其他车&#xff0c;人&#xff0c;建筑物都属于环境。

state通常可以用马尔可夫性进行处理。

4.1 environment state


  • 环境提供的observation与reward的信息的数据表示
  • 环境的state有时并不是agent可见的
  • 即使SteS_t^eSte对agent可见&#xff0c;其中也包含一些不相关或噪声信息

环境state没那么重要。相反&#xff0c;机器人本身观测到的环境状态才是最重要的。

4.2 agent state


  • StaS^a_tSta是agent内部状态的表示
  • agent选择用于action的信息
  • 用于强化学习算法的一些信息
  • 是基于历史information的一个函数 Sta&#61;f(Ht)S^a_t&#61;f(H_t)Sta&#61;f(Ht)

这个agent state才是最重要的。而且&#xff0c;我们到底如何model来实现最优的对环境state的表征&#xff0c;这件事情很难。也就是上述公式中的fff很难找到最好的符合agent需求的形式。

5. 关于观测


5.1 Fully Observable Environments

Ot&#61;Sta&#61;SteO_t&#61;S^a_t&#61;S^e_tOt&#61;Sta&#61;Ste

通常这是一个MDP的过程。如上说述&#xff0c;state的表征很重要&#xff0c;MDP在这里能够发挥巨大的作用。

5.2 Partially Observable Environments

ange必须自己构建属于自己的StaS^a_tSta&#xff0c;通常有如下的构建方法&#xff1a;

  • 直接用历史数据&#xff08;历史是已经发生的&#xff0c;是确定的&#xff09;&#xff1a; Sta&#61;Ht&#61;O1,R1,A1,...,At−1,Ot,RtS^a_t&#61;H_t &#61; O_1,R_1,A_1,...,A_{t-1},O_t,R_tSta&#61;Ht&#61;O1,R1,A1,...,At1,Ot,Rt
  • 使用环境的状态的置信度belief表示&#xff1a;Sta&#61;(P[Ste&#61;s1],...,P[Ste&#61;sn])S^a_t &#61; (P[S^e_t&#61;s^1],...,P[S^e_t&#61;s^n])Sta&#61;(P[Ste&#61;s1],...,P[Ste&#61;sn])
  • RNN网络&#xff1a; Sta&#61;σ(St−1aWs&#43;OtWo)S^a_t&#61;\sigma(S^a_{t-1}W_s&#43;O_tW_o)Sta&#61;σ(St1aWs&#43;OtWo)

二、强化学习中智能体的组成部分

第一部分的内容&#xff0c;我们还停留在强化学习的定义上。还在说明强化学习这个武器是怎样与现实生活中的应用场景进行配对的。这部分&#xff0c;我们来深入agent&#xff0c;思考面对建立好的强化学习&#xff0c;agent如何来解决问题。

Agent中可能有的三大组成部分&#xff1a;

  • Policy&#xff1a;智能体决策函数
  • Value Function&#xff1a;智能体action评价函数
  • Model&#xff1a;智能体对环境的建模

注意&#xff1a; 三个部分通常不是必须都要有。

1. policy

策略通常用π\piπ来表示&#xff0c;用来表征从state到action的函数映射

a&#61;π(s)a&#61;\pi(s)a&#61;π(s)

如果用概率语言来描述的话&#xff1a;
π(a∣s)&#61;p[At&#61;a∣St&#61;s]\pi(a|s)&#61;p[A_t&#61;a|S_t&#61;s]π(as)&#61;p[At&#61;aSt&#61;s]

2. Value Function

用于评价如果选择不同的action可能对应的不同state的好坏&#xff0c;从而依据状态来选择action. 本质上是在评价选取的策略的好坏。通过尽量把目光放长远来实现最优评价。

可以用如下公式描述&#xff1a;

vπ(s)&#61;Eπ[Rt&#43;1&#43;γRt&#43;2&#43;γ2Rt&#43;3&#43;...∣St&#61;s]v_{\pi}(s)&#61;E_{\pi}[R_{t&#43;1} &#43;\gamma R_{t&#43;2}&#43;\gamma ^2R_{t&#43;3}&#43;...|S_t&#61;s]vπ(s)&#61;Eπ[Rt&#43;1&#43;γRt&#43;2&#43;γ2Rt&#43;3&#43;...St&#61;s]

上述公式可以用文字表述&#xff1a;

基于当前状态StS_tSt&#xff0c;我们来判断如果选择policy π\piπ的话&#xff0c;可能获得的reward的总和。

具体的&#xff0c;我们可以将value function分别对应到state和action上&#xff0c;分别描述当前的state可能对应的value&#xff0c;以及具体采取某种action后对应的value.

需要注意的是&#xff0c;value function关注的总是future.

3. model

模型用来预测agent接下来的状态。其实就是对环境状态的观测StaS^a_tSta&#xff0c;它反映了从机器人视角出发的在进行action之后&#xff0c;env做出的回馈。用于机器人生成下一次的策略π\piπ

比如agent是飞机&#xff0c;model通过分析当前的飞机速度朝向&#xff0c;周围环境的风向等因素&#xff0c;判断下一时刻飞机可能的state.

PPP表示下一个机器人的状态&#xff1a;
Pss′a&#61;P[St&#43;1&#61;s′∣St&#61;s,At&#61;a]P^a_{ss&#39;}&#61;P[S_{t&#43;1}&#61;s&#39;|S_t&#61;s,A_t&#61;a]Pssa&#61;P[St&#43;1&#61;sSt&#61;s,At&#61;a]

R表示下一个状态的对应奖励
Rsa&#61;E[Rt&#43;1∣St&#61;s,At&#61;a]R^a_s&#61;E[R_{t&#43;1}|S_t&#61;s,A_t&#61;a]Rsa&#61;E[Rt&#43;1St&#61;s,At&#61;a]

三、强化学习的分类

第二节中&#xff0c;我们详细说明了agent可能有的三大模块&#xff1a;policy&#xff0c;value function&#xff0c;model

依据agent这三部分的有与无&#xff0c;我们可以将强化学习的各类方法做一些大致分类。

在这里插入图片描述

1. value or policy


  1. 基于value的RL
    表征agent内部state or action的value function.
    必须包含着value function&#xff0c;policy可有可无

  2. 基于policy的RL

  3. actor critic
    既有value 也有policy


2. model or model free

model free 表示我们并不是通过建立model来理解环境。而是直接建立policy或者value function来分析理解环境。

model based 的RL&#xff0c; 首先第一步需要建立对整个环境的model&#xff0c;用于说明环境的工作原理。

四、强化学习中的问题


1. learning and planning

在这里插入图片描述
learning问题&#xff0c;首先&#xff0c;在最开始的时候&#xff0c;环境对于agent而言是完全陌生的&#xff0c;agent需要不断与环境进行交互&#xff0c;不断了解、认识、与环境交互来提高policy的效果。

planning(规划)问题&#xff0c;环境的模型对agent是已知的&#xff0c;不变的。我们总是能准确get采取action后对应的环境状态&#xff0c;这其中就没有交互。就可以在第一步实现对整个全局的推演。

2. exploration vs exploitation

举例&#xff1a;

在这里插入图片描述
如何平衡EE是强化学习中的重要问题。

3. prediction and control

prediction&#xff1a;给出一个policy

control&#xff1a;在policy中寻找一个最优秀的

个人理解&#xff0c;control对应着value function&#xff0c;prediction对应着policy的生成。


推荐阅读
author-avatar
请允许我的每一天有你_248
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有