当前位置: 首页 > news >正文

强化学习蘑菇书笔记

绪论

强化学习就是一个智能体在一个不确定的环境中最大化它的奖励。智能体在一个环境中获取某个状态后,做一个动作,也称为决策,在环境中执行这个决策以后,会有一个奖励。尽可能多地获得更多的奖励。

强化学习概述

强化学习与监督学习

比如对于分类问题,就是有监督的学习。假设样本都是独立同分布的,假设我们已经知道了正确的标签是什么。

强化学习和监督学习的区别如下。

  • 强化学习输入的样本是序列数据,而不像监督学习里面样本都是独立的。
  • 学习器并没有告诉我们每一步正确的动作应该是什么,学习器需要自己去发现哪些动作可以带来最多的奖励,只能通过不停地尝试来发现最有利的动作。
  • 智能体获得自己能力的过程,其实是不断地试错探索(trial-and-error exploration)的过程。探索(exploration)和利用(exploitation)是强化学习里面非常核心的问题。其中,探索指尝试一些新的动作,这些新的动作有可能会使我们得到更多的奖励,也有可能使我们“一无所有”;利用指采取已知的可以获得最多奖励的动作,重复执行这个动作,因为我们知道这样做可以获得一定的奖励。因此,我们需要在探索和利用之间进行权衡,这也是在监督学习里面没有的情况。
  • 在强化学习过程中,没有非常强的监督者(supervisor),只有奖励信号(reward signal) ,并且奖励信号是延迟的,即环境会在很久以后告诉我们之前我们采取的动作到底是不是有效的。因为我们没有得到即时反馈,所以智能体使用强化学习来学习就非常困难。当我们采取一个动作后,如果我们使用监督学习,我们就可以立刻获得一个指导,比如,我们现在采取了一个错误的动作,正确的动作应该是什么。而在强化学习里面,环境可能会告诉我们这个动作是错误的,但是它并没有告诉我们正确的动作是什么。而且更困难的是,它可能是在一两分钟过后告诉我们这个动作是错误的。所以这也是强化学习和监督学习不同的地方。

强化学习的例子

  • 在自然界中,羚羊其实也在做强化学习。它刚刚出生的时候,可能都不知道怎么站立,然后它通过试错,一段时间后就可以跑得很快,可以适应环境。
  • 我们也可以把股票交易看成强化学习的过程。我们可以不断地买卖股票,然后根据市场给出的反馈来学会怎么去买卖可以让我们的奖励最大化。
  • 玩雅达利游戏或者其他电脑游戏,也是一个强化学习的过程,我们可以通过不断试错来知道怎么玩才可以通关。

强化学习的历史

强化学习是有一定的历史的,早期的强化学习,我们称其为标准强化学习。最近业界把强化学习与深度学习结合起来,就形成了深度强化学习(deep reinforcemet learning) ,因此,深度强化学习= 深度学习+ 强化学习。

强化学习的应用

为什么强化学习在这几年有很多的应用,比如玩游戏以及机器人的一些应用,并且可以击败人类的顶尖棋手呢?这有如下几点原因。首先,我们有了更多的算力(computation power),有了更多的GPU,可以更快地做更多的试错尝试。其次,通过不同尝试,智能体在环境里面获得了很多信息,然后可以在环境里面取得很大的奖励。最后,我们通过端到端训练把特征提取和价值估计或者决策一起优化,这样就可以得到一个更强的决策网络。

序列决策sequential decision making

状态是对世界的完整描述,不会隐藏世界的信息。观测是对状态的部分描述,可能会遗漏一些信息。

环境有自己的函数 s t e = f e ( H t ) s_t^{e} = f^e (H_t) ste=fe(Ht) 来更新状态,在智能体的内部也有一个函数 s t a = f a ( H t ) s_t^{a} = f^a (H_t) sta=fa(Ht) 来更新状态。当智能体的状态与环境的状态等价的时候,即当智能体能够观察到环境的所有状态时,我们称这个环境是完全可观测的(fully observed)。在这种情况下面,强化学习通常被建模成一个马尔可夫决策过程(Markov decision process,MDP)的问题。在马尔可夫决策过程中,$o_t = s_t^e= s_t^{a} $。

但是有一种情况是智能体得到的观测并不能包含环境运作的所有状态,因为在强化学习的设定里面,环境的状态才是真正的所有状态。比如智能体在玩black jack 游戏,它能看到的其实是牌面上的牌。或者在玩雅达利游戏的时候,观测到的只是当前电视上面这一帧的信息,我们并没有得到游戏内部里面所有的运作状态。也就是当智能体只能看到部分的观测,我们就称这个环境是部分可观测的(partially observed)。在这种情况下,强化学习通常被建模成部分可观测马尔可夫决策过程(partially observable Markovdecision process, POMDP)的问题。部分可观测马尔可夫决策过程是马尔可夫决策过程的一种泛化。部分可观测马尔可夫决策过程依然具有马尔可夫性质,但是假设智能体无法感知环境的状态,只能知道部分观测值。比如在自动驾驶中,智能体只能感知传感器采集的有限的环境信息。

马尔可夫决策过程

本章将介绍马尔可夫决策过程。在介绍马尔可夫决策过程之前,我们先介绍它的简化版本:马尔可夫过程(Markov process,MP)以及马尔可夫奖励过程(Markov reward process,MRP)。通过与这两种过程的比较,我们可以更容易理解马尔可夫决策过程。

马尔可夫过程

马尔可夫性质

马尔可夫性质也可以描述为给定当前状态时,将来的状态与过去状态是条件独立的[1]。如果某一个过程满足马尔可夫性质,那么未来的转移与过去的是独立的,它只取决于现在。马尔可夫性质是所有马尔可夫过程的基础。

马尔可夫链

马尔可夫过程是一组具有马尔可夫性质的随机变量序列 s 1 , … , s t s_1,\dots, s_t s1,,st,其中下一个时刻的状态 s t + 1 s_{t+1} st+1 只取决于当前状态 s t s_t st。我们设状态的历史为 h t = { s 1 , s 2 , s 3 , … , s t } h_t = \{s_1, s_2, s_3,\dots , s_t\} ht={s1,s2,s3,,st} h t h_t ht 包含了之前的所有状态),则马尔可夫过程满足条件: p ( s t + 1 ∣ h t ) = p ( s t + 1 ∣ s t ) p(s_{t+1}\mid h_t)=p(s_{t+1}\mid s_t) p(st+1ht)=p(st+1st).

离散时间的马尔可夫过程也称为马尔可夫链(Markov chain).

马尔可夫决策过程

相对于马尔可夫奖励过程,马尔可夫决策过程多了决策(决策是指动作),其他的定义与马尔可夫奖励过程的是类似的。此外,状态转移也多了一个条件,变成了 p ( s t + 1 = s ′ ∣ s t = s , a t = a ) p (s_{t+1} = s^{'} \mid s_t = s, a_t = a) p(st+1=sst=s,at=a)。未来的状态不
仅依赖于当前的状态,也依赖于在当前状态智能体采取的动作。马尔可夫决策过程满足条件: p ( s t + 1 ∣ h t , a t = a ) = p ( s t + 1 ∣ s t , a t = a ) p(s_{t+1}\mid h_t,a_t = a)=p(s_{t+1}\mid s_t,a_t = a) p(st+1ht,at=a)=p(st+1st,at=a).

http://www.lryc.cn/news/512166.html

相关文章:

  • 《机器学习》——线性回归模型
  • Linux(Centos 7.6)网卡信息没有了问题处理
  • WEB攻防-通用漏洞-文件上传-js验证-MIME验证-user.ini-语言特征
  • mybatis-plus代码生成器
  • 12.24-12.28Mysql锁阅读笔记
  • 支持最新 mysql9的workbench8.0.39 中文汉化教程来了
  • golang连接jenkins构建build
  • SCAU高程进阶题(自用)
  • 基于STM32F103控制L298N驱动两相四线步进电机
  • libreoffice在Windows和Linux环境的安装和结合Springboot使用教程
  • 前端开发 -- 自动回复机器人【附完整源码】
  • vue+echarts实现疫情折线图
  • 服务器nfs文件共享
  • 基于Vue+SSM+SpringCloudAlibaba的科目课程管理系统
  • vue3配置caddy作为静态服务器,在浏览器地址栏刷新出现404
  • 深入理解委托:C# 编程中的强大工具
  • 【Java 数据结构】合并两个有序链表
  • 基于微信小程序的校园访客登记系统
  • uniapp 判断多选、选中取消选中的逻辑处理
  • php8.0版本更新了哪些内容
  • Browser Use:AI智能体自动化操作浏览器的开源工具
  • Android笔记(四十):ViewPager2嵌套RecyclerView滑动冲突进一步解决
  • POS系统即销售点系统 文档与数据库设计
  • 安全合规遇 AI 强援:深度驱动行业发展新引擎 | 倍孜网络CEO聂子尧出席ICT深度观察报告会!
  • 算法进阶:贪心算法
  • C++ 设计模式:工厂方法(Factory Method)
  • 手机联系人 查询 添加操作
  • 【LeetCode】2506、统计相似字符串对的数目
  • 金仓数据库对象访问权限的管理
  • Qt 中实现系统主题感知