强化学习纲要(周博磊)

    科技2022-07-12  128

    强化学习纲要

    主要内容

    强化学习纲要一、概括与基础1.什么是强化学习2.Difference between Reinforcement Learning and Supervised Learning3.Features of Reinforcement Learning4.为什么关注强化学习5.强化学习的例子6.时序决策过程7.RL Agent的主要组成部分8.RL Agents的类型9.Exploration and Exploitation10.gym 二.马尔可夫决策过程

    一、概括与基础

    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的状态对整个环境的理解,决定世界是如何进行

    Policy决定Agent的行为,它是把输入的状态变成一个行为。有两种policy,一种是stochastic policy,另一种是deterministic policy。 (1)Stochastic policy: Probabilistic sample

    (2)Deterministic policy:

    value function是一个折扣的未来奖励加和,当选取某种行为未来得到的奖励。

    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 。

    observation(object) 是状态信息,是在游戏中观测到的屏幕像素值或者盘面状态描述信息。reward(float) 是奖励值,即 action 提交以后能够获得的奖励值。这个奖励值因游戏的不同而不同,但总体原则是,对完成游戏有帮助的动作会获得比较高的奖 励值。done(boolean) 表示游戏是否已经完成。如果完成了,就需要重置游戏并开始一个新的Episode。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.定义马尔可夫模型

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

    Processed: 0.010, SQL: 8