机器学习:增强式学习Reinforcement learning

在这里插入图片描述

  • 收集有标签数据比较困难的时候
  • 同时也不知道什么答案是比较好的时候
  • 可以考虑使用强化学习
  • 通过互动,机器可以自己知道什么结果是好的,什么结果是坏的

Outline

在这里插入图片描述

什么是RL

在这里插入图片描述

  • Action就是一个function
  • Environment就是告诉这个Action是好的还是坏的

例子 Space invader

在这里插入图片描述

  • 只能左移动,右移动,开火
  • 任务就是杀死外星人
  • 奖励就是分数
  • 终止:杀死所有的外星人,或者自己被外星人杀死
    在这里插入图片描述
  • 找到一个function使得得分总和最大

例子:Play Go

在这里插入图片描述
在这里插入图片描述

  • 下围棋的score只有在游戏结束的时候才有分数,+1, -1, 0
  • 中间时刻是没有得分的

RL和ML关系

在这里插入图片描述

Step1: 未知数的Function

在这里插入图片描述

  • 在RL中,未知数的Function就是Action
  • 输入是网络观察到的
  • 输出是每个动作的反馈
  • 分数就是激励,基于分数去有概率的随机性采取对应的行动,增加多样性

Step2:定义Loss

在这里插入图片描述
在这里插入图片描述

  • 把所有的reward进行累加作为最终分数
  • Loss就是要最大虾该总和分数

Step3:优化器

在这里插入图片描述

  • 给定的随机行为,有随机的反应
  • 如何找到一组参数去使得分数越大越好
  • 类比于GAN,但是Reward和env不能当作是network,是一个黑盒子

Policy Gradient

在这里插入图片描述
如何控制你的action
在这里插入图片描述

  • 希望采用的模型,可以类比一个分类器
  • 希望不采用什么动作的模型,可以使用上面取反
    在这里插入图片描述
  • 使得e1越小越好,使得e2越大越好

收集一些训练数据
在这里插入图片描述
但不一定是只有两种情况,不是二分类问题,可以采用不同的数字表示不同程度的期待
在这里插入图片描述

定义A

版本1

随机的Action得到结果,然后进行评价正负
在这里插入图片描述

  • 该版本不是一个好的版本
  • 短视近利的Action,没有长远规划
  • 每个动作都影响后续的动作
  • 奖励延迟,需要牺牲短期利益获得长远利益
    在这里插入图片描述

版本2

在这里插入图片描述

  • 把每个动作之后的分数都加起来作为该动作的分数

版本3

在这里插入图片描述

  • 相邻的动作影响更大一点,越远的距离的动作影响越小

版本4

在这里插入图片描述

  • 需要对分数进行标准化,减掉一个baseline b,使得分数有正有负

Policy Gradient

在这里插入图片描述

  • 收集资料是在epoch循环中
    在这里插入图片描述
    在这里插入图片描述
  • 每次Update之后需要重新收集资料
  • RL训练非常耗时
    同一种行为对于不同的s是好坏是不一样的,是一个连续的。
    在这里插入图片描述
    在这里插入图片描述
  • off-policy可以不用在更新前收集资料了,只需要收集一次
    在这里插入图片描述
    在这里插入图片描述
  • 增加随机性,尝试不同的action

PPO

在这里插入图片描述
在这里插入图片描述

相关推荐

  1. 机器学习 - 信息增益

    2023-12-19 14:00:06       27 阅读
  2. 机器学习增强学习DQN(Deep Q Network)

    2023-12-19 14:00:06       31 阅读
  3. 利用机器学习增强网络安全:构建入侵检测系统

    2023-12-19 14:00:06       199 阅读
  4. vue的增量学习-篇章4

    2023-12-19 14:00:06       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-19 14:00:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-19 14:00:06       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-19 14:00:06       87 阅读
  4. Python语言-面向对象

    2023-12-19 14:00:06       96 阅读

热门阅读

  1. android的bundle的常用函数(ChatGPT)

    2023-12-19 14:00:06       57 阅读
  2. PCL 已知同名点对计算旋转矩阵并对点云进行旋转

    2023-12-19 14:00:06       65 阅读
  3. WordPress WP_Query参数使用说明

    2023-12-19 14:00:06       47 阅读
  4. 【selenium】自动化使用 chrome 的 user-data-dir

    2023-12-19 14:00:06       67 阅读
  5. 2312llvm,01基本介绍

    2023-12-19 14:00:06       55 阅读
  6. react项目:Table表格数据转换为图片下载保存

    2023-12-19 14:00:06       64 阅读