【深度学习】强化学习(六)基于值函数的学习方法

news2024/11/24 11:15:34

文章目录

  • 一、强化学习问题
    • 1、交互的对象
    • 2、强化学习的基本要素
    • 3、策略(Policy)
    • 4、马尔可夫决策过程
    • 5、强化学习的目标函数
    • 6、值函数
    • 7、深度强化学习
  • 二、基于值函数的学习方法

一、强化学习问题

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

1、交互的对象

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

  • 智能体(Agent):能感知外部环境的状态(State)和获得的奖励(Reward),并做出决策(Action)。智能体的决策和学习功能使其能够根据状态选择不同的动作,学习通过获得的奖励来调整策略。

  • 环境(Environment):是智能体外部的所有事物,对智能体的动作做出响应,改变状态,并反馈相应的奖励。

2、强化学习的基本要素

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

  • 状态(State):对环境的描述,可能是离散或连续的。

  • 动作(Action):智能体的行为,也可以是离散或连续的。

  • 策略(Policy):智能体根据当前状态选择动作的概率分布。

  • 状态转移概率(State Transition Probability):在给定状态和动作的情况下,环境转移到下一个状态的概率。

  • 即时奖励(Immediate Reward):智能体在执行动作后,环境反馈的奖励。

3、策略(Policy)

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

  • 确定性策略(Deterministic Policy) 直接指定智能体应该采取的具体动作
  • 随机性策略(Stochastic Policy) 则考虑了动作的概率分布,增加了对不同动作的探索。

上述概念可详细参照:【深度学习】强化学习(一)强化学习定义

4、马尔可夫决策过程

  为了简化描述,将智能体与环境的交互看作离散的时间序列。智能体从感知到的初始环境 s 0 s_0 s0 开始,然后决定做一个相应的动作 a 0 a_0 a0,环境相应地发生改变到新的状态 s 1 s_1 s1,并反馈给智能体一个即时奖励 r 1 r_1 r1,然后智能体又根据状态 s 1 s_1 s1做一个动作 a 1 a_1 a1,环境相应改变为 s 2 s_2 s2,并反馈奖励 r 2 r_2 r2。这样的交互可以一直进行下去: s 0 , a 0 , s 1 , r 1 , a 1 , … , s t − 1 , r t − 1 , a t − 1 , s t , r t , … , s_0, a_0, s_1, r_1, a_1, \ldots, s_{t-1}, r_{t-1}, a_{t-1}, s_t, r_t, \ldots, s0,a0,s1,r1,a1,,st1,rt1,at1,st,rt,,其中 r t = r ( s t − 1 , a t − 1 , s t ) r_t = r(s_{t-1}, a_{t-1}, s_t) rt=r(st1,at1,st) 是第 t t t 时刻的即时奖励。这个交互过程可以被视为一个马尔可夫决策过程(Markov Decision Process,MDP)
在这里插入图片描述

5、强化学习的目标函数

  强化学习的目标是通过学习一个良好的策略来使智能体在与环境的交互中获得尽可能多的平均回报。强化学习的目标函数 J ( θ ) J(\theta) J(θ) 定义如下: J ( θ ) = E τ ∼ p θ ( τ ) [ G ( τ ) ] = E τ ∼ p θ ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ] J(\theta) = \mathbb{E}_{\tau \sim p_{\theta}(\tau)}[G(\tau)] = \mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[\sum_{t=0}^{T-1} \gamma^t r_{t+1}\right] J(θ)=Eτpθ(τ)[G(τ)]=Eτpθ(τ)[t=0T1γtrt+1]其中, θ \theta θ 表示策略函数的参数, τ \tau τ 表示强化学习的轨迹, γ \gamma γ 是折扣率……

  • 这个目标函数表达的是在策略 π θ \pi_{\theta} πθ 下,智能体与环境交互得到的总回报的期望。(这个期望是对所有可能的轨迹进行的)
  • 总回报(Total Return)是对一个轨迹的累积奖励,引入折扣率(Discount Factor)来平衡短期和长期回报。
    • 总回报:对于一次交互过程的轨迹,总回报是累积奖励的和。
    • 折扣回报:引入折扣率,考虑未来奖励的权重。

6、值函数

  在强化学习中,为了评估策略 π \pi π 的期望回报,引入了值函数的概念,包括状态值函数状态-动作值函数
  值函数在强化学习中起到了桥梁的作用,连接了策略、状态和动作的关系。它们是智能体学习和改进的核心工具,使其能够在未知环境中获得最大的累积奖励。

  • 状态值函数 V ( s ) V(s) V(s):表示从状态 s s s 开始,执行策略得到的期望总回报。

  • 状态-动作值函数 Q ( s , a ) Q(s, a) Q(s,a):表示在状态 s s s 下执行动作 a a a 并执行策略得到的期望总回报。

7、深度强化学习

【深度学习】强化学习(五)深度强化学习

二、基于值函数的学习方法

明天……

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

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

相关文章

GeMap:Online Vectorized HD Map Construction using Geometry

参考代码:GeMap 动机与出发点 出了原本针对单点的L1损失,车道线具备的几何结构信息作为监督信息也可以再被挖掘挖掘,像车道线实例中点和点之间的距离与夹角、线与线之间的夹角、不同线上点与点之间的关系都可用来作为监督约束,但…

Redis - RDB与AOF持久化技术

Redis 持久化技术 RDB 是默认持久化方式,但 Redis 允许 RDB 与 AOF 两种持久化技术同时 开启,此时系统会使用 AOF 方式做持久化,即 AOF 持久化技术的优先级要更高。同样的道 理,两种技术同时开启状态下,系…

字符设备驱动开发基础

一. 简介 本文简单了解一下,在字符设备驱动开发开始前对其一些基本认识。简单了解一下,应用程序与驱动的交互原理,以及字符设备驱动开发流程。 二. 字符设备驱动开发流程 1. 在 Linux 中一切皆为文件,驱动加载成功以后会在“…

【教程】制作 iOS 推送证书

​ 目录 证书类型 MAC Key Store 消息推送控制台 制作证书 创建苹果 App ID 使用appuploder制作 .p12文件 创建证书 如需向 iOS 设备推送数据,您首先需要在消息推送控制台上配置 iOS 推送证书。iOS 推送证书用于推送通知,本文将介绍消息推送服务支…

K8S(二)—介绍

K8S的整体结构图 k8s对象 在 Kubernetes 系统中,Kubernetes 对象是持久化的实体。 Kubernetes 使用这些实体去表示整个集群的状态。 具体而言,它们描述了如下信息: 哪些容器化应用正在运行(以及在哪些节点上运行)可…

【Java 进阶篇】Jedis 操作 Hash:Redis中的散列类型

在Redis中,Hash是一种存储键值对的数据结构,它适用于存储对象的多个属性。Jedis作为Java开发者与Redis交互的工具,提供了丰富的API来操作Hash类型。本文将深入介绍Jedis如何操作Redis中的Hash类型数据,通过生动的代码示例和详细的…

Github仓库远程操作——简单版

Github远程操作 github仓库简单的远程操作,更多复杂的功能请参考github官方文档 标题 Github远程操作添加公钥到githubGithub仓库远程操作 远程操作之前,先添加本地的公钥到github 添加公钥到github 创建本地ssh公私钥:使用powershell或者gi…

Kubernetes实战(十三)-使用kube-bench检测Kubernetes集群安全

1 概述 在当今云原生应用的开发中,Kubernetes已经成为标准,然而,随着其使用的普及,也带来了安全问题的挑战。本文将介绍如何使用kube-bench工具来评估和增强Kubernetes集群的安全性。 2 CIS (Center for Internet Security)简介…

DNSLog漏洞探测(三)之XSS漏洞实战

DNSLog漏洞探测(三)之XSS漏洞实战 通过前面的学习,我们已经明白了什么是DNSLog平台,那么DNSLog平台到底能为我们做些什么呢? DNSLog的平台实际使用很长见的一种情况就是针对漏洞无回显的情况,我们通过让受害者的服务器主动发起对…

数据结构之----数组、链表、列表

数据结构之----数组、链表、列表 什么是数组? 数组是一种线性数据结构,它将相同类型的元素存储在连续的内存空间中。 我们将元素在数组中的位置称为该元素的索引。 数组常用操作 1. 初始化数组 我们可以根据需求选用数组的两种初始化方式&#xff…

Docker容器:Centos7搭建Docker镜像私服harbor

目录 1、安装docker 1.1、前置条件 1.2、查看当前操作系统的内核版本 1.3、卸载旧版本(可选) 1.4、安装需要的软件包 1.5、设置yum安装源 1.6、查看docker可用版本 1.7、安装docker 1.8、开启docker服务 1.9、安装阿里云镜像加速器 1.10、设置docker开机自启 2、安…

【Hadoop_05】NN、2NN以及DataNode的工作机制

1、NameNode和SecondaryNameNode1.1 NN和2NN工作机制1.2 Fsimage和Edits解析1.3 CheckPoint时间设置 2、DataNode2.1 DataNode工作机制2.2 数据完整性2.3 掉线时限参数设置 1、NameNode和SecondaryNameNode 1.1 NN和2NN工作机制 思考:NameNode中的元数据是存储在哪…

css选择器介绍

css选择器介绍 01 css概念介绍 用于更改标签的视觉效果 02 css格式 选择器 {属性1&#xff1a;值1&#xff1b;属性2&#xff1a;值2} 03 三种样式 1.内联样式 直接写在标签的style属性中。 优点&#xff1a;简单明显缺点&#xff1a;无法重复使用代码 <img src&quo…

【Amis Low Code 结合FastAPI进行前端框架开发】

官方文档 封装思想 直接复制官网json数据即可开发每个json中的接口由fastapi 转发&#xff08;透传&#xff09;使其开发模式与前端思维一致 基础组件 from amis import Page, Service, App from pydantic import BaseModel, Field from fastapi import FastAPI, Request, …

Node.js 事件循环简单介绍

1.简介 Node.js 事件循环是 Node.js 运行时环境中的一个核心机制&#xff0c;用于管理异步操作和回调函数的执行顺序。它基于事件驱动模型&#xff0c;通过事件循环来处理和派发事件&#xff0c;以及执行相应的回调函数。 Node.js 是单进程单线程应用程序&#xff0c;但是因为…

java版Spring Cloud+Spring Boot+Mybatis之隐私计算 FATE - 多分类神经网络算法测试

一、说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练&#xff0c;并使用该模型对数据进行 多分类预测。 二分类算法&#xff1a;是指待预测的 label 标签的取值只有两种&#xff1b;直白来讲就是每个实例的可能类别只有两种 (0 或者 1)&…

SpringBoot系列之基于Jedis实现分布式锁

Redis系列之基于Jedis实现分布式锁 1、为什么需要分布式锁 在单机环境&#xff0c;我们使用最多的是juc包里的单机锁&#xff0c;但是随着微服务分布式项目的普及&#xff0c;juc里的锁是不能控制分布锁环境的线程安全的&#xff0c;因为单机锁只能控制同个进程里的线程安全&…

独立完成软件的功能的测试(3)

独立完成软件的功能的测试&#xff08;3&#xff09; &#xff08;12.13&#xff09; 执行测试用例 缺陷相关知识 缺陷的定义&#xff1a;软件再使用过程中出现的错误&#xff0c;Bug 评判标准 少功能&#xff0c;需求规格说明书中明确要求的功能功能错误多功能隐性功能错误…

【1.计算机组成与体系结构】流水线技术

目录 1.流水线的定义2.相关参数计算2.1 流水线计算公式2.2 流水线的吞吐率2.3 流水线加速比计算 3.超标量流水线 1.流水线的定义 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的&#xff0c;它们可同时为多条指令…

【FPGA/verilog -入门学习9】verilog基于查找表的8位格雷码转换

本文参考&#xff1a;FPGA杂记5——格雷码转换设计-CSDN博客 1&#xff0c;什么是查表法&#xff0c;做什么用&#xff0c;有什么好处 查找表&#xff08;Look-Up-Table&#xff09; 查找表&#xff0c;简单说&#xff0c;就是一个预先存储好结果的数据表 通过访问这张预先存储…