• 【深度强化学习】1. 基础部分


    【DataWhale打卡】第一天:学习周博磊讲的强化学习结合《深入理解AutoML和AutoDL》这本书中的强化学习的章节总结了基础部分。

    参考资料:https://github.com/zhoubolei/introRL

    先导课程:线性代数、概率论、机器学习/数据挖掘/深度学习/模式识别

    编程基础:Python, PyTorch

    强化学习在做什么?

    强化学习和监督学习有很大的区别:

    1. 监督学习需要提供数据和对应的标签,训练数据和测试数据是独立同分布的,从而进行模式和特征的学习。

    2. 强化学习不同,强化学习没有直接的标签进行指导,并且数据不是独立同分布的,前后数据有比较强的关系。强化学习可以在环境中进行探索和试错,根据实验的结果提取经验,从而学习到最佳策略。

    监督学习 无监督学习 强化学习
    输出值 标签 奖励值
    标签/奖励 人类提供标注 无标签 延迟奖励
    经验
    损失值
    输入 独立同分布 独立同分布 前后依赖

    强化学习的目标是训练一个agent,能够在不同的情况做出最佳的action,从而让系统给出的reward值最大化。

    流程如下:agent会观察环境得到observation(state),然会采取一个action,环境受到这个action的作用,会反馈给agent一个reward,同时环境状态state也发生了改变。循环往复,agent目标是为了从环境中获得最高reward奖励。

    强化学习序列化流程

    存在两大主体,智能体Agent和环境Environment,整个过程是序列化的:

    [S_t-A_t-R_t-S_{t+1}-A_{t+1}-R_{t+1}-S_{t+2}dots ]

    智能体目标就是最大化奖励函数 $$ G_t $$:

    [G_t=R_{t+1}+gamma R_{t+2}+gamma^2 R_{t+3}+dots=sum_{k=0}^infin gamma^k R_{t+k+1} ]

    也就是说当前时序为t的时候,最大化奖励函数就是从当前一直到最后一个状态(完成一个episode)所获取的所有Reward。(gamma) 是一个0-1之间的数,叫做奖励衰减因子。如果等于0,代表这个Agent只考虑当前即时结果,不考虑目标长远。如果等于1,代表这个Agent考虑的是长远利益,放眼整体。

    强化学习的特点

    • 输入的数据是序列化、前后有依赖的,并不是独立同分布的。
    • 没有监督信息,每一步没有被告诉应该做什么。
    • Trial-and-error exploration,exploration和exploitation之间的平衡:
      • exploration: 代表探索环境,尝试一些新的行为,这些行为有可能会带来巨大的收益,也可能减少收益。
      • exploitation: 就采取当前已知的可以获得最大收益的action。
    • Reward Delay效应,当采取一个action以后,并不会立刻得到反馈,需要等待一段时间或者等结束之后才会有反馈。

    基本要素

    1. 环境的状态:用符号S表示,(S_t)代表t时刻下处于的某一个状态。
    2. 个体的动作:用符号A表示,(A_t)代表t时刻个体采取的动作。
    3. 环境的奖励:用符号R表示,(R_{t+1})表示t时刻个体在(S_t)状态下,采取动作(A_t)得到的奖励。
    4. 智能体agent策略:用符号(pi)表示,agent会根据(pi)表示的策略来选择动作。
    5. 价值函数:用符号(V^{pi}(s))表示,agent在面临状态S的情况下,如果采用策略(pi)后进行动作的价值,是一个期望函数。$$V^{pi}(s)=E_{pi}(R_{t+1}+gamma R_{t+2}+gamma^2 R_{t+3}+...|S_t=s)$$
    6. 奖励衰减因子:用符号(gamma)来表示,是一个0-1之间的数,用于约束距离时间较远的reward所占的比重。

    基本方法

    image-20201019210134422

    强化学习主要分为动态规划、蒙特卡罗法、时序差分法。强化学习中,从一个状态s转化到另外一个状态s'不仅和当前状态s和动作a有关,还与之前的状态有关。但是考虑这么多状态会导致模型非常复杂,所以引入马尔可夫性来简化问题,也就是一个假设(H), 即转化到下一个状态s‘的概率仅仅与当前的状态s有关,而和之前的状态没有关系。

    解决马尔科夫决策过程有两个分类,见上图,需要解释的是Model-based方法和Model-Free方法。

    Model-based方法代表这个问题中,必须能够获得环境的状态转化方程。

    Model-Free方法代表不需要对环境进行完全的建模,只需要经验,也就是实际或者仿真的与环境进行交互的整个样本序列。

    强化学习应用案例

    • alpha-go、alpha-zero围棋战胜李世石。
    • 王者荣耀 绝悟AI 就是强化学习技术应用在MOBA游戏的一个典型例子。
    • 可以将股票的买卖看作强化学习问题,如何操作能让收益极大化。
    • Atari等电脑游戏。
    • 机器人,比如如何让机械臂自己学会给一个杯子中倒水、抓取物体。
    • DeepMind让Agent学习走路。
    • 训练机械臂通过手指转魔方。
    • 训练Agent穿衣服。

    知识点补充

    Rollout:从游戏当前帧,生成很多局游戏,让当前的Model和环境交互,得到很多的观测(轨迹),得到最终的最终reward,从而可以训练agent。

  • 相关阅读:
    【NOIp模拟赛】种花
    【NOIP模拟赛】质数序列
    【NOIp模拟赛】兔子
    【NOIp模拟赛】圆桌游戏
    【NOIp模拟赛】花
    【洛谷P2345】奶牛集会
    【洛谷P1774】最接近神的人_NOI导刊2010提高(02)
    【洛谷P1495】 曹冲养猪
    【洛谷P1287】 盒子与球
    NOIP2009 Hankson 的趣味题
  • 原文地址:https://www.cnblogs.com/pprp/p/13843218.html
Copyright © 2020-2023  润新知