【深度学习】强化学习(一)强化学习定义

news2024/10/2 22:14:35

文章目录

  • 一、强化学习问题
    • 1、交互的对象
      • 1. 智能体(Agent)
      • 2. 环境(Environment)
    • 2、强化学习的基本要素
      • 1. 状态 𝑠
      • 2. 动作 𝑎
      • 3. 策略 𝜋(𝑎|𝑠)
      • 4. 状态转移概率 𝑝(𝑠′|𝑠, 𝑎)
      • 5. 即时奖励 𝑟(𝑠, 𝑎, 𝑠′)
    • 3、策略(Policy)
      • 1. 确定性策略(Deterministic Policy)
      • 2. 随机性策略(Stochastic Policy)
      • 3. 选择随机性策略的优点

一、强化学习问题

  强化学习的基本任务是通过智能体与环境的交互学习一个策略,使得智能体能够在不同的状态下做出最优的动作,以最大化累积奖励。这种学习过程涉及到智能体根据当前状态选择动作,环境根据智能体的动作转移状态,并提供即时奖励的循环过程。

1、交互的对象

  在强化学习中,有两个可以进行交互的对象:智能体环境:

1. 智能体(Agent)

  智能体是具有感知、学习和决策能力的实体。它能感知来自环境的状态(State),并根据学到的策略(Policy做出不同的动作,其目标是通过与环境的交互获得最大的累积奖励(Reward)

  • 感知外界环境的状态和奖励:

    • 智能体能够感知环境的状态,也就是获取关于环境当前情况的信息。
    • 智能体还可以接收来自环境的即时奖励,即环境对智能体当前行为的反馈。
  • 学习功能:

    • 智能体能够根据环境的反馈(奖励信号)来调整自己的策略。
    • 学习的目标通常是最大化累积奖励,使智能体能够在与环境的交互中表现得更加智能。
  • 决策功能:

    • 智能体通过决策来做出动作(即智能体对环境做出的响应),其目标是产生对环境有利的结果,即最大化奖励。

2. 环境(Environment)

  环境包括智能体外部的一切事物,是智能体所处的背景。环境的状态可能随着智能体的动作而改变,并且会提供奖励或惩罚,用于反馈智能体的行为。

  • 外部事物:

    • 环境是智能体外部的一切事物,包括所有与智能体进行交互的元素。
    • 可以是虚拟环境(例如计算机模拟的游戏场景)或真实环境(例如机器人在现实世界中的移动)。
  • 状态的改变:

    • 智能体的动作会影响环境的状态,导致环境发生变化。
    • 这种状态的变化反过来会影响智能体在未来做出的决策。
  • 奖励的反馈:

    • 智能体的动作不仅会改变环境的状态,还会导致环境给予智能体一个奖励信号。
    • 奖励信号是智能体学习过程中的关键反馈,用于调整智能体的行为。

  通过智能体与环境之间的这种相互作用,智能体通过学习和不断调整其决策策略,逐渐学会在给定环境中获得最大化奖励的有效行为,这就是强化学习的基本框架。
在这里插入图片描述

2、强化学习的基本要素

  强化学习涉及到智能体与环境的交互,其基本要素包括状态、动作、策略、状态转移概率和即时奖励。

1. 状态 𝑠

  • 定义: 状态是对环境的描述,可以是离散的或连续的,用来表示智能体所处的环境情境。

  • 状态空间: 状态的集合构成状态空间,通常表示为 𝒮。

    • 状态空间描述了所有可能的环境状态。

2. 动作 𝑎

  • 定义: 动作是对智能体行为的描述,可以是离散的或连续的。

    • 智能体通过选择动作来影响环境。
  • 动作空间: 动作的集合构成动作空间,通常表示为 𝒜。

    • 动作空间描述了所有可能的智能体行为。

3. 策略 𝜋(𝑎|𝑠)

  • 定义: 策略是一个函数,用来描述智能体在给定状态下选择不同动作的概率。
    • 即𝜋(𝑎|𝑠) 表示在状态 𝑠 下选择动作 𝑎 的概率。

4. 状态转移概率 𝑝(𝑠′|𝑠, 𝑎)

  • 定义: 状态转移概率描述了在智能体在状态 𝑠 下执行动作 𝑎 后,环境转移到下一个状态 𝑠′ 的概率。

5. 即时奖励 𝑟(𝑠, 𝑎, 𝑠′)

  • 定义: 即时奖励是一个标量函数,表示在智能体在状态 𝑠 执行动作 𝑎 后,环境反馈给智能体的奖励。
    • 这个奖励通常与下一个状态 𝑠′ 有关。

3、策略(Policy)

  策略(Policy)就是智能体如何根据环境状态 𝑠 来决定下一步的动作 𝑎(智能体在特定状态下选择动作的规则或分布)。

  策略是智能体学习和决策的核心,它决定了智能体在不同状态下应该采取什么样的行为,它可以是确定性的,也可以是随机性的。确定性策略(Deterministic Policy)直接指定智能体应该采取的具体动作,而随机性策略(Stochastic Policy)则考虑了动作的概率分布,增加了对不同动作的探索

1. 确定性策略(Deterministic Policy)

  • 定义: 确定性策略是指从状态空间到动作空间的映射函数,即给定某个状态,智能体会选择一个确定的动作。
  • 映射函数: 用符号 𝜋: 𝒮 → 𝒜 表示,表示策略将状态映射到唯一的动作。
  • 数学表示:
    确定性策略: π ( a ∣ s ) ≡ μ ( s ) \text{确定性策略:} \quad \pi(a|s) \equiv \mu(s) 确定性策略:π(as)μ(s)
    其中, μ ( s ) \mu(s) μ(s) 是一个确定性映射,将状态 s s s 映射到相应的动作 a a a

2. 随机性策略(Stochastic Policy)

  • 定义: 随机性策略表示在给定环境状态时,智能体选择某个动作的概率分布。
  • 随机性策略引入了随机性,即相同状态下可能选择不同的动作。
  • 数学表示: 用符号 𝜋(𝑎|𝑠) 表示,在状态 𝑠 下选择动作 𝑎 的概率
    随机性策略: π ( a ∣ s ) ≡ p ( a ∣ s ) \text{随机性策略:} \quad \pi(a|s) \equiv p(a|s) 随机性策略:π(as)p(as)
    其中, p ( a ∣ s ) p(a|s) p(as) 是在状态 s s s 下选择动作 a a a 的概率分布,且满足概率分布的性质:
    ∑ a ∈ A π ( a ∣ s ) = 1 \sum_{a \in \mathcal{A}} \pi(a|s) = 1 aAπ(as)=1
  • 随机性策略允许智能体在相同的状态下以不同的概率选择不同的动作,使得智能体在探索和利用之间能够找到平衡

3. 选择随机性策略的优点

  • 更好的探索性:
    • 引入一定的随机性有助于智能体更好地探索环境。
    • 在学习阶段,智能体可能通过尝试不同的动作来发现潜在的高奖励路径。
  • 多样性的动作:
    • 随机性策略使得智能体在相同的状态下选择多样的动作。
    • 这对于博弈等多智能体场景中非常重要,因为确定性策略可能会导致对手能够准确预测智能体的行为。
  • 避免易被预测:
    • 采用确定性策略的智能体对相同的状态会做出相同的动作,这使得其策略相对容易被对手预测。
    • 随机性策略的引入增加了对手对智能体行为的不确定性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1293460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

elk(filebeat)日志收集工具

elk(filebeat)日志收集工具 elk:filebeat日志收集工具 和logstash相同 filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小得多 filebeat可以运行在非Java环境。他可以代理logstash在…

ArcGIS Pro中怎么设置标注换行

在ArcGIS Pro中进行文字标注的时候,如果标注的字段内容太长,直接标注的话会不美观,而且还会影响旁边的标注显示,这里为大家介绍一下在ArcGIS Pro中设置文字换行的方法,希望能对你有所帮助。 数据来源 本教程所使用的…

【UE5】瞬移+马赛克过渡效果

效果 步骤 1. 新建一个工程,创建一个Basic关卡 2. 添加第三人称游戏资源到内容浏览器 3. 新建一个材质,这里命名为“M_Pixel” 打开“M_Pixel”,设置材质域为“后期处理” 在材质图表中添加如下节点 此时效果如下,已经有马赛克的…

JVM 命令行监控及诊断工具

面试题 你使用过Java虚拟机性能监控和故障处理工具吗?(美图) 怎么打出线程栈信息。(字节跳动) JVM诊断调优工具用过哪些? (京东) 怎么获取 Java 程序使用的内存?堆使用…

Django模板,Django中间件,ORM操作(pymysql + SQL语句),连接池,session和cookie, 缓存

day04 django进阶-知识点 今日概要: 模板中间件ORM操作(pymysql SQL语句)session和cookie缓存(很多种方式) 内容回顾 请求周期 路由系统 最基本路由关系动态路由(含正则)路由分发不同的app中…

ssh安装和Gitee(码云)源码拉取

文章目录 安装ssh服务注册码云公钥设置码云账户SSH公钥安装git客户端和git-lfs源码获取 安装ssh服务 更新软件源: sudo apt-get update安装ssh服务 sudo apt-get install openssh-server检查ssh是否安装成功 which ssh输出: /usr/bin/ssh启动ssh 服…

『亚马逊云科技产品测评』活动征文|基于亚马逊云EC2搭建PG开源数据库

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器(Elastic Compute Cloud)是亚马…

conda配置不同版本的python及依赖库--conda conda conda

一、conda介绍 Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个不同版本的软件包及其依赖关系,并在它们之间轻松切换。 Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows Conda可以构建不同的环境&#…

时间序列预测实战(二十四)PyTorch实现RNN进行多元和单元预测(附代码+数据集+完整解析)

一、本文介绍 本篇文章给大家带来的是利用我个人编写的架构进行RNN时间序列卷积进行时间序列建模(专门为了时间序列领域新人编写的架构,简单且不同于市面上大家用GPT写的代码),包括结果可视化、支持单元预测、多元预测、模型拟合…

Ubuntu安装nvidia GPU显卡驱动教程

Ubuntu安装nvidia显卡驱动 1.安装前安装必要的依赖 sudo apt-get install build-essential sudo apt-get install g sudo apt-get install make2.到官网下载对应驱动 https://www.nvidia.cn/Download/index.aspx?langcn 3.卸载原有驱动 sudo apt-get remove --purge nvidi…

Attack Lab 【深入理解计算机组成与系统实验】(更新ing)

前情提要:因为图片都很长的原因,up不会调,所以可能看的不舒服,请原谅up,电脑可以缩小至80或者90看会舒服一点,实在抱歉了 实验原理: 本次实验用到的基本上是缓冲区越界,学过c语言的可…

AR + 通信,虚实结合让工作协同从线上到「现场」

在数字经济无所不在的当下,千行百业都与数智化办公接轨并因其实现转型升级。关注【融云 RongCloud】,了解协同办公平台更多干货。 升级的背后,是利用技术把工作用更自然的方式连接起来,让整个工作流协同更顺、体验更好。 而其中…

龙良曲PyTorch入门到实战 深度学习

文章目录 笔记激活函数与Loss的梯度lesson5 手写数字识别问题lesson6 基本数据类型lesson7 创建tensorlesson8 索引和切片lesson9 维度变换lesson10 broadcastinglesson11 分割和合并lesson12 数学运算lesson13 Tensor统计lesson14 Tensor高阶lesson16 什么是梯度lesson17 常见…

postcss-pxtorem实现页面自适应的原理

先声明一点这玩意本身不能实现哈,他只是一个工具,更是一个postcss的插件 帮助我们从px转化成为rem比如我们的代码 div {height: 100px;width: 100px; }经过这个插件转化之后变成 假设变成下面这样哈 div {height: 1rem;width: 1rem; }其他没啥子太大作…

WMMSE方法的使用笔记

标题很帅 原论文的描述WMMSE的简单应用 无线蜂窝通信系统的预编码设计问题中,经常提到用WMMSE方法设计多用户和速率最大化的预编码,其中最为关键的一步是将原和速率最大化问题转化为均方误差最小化问题,从而将问题由非凸变为关于三个新变量的…

【计算机组成体系结构】SRAM和DRAM

RAM — Random Access Memory 随机访问存储器 —指定某一存储单元地址的时候,存储单元的读取速度并不会因为存储单元的物理位置改变 SRAM即为 Static RAM 静态随机访问存储器 — 用于主存DRAM即为 Dynamic RAM 动态随机访问存储器 — 用于Cache 一、SRAM和DRAM的特…

Elasticsearch 8.9 flush刷新缓存中的数据到磁盘源码

一、相关API的handler1、接收HTTP请求的hander2、每一个数据节点(node)执行分片刷新的action是TransportShardFlushAction 二、对indexShard执行刷新请求1、首先获取读锁,再获取刷新锁,如果获取不到根据参数决定是否直接返回还是等待2、在刷新之后transl…

Jquery easyui异步提交表单的两种方式

这篇文章分享一下easyui常用的两种表单异步提交的方式。 目录 第一种:利用ajax提交 $.post() $.ajax() 第二种:使用easyui提供的表单提交方式 首先,准备一个简单的表单,包含三个输入框,在页面引入easyui的js文件。…

使用智能AI文心一言处理采集数据

简数采集器支持调用百度智能AI文心一言大模型API接口,可对采集的数据进行研究分析,内容创作。 文心一言API使用方法如下: 目录 1. 采集数据 2. 申请API 3. 对接文心一言API 4. 设置文心一言API的执行指令 5. 使用文心一言API处理采集数…

苹果mac电脑如何彻底删除卸载软件?

在苹果电脑上安装和使用软件非常容易,但是卸载软件却可能会变得复杂和困难。不像在Windows上,你不能简单地在控制面板中找到已安装的程序并卸载它们。因此,在这篇文章中,我们将讨论苹果电脑怎么彻底删除软件。 CleanMyMac X全新版…