目录

应用场景

强化学习的本质

以电脑游戏为例

强化学习三个步骤

第一步:有未知参数的函数

第二步:定义Loss

第三步:Optimization

RL的难点

类比GAN

Policy Gradient(策略梯度)

怎么学出actor中的参数

如何定义A

Version 0(最简单但不正确)

Version 1

Version 2

Version 3

Actor-Critic(行动者-批评者)

Critic介绍

Critic 怎么被训练出来的

Monte-Carlo (MC)

Temporal-difference (TD)

两种方法对比

version 3.5

version 4:Advantage Actor-Critic

训练Actor-Critic的小技巧

Deep Q Network (DQN)

Policy Gradient

策略梯度的流程

On-policy v.s. Off-policy

搜集资料的技巧:Exploration--增加Actor的随机性

Reward Shaping(sparse reward)

No Reward: Imitation Learning

无奖励的场景

示范学习和监督学习的不同

逆向强化学习

GAN VS IRL

RIG(Reinforcement Learning with Imagined Goals)


应用场景

  • 当我们给机器一个输入的时候,我们不知道最佳的输出应该是什么;
  • 收集有标注的资料很困难的时候

叫机器学习下围棋,最好的下一步可能人类根本就不知道。我们不知道正确答案是什么的情况下,往往就是 RL 可以派上用场的时候,

RL 在学习的时候,虽然不知道正确的答案是什么,但是机器会知道什么是好,什么是不好,机器会跟环境去做互动,得到Reward

强化学习的本质

强化学习的过程和机器学习是一样的,都是寻找函数。不过在强化学习中寻找的函数叫做actor,actor 跟Environment会进行互动,actor能够接受环境给予的observation(观察),做出action去影响 Environment,然后Environment会给这个 Actor 一些 reward(奖励),这个reward说明action是好是坏。我们的目的就是寻找一个用 Observation 当作Input,输出 Action,能将Reward总和最大化的actor。

以电脑游戏为例

游戏界面就是observation,人即决策者就是actor,向左向右跟开火就是action,游戏机就是Environment,得到的游戏分数就是reward。游戏的画面变的时候就代表了有了新的 Observation 进来,有了新的 Observation 进来,你的 Actor 就会决定採取新的 Action。我们想要 Learn 出一个 Actor,使用它在这个游戏裡面的时候,可以让我们得到的 Reward 的总和会是最大的

强化学习三个步骤

定义有未知参数的函数;根据训练资料定义loss;找出能够使loss最小化的函数(优化)

第一步:有未知参数的函数

将机器的观察用向量或矩阵来表示,作为actor的输入;actor输出的每个action对应输出层的每个神经元,每个action会有一个分数。这样看和分类任务是一个东西,不同的点是:强化学习将这些分数作为几率,按照这个几率随机产生输出,也就是sample(采样),而不是将分数最高的那个作为输出。

採取 Sample 有一个好处是说,就算是看到同样的游戏画面,机器每一次採取的行为也会略有不
同,在很多的游戏裡面这种随机性也许是重要的,比如说你在做剪刀石头布的时候如果总是会出石头,就很容易被打爆,如果有一些随机性就比较不容易被打爆。

第二步:定义Loss

这里定义loss也就是定义分数的获得机制,但是我们最后想要最大化的是整局的全部分数之和,而不是局部某一次的分数。负的 Total Reward当做 Loss

补充:一局游戏就是一个episode;reward是某一个行为能立即得到的奖励,return是所有分数相加(total reward)。

第三步:Optimization

环境产生的Observation s1 进入actor,actor通过采样输出一个a1,a1再进入环境产生s2,如此往复循环,直到满足游戏中止的条件。s 跟 a 所形成的这个 Sequence又叫做 Trajectory,用

​李宏毅机器学习——强化学习Reinforcement Learning相关推荐

  1. 强化学习(Reinforcement Learning)入门学习--01

    强化学习(Reinforcement Learning)入门学习–01 定义 Reinforcement learning (RL) is an area of machine learning in ...

  2. 强化学习 (Reinforcement Learning)

    强化学习: 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能 ...

  3. 强化学习 Reinforcement Learning(三)——是时候用 PARL 框架玩会儿 DOOM 了!!!(下)

    强化学习 Reinforcement Learning(三)-- 是时候用 PARL 框架玩会儿 DOOM 了!!!(下) 本文目录 强化学习 Reinforcement Learning(三)-- ...

  4. 强化学习(Reinforcement Learning)入门知识

    强化学习(Reinforcement Learning) 概率统计知识 1. 随机变量和观测值 抛硬币是一个随机事件,其结果为**随机变量 X ** 正面为1,反面为0,若第 i 次试验中为正面,则观 ...

  5. 强化学习Reinforcement Learning

    Abstract Abstract 背景 强化学习算法概念 背景 (1) 强化学习的历史发展 1956年Bellman提出了动态规划方法. 1977年Werbos提出只适应动态规划算法. 1988年s ...

  6. 强化学习(Reinforcement Learning)

    背景 当我们思考学习的本质时,我们首先想到的可能是我们通过与环境的互动来学习.无论是在学习开车还是在交谈,我们都清楚地意识到环境是如何回应我们的行为的,我们试图通过行为来影响后续发生的事情.从互动中学 ...

  7. 强化学习(Reinforcement Learning)中的Q-Learning、DQN,面试看这篇就够了!

    文章目录 1. 什么是强化学习 2. 强化学习模型 2.1 打折的未来奖励 2.2 Q-Learning算法 2.3 Deep Q Learning(DQN) 2.3.1 神经网络的作用 2.3.2 ...

  8. 强化学习 (Reinforcement Learning) 基础及论文资料汇总

    持续更新中... 书籍 1. <Reinforcement Learning: An Introduction>Richard S. Sutton and Andrew G.Barto , ...

  9. 强化学习Reinforcement Learning概念理解篇(一)

    在学习强化学习之前,应该对强化学习有一个大致的了解,即去分析一下强化学习的结构或者组成元素: 什么是强化学习?所谓强化学习,就是在与环境的互动当中,为了达到某一个目标而精心的学习过程,因此称之为Goa ...

最新文章

  1. OracleDesigner学习笔记1――安装篇
  2. Matlab与线性代数--矩阵的奇异值和奇异值分解
  3. 罗马数字转整数 · Roman to Integer
  4. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第4章-具有随机扰动的多智能体系统脉冲一致性
  5. 区块链BaaS云服务(33)印度国家支付 Vajra Platform
  6. java程序猿面试问缺点怎么回答_JAVA程序员面试32问,你能回答多少题
  7. Java Web学习笔记06:利用JDBC访问数据库
  8. Effective C++ ——设计与声明
  9. python爬虫什么意思-python的爬虫是什么意思
  10. python,numpy中np.random.choice()的用法详解及其参考代码
  11. [mock]10月4日
  12. 【开发心得】json解析报错Uncaught SyntaxError: Unexpected identifier的解决方法
  13. 基于Matlab的男女声音信号分析与处理
  14. xml文件是什么?xml文档定义有几种形式?它们之间有何本质区别?解释xml文档又几种方式
  15. css logo划一道光,[前端]纯css实现图片自动闪耀闪光划过效果css3特效logo | 尽享网...
  16. 排查线上CPU飙高的原因和解决
  17. 【Unity】【PC】【错误上报】Bug上报插件 Trello Bug Tracker 使用介绍 (一):用户上报部分
  18. Python中namedtuple()的使用
  19. 测试手机的价格的软件,给大家推荐一个测心率的手机软件,不用花昂贵的价钱买设备啦~ - 薄荷减肥论坛...
  20. PHP生成唯一RequestID类

热门文章

  1. BAT批处理文件 attrib命令详解
  2. Android——LitePal
  3. 【面试】JVM类加载机制
  4. 小车,测走过的距离,计算走过的时间,stc8a8k
  5. mysql子查询中不能使用LIMIT
  6. TCP与UDP的区别(详解)
  7. 数一 、数二和数三,到底有何区别?
  8. [附源码]计算机毕业设计springboot基于SpringBoot的演唱会购票系统论文2022
  9. 公司企业如何建立一个网站?
  10. HAProxy代理介绍-官方译文