首页 AI学术青年与开发者社区

强化学习的关键要素主要有:环境(Environment)、激励(reward)、动作(action)和状态(state)。有了这些要素后,我们就可以建立一个强化学习模型。强化学习解决的问题是:针对一个具体问题得到一个最有的策略,使得在该策略下获得的激励最大。所谓的策略其实就是一系列的动作,也就是序列数据。

(策略是状态到动作的映射,分为确定策略与随机策略。确定策略就是某一状态下的确定动作,随机策略以概率来描述,即某一状态下执行某一动作的概率。)

强化学习可以用下图来刻画:都是要先从要完成的任务提取一个环境,从中抽象出状态、动作以及执行此动作所接受的瞬时激励。

强化学习与传统机器学习的不同之处

  • 训练数据没有类标,只有激励信息,本质上来说,激励信息也可以看作是一种类标。
  • 反馈可能有延时,无法立即返回
  • 输入数据是序列数据。
  • 智能体的动作会影响到后续的数据。

直观来看强化学习

  • 一些棋类运动,Alpha-Go、Alpha-Zero等
  • 波士顿机器人:一个综合智能体的机器人
  • 训练智能体玩游戏
需要先修的内容
  • 数学方面:概率、矩阵、优化
  • 开发方面:Python基础
  • 其他:机器学习与深度学习
强化学习的应用
  • 强化学习可适用于序列决策的任务,比如波士顿机器人在前进中的控制,围棋博弈的过程等。一般来说,只要能将一个问题简化成一个决策问题,基本上可以使用强化学习来解决此问题。
  • 在资源调度管理中,也可以使用强化学习算来进行动态分配。
  • 在智慧城市中也有应用,比如交通灯的控制问题:使用强化学习,通过智能体,根据实际情况动态的改变交通灯时长的控制。
  • 强化学习现在应用到了化学领域,比如:原料配比、催化剂的使用,温度的选择(是否需要加热等)。
  • 淘宝个性化推荐也用了强化学习:建立一个agent,对其设定一些条件,比如年龄,爱好倾向等,然后通过强化学习进行推荐,并根据数据来对推荐结果进行反馈。
 
[展开全文]

强化学习基本要素和概念

  • There is no supervisor, only a reward signal
  • Feedback is delayed, not instantaneous
  • Time really matters (sequential, non i.i.d data)
  • Agent's actions affect the subsequent data it receives

At each step t the agent:

  • Executes action At
  • Receives observation Qt
  • Receives scalar reward Rt

The environment:

  • Receives action At
  • Emits observation Qt+1
  • Emits scalar reward Rt+1

t increments at env. step

Reward: 记作Rt,表示第t个time step的返回奖赏值,所有强化学习都是基于reward假设的,reward是一个标量。

Action: 来自动作空间,agent对每次所处的state以及上一状态的reward确定当前要执行什么action。执行action要达到最大化期望reward,直到最终算法收敛,所得的policy就是一系列action的sequential data。

State: 就是当前agent所处的状态。

Agent: 执行动作的智能体,在RL中,算法本身就是agent。

Environment: 智能体所经过的世界。环境将智能体的当前状态和操作作为输入,并将代理的奖励和下一个状态作为输出返回。

Policy: 策略是智能体根据当前状态确定下一个操作所采用的策略。它将状态映射到行为,即承诺最高回报的行为。可分为确定策略和随机策略。

Value: 长期的平均总奖赏,想对于短期的reward。因为RL基本可以总结通过最大化"reward"来得到一个最优策略。所以为了很好地刻画包括未来的当前reward值最大化(即从当前时刻开始一直到状态达到目标的总reward最大)。因此构造值函数(value function)来描述这一变量。

Model: 用来预测环境接下来会干什么,即在这一状态的情况下执行某一动作会达到什么样的状态,这一动作会得到什么reward,Agent的目标就是通过训练学到这一个模型。

 

 

 

[展开全文]

马尔科夫过程

马尔科夫过程Markov Process或者马尔科夫链是一个无记忆随机过程,是一些具有马尔科夫性质的随机状态序列构成,可以用一个元组 <S,P>表示,其中S是有限数量的状态集,P是状态转移概率矩阵。

马尔科夫奖赏过程定义

马尔科夫奖励过程Markov Reward Process是在马尔科夫过程的基础上增加了奖励R和衰减系数γ

-值函数是未来奖赏值 的预测,可以用来评估当前状态的好坏

-agent可以根据此来选择要执行的动作

 

贝尔曼期望方程Bellman Equation

状态值函数的引入解决了Return Gt路径有很多条,不容易优化的问题,将其转化为期望就变成固定标量了,很明显的转化。但是现在又出现另一个问题了,状态值函数也不好算,因为在计算某个状态时候需要使用到将来所有状态的Gt,这明显是不科学的。那么凭借大家学习算法思想,既然是状态更新,既然是马尔科夫的,很容易想到应用迭代思想求解,而贝尔曼期望方程就是一个迭代方程,目的是使得状态值函数容易求解。

[展开全文]

强化学习与其他机器学习不同之处为:

  1. 没有教师信号,也没有label。只有reward,其实reward就相当于label。
  2. 反馈有延时,不是能立即返回。
  3. 相当于输入数据是序列数据。
  4. agent执行的动作会影响之后的数据。

  5. 强化学习的关键要素有:environment,reward,action 和 state。有了这些要素我们就能建立一个强化学习模型。强化学习解决的问题是,针对一个具体问题得到一个最优的policy,使得在该策略下获得的reward最大。所谓的policy其实就是一系列action。也就是sequential data。 
    强化学习可用下图来刻画,都是要先从要完成的任务提取一个环境,从中抽象出状态(state) 、动作(action)、以及执行该动作所接受的瞬时奖赏(reward)。

[展开全文]

第 2 章 马尔科夫过程

课时6 马尔科夫决策过程

 

MDP模型的构建过程:要学会将一个问题转化成MDP问题,并用数学形式表示出来。

 

1、马尔科夫决策过程

 

定义:<S, P, A, R, r>

S是状态集

A是动作集

P是状态转移概率矩阵:

R是奖赏集合

r是折扣系数, r in [0, 1]

在这个模型中加入了动作,因此P的结构也发生了变化。

Note:以上,红色的是agent知道的信息,蓝色的是agent不知道的。要学习的正是 P;而奖赏 R 是环境反馈的。

 

2、案例:捡垃圾的机器人

 

状态 S ={ high, low}(高电量,低电量)

动作 A = {search, wait, charge}

 

[展开全文]

第2章 马尔科夫决策过程 02

课时5 马尔科夫奖赏过程

 

马尔科夫决策过程正式描述了强化学习的环境。

因此此环境是可以全部观察的

几乎所有的强化学习问题都可以提炼成一个MDP问题。

 

1、马尔可夫性

定义:状态St 是马尔科夫的,当且仅当满足

即t+1时刻的状态St+1的概率只与St有关,而与其他状态无关。

2、状态转移概率

矩阵形式

3、马尔科夫链(Markov chain)

马尔科夫链是一个无记忆的随机过程,即随机过程中的状态序列具有马尔可夫性。

定义:马尔科夫链表示为<S, P>,其中 S 是状态集,P是状态转移概率矩阵。

一般用状态转移图来表示。例如:

写成概率矩阵形式为:

 

4、奖赏过程

定义:<S, P, R, r>,其中S是状态集,P是状态转移概率矩阵,R是奖赏函数,r是折扣系数。

值函数(value function):值函数是未来奖赏值的预测,可以用来评估当前状态的好坏,agent可以根据此来选择要执行的动作。

值函数可以被分解为两个部分

后面的方程称为贝尔曼方程,是一个迭代的方程。

对这个推导的图解表示

计算实例:略。

 

5、贝尔曼方程

MRP矩阵形式:v = R + r P v,其中v是一个列向量

要解贝尔曼方程,只需要通过如下推导,就能得到等式,所以只需要求得相关转移概率的逆矩阵就可以求解贝尔曼方程:

p.s. :动态规划是解这个方程的一套方法。

 

[展开全文]

第二章 马尔科夫决策过程(1)

主讲人:王湛

课时4 :强化学习模型构建

 

序列的决策过程往往能够建模成马尔科夫决策过程。反之,如果一个问题能够用马尔科夫过程建模,那么就可以用ML解决了。 

1、建模

首先建模出agent和environment,环境对agent有一个观察1,agent对环境有一个动作1,此时环境会给agent反馈一个reward1,并给出一个观察2。这是一个不断的交互过程。

2、如何抽象成数学模型?

初始化——

observation:state(S0),S0是环境的基准状态。

action:A0,时间t=0时,agent的动作

执行——

执行A0后,

S0——>S1,R1;

A0——>A1

如此反复。

S0 A0 R1 S1 A1 R2 S2 A2 ......(称这个序列为Episode)

3、什么时候终止呢?

与监督学习做类比:(S, A)相当于训练数据,R 相当于标签。

Goal of the agent:最大化期望累积奖赏。

这里不能用单步的Rt进行优化,因为随机性太大。

对于这样的问题,可以用不同的方法来解,强化学习是其中较好的一种方法。

什么是“最大化期望累积奖赏”呢?

应该考虑过去、现在和未来所有的奖赏:

因此,真正需要最大化的应该是:

(一般的),在t时刻,agent的目标是执行动作At,并且使Gt最大化。

实际上Gt的定义并不是固定的,要考虑到不同时刻的reward 权重是不一样的,因此可以有类似这样的定义:

 

[毕]

 

 

课时5:马尔科夫奖赏过程(MRP)

课时6:马尔科夫决策过程

 

 

[展开全文]

笔记:深度理解强化学习

主讲:王湛

第二课:强化学习基本要素和概念

这节课程介绍了强化学习基本的框架和概念,这是后续课程的必备基础。

 

 

一、模型基本要素

 

 

机器学习可以分为三个大的分支:

  1. 有监督学习
  2. 无监督学习
  3. 强化学习
强化学习的过程如婴儿学步,该如何抬脚、使多大力等,是一步一步试探出来的。
强化学习的过程如狗的训练,发出一个命令,根据执行结果进行奖励或惩罚。
 
  • there is no supervisor, only a reward signal
  • feedback is delayed, not instantaneous.
  • time really matters (sequential)
  • agent's actions affect the subsecuent data it receives.
 
计算机想要通过强化学习做决策,需要一个老师,但老师只给你打分,而不告诉你该怎么做,计算机通过不停地试错过程来使行为能够获取高分。最后学到的高分的行为就是我们最后学习到的策略。
 
 
 
在每一个时间 t
agent:收到一个观察Ot,收到一个reward Rt,执行动作At
环境:收到action At,估算出 观测 Ot+1和 reward Rt+1
t 不断增加,A不断得到改进。
 
 

二、基本概念

包括:reward、action、state、agent、environment、policy、value、model。
 
 
 
执行action要达到最大化期望reward,直到算法最终收敛,学到的策略就是一系列 action 的序列数据。
 
 
 
state:指当前agent所处的状态。
 
 
agent 就是要学习动作的对象。
环境就是agent所处的且能够给出奖惩的世界。
(如果将env换成agent,则形成了双agent博弈的模型)
 
 
区分不同语境下的reward,一种是每个时间t的reward,另一个是长期平均的reward。前者用于刺激下次动作的改变,后者用于评估动作训练的结果。
 
 
 
 
 
下一节:课程要求
 
[展开全文]

笔记:深度理解强化学习

主讲:王湛

第一课:强化学习初步介绍

这节课程有两部分:

一、课程简介

二、通过实际例子介绍传统机器学习(有监督和无监督)能做什么以及不能做什么,强化学习能做什么。

一、课程简介

1、强化学习能做什么?

经典的例子,如围棋(AlphaGo)、机器人(Boston robot)、游戏(DOTA)等。

2、预备知识

概率论、矩阵分析、优化理论

Python基础

机器学习、深度学习(选学)

强化学习是ML的一种,所以即使没有学过其他的知识也可以学习这个课程。

3、能够学到什么?

  • RL基本算法原理和数学推导
  • 实战设计RL算法训练agent
  • 阅读文献自学最新的RL算法的能力

 

二、强化学习能做什么:

1、传统机器学习能做什么?

有监督学习:回归任务、分类任务

无监督学习(没有标签):K-means聚类(应用:超像素分割)

2、传统机器学习不能做什么?

机器人、围棋。

无监督学习由于智能对现有数据做一定意义的聚类,显然不适用于这些任务。

监督学习由于需要大量的人工标签来构建相当庞大的训练集,成本太高并不适用。

3、强化学习能做什么

"If one of the goals that we work for here is Al then it is at the core of that. Reinforcement Learning is a very general framework for learning sequential decision making tasks. And Deep Learning, on the other hand, is of course the best set of algorithms we have to learn representations. And combinations of these two different models is the best answer so far we have in terms of learning very good state representations of very challenging tasks that ore not just for solving toy domains but actually to solve challenging real world problems." 

--David Sliver

简单来说,即强化学习是一个学习序列决策过程的一般框架。

一个大胆的假设:任何问题如果能够简化成一个决策问题,就可以用强化学习来解答。(这种思想非常重要

应用案例1:围棋、吃豆子游戏。

应用案例2:强化学习还可以完成管理和控制的任务。例如计算机集群的资源管理、交通灯控制,实现资源实时、动态的分配和利用。

应用案例3:机器人动作。

应用案例4:化学反应的优化。配比、催化剂、温度等。研发新的有机物。

应用案例5:淘宝通过用户基本信息、购买记录等的个性化推荐。

4、结论

强化学习非常广,除了学好强化学习算法,更重要的是学会强化学习的思考方式,能够在日常问题的解决中合理利用。

强化学习的一般框架:

 

下一节:强化学习的基本要素和概念

 

[展开全文]

授课教师

暂无教师
微信扫码分享课程