首页 > 其他分享 >动手学强化学习 第一章 初探强化学习

动手学强化学习 第一章 初探强化学习

时间:2023-02-23 09:57:00浏览次数:56  
标签:动作 环境 学习 智能 数据分布 初探 强化 交互

强化学习是实现序贯决策的机器学习方法。

预测仅仅产生一个针对输入数据的信号,并期望它和未来可观测到的信号一致。

强化学习是指机器通过与环境交互来实现目标的一种计算方法。机器和环境的一轮交互是指,机器在环境的一个状态下做一个动作决策,把这个动作作用到环境当中,这个环境发生相应的改变并且将奖励反馈和下一轮状态传回机器。这种交互是迭代进行的。机器的目标是最大化在多轮交互过程中获得的累计奖励的期望。

强化学习用智能体这个概念来表示做决策的机器,智能体强调机器不但可以感知周围的环境信息,还可以通过做决策来直接改变这个环境,而不只是给出一些预测信号。

在每一轮的交互中,智能体感知到环境目前所处的状态,经过自身的计算给出本轮的动作,将其作用到环境中;环境得到智能体的动作后,产生相应的即时奖励信号并发生相应的状态转移。智能体则在下一轮交互中感知到新的环境状态,依次类推。

智能体的三种关键要素:

  • 感知:感知环境的状态,从而知道自己所处的现状。
  • 决策:根据当前状态计算出达到目标需要采取的动作的过程叫做决策。
  • 奖励:环境根据状态和智能体采取的动作,产生一个标量信号作为奖励反馈。这个标量信号衡量智能体这一轮动作的好坏。

决策任务往往涉及多轮交互,即序贯决策;而预测任务总是单轮的独立任务。如果决策也是单轮的,那么可以转化为”判别最优动作”的预测任务。智能体需要每轮做决策时考虑未来环境相应的改变,所以当前轮带来最大奖励反馈的动作,长期来看并不一定是最优的。

强化学习的环境:环境是动态的,意思是它会随着某些因素的变化而不断演变,这在数学和物理中往往用随机过程来刻画。对于一个随机过程,其最关键的要素就是状态以及状态转移的条件概率分布。比如一个微粒在水中的布朗运动可以由它的起始位置以及下一刻的位置相对当前位置的条件概率分布来刻画,而现在再加上一个外来的干扰因素,即智能体的动作,则概率分布为:下一刻状态~P(·|当前状态,智能体的动作)。

每一轮状态转移的随机性有两方面:

  • 智能体决策动作的随机性
  • 基于当前状态和智能体动作来采样下一刻状态的随机性

智能体和环境每次进行交互时,环境会产生相应的奖励信号,其往往由实数标量来表示。这是一个即时反馈信号,而整个交互过程的每一轮获得的奖励信号可以进行累加,形成智能体的整体回报。强化学习中,我们关注回报的期望,并将其定义为价值,这是强化学习中智能体学习的优化目标。

价值的计算需要对交互过程中每一轮智能体采取动作的概率分布和环境相应的状态转移的概率分布做积分运算。强化学习和有监督学习的学习目标其实是一致的,在某个数据分布下优化一个分数值的期望,但是二者的优化途径是不同的。

有监督学习和强化学习数据层面的区别:

  • 有监督学习的任务建立在从给定的数据分布重采样得到的训练数据集上,通过优化在训练数据集中设定的目标函数(比如最小化预测误差)来找到模型的最优参数。这里,训练数据集背后的数据分布是完全不变的
  • 在强化学习中,数据是在智能体与环境交互的过程中得到的。如果智能体不采取某个决策动作,那么该动作对应的数据就永远无法被观测到,所以当前智能体的训练数据来自之前智能体的决策结果。因此,智能体的策略不同,与环境交互所产生的数据分布就不同。

占用度量:归一化的占用度量用于衡量一个智能体决策与一个动态环境的交互过程中,采样到一个具体的状态动作对的概率分布。

给定两个策略及其与一个动态环境交互得到的两个占用度量,那么当且仅当这两个占用度量相同时,这两个策略相同。

强化学习的策略在训练中会不断更新,其对应的数据分布也会相应地改变,所以一大难点在于:智能体看到的数据分布是随着智能体的学习而不断发生改变的。

一个策略对应的价值其实就是一个占用度量下对应的奖励的期望,因此寻找最优策略对应着寻找最优占用度量。

最优策略=$\arg\max_{策略}E_{(状态,动作)~策略的占用度量}[奖励函数(状态,动作)]$

,即将最大化价值转化成奖励函数在策略的占用度量上的期望。

强化学习和有监督学习的相似点和不同点:

  • 相似点:优化目标相似,都是优化某个数据分布下的一个分数值期望。
  • 不同点:优化途径不同,有监督学习直接通过优化模型对于数据特征的输出来优化目标,即修改目标函数而数据分布不变;强化学习通过改变策略来调整智能体和环境交互数据的分布,进而优化目标,即修改数据分布而目标函数不变。即强化学习关注寻找一个智能体策略,使其在与动态环境交互的过程中产生最优的数据分布,即最大化该分布下一个给定奖励函数的期望。

标签:动作,环境,学习,智能,数据分布,初探,强化,交互
From: https://www.cnblogs.com/fansoflight/p/17146846.html

相关文章

  • 学习产品纲要
    1.熟练掌握神策分析常用基础指标配置1.1基本概念指标:具体的数值,如访客,页面浏览量,停留时长等计数指标:访客、访问、展示和点击、页面浏览量、停留时长等复合指标:跳出......
  • 如何开始在Java软件技术培训机构学习
    现在不少年轻人看到Java工程师的发展前景后,都想从事这方面的工作,而想要进入这个行业首先需要具备的就是掌握Java相关的专业技术,但是,绝大多数的同学仅仅是有这个想法,而能力......
  • 深度学习-RNN
    目录I.前言介绍RNN的概念和应用II.RNN基础RNN的概念和结构RNN的前向传播和反向传播算法前向传播算法反向传播RNN的变种:LSTM和GRULSTMGRUIII.RNN的应用自然语言处理中的RN......
  • 实际压测学习记录一
    一、数据库连接数是否够使用nestat-pan|grep3306查看第三列存在非0 就是表示发送队列有数据,也就是服务给mysql发数据时,还没有发出去的数据。一般是指mysql有瓶颈......
  • 2.22学习总结
    今天学习的东西比较多,所以发博客时间比较晚今天学习了Androidstudio的几个控件:TextView、Button、EditText、ImageView、ProgressBar、Notification等控件,对于A......
  • Android学习——控件TextView
    1.基本2.带阴影的3.跑马灯效果......
  • Docker 快速学习手册及相关笔记 附带一些问题解决方案
    参考与前言Docker官方教程【英文】:https://docs.docker.com/get-started/WindowsDocker安装|菜鸟教程(runoob.com)Docker教程|菜鸟教程Docker并非是一个......
  • JVM基础学习笔记
    JDK、JRE、JVM的区别:三层的嵌套关系。JDK>JRE>JVM1、JDK:编译Java源码,生成Java字节码。/bin包含:(1)、java:启动JVM,运行Java程序(2)、javac:Java的编译器,将Java源......
  • 2月22日javaweb学习之Maven
    Maveb是专门用于管理和构建java项目的工具,它的主要功能有:1.提供一套标准化的项目结构。2.提供一套标准化的构建流程(编译、测试、打包、发布......)3.提供了一套依赖管理......
  • 2.22学习体会
    今天学习了增和删,查还出了一点错误。<%@pageimport="dailysummer.Main"%><%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8......