一、强化学习基本概念

news2024/12/24 1:43:15

一、强化学习基本概念

  • 1.1 何为强化学习?
  • 1.2 强化学习的环境
  • 1.3 强化学习的目标
  • 1.4 强化学习的数据

1.1 何为强化学习?

  强化学习(Reinforcement Learning, RL)是机器通过与环境交互来实现目标的一种计算方法。机器和环境的一轮交互是指:机器在环境中的某一状态下采取一个动作决策,并把该决策应用到环境中,环境发生相应的改变,并将改变产生的奖励值和决策后的下一状态返回给机器。通常交互是迭代进行的,机器的目标是在多轮交互过程中实现奖励最大化(也可能是最小化,取决于奖励函数的设计)。在强化学习中,上述“机器”被描述为智能体( Agent ),与监督学习中的模型不同,强化学习的智能体可以感知环境信息,且能通过决策影响环境,而非单纯给出预测信号。

  强化学习的交互过程如图1-1所示。在每一轮的交互中,智能体感知环境目前所处状态,经过自身计算给出本轮的决策,并将其应用到环境中;环境在智能体做出决策后,产生相应的实时奖励值并发生状态转移。智能体则在下一轮交互中感知到新的环境状态,以此类推,直到任务完成。

在这里插入图片描述

图1-1 强化学习交互过程

  根据描述,智能体有3大关键要素,即感知、决策与奖励。

  • 感知:智能体感知环境状态。
  • 决策:智能体根据当前状态计算出达到目标需要采取的动作的过程。决策策略是智能体智能形式的体现,是不同智能体的核心区别。
  • 奖励:环境根据状态和智能体采取的动作,产生一个标量信号作为奖励反馈。这个标量信号是衡量智能体该轮动作好坏的依据。

面向决策任务的强化学习与面向预测任务的监督学习的区别?

  1. 决策任务往往涉及多轮交互,即序贯决策;而预测任务通常是单论独立任务。
  2. 如果决策也是单轮的,则可以转化为“判别最优动作”的预测任务。
  3. 因为决策是多轮的,所以智能体需要在每轮决策时根据环境变化做出相应改变,因此当前轮带来的最大奖励反馈动作从全局来看不一定是最优的。

1.2 强化学习的环境

  强化学习的智能体是在和一个动态环境的交互过程中玩成序贯决策的。所谓动态环境,即环境会随着某些因素的变化而不断演变,在数学和物理学中,我们称之为随机过程。动态环境在生活中随处可见,例如城市交通、足球比赛、星系运动等。对于随机过程,关键要素即状态以及状态转移的条件概率分布。

  若在环境自身演变的随机过程中加入外来干扰因素,即智能体的动作,那么环境的下一时刻概率分布就将由当前状态和当前状态下智能体动作共同决定,用数学公式可表示为:
下一刻状态 ∼ P ( ⋅ ∣ 当前状态 , 智能体的动作 ) 下一刻状态 \sim \bm{P}(·|当前状态, 智能体的动作) 下一刻状态P当前状态,智能体的动作)

  上式可知,智能体决策的动作应用到环境中,使得环境发生相应的状态改变,而只能提则需要在新的状态下进一步给出决策。

  由此可知,与面向决策任务的智能体进行交互的环境是一个动态随机过程,其未来状态的分布由当前状态和智能体决策的动作共同决定,并且每一轮状态转移都伴随着两方面的随机性:一是智能体决策动作的随机性,二是环境基于当前状态和智能体动作来采取下一刻状态的随机性。

1.3 强化学习的目标

  在上述动态环境下,智能体和环境每次进行交互时,环境会产生相应的奖励信号,往往用标量表示。这个奖励信号是衡量当前动作好坏的标准。整个交互过程每一轮获得的奖励信号可以累加,形成智能体的整体回报(return),好比一盘游戏最后的分数值。根据环境的动态性我们可以知道,即使智能体的策略不变,智能体的初始状态不变,对应获得的奖励也可能不同。因此,在强化学习中,我们关注回报的期望,并将其定义为价值(value),这就是强化学习中智能体学习的优化目标。

  的计算相对复杂,需要对交互过程中每一轮智能体采取的动作的概率分布和环境相应状态转移的概率分布做积分运算。

1.4 强化学习的数据

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

  强化学习中有一个关于数据分布的概念,即占用度量(occupancy measure)。归一化的占用度量用于衡量一个智能体决策与一个动态环境交互过程中,采样到一个具体的状态动作(state-action pair)的概率分布。

  占用度量有一个重要性质:给定两个策略及其与一个动态环境交互得到的两个占用度量,那么当且仅当这两个占用度量相同时,这两个策略相同。也就是说,如果一个智能体的策略有所改变,那么他和环境交互得到的占用度量也会相应改变。

  根据占用度量这一重要性质,我们可以引申到强化学习本质的思维方式:

  1. 强化学习的策略在训练过程中会不断更新,其对应的数据分布(占用度量)也会相应地改变。因此,强化学习的一大难点在于,智能体看到的数据分布是随着智能体的学习而不断发生改变的。
  2. 由于奖励建立在状态动作对之上,一个策略对应的价值其实就是一个占用度量下对应奖励的期望,因此寻找最优策略也对应着寻找最优占用度量

  对于监督学习的任务,我们的目标是找到一个优化函数,使其在训练集上最小化一个给定的损失函数。在训练数据独立同分布的假设下,这个优化目标表示最小化模型在整个数据分布上的泛化误差(genneralization error),简要公式概括如下:
最优模型 = a r g   m i n 模型   E ( 特征,标签 ) ∼ 数据分布 [ 损失函 数 ( 标签,模 型 ( 特征 ) ) ] 最优模型=arg\ min_{模型}\ E_{(特征,标签) \sim 数据分布}[损失函数_{(标签,模型_{(特征)})}] 最优模型=arg min模型 E(特征,标签)数据分布[损失函(标签,模(特征))]

  相比之下,强化学习的最终优化目标是最大化智能体策略在和动态动态环境交互过程中的价值。据1.3可知,策略的价值可以等价转换成奖励函数在策略的占用度量上的期望,即:
最优策略 = a r g   m a x 策略   E ( 状态,动作 ) ∼ 策略的占用度量 [ 奖励函 数 ( 状态,动作 ) ] 最优策略 = arg \ max_{策略}\ E_{(状态,动作)\sim 策略的占用度量}[奖励函数_{(状态,动作)}] 最优策略=arg max策略 E(状态,动作)策略的占用度量[奖励函(状态,动作)]

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

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

相关文章

Spring AI之后,阿里推出Spring Cloud Alibaba AI,接入体验篇——Java也能方便用 AI

阿里推出Spring Cloud Alibaba AI,接入体验篇——Java也能方便用 AI 1.Spring AI2.Spring Cloud Alibaba AI3. 接入体验 1.Spring AI Spring AI 是 Spring 官方社区项目,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring 开发普通…

安装Anaconda找不到旧版本怎么办?

标题Anaconda官网:https://www.anaconda.com/ 对于个人学习使用,不用下载最新版本,使用之前的版本相对还是比较稳定的。所以需要寻找旧版网址。 标题旧版网址:https://repo.anaconda.com/archive/ 里面多种版本选择 然后选择自…

解决前端登录成功之后,往后端发请求携带cookie问题

项目背景: 今天在做伙伴匹配系统: 我现在实现的功能是: 在我登录成功之后,就进入了主页(默认页),在我访问用户页的时候产生的问题 首先说明一下这个Cookie的问题: 我们登录成功…

Django 定义模型执行迁移

1,创建应用 Test/app8 python manage.py startapp app8 2,注册应用 Test/Test/settings.py 3,配置路由 Test/Test/urls.py from django.contrib import admin from django.urls import path, includeurlpatterns [path(app8/, include(a…

SCI一区TOP|徒步优化算法(HOA)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,SO Oladejo受到徒步旅行启发,提出了徒步优化算法(Hiking Optimization Algorithm, HOA)。 2.算法原理 2.1算法思想 HOA灵感来自于…

机器人控制系列教程之Delta机器人动力学分析

动力学简介 机器人动力学分析是已知各运动构件的尺寸参数和惯性参数的情况下,求解末端运动状态与主驱动力矩之间的函数关系。 意义:对并联机器人动力学分析的意义体现在: 为伺服电机的选型提供理论依据;获得动力学参数为目标函数的最优问题做性能评价指标;为高精度控制提…

windows@资源管理器中的地址栏@访问共享文件夹的各种方法@管理共享文件夹

文章目录 资源管理器中的地址栏可以访问什么访问共享文件夹👺UNC路径资源管理器打开共享文件夹纯命令行方式访问共享文件夹 共享文件夹相关操作查看所有已经共享的文件夹👺停止某个文件的共享 共享文件夹的访问控制补充匿名访问问题😊强制启用…

VSCode 自动调整格式失效了 ESLint

ESLint【最新注意2.4.4版本有问题,需退回2.4.2版本就恢复正常了】 参考:vscode自动格式化失效_vscode保存自动格式化失效-CSDN博客

C++内存管理(候捷)第一讲 笔记

内存分配的每一层面 applications可以调用STL,里面会有allocator进行内存分配;也可以使用C 基本工具primitives,比如new, new[], new(), ::operator new();还可以使用更底层的malloc和free分配和释放内存。最底层的是系统调用&…

Android adb logcat日志过滤输出

Android adb logcat日志过滤输出 adb logcat 输出所有Android设备上的日志。 adb logcat *:Error 过滤输出日志级别只为Error的日志。 过滤某些标签或tag,依次执行: adb shell logcat grep | "你的标签或tag" Android Studio level过滤查看各个等级的日志…

数据列表组件-报表

当数据在后端接口查询到&#xff0c;需要在页面展示出来&#xff0c;如果项目有很多report &#xff0c;可以把列表做一个组件 效果如下&#xff1a; js代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8" /><title&g…

大白菜U盘启动工具

大白菜如何u盘启动进winpe装系统大白菜是一款非常实用的U盘启动盘制作工具&#xff0c;可以帮助用户快速地将U盘制作成启动盘&#xff0c;从而方便地进行系统安装、维护和修复等操作。官方网站&#xff1a; 大白菜u盘启动盘制作工具_大白菜u盘装系统_大白菜pe_大白菜官网-首页…

顶级10大AI测试工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Elasticsearch集群部署(下)

目录 上篇&#xff1a;Elasticsearch集群部署&#xff08;上&#xff09;-CSDN博客 七. Filebeat 部署 八. 部署Kafka 九. 集群测试 链接&#xff1a;https://pan.baidu.com/s/1AFXSmDdY5xBb7g35ipKoaw?pwdfa9m 提取码&#xff1a;fa9m 七. Filebeat 部署 为什么用 F…

# Kafka_深入探秘者(9):kafka 集群管理

Kafka_深入探秘者&#xff08;9&#xff09;&#xff1a;kafka 集群管理 一、kafka 集群概述 1、kafka 集群概述&#xff1a; 集群是一种计算机系统&#xff0c;它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上&#xff0c;他们可…

腾讯云函数部署环境[使用函数URL]

使用函数URL 之前使用的是网关API,最近腾讯云的网关API说要关闭了,所以没有办法这里改成函数URL,使用后发现只要不是在浏览器直接访问的情况,函数URL都可以满足! 这里结合腾讯云函数node.js返回自动带反斜杠这篇文章来做说明,比如这里的URL如下: 结合文章腾讯云函数node.js返…

股票分析-20240628

今日关注&#xff1a; 20240626 六日涨幅最大: ------1--------300386--------- 飞天诚信 五日涨幅最大: ------1--------300386--------- 飞天诚信 四日涨幅最大: ------1--------300386--------- 飞天诚信 三日涨幅最大: ------1--------300386--------- 飞天诚信 二日涨幅最…

【软件测试】之自动化测试

&#x1f3c0;&#x1f3c0;&#x1f3c0;来都来了&#xff0c;不妨点个关注&#xff01; &#x1f3a7;&#x1f3a7;&#x1f3a7;博客主页&#xff1a;欢迎各位大佬! 文章目录 什么是自动化测试Selenium介绍什么是SeleniumSelenium的特点工作原理 SeleniumJava环境搭建下载…

springboot城市菜园共享系统-计算机毕业设计源码00524

目 录 摘要 1 绪论 1.1 研究背景与意义 1.2 国内外研究现状和发展趋势 1.3论文结构与章节安排 2 城市菜园共享系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.…

【Linux小命令】一文讲清ldd命令及使用场景

一文讲清ldd命令及使用场景 前言下面进入正题&#xff1a;ldd命令 前言 博主今天ubuntu编译go项目出来的一个可执行文件&#xff0c;放centos运行发现居然依赖于XXlib库。然后我一下就想到两个系统库版本不一致&#xff0c;重编。换系统&#xff0c;导项目&#xff0c;配环境……