强化学习纲要(周博磊)

强化学习纲要

一、概括与基础

1.什么是强化学习

在这里插入图片描述
强化学习是一种用于学习的计算方法,一个agent如何在复杂、不确定的环境下极大化奖励reward。
示意图由两部分组成:一部分是Agent,一部分是Environment。在强化学习的过程中Agent和Environment一直在交互,当Agent在Environment中获得一个状态state,Agent会利用这个状态state输出一个决策action,这个决策action放到环境Environment中去,环境Environment会通过这个决策action进行到下一步,输出下一个状态以及当前决策所得到的奖励。Agent的目的就是从环境中尽可能多的获取奖励。

2.Difference between Reinforcement Learning and Supervised Learning

  • 输入的是序列数据(不是独立同分布的)
  • 学习者没有被告知要采取哪些行动,而是必须通过尝试发现哪些行动能产生最大的回报
  • Trial-and-error exploration (balance between exploration and exploitation)[exploration是说尝试一些新的行为,这些新的行为可能让你得到更高的奖励,可能一无所有。exploitation是说采取已知的可以获取最大奖励的过程进行重复。]
  • 没有supervisor,只有一个reward

3.Features of Reinforcement Learning

  • 在环境中探索获得对环境的理解(试错探索)
  • 延时的奖励
  • 时间重要(序列数据)
  • Agent的行为会影响之后的数据

4.为什么关注强化学习

可以实现超人类的效果。

5.强化学习的例子

  • 下国际象棋
  • 刚出生的羚羊挣扎站起来
  • 股票交易
  • 玩游戏

6.时序决策过程

The history is the sequence of observations, actions, rewards.
在这里插入图片描述
State is the function used to determine what happens next.
在这里插入图片描述
Environment state and agent state
在这里插入图片描述

• Full observability: agent directly observes the environment state, formally as Markov decision process (MDP)
在这里插入图片描述

agent的观测可以包含所有环境运作的状态
• Partial observability: agent indirectly observes the environment, formally as partially observable Markov decision process(POMDP)
agent的观测并不能包含所有环境运作的状态

7.RL Agent的主要组成部分

  • Policy(决策函数):选取下一步的动作
  • value function(价值函数):对现在当前状态进行估价,现在的状态对之后的收益带来多大影响
  • Model:Agent的状态对整个环境的理解,决定世界是如何进行
  1. Policy决定Agent的行为,它是把输入的状态变成一个行为。有两种policy,一种是stochastic policy,另一种是deterministic policy。
    (1)Stochastic policy: Probabilistic sample 在这里插入图片描述

    (2)Deterministic policy:在这里插入图片描述

  2. value function是一个折扣的未来奖励加和,当选取某种行为未来得到的奖励。在这里插入图片描述

  3. model决定了下一个状态会是什么样的。
    (1) Predict the next state:在这里插入图片描述

    (2) Predict the next reward:在这里插入图片描述

8.RL Agents的类型

(1) 通过Agent学习的内容进行分类
在这里插入图片描述
(2) 通过Agent是否学习环境模型来分类
在这里插入图片描述

9.Exploration and Exploitation

在这里插入图片描述

10.gym

在这里插入图片描述
强化学习的这个交互就是由 agent 跟环境进行交互。所以算法的 interface 也是用这个来表示。比如说我们现在安装了 OpenAI Gym。那我们这里就可以直接调入 Taxi-v2
的环境,就建立了这个环境。初始化这个环境过后,就可以进行交互了。Agent 得到这个观测过后,它就会输出一个 action。然后这个 action 会被这个环境拿进去执行
这个 step,然后环境就会往前走一步,然后返回新的 observation 和 reward 以及一个 flag variable 就决定你这个游戏是不是结束了。几行代码就实现了强化学习里面的
framework。

import gym # 导入 Gym 的 Python 接口环境包
env = gym.make('CartPole-v0') # 构建实验环境
env.reset() # 重置一个 episode
for _ in range(1000):
	env.render() # 显示图形界面
	action = env.action_space.sample() # 从动作空间中随机选取一个动作
	env.step(action) # 用于提交动作,括号内是具体的动作
env.close() # 关闭环境

Gym 中的小游戏,大部分都可以用一个普通的实数或者向量来充当动作。打印 env.action_space.sample() 的返回值,能看到输出为 1 或者 0。
env.action_space.sample() 的含义是,在该游戏的所有动作空间里随机选择一个作为输出。在这个例子中,意思就是,动作只有两个:0 和 1,一左一右。
env.step() 这个方法的作用不止于此,它还有四个返回值,分别是 observation 、 reward 、 done 、 info 。

  1. observation(object) 是状态信息,是在游戏中观测到的屏幕像素值或者盘面状态描述信息。
  2. reward(float) 是奖励值,即 action 提交以后能够获得的奖励值。这个奖励值因游戏的不同而不同,但总体原则是,对完成游戏有帮助的动作会获得比较高的奖
    励值。
  3. done(boolean) 表示游戏是否已经完成。如果完成了,就需要重置游戏并开始一个新的Episode。
  4. info(dict) 是一些比较原始的用于诊断和调试的信息,或许对训练有帮助。不过,OpenAI团队在评价你提交的机器人时,是不允许使用这些信息的。
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
	env.render()
	action = env.action_space.sample()
	observation, reward, done, info = env.step(action)
	print(observation)
env.close()

env.step() 完成了一个完整的 在这里插入图片描述
过程。

二.马尔可夫决策过程

1.主要内容

上节课介绍了agent的组成成分,由model、value、policy组成。

(1)这节课先介绍马尔科夫链,再介绍马尔科夫奖励过程,最后介绍马尔科夫决策过程。

(2)当给定一个决策之后,如何计算Policy evaluation价值函数。

(3)马尔可夫决策过程的控制,两种算法:policy iteration和value iteration。

2.马尔可夫决策过程可以描述agent和environment的交互过程。马尔可夫决策过程是强化学习过程中的一个基本框架。

在马尔可夫决策过程中,环境是全部可观测的(fully observable)。很多时候在环境中有些量是不可观测的,部分观测的问题也可以转换成马尔可夫决策过程。

3.定义马尔可夫模型

一个状态转移符合马尔可夫,一个状态的下一个状态取决于当前状态,跟当前状态之前的状态都没有关系。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值