深度神经网络——什么是深度强化学习?

news2024/10/6 4:03:56

除了无监督机器学习和监督学习之外,人工智能创造的另一种常见形式是强化学习。除了常规的强化学习之外, 深度强化学习 由于它结合了深度学习和强化学习的最佳方面,因此可以带来令人惊讶的令人印象深刻的结果。让我们具体看看深度强化学习是如何运作的。

在我们深入研究深度强化学习之前,最好先回顾一下如何定期进行强化学习。 强化学习作品。 在强化学习中,面向目标的算法是通过反复试验的过程来设计的,优化导致最佳结果的行动/获得最多“奖励”的行动。 当强化学习算法被训练时,它们会受到“奖励”或“惩罚”,这些“奖励”或“惩罚”会影响它们未来采取的行动。 算法试图找到一组能为系统提供最大奖励的行动,平衡当前和未来的奖励。

强化学习算法非常强大,因为它们几乎可以应用于任何任务,能够灵活、动态地从环境中学习并发现可能的动作。

深度强化学习概述


当谈到深度强化学习时,环境通常用图像来表示。 图像是特定时间点环境的捕捉。 代理必须分析图像并从中提取相关信息,使用这些信息来告知他们应该采取哪些行动。 深度强化学习通常使用两种不同技术之一进行:基于价值的学习和基于策略的学习。

基于价值的学习技术利用卷积神经网络等算法和架构 深Q网络。 这些算法通过将图像转换为灰度并裁剪掉图像中不必要的部分来进行操作。 然后,图像经过各种卷积和池化操作,提取图像中最相关的部分。 然后使用图像的重要部分来计算代理可以采取的不同操作的 Q 值。 Q 值用于确定代理的最佳行动方案。 计算出初始 Q 值后,将进行反向传播,以便确定最准确的 Q 值。

当代理可以采取的可能操作数量非常多时(这通常是现实场景中的情况),则使用基于策略的方法。 此类情况需要不同的方法,因为计算所有单独操作的 Q 值并不实用。 基于策略的方法无需计算单个操作的函数值即可运行。 相反,他们通常通过称为策略梯度的技术直接学习策略来采用策略。

策略梯度通过接收状态并根据代理的先前经验计算操作概率来进行操作。 然后选择最可能的动作。 重复这个过程直到评估期结束并向代理给予奖励。 在代理处理完奖励后,网络参数将通过反向传播进行更新。

什么是 Q 学习?

计划 Q学习 是深度强化学习过程中如此重要的一部分,让我们花一些时间来真正了解 Q-learning 系统的工作原理。

马尔可夫决策过程

为了让人工智能代理执行一系列任务并达到目标,代理必须能够处理一系列状态和事件。 代理将从一个状态开始,必须采取一系列操作才能达到最终状态,并且开始状态和最终状态之间可能存在大量状态。 存储有关每个状态的信息是不切实际或不可能的,因此系统必须找到一种方法来仅保留最相关的状态信息。 这是通过使用 马尔可夫决策过程,它仅保留有关当前状态和先前状态的信息。 每个状态都遵循马尔可夫属性,该属性跟踪代理如何从先前状态更改为当前状态。

深度 Q 学习

一旦模型能够访问有关学习环境状态的信息,就可以计算 Q 值。 Q 值是在一系列操作结束时给予代理的总奖励。

Q 值是通过一系列奖励来计算的。 有一个即时奖励,根据当前状态并根据当前操作进行计算。 还计算后续状态的 Q 值以及之后状态的 Q 值,依此类推,直到计算出不同状态的所有 Q 值。 还有一个 Gamma 参数,用于控制未来奖励对代理行为的权重。 策略通常是通过随机初始化 Q 值并让模型在训练过程中收敛到最佳 Q 值来计算的。

深度 Q 网络

涉及的基本问题之一是 Q-学习的使用 对于强化学习来说,存储数据所需的内存量随着状态数量的增加而迅速扩大。 深度 Q 网络通过将神经网络模型与 Q 值相结合来解决这个问题,使代理能够从经验中学习并对要采取的最佳行动做出合理的猜测。 通过深度 Q 学习,Q 值函数通过神经网络进行估计。 神经网络将状态作为输入数据,网络输出代理可能采取的所有不同可能动作的 Q 值。

深度 Q 学习是通过将所有过去的经验存储在内存中,计算 Q 网络的最大输出,然后使用损失函数计算当前值与理论最高可能值之间的差异来完成的。

深度强化学习与深度学习

深度强化学习和常规深度学习之间的一个重要区别是,前者的输入不断变化,而传统深度学习则不然。 学习模型如何解释不断变化的输入和输出?

本质上,为了解释预测值和目标值之间的差异,可以使用两个神经网络而不是一个。 一个网络估计目标值,而另一个网络负责预测。 经过选定次数的训练迭代后,目标网络的参数会随着模型的学习而更新。 然后将各个网络的输出连接在一起以确定差异。

基于政策的学习

基于政策的学习 方法的运作方式与基于 Q 值的方法不同。 虽然 Q 值方法创建了一个预测状态和操作奖励的价值函数,但基于策略的方法确定了将状态映射到操作的策略。 换句话说,选择动作的策略函数是直接优化的,而不考虑价值函数。

政策梯度

深度强化学习的策略属于两类之一:随机或确定性。 确定性策略是将状态映射到操作的策略,这意味着当向策略提供有关状态的信息时,将返回操作。 同时,随机策略返回操作的概率分布,而不是单个离散操作。

当可以采取的行动的结果不存在不确定性时,使用确定性策略。 换句话说,当环境本身是确定性的时。 相反,随机政策输出适用于行动结果不确定的环境。 通常,强化学习场景涉及一定程度的不确定性,因此使用随机策略。

与 Q 学习方法相比,策略梯度方法有一些优点,但也有一些缺点。 就优点而言,基于策略的方法更快、更可靠地收敛于最优参数。 可以遵循策略梯度,直到确定最佳参数为止,而使用基于值的方法,估计动作值的微小变化可能会导致动作及其相关参数的巨大变化。

策略梯度对于高维行动空间也更有效。 当需要采取的可能动作数量非常多时,深度 Q 学习就变得不切实际,因为它必须为所有时间步长的每个可能动作分配分数,而这在计算上可能是不可能的。 然而,使用基于策略的方法,参数会随着时间的推移而调整,并且随着模型收敛,可能的最佳参数的数量会迅速减少。

与基于价值的政策不同,政策梯度还能够实施随机政策。 由于随机策略产生概率分布,因此不需要实现探索/利用权衡。

就缺点而言,策略梯度的主要缺点是它们在搜索最优参数时可能会陷入困境,只关注一组狭窄的局部最优值,而不是全局最优值。

政策评分函数

用于优化模型性能目标的策略 最大化得分函数 – J(θ)。 如果 J(θ)是衡量我们的政策对于实现预期目标有多好的指标,我们可以找到“θ”这给了我们最好的政策。 首先,我们需要计算预期的政策奖励。 我们估算政策奖励,以便我们有一个目标,可以优化的目标。 策略评分函数是我们计算预期策略奖励的方式,常用的策略评分函数有多种,例如:情景环境的起始值、连续环境的平均值以及每个时间步的平均奖励。

政策梯度上升

梯度上升的目的是移动参数,直到它们处于得分最高的位置。 照片:公共领域(https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)

使用所需的策略评分函数并计算出预期的策略奖励后,我们可以找到参数“θ”最大化得分函数。 为了最大化得分函数 J(θ),一种称为“梯度上升“ 用来。梯度上升在概念上与深度学习中的梯度下降类似,但我们正在针对最陡的增加而不是减少进行优化。这是因为我们的分数不是“错误”,就像许多深度学习问题一样。我们的分数是我们想要最大化的。称为策略梯度定理的表达式用于估计策略的梯度“θ“。

深度强化学习总结

总之,深度强化学习结合了强化学习和深度神经网络的各个方面。 深度强化学习是通过两种不同的技术完成的:深度 Q 学习和策略梯度。

深度 Q 学习方法旨在预测在给定状态下采取的某些行动将带来哪些奖励,而策略梯度方法旨在优化行动空间,预测行动本身。 基于策略的深度强化学习方法本质上要么是确定性的,要么是随机性的。 确定性策略将状态直接映射到操作,而随机策略则生成操作的概率分布。

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

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

相关文章

李廉洋:6.6黄金原油怎么看?今日行情分析及最新策略。

黄金消息面分析:美指走强未能抑制金价升势。黄金价格大幅上涨,在美国公布喜忧参半的经济数据后,金价与周二的走势发生180度大转弯,这些数据可能保证美联储设定的借贷成本降低。美国10年期基准国债收益率下跌3个基点,至…

项目进度管理必备:15款最佳项目进度跟踪工具推荐

15好用的款主流项目进度管理软件:PingCode、Worktile、Trello、Tower、Asana、Smartsheet、Teambition、ClickUp、Wrike、Monday.com、Notion、禅道、飞书、云效、蓝凌。 严格的进度管理有助于更好地控制项目进展,提升团队效率,最终实现项目成…

Android音频进阶之1.0到14.0音频焦点变化(七十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…

小白学linux | 使用正则表达式审计ssh登录ip地址

Ubuntu /var/log/auth.log记录了所有与身份验证相关的事件,包括SSH登录尝试 grep -i "failed password" /var/log/auth.log | \awk {if($11 ~/^[0-9]\.[0-9]\.[0-9]\.[0-9]$/)print $11 ; else print $13} | \uniq -c | sort -nr -k1 RedHat系发行版 /va…

MK米客方德 SD NAND与文件系统:技术解析与应用指南

随着数字存储技术的飞速发展,SD NAND(贴片式T卡)已成为我们日常生活中不可或缺的存储工具。我们将深入探讨SD NAND的文件系统,特别是SD 3.0协议支持的文件系统类型,以及它们在实际应用中的作用和用户可能遇到的问题。 MK米客方德的…

微前端之旅:探索Qiankun的实践经验

theme: devui-blue 什么是微前端? 微前端是一种前端架构方法,它借鉴了微服务的架构理念,将一个庞大的前端应用拆分为多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用联合为一个完…

[pixi.js] 入门简单案例 简易时钟

老实说pixi虽然之前拿来做个几个简单的游戏,但是是好久前的了,又忘了,现在算是重新入门。 官网版本已经更新到v8去了,而react相关的pixi库pixi-react 虽然支持react18 但还是v6-v7的版本,既然已经看了v8的文档&#xf…

解决富文本中抖音视频无法播放的问题——403

问题 富文本中的抖音视频无法播放,资源状态码是403禁止访问打开控制台,可以看到在项目中打开,数据请求的请求头多了一个Referer: http://localhost:3000/而复制链接在新窗口直接打开,请求头中并不会携带Referer 解决方案 在ind…

书客护眼大路灯Sun再次引领先锋,守护青少年视力健康!

在这个信息化高速发展的时代,我们的眼睛承受着前所未有的压力。每年的护眼日,不仅是提醒我们关注眼睛健康的时刻,更是全社会共同努力,为青少年营造健康用眼环境的契机。 “守护明亮视界,预防近视从我做起”。随着国内青…

【Vue2源码学习分析】

# 文件结构 源码目录 # 调试环境搭建 安装依赖: npm i安装rollup: npm i -g rollup修改dev脚本,添加sourcemap,package.json "dev": "rollup -w -c scripts/config.js --sourcemap --environment TARGET:web- full-dev",运行开发命令…

SkyWalking之P0业务场景输出调用链路应用

延伸扩展:XX业务场景 路由标签打标、传播、检索 链路标签染色与传播 SW: SkyWalking的简写 用户请求携带HTTP头信息X-sw8-correlation “X-sw8-correlation: key1value1,key2value2,key3value3” 网关侧读取解析HTTP头信息X-sw8-correlation,然后通过SW…

Linux网络编程:网络层协议|IP

目录 前言: 1.IP协议 1.1.IP协议格式 1.2.网段划分 1.2.1.知识引入 1.2.2.IP地址划分和子网掩码 1.3.IP地址分类 1.3.1.特殊IP地址 ​编辑 1.3.2.私有IP和公网IP 1.3.3.浅谈NAT技术 1.4.路由 1.4.1.什么是路由 1.4.2.路由表 1.5.网络层数据切片和组装…

Allegro导入DXF文件

阿里狗导入DXF文件 点击File–>Import–>DXF,注意DXF file那边不能使用中文路径和文件名以及非法字符,DXF units一般为mm,结构那边一般都用mm制作图,右边三个选项只需要勾选中间那个,意思是以增加的形式导入&am…

jail管理器CBSD实践@FreeBSD

CBSD介绍 CBSD是为FreeBSD jail子系统、bhyve、QEMU/NVMM和Xen编写的管理层。该项目定位为一个综合解决方案的单一集成工具,用于使用预定义的软件集以最少的配置快速构建和部署计算机虚拟环境。 虽然CBSD没有提供额外的操作系统级功能,但它极大地简化了…

Codeforces Round 951 (Div. 2) F. Kostyanych‘s Theorem(思维题 交互好题)

题目 交互题&#xff0c;n&#xff08;n<1e5&#xff09;个点的完全图&#xff0c;无向的&#xff0c;初始恰好删了n-2条边 每次询问可以输入一个d&#xff1a;? d 交互器会输出一个当前度>d的点v&#xff0c; 如果有多个这样的点&#xff0c;输出度最小的&#xff…

搭建自己的DNS服务器

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

STM32-呼吸灯仿真

目录 前言: 一.呼吸灯 二.跑马灯 三. 总结 前言: 本篇的主要内容是关于STM32-呼吸灯的仿真,包括呼吸灯,跑马灯的实现与完整代码,欢迎大家的点赞,评论和关注. 接上http://t.csdnimg.cn/mvWR4 既然已经点亮了一盏灯,接下来就可以做更多实验了, 一.呼吸灯 在上一个的基础上…

Informer

I n f o r m e r Informer Informer 摘要&#xff1a; 长序列时间序列的预测 i n f o r m e r informer informer优点&#xff1a; P r o b s p a r e Probspare Probspare自关注机制&#xff0c;在时间复杂度和内存使用方面达到 O ( N l o g N ) O(NlogN) O(NlogN),在序列依…

plsql 实现自动补全语句

1.打开plsql程序所在文件目录 2.在此目录下新建文件auto_complete.txt &#xff08;文件名随便起&#xff09; 3.在auto_complete.txt 中写入关系对应&#xff1a; 4.在配置-首选项-用户界面-编辑器 中引入auto_complete.txt 即可 5.开一个sql窗口&#xff0c;输入sf 后敲个…

hadoop部署hive

1.安装mysql数据库 这里采用docker部署mysql,如果没有安装docker #安装yum工具 yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken #设置docker镜像源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/…