强化学习——简单解释

一、说明

        最近 OpenAI 上关于 Q-star 的热议激起了我温习强化学习知识的兴趣。这是为强化学习 (RL) 新手提供的复习内容。

二、强化学习的定义

        强化学习是人类和其他动物用来学习的学习类型。即,通过阅读房间来学习。(从反馈中学习)。让我解释。

        作为一个幼儿,你正在积极地探索你的环境,在这个探索过程中,你采取一些行动,例如,你尝试站起来,你尝试爬行,行走,接触火,吞下泥土,(在那个年龄,我们尝试吞下一切)。我们微笑并做出可爱的鬼脸,这给我们带来了父母的拥抱和微笑的回报。我们可能会大喊大叫、发脾气,这会让我们的父母生气,甚至会导致我们暂停、延迟玩游戏。因此,我们通过我们的行动收到的反馈来学习。这就是你教你的狗行为举止的方式。通过奖励来强化其良好行为,并通过“Nooooo”来阻止不良行为。

        

来源: https: //www.wikihow.com/Teach-Your-Dog-to-Speak

        强化学习 (RL) 是机器学习 (ML) 的一种,涉及从环境收到的反馈进行学习,而不是从标记数据(如监督学习)或数据的固有属性(如无监督学习)中学习。

三、强化学习框架

        强化学习框架涉及多个方面。让我们一一看看:

        强化学习框架的重要元素来源:强化学习:简介,Richard Sutton 和 Andrew G. Barto

        代理人——行动者或决策者

        在强化学习中,学习者被称为“代理”。代理可以是一个软件,也可以是软件和硬件的组合,例如机器人。学习任务中可能有一个或多个代理。

        环境——周围环境或代理人的世界

        代理驻留在“环境”中并在其中导航。“环境”是指与代理交互的外部系统或周围环境。

        来源:抱脸深度强化学习课程

        环境状况

        在任何时候,代理都可以查看完整的配置或其环境的状态。(例如,游戏特定阶段的完整棋盘的快照)。

        在某些强化学习任务中,代理无法看到其环境的整个配置,只能看到其中的一部分(例如,在超级马里奥游戏中,代理(即玩家)无法看到整个环境,只能看到其中的一部分在特定时间。)在这种情况下,我们说智能体看到了来自环境的观察结果。

        报酬

        奖励是智能体在采取行动后从环境收到的反馈。奖励是一个数字。代理的目标是积累最大的累积奖励。

        价值

        价值是智能体从处于特定环境状态并采取特定行动时获得的累积长期奖励。因此,强化学习代理的目标是最大化其价值。

        折扣未来奖励

        对于我们人类来说,有即时的满足感,也有长期的价值。同样,对于 RL 代理来说,它在环境状态下采取行动后会立即收到奖励。并且它期望通过未来采取的行动获得累积的未来奖励(其行动的长期后果(业力,你看)。

        RL 中的折扣因子(Gamma , γ)平衡即时奖励与未来奖励。它通过确定未来奖励的权重来帮助智能体决定在任何状态下采取哪些行动。

        状态转移概率

        状态转换概率是当智能体采取特定动作时从环境的一种状态转移到另一种状态的概率。在这里,我们需要谈谈强化学习中的确定性和随机环境。

        确定性环境是指代理在特定状态下只能采取一个预先确定的操作,并且该操作会将您引导到预先确定的下一个状态。例如,如果你当前的状态是你在学校,那么唯一可能的行动就是学习。

        随机环境是代理可以选择采取多种可能行动之一的环境。每个动作都有一个代理执行的相关概率。例如,你在学校,你有 90% 的概率可以学习,你有 5% 的概率可以做运动,你有 5% 的概率可以和朋友聊天。在随机环境中,状态之间的转换存在不确定性或随机性。

        表示为P ( s '∣ s , a ) 的状态转换概率是在智能体当前处于状态s采取动作a 的情况下转换到状态 ' s ' 的概率。该概率函数捕获特定 RL 任务中代理环境的动态。

        马尔可夫性质

        在强化学习中,我们假设状态表现出马尔可夫性质。马尔可夫性质意味着系统的未来状态仅取决于当前状态和操作,而不取决于之前的事件顺序。这使得对状态转换建模变得更加容易。

        状态值函数 (V(s))

        状态价值函数V ( s ) 计算代理可以从给定状态s并采取后续行动中获得的预期累积奖励(回报或价值)。即,它衡量代理的状态价值。

        动作值函数 (Q(s, a))

        动作价值函数Q ( s , a ) 计算智能体从处于状态s、采取动作a,然后遵循特定的动作序列(策略)可以获得的预期累积奖励(回报或价值) 。它衡量在给定状态下采取特定行动的质量。

价值函数和行动价值函数帮助智能体决定进入什么状态以及采取什么行动来最大化其整体奖励。

四、笔记 

        成功的代理人是实现其目标的代理人。代理的目标是最大化其长期奖励(价值/回报)。为了实现其目标,智能体需要学习在其环境中的每个连续状态下采取最佳行动(一系列最佳/最佳行动)。最佳的行动序列是最大化累积奖励的行动序列。因此,RL 的重点是让智能体了解每一步要采取什么行动来实现其目标。关于每一步要采取什么行动的知识称为策略。

        政策

        策略(π)定义了代理用来决定在不同状态下采取哪些操作的策略或规则。它本质上是从状态到动作的映射。有两种类型的政策:

  • 确定性策略 ( π ( s )→ a ):在确定性策略中,对于每个状态,该策略精确指定要采取的一个操作。
  • 随机策略 ( π ( a ∣ s )):在随机策略中,对于每个状态,该策略定义了许多可能操作的概率分布。

        状态价值函数和行动价值函数经常用于 Q-learning 和 SARSA 等算法中,而策略在 RL 中的策略梯度方法和行动者批评方法中发挥着核心作用。

        代理必须在其环境中学习自身的最优策略。即,它需要学习在不同环境状态下的多个时间步长采取的最佳行动顺序。

        “学习”是指学习如何就在环境中采取什么行动做出正确的决策顺序。这种学习是通过从环境收到的反馈与环境交互来实现的。

        从命中和尝试开始,智能体采取行动,如果行动好,智能体会收到奖励形式的反馈,如果行动不好,智能体会受到环境的惩罚。代理的目标是最大化其累积奖励。这很像一个幼儿通过跌倒和爬起来来学习走路。或者一只狗从父母的对待或责骂中学习表现良好。

        其中心思想是让代理探索其环境,从其行为的后果中学习,并调整其行为以实现特定目标。

        因此,代理可以从随机策略开始,随机采取任何可能的动作,然后根据获得的奖励的比较,下次调整其策略。迭代细化一直持续到智能体学会了最佳的动作序列,从而在其环境中获得最大的奖励。(政策优化)。

        解决强化学习问题的两种方法是基于策略的方法和基于价值的方法。

        在基于策略的方法中,代理学习针对每种环境状态的一组可能操作的概率分布。在基于价值的方法中,代理学习一个价值函数,该函数将状态映射到该状态的期望值,然后根据贪婪策略采取行动(进入最高价值的状态)。

        政策迭代

        策略迭代是一种用于寻找最优策略的迭代方法。关键思想是交替执行两个步骤:政策评估和政策改进。

        政策评估

  • 在策略评估步骤中,评估当前策略以估计其值(),即当前策略下每个状态的预期回报。此步骤涉及迭代更新状态值,直到它们收敛到准确表示当前政策下每个状态的预期回报的稳定值。

        政策改进:

  • 在策略改进步骤中,策略被更新为相对于当前价值函数更加贪婪。考虑到在策略评估步骤中获得的估计值,选择每个状态的操作以最大化预期回报。然后将更新后的策略用于下一轮策略评估,并重复该过程。

        策略迭代将持续进行,直到策略在策略改进步骤中不再发生变化。至此,国家价值观和政策已经收敛到最优值。

五、基于模型和无模型的强化学习

        有两种不同的方法来学习代理的最佳策略,具体取决于代理是否具有环境模型。

        基于模型的强化学习

        在基于模型的强化学习中,代理构建环境的内部模型(马尔可夫决策过程,MDP)。该模型包括有关环境中可用状态、代理可能采取的操作、状态转换概率、奖励函数、未来奖励的折扣因子的信息。代理使用其学习的模型来模拟未来可能的场景,并根据这些模拟来计划其行动。代理通过根据其内部模型选择预计会产生有利结果的行动来做出决策。模型中的不准确可能会导致性能不佳。

        无模型强化学习:

        在无模型强化学习中,代理直接与环境交互,无需显式构建模型。代理不是学习环境的动态,而是通过反复试验来学习策略(策略)或价值函数(预期累积奖励)。

        无模型强化学习的关键步骤包括:

  • 探索:智能体通过采取行动来探索环境并观察结果。
  • 策略或价值函数学习:代理学习将行为与期望的结果关联起来,而无需显式地对环境进行建模。这可能涉及 Q 学习、SARSA 或策略梯度方法等技术。
  • 适应:代理根据观察到的奖励调整其策略,不断改进其决策。

        无模型强化学习在处理复杂和未知的环境方面更加灵活,但可能需要更多的探索才能发现有效的策略。

        这些方法之间的选择通常取决于问题的特征以及环境的准确模型的可用性。

        时间差分学习(TD Learning)

        时间差分(TD)学习用于训练智能体在动态环境中做出决策。它是一种无模型强化学习,代理可以从其经验中学习,而不需要环境模型。TD 学习涉及根据未来奖励的预测值和观察值之间的差异来更新价值估计。

        预测值是学习算法对某些状态或状态-动作对估计的值( Vs)或Qsa ))。真正的价值是通过与环境的相互作用获得的。在某个状态采取行动后,代理会收到奖励并转换到新状态。观察到的奖励和结果状态构成了真实值。学习算法通过将预测与实际结果进行比较来调整其预测,旨在随着时间的推移减少差异并改进决策。

        时间差异误差是预测值与真实值之间的差异,用于迭代更新预测值。更新基于当前时间步的预测值与观察到的奖励和下一时间步的预测值的组合之间的差异。

        例如,在 TD(0) 学习中,状态值函数V ( st ​) 的更新公式可能如下所示:V ( st ​)← V ( st ​)+ α [ Rt +1​+ γV ( st +1​)− V ( st ​)] 这里,α是学习率,Rt +1​是观察到的奖励,γ是折扣因子,V ( st +1​) 是下一个状态的预测值。

六、Q-学习

        Q-learning 是一种无模型 RL 算法,用于为给定的有限马尔可夫决策过程 (MDP) 寻找最优策略(为智能体提供最大奖励的策略)。Q-learning 首先估计在特定状态下采取特定行动的质量,并根据观察到的奖励更新这些估计。该算法是离策略的,这意味着它在遵循另一个(探索性)策略的同时学习单独的策略(Q 函数)。

        Q-learning的更新规则为:

        Q ( s , a )← Q ( s , a )+ α [ R + γ max ​Q ( s ′, a )− Q ( s , a )]

        这里,Q ( s , a ) 是在状态s下采取动作a的估计质量,R是观察到的奖励,γ是折扣因子,s ' 是下一个状态,α是学习率。

        深度 Q 学习(深度 Q 网络 (DQN))

        深度 Q 网络将 Q 学习与深度神经网络(深度 Q 学习)相结合,使算法能够处理具有大量状态的 RL 环境,例如图像。DQN 使用神经网络来近似 Q 函数。DQN 使用经验重放,其中过去的经验存储在重放缓冲区中,并在训练期间随机采样以打破数据中的相关性。

        DQN中的损失函数定义为:

        损失=E[( Q ( s , a )−( R + γ max a ′​ Q ( s ′, a ′)))2]

        网络经过训练,可以通过调整其参数来最小化这种损失。

        Q*(Q 星)

        Q*旨在找到最优动作价值函数Q*(s, a),它表示在状态“s”下采取动作“a”然后遵循最优策略可以获得的最大预期累积奖励。

        SARSA(状态-行动-奖励-行动-状态)

        SARSA 是另一种无模型强化学习算法。与 Q-learning 不同,SARSA 是一种在策略算法,这意味着它可以学习当前正在使用的策略的价值。

        SARSA的更新规则是:

        Q ( s , a )← Q ( s , a )+ α [ R + γQ ( s ' , a ' )− Q ( s , a )]

        这里,Q ( s , a ) 是在状态s下采取动作a的估计质量,R是观察到的奖励,s ' 是下一个状态,a ' 是下一个动作,γ是折扣因子,α是学习率。

        策略梯度法

        策略梯度方法是一类直接学习策略的强化学习算法。与旨在估计价值函数(状态值或行动值)的基于价值的方法不同,策略梯度方法直接参数化策略并更新其参数以最大化预期累积奖励。

        在策略梯度方法中,策略由一组由神经网络表示的可学习参数参数化。该策略将状态作为输入并输出动作的概率分布。随着时间的推移,对参数进行调整以提高策略的性能。

        目标函数是需要最大化的奖励总和的期望值。

        计算相对于策略参数的预期累积奖励的梯度。该梯度用于更新策略参数,以增加导致更高奖励的行动的可能性。策略优化是通过梯度上升来执行的,即更新策略参数以朝着增加预期回报的配置移动。

        为了防止过早收敛到次优策略并鼓励探索更多样化的行动空间,在目标函数中添加了与策略分布的负熵成比例的项。它被称为熵正则化。

REINFORCE算法是一种经典的策略梯度方法,它使用似然比技巧来估计预期回报的梯度。它按照梯度乘以与观察到的奖励相关的因子的比例更新策略参数。

        演员批评家方法

        Actor-Critic 方法结合了策略梯度和基于价值的方法的元素。这些算法有一个演员,它学习选择动作的策略,还有一个批评家,它评估这些动作或状态的价值。该行为者利用批评者的评估来指导其政策更新,旨在随着时间的推移改进决策。

        Actor-Critic 方法的优点是观察到的回报(实际累积奖励)与批评者估计的值之间的差异。

        Actor-Critic方法中的目标函数是Actor的策略梯度和Critic的价值函数的组合。更新参与者以最大化预期累积奖励,更新批评者以最小化其估计与观察到的回报之间的均方误差。Actor 使用策略梯度方法进行更新,例如 REINFORCE。更新与参与者参数的预期回报梯度成正比,并按优势缩放。批评者使用时间差(TD)学习进行更新。

七、强化学习的应用

        强化学习的概念可以应用于解决游戏、机器人和自动化等各个领域的问题,从而提高 ChatGPT 等大型语言模型的性能。

        有一些特定的框架和算法用于实现和训练 RL 模型,例如 Q 学习、深度 Q 网络 (DQN)、策略梯度方法等。这些算法提供了计算机制,使代理能够从经验中学习并提高决策能力。

        这是对强化学习的过于简单化的介绍。强化学习有着巨大的应用。请查看参考资料中的详细学习资料。

  1. 强化学习:简介,Richard Sutton 和 Andrew G Barto,Sutton & Barto Book: Reinforcement Learning: AnIntroduction
  2. David Sliver 的强化学习课程Teaching - David Silver
  3. 斯坦福大学强化学习课程: https: //web.stanford.edu/class/cs234/
  4. 深度 RL 拥抱脸部课程:https://huggingface.co/learn/deep-rl-course/unit0/introduction
  5. Deep Deterministic Policy Gradient — Spinning Up documentation

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

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

相关文章

基于深度学习CRNN的水表读数识别系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着科技的不断发展,深度学习技术在各个领域都取得了显著的成果。其中,基于深度学习的图像识别技术在计算机视觉领域具有重要的应用价值。…

Linux环境搭建(Ubuntu22.04)+ 配置共享文件夹(Samba)

Linux开发环境准备 搭建Linux开发环境所需要的软件如下: VMware虚拟机:用于运行Linux操作系统的虚拟机软件之一,VMware下载安装在文章中不做说明,可自行百度谢谢Ubuntu光盘镜像:用于源代码编译,有闲置计算…

maven生命周期回顾

目录 文章目录 **目录**两种最常用打包方法:生命周期: 两种最常用打包方法: 1.先 clean,然后 package2.先 clean,然后install 生命周期: 根据maven生命周期,当你执行mvn install时&#xff0c…

大数据Hadoop-HDFS_架构、读写流程

大数据Hadoop-HDFS 基本系统架构 HDFS架构包含三个部分:NameNode,DataNode,Client。 NameNode:NameNode用于存储、生成文件系统的元数据。运行一个实例。 DataNode:DataNode用于存储实际的数据,将自己管理…

Python (二) 读写excel文件

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

妈妈和老婆掉进水里,孟子认为先救老婆是禽兽

妈妈和老婆同时掉进水里先救谁? 多数男人不敢回答,怕得罪老婆。孟子认为,必须先救妈妈。因为父母都照顾不好,是不孝。先救妈妈,再救老婆。 中国人的信仰是天,以及孔孟之道。中国人不信宗教。 孟子&#x…

【普中开发板】基于51单片机温度报警器设计( proteus仿真+程序+实物演示+讲解视频)

这里写目录标题 1. 主要功能:2. 讲解视频:3. 仿真4. 实物烧录和现象5. 程序代码6. 设计资料内容清单&&下载链接资料下载链接: 【普中开发板】基于51单片机温度报警器设计( proteus仿真程序实物演示讲解视频) Proteus 仿真…

求职招聘小程序源码系统 全开源源代码:找工作+招人才 平台级别运营版 附带完整的搭建教程

在当前的求职招聘市场中,尽管存在大量的求职者和招聘者,但依然存在着信息不对称、沟通不畅等问题。小编来给大家分享一款求职招聘小程序源码系统,旨在提供一个高效、便捷、安全的求职招聘平台。 以下是部分代码示例: 系统特色功能…

vue3实现2d楼宇模型

需求背景解决效果视频效果2dFloor.vue 需求背景 需要实线一个2d楼宇模型&#xff0c;并按照租户温度渲染颜色 解决效果 视频效果 2dFloor.vue <!--/*** author: liuk* date: 2023/12/06* describe: 2d楼宇模型* CSDN:https://blog.csdn.net/hr_beginner?typeblog*/--&g…

7+衰老+分型+预后模型生信思路,没思路的同学们可参考

今天给同学们分享一篇生信文章“Identification and validation of a novel senescence-related biomarker for thyroid cancer to predict the prognosis and immunotherapy”&#xff0c;这篇文章发表在Front Immunol期刊上&#xff0c;影响因子为7.3。 结果解读&#xff1a;…

用100ask 6ull配合 飞凌 elf1的教程进行学习的记录 - ap3216

100ask板子 不用改 ap3216.c "ap3216creg.h" 添加到drivers/misc 从这抄的: https://gitee.com/flameboyence/linux_driver_example/tree/master/22_i2c #include <linux/types.h> #include <linux/kernel.h> #include <linux/delay.h> #includ…

Qt/C++音视频开发57-切换音视频轨道/切换节目流/分别切换音频视频轨道

一、前言 对各种音视频文件格式的支持&#xff0c;是一个播放器的基础功能。一般的音视频文件只有1路流&#xff0c;比如音频文件只有1路音频流&#xff0c;视频文件只有1路音频1路视频流&#xff0c;实践过程中发现&#xff0c;还有一种ts格式的文件&#xff0c;可能有多路流…

批量免费AI写作工具,批量免费AI写作软件

人工智能&#xff08;AI&#xff09;的应用在各个领域不断创新。面对繁重的写作任务,我们应该怎么完成&#xff1f;本文将专心分享批量免费AI写作的方法、工具以及选择时需要注意的事项。 批量免费AI写作的方法 利用开源AI模型 一种常见的批量免费AI写作方法是利用开源的AI模…

2024年十大最好猫罐头有哪些?2024年10款最好的猫罐头盘点

我发现不少人有这样的困扰&#xff01;买到各种数值都很好的猫罐头后&#xff0c;猫咪一点都不吃。或者是猫咪吃了猫罐头之后&#xff0c;吃了一段时间后就软便身体不舒服。 通过本文&#xff0c;我将与大家盘点2024年10款最好的猫罐头&#xff0c;并提供一些选购猫罐头的小妙招…

第三方组件自定义扫描规则

第三方例如dubbo自定义扫描组件规则方式注入进容器。例如DubboService注解的类注入进容器中&#xff0c;实现ImportBeanDefinitionRegistrar接口&#xff0c;并通过Import注解注入。 Import除了注入ImportBeanDefinitionRegistrar类&#xff0c;还可以注入配置类Configuration和…

虚拟数字人直播软件,是如何提升直播带货效率的?

近年来&#xff0c;随着直播带货的兴起&#xff0c;虚拟数字人直播软件成为了一个备受瞩目的新兴领域。无人直播带货通过虚拟数字人主持直播和推销产品&#xff0c;为商家带来了全新的营销方式。那么&#xff0c;虚拟数字人直播软件是如何进行无人直播带货的&#xff0c;有哪些…

Linux入门指南:Linux环境变量解析

Linux环境变量解析 前言基本概念和作用常见的环境变量设置环境变量Shell脚本和环境变量环境变量的一些小规则 前言 你是不是经常听说Linux环境变量&#xff0c;但又对它一头雾水&#xff1f;别着急&#xff0c;让我们一起来揭开这个神秘的面纱&#xff0c;探索一番吧&#xff…

【网络安全技术】IPsec——AH和ESP

一、IPsec通信 主要是两个协议&#xff0c;认证头AH&#xff08;Authentication Header&#xff09;和封装安全载荷ESP&#xff08;Encapsulate Security Payload&#xff09;。AH提供了认证&#xff08;integrity&#xff0c;抗否认&#xff0c;抗重放&#xff09;&#xff0c…

Python中字符串列表的相互转换详解

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在Python编程中&#xff0c;经常会遇到需要将字符串列表相互转换的情况。这涉及到将逗号分隔的字符串转换为列表&#xff0c;或者将列表中的元素连接成一个字符串。本文将深入讨论这些情景&#xff0c;并提供丰富…

大模型应用设计的10个思考

技术不是万能的&#xff0c;但没有技术却可能是万万不能的&#xff0c;对于大模型可能也是如此。基于大模型的应用设计需要聚焦于所解决的问题&#xff0c;在自然语言处理领域&#xff0c;大模型本身在一定程度上只是将各种NLP任务统一成了sequence 到 sequence 的模型。利用大…