首页 > 其他分享 >强化学习第二天:Q​-learning从理论到实践

强化学习第二天:Q​-learning从理论到实践

时间:2025-01-01 13:26:20浏览次数:3  
标签:动作 奖励 环境 实践 学习 智能 learning 强化

导论

        如果你想过这个问题:人类是怎么学习的?你可能会得出——“人类是通过与环境不断交互来学习的”这样一个答案。在心理学的行为主义理论中,在环境给予有机体奖励或惩罚的刺激下,有机体能逐渐预测不同刺激的结果,从而学会能获得最大利益的习惯性行为。

        强化学习(Reinforcement Learning,简称RL)的基本思想正源于此,即希望智能体基于与环境的交互,学习到能够取得最大化预期利益的行为。强化学习近年来蓬勃发展,具有非常高的科研价值和广泛的应用前景。

        OpenAI公司有做过的三个在不同场景下的强化学习算法应用,分别是2019年3月份在Dota游戏中战胜了世界冠军团队OG的OpenAI Five,可以玩魔方的机器臂和会捉迷藏的虚拟小人。

        本文从强化学习的定义出发,首先介绍了强化学习的建模过程和一些基本概念,并介绍了在有限MDP下,最优策略的存在性等相关定理。接着,文章引入Q-learning算法,具体介绍该如何学习一个最优策略和证明了在确定性环境中Q-learning算法的收敛性。接着,本文给出了作者基于Open AI开源库gym中离散环境的Q-learning算法的Github项目链接。最后,作者分析了Q-learning的一些局限性。

强化学习简介

智能体和环境

        强化学习讨论的问题是一个「智能体(agent)」 怎么在一个「环境(environment)」 里学习到一个「策略(policy)」,从而最大化它能获得的累计奖励(策略的严格的定义将在后文给出)。

        如图一所示,在强化学习中,智能体通过观测环境的状态,依照某个策略,选择执行动作。而环境接收到智能体的动作后,状态将更新并且给予智能体一个奖励反馈。值得注意的是,智能体每一步从环境中接收到的奖励是即时奖励,但强化学习的目标是获得最大化的长期的累计收益,故在强化学习中除了要考虑当前的即时奖励,还要考虑未来可能获得的奖励。

在学习过程中,agent面临着是探索未知状态和行动以获得更多环境和奖励信息,还是利用已经收集到的信息来优化其策略的两难选择,这被称为强化学习的「探索与利用的权衡」。举个例子,在我们购物时,根据过往的经验我们知道哪些店的产品物美价廉,我们直接选择去这类店就是「利用」;但是有一些我们没有去过的店可能有更好的产品,去尝试新店的过程就是「探索」

        我们假定在离散的时间域 t∈{0, 1, 2, …} 上,智能体从一个初始状态 s0 出发,在每一个时间点 t = 0, 1, … 上,智能体观测到环境状态为 st∈S,采取动作 at∈A,得到即时奖励 rt = R (st, at),而下一个状态转移到 st+1(st+1 ∼ P (st, at))。我们将这个过程记录为
                                               τ = (s0, a0, r0, s1, a1, r1, …)
并称为 “轨迹”。在 S, A, R 的元素都有限的情况下,我们称 MDP 为有限 MDP。在之后的讨论中,未特别说明,我们均认为 “是在有限 MDP 的设定下进行讨论”。

强化学习中的策略

        在一个MDP过程中,智能体的目标是学习到一个「策略」,策略用以指导在每一个状态st下,采取动作

        强化学习的目的是学到一个可以尽可能提高累计奖励的策略。那么如何定义累计奖励呢?

        事实上,强化学习的任务可以分为两类:分幕式任务和持续性任务。分幕式任务指的是那些存在终止时刻T (一般是随机变量)的任务,比如围棋游戏,走到最后总能分出胜负,达到游戏的终止状态。我们把分幕式任务中,从开始状态到达终止状态的过程称之为「一幕」。持续性任务指那些智能体和环境可以持续不断地发生交互的任务,比如说机器人的控制任务。

Q学习(Q-Learning)

        Q学习是一种强化学习算法,用于解决智能体(agent)在与环境互动的过程中学习如何做出决策以获得最大的累积奖励。它属于无模型(model-free)强化学习方法的一种,这意味着Q学习不需要事先了解环境的具体模型,只需通过与环境的交互来学习。 Q学习的目标是学习一个Q值函数,通常简称为Q表(Q-table),其中包含了在每个状态下采取每个动作所获得的期望累积奖励。这个Q表使得智能体可以在每个状态下选择最佳的动作,从而最大化长期奖励。 

Q学习的核心思想


Q学习的核心思想可以总结为以下几个关键概念:

1. 状态(State)
        在Q学习中,智能体与环境互动的过程可以被划分为一系列离散的时间步(timesteps)。在每个时间步,智能体观察到环境的当前状态,这个状态可以是任何描述环境的信息。

2. 动作(Action)
        智能体在每个时间步都必须选择一个动作,以影响环境并获取奖励。动作可以是有限的一组选择,取决于具体的问题。

3. 奖励(Reward)
        在每个时间步,智能体执行一个动作后,环境会给予智能体一个奖励信号,表示这个动作的好坏。奖励可以是正数(表示好的行为)或负数(表示不好的行为),甚至是零。

4. Q值函数(Q-Value Function)
        Q值函数是Q学习的核心,它表示在给定状态下采取特定动作所获得的期望累积奖励。Q值通常表示为Q(s, a),其中s表示状态,a表示动作。

5. 学习和探索
        在Q学习中,智能体需要学习Q值函数,以确定在每个状态下应该采取哪个动作来最大化累积奖励。但同时,智能体也需要保持一定程度的探索,以发现新的动作策略。

Q学习的基本算法步骤


Q学习的基本算法步骤可以概括为以下几个阶段:

1. 初始化Q表
        首先,我们需要初始化一个Q表,其中包含了所有状态和动作的Q值。通常,Q值可以初始化为零或其他适当的值。

2. 选择动作
        在每个时间步,智能体根据当前状态和Q表中的Q值来选择一个动作。这通常涉及到探索和利用的权衡,以便在学习过程中不断探索新的动作策略。

3. 执行动作
        智能体执行所选择的动作,并观察环境的响应。这包括获得奖励信号和新的状态。

4. 更新Q值
        根据观察到的奖励信号和新的状态,智能体更新Q值。这通常涉及到使用Q学习的更新规则,如贝尔曼方程。

5. 重复迭代
        智能体不断地执行上述步骤,与环境互动,学习和改进Q值函数,直到达到停止条件。

总结: Q学习(Q-Learning)是一种强大的强化学习算法,用于解决智能体与环境互动的问题。它的核心思想是通过学习Q值函数来指导决策,以获得最大的累积奖励。

标签:动作,奖励,环境,实践,学习,智能,learning,强化
From: https://blog.csdn.net/qq_45913945/article/details/144865282

相关文章

  • 【C语言程序设计——循环程序设计】统计海军鸣放礼炮声数量(头歌实践教学平台习题)【合
    目录......
  • 强化学习:智能体决策的艺术与实践
    在机器学习的广阔领域中,强化学习(ReinforcementLearning,简称RL)作为一种重要的学习方法,日益成为推动智能系统发展的核心技术之一。与监督学习和无监督学习不同,强化学习强调智能体通过与环境的交互来学习如何做出最优决策。在此过程中,智能体通过不断试探、评估以及调整行为,从而......
  • Java 虚拟机(JVM)深度剖析:原理、优化与实践探索
    在当今的软件开发领域,Java语言凭借其“一次编写,到处运行”的特性,占据着举足轻重的地位。而Java虚拟机(JavaVirtualMachine,JVM)作为Java程序运行的核心基础设施,负责加载、执行和管理Java字节码,其性能和稳定性直接影响着Java应用的质量和效率。深入研究JVM,对于优化J......
  • 人工智能短视频内容理解与生成技术在美团的创新实践7
     1.背景美团围绕丰富的本地生活服务电商场景,积累了丰富的视频数据。美团场景下的短视频示例上面展示了美团业务场景下的一个菜品评论示例。可以看到,视频相较于文本和图像可以提供更加丰富的信息,创意菜“冰与火之歌”中火焰与巧克力和冰淇淋的动态交互,通过短视频形式进......
  • Java 大视界 -- Java 微服务架构在大数据应用中的实践:服务拆分与数据交互(一)
           ......
  • 小程序可测性能力建设与实践6
     1.引言测试活动从本质上可以视为被测系统因为某个激励产生相应的响应,并对这些响应进行全面检测的过程。这个过程(激励->响应->检查)涉及到两个角色:测试者以及测试对象,测试者执行激励与检查响应,由机器(程序)或者人来完成;被测对象接受激励,产生响应。从这个过程来看:激励可控,响应可......
  • COMP4650 /COMP6490 Deep Learning
    Assignment2Specification(Version2)Machine/DeepLearningandNaturalLanguageProcessingDocumentAnalysis(COMP4650/COMP6490),2024Semester2TasksThisassignmentconsistsof5tasksrelatedtoclassifyingjobdescriptions.Task1:AnalysetheDoc......
  • QVQ-72B 多模态大模型实践
    QVQ-72B多模态大模型实践flyfish文末有完整源码QVQ-72B-Preview是由Qwen团队开发的实验性研究模型,专注于增强视觉推理能力。想象一下,如果我们的大脑里的语言和看东西的能力结合在一起,我们就能更好地理解周围的世界。我们用语言来思考问题,用眼睛记住画面,这样我们就能......
  • 项目管理中的甘特图应用与实践
    在项目管理的领域中,甘特图是一种被广泛应用的工具,它以可视化的方式展示项目进度、任务关系以及资源分配等关键信息。甘特图的应用不仅能够帮助项目管理者更好地规划和执行项目,还能让团队成员清晰地了解项目的整体情况。想象一下,在一个复杂的项目中,通过甘特图将任务与时间轴紧密结......
  • 数据库的创建与删除:理论与实践
    title:数据库的创建与删除:理论与实践date:2024/12/31updated:2024/12/31author:cmdragonexcerpt:在当今的数字时代,数据的管理和存储变得尤为重要。数据库作为数据存储的结构化方案,为数据的增删改查提供了系统化的方法。在一个典型的数据库管理系统中,创建和删除......