当前位置: 首页 > news >正文

【RL第一篇】强化学习入门:核心概念全面详解

一、强化学习

强化学习 (RL) 是机器学习的一个分支,专注于让Agent根据从环境中获得的奖励和惩罚进行学习和决策。

RL与监督学习和非监督学习不同,它不依赖于预先存在的标记数据集。相反,会与环境交互,以奖励或惩罚的形式接收反馈,并学习相应地优化其行为。

二、概念列表

  • 代理(Agent)
  • 环境(Environment)
  • 状态(state)
  • 动作(action)
  • 策略(policy)
  • 轨迹(trajectory)
  • 奖励(reward) 和 回报(Return)
  • 状态价值函数(Value function)和 动作价值函数(Q-function)

三、通用概念

3.1 代理(Agent)

这里的Agent指代的并非目前火热的function call的Agent,更像是一种代称。

代理可以是一种系统或程序,它与环境交互,以学习如何实现特定目标。通过接收来自环境的反馈(以奖励或惩罚的形式)进行学习。代理的最终目标是学习一种策略(policy),即从环境状态(state)到动作(action)的映射,从而最大化其长期预期奖励(Value)。

包含三个主要组件:

  • 策略
  • 价值函数
  • 学习算法

策略是代理根据当前环境状态选择动作的策略。价值函数估算代理从特定状态和动作中获得的预期长期奖励。学习算法根据从环境收到的反馈更新代理的策略和价值函数。

3.2 环境(Environment)

在强化学习中,“环境”指的是代理运行的外部世界或系统。它是代理与之交互并接收反馈的环境,代理的目标是从这些交互中学习并优化其行为以实现特定目标。

强化学习中的环境可以是任何行事,从虚拟模拟到物理系统。环境为代理提供描述系统的当前状态。代理会利用这些观察值来决定它应该采取的行动,以及它采取哪些行动来改变环境状态。

环境还会根据代理采取的操作,以奖励或惩罚的形式向其提供反馈。这些奖励会向代理发出信号,使其强化或抑制某些行为,而代理的目标是随着时间的推移最大化其累积奖励。

四、关键概念

接下来就以乒乓球这个运动的游戏来举例:

乒乓球的规则大家一定很熟悉,目前有两个玩家,红色和绿色,将操作绿色球拍的玩家视为代理 。乒乓球的目标是将球弹回,使其越过其他玩家的球拍。当任何一名玩家成功将球弹过对方玩家时,即可得分,球将再次从场地中心移动。得分最高的玩家获胜

4.1 状态(state)

状态是指代理所处环境的当前情况。包含代理做出决策和采取行动以最大化其回报所需的所有相关信息,通常是一个向量、矩阵或其他张量。

状态和时间是相关的,时间步 t 的状态表示为
$ {s}_{t} $

以乒乓球为例,表示乒乓球局的当前状态,可以是一个向量/矩阵来表示,包含球拍的位置、球的位置以及球的角速度,根据这些信息代理就可以做出行动了。

还有另外一个思路,就是通过视觉的方式来提供当前的状态。因为我们要表示球的角速度,所以需要多个帧来表示:

4.2 动作(action)

动作是指代理根据环境状态做出的决策。

行动也包含离散行动和连续的行动。

在乒乓球中希望代理可以上下移动

4.2.1 离散行动 (discrete action)

将动作定义为“向上”、“向下”和“不动”, 其中向上,向下动作的大小是我们预定好的,是个枚举值。为了更好的表示三个action,可以采用one hot的多维度向量

4.2.2 连续行动(continuous action)

自然也可以是连续值的形式,比如上下多少个像素点,粒度可以根据自己的需求设定。这种情况下可能一个标量就足够了。

4.3 策略(policy)

策略是从状态到动作的映射。决定了Agent从特定状态开始的行为方式。

主要分为两种类型:确定性策略和随机性策略

4.3.1 确定性策略 (Deterministic policy)

确定性策略以概率 1 输出一个动作,所以是确定的,对于st就会映射出at

at=μθ(st)a_t=\mu_\theta(s_t)at=μθ(st)

其中t为时间步, st为为t时刻的状态,通过μθ\mu_\thetaμθ可以映射到at,其中u的参数为θ\thetaθ,在大模型任务里u就对应于llm,θ\thetaθ为llm的parameters,我们的目的就是优化参数来达到目标。

4.3.2 随机性策略(Stochastic policy)

随机性策略对于一个st有一定的概率映射at:

at∼πθ(⋅∣st)a_t \sim \pi_\theta(\cdot \mid s_t)atπθ(st)

通常用πθ\pi_\thetaπθ来代表随机概率映射

4.4 轨迹(trajectory)

轨迹指代一系列状态和动作,一个时间的序列:

τ=(s0,a0,s1,a1,… )\tau = \left(s_0, a_0, s_1, a_1, \dots\right)τ=(s0,a0,s1,a1,)

4.5 奖励(reward)

奖励是代理在执行操作后从环境接收到的标量反馈信号。奖励的目的是表明代理在实现其目标方面的表现,通常目标是最大化随时间推移的累积奖励量。

奖励可以是正数、负数或零。特定时间步 t 的奖励为:

rt=R(st,at,st+1)r_t = R(s_t, a_t, s_{t+1})rt=R(st,at,st+1)

其中R为奖励函数(Reward function),rtr_trt由t时间状态sts_tst+t时间采取的行动ata_tat+新状态st+1s_{t+1}st+1共同决定。

4.6 回报(Return)

回报为所有时间步的奖励总和,分为:有限时域未折现回报(Finite-horizon undiscounted return)和无限时域折现回报(Infinite-horizon discounted return),Agent的目标是学习一种策略Policy,以最大化未来奖励的预期总和,即预期回报。

4.6.1 Finite-horizon

R(τ)=∑t=0TrtR(\tau) = \sum_{t=0}^{T} r_tR(τ)=t=0Trt

从当前状态到目标状态的奖励总和(即轨迹的总reward),具有固定的时间步长或有限个时间步长 Τ

4.6.2 Infinite-horizon

R(τ)=∑t=0∞γtrtR(\tau) = \sum_{t=0}^{\infty} \gamma^t r_tR(τ)=t=0γtrt

时间步为♾️,且引入折扣因子决定需要考虑多大程度的未来奖励,折旧因子介于 0 到 1 之间。在极端情况下,γ = 0 表示智能体只关心当前奖励,而 γ = 1 表示所有未来奖励都被考虑在内。折现因子越低,未来回报的价值就越低(考虑的越少)。

举个例子理解折旧因子存在的必要性:人们通常认为越早获得奖励越好。例如,现在获得现金比以后更好,因为由于通货膨胀,现金以后可能会贬值。

五、价值函数

价值函数是估算状态或状态-动作对的价值的函数。它表示特定状态或动作在实现目标方面的效果。

强化学习中的价值函数有两种:状态价值函数和动作价值函数。

5.1 状态价值函数(Value function)

在给定状态下期望获得多少奖励,即从给定状态 s 开始并遵循当前策略可以获得的预期累积奖励

Vπ(s)=Eτ∼π[R(τ)∣s0=s]V^\pi(s) = \underset{\tau \sim \pi}{\mathrm{E}}\left[ R(\tau) \mid s_0 = s \right]Vπ(s)=τπE[R(τ)s0=s]

这里使用的是不确定性的策略π\piπ

5.2 动作价值函数(Q-function&Q函数)

定义为代理从状态 s 开始,采取动作 a,并遵循当前策略可以获得的预期累积奖励。它将状态-动作对作为输入,并输出在该状态下采取该动作并随后遵循给定策略的预期长期奖励。

通过学习 Q 函数,代理可以选择最大化预期长期奖励的动作,而这正是许多强化学习任务的目标

Qπ(s,a)=Eτ∼π[R(τ)∣s0=s,a0=a]Q^\pi(s, a) = \underset{\tau \sim \pi}{\mathrm{E}}\left[ R(\tau) \mid s_0 = s, a_0 = a \right]Qπ(s,a)=τπE[R(τ)s0=s,a0=a]

在策略 π 下,处于状态 s 并采取行动 a 的价值,简而言之,处于某个状态并采取某个行动的预期收益有多大。

5.3 Value function和Q函数的关系

最佳状态价值函数为:

V∗(s)=max⁡πVπ(s)∀s∈SV^*(s) = \max_\pi V^\pi(s) \quad \forall s \in \mathbb{S}V(s)=πmaxVπ(s)sS

如果知道最佳状态价值函数,它对应的策略就是最优策略为:

π∗=arg⁡max⁡πVπ(s)∀s∈S\pi^* = \arg\max_\pi V^\pi(s) \quad \forall s \in \mathbb{S}π=argπmaxVπ(s)sS

因为 V*(s) 是从状态 s 开始的最大预期总回报,因此它将是 Q*(s, a) 所有可能动作中的最大值。

当策略为确定性策略的时候,V和Q有这样的等式:

V∗(s)=max⁡aQ∗(s,a)V^*(s) = \max_a Q^*(s, a) \quad V(s)=amaxQ(s,a)

当策略为不确定性策略的时候,则为:

Vπ(s)=Ea∼π(a∣s)Qπ(s,a)V_\pi(s) = \mathbb{E}_{a \sim \pi(a|s)} Q_\pi(s, a)Vπ(s)=Eaπ(as)Qπ(s,a)

对于每个action的reward如何计算,那就是advantage函数等式:

Aπ(s,a)=Qπ(s,a)−Vπ(s)A_\pi(s, a) = Q_\pi(s, a) - V_\pi(s)Aπ(s,a)=Qπ(s,a)Vπ(s)

六、强化学习综述

  • https://arxiv.org/abs/2412.05265

前期的方法如Q-learning和REINFORCE分别代表着两个主流的强化学习方向

  • Value-based:通过学习状态Vπ(s)V^\pi(s)Vπ(s)或状态-动作对的价值函数Qπ(s,a)Q^\pi(s, a)Qπ(s,a)来指导决策, 如:Q-Learning、DQN
  • Policy-based:直接学习和优化策略函数πθ\pi_\thetaπθ, 如:REINFORCE

Ref

  • https://medium.com/@cedric.vandelaer/reinforcement-learning-an-introduction-part-2-4-46a1491a2451
  • https://towardsdatascience.com/reinforcement-learning-made-simple-part-1-intro-to-basic-concepts-and-terminology-1d2a87aa060/
  • https://arjun-sarkar786.medium.com/reinforcement-learning-for-beginners-introduction-concepts-algorithms-and-applications-3f805cbd7f92
http://www.dtcms.com/a/287769.html

相关文章:

  • 永磁同步电机控制算法--弱磁控制(变交轴CCR-VQV)
  • vue2 面试题及详细答案150道(141 - 150)
  • VUE2 学习笔记1
  • ndexedDB 与 LocalStorage:全面对比分析
  • 4 ASPICE的支持过程
  • docker构建springboot镜像
  • 【初识数据结构】CS61B中的基本图算法:DFS, BFS, Dijkstra, A* 算法及其来历用法
  • 字节跳动开源Seed-X 7B多语言翻译模型:28语种全覆盖,性能超越GPT-4、Gemini-2.5与Claude-3.5
  • 【开源项目】GPT学术优化 - GPT Academic
  • 探秘边缘安全架构设计要点解析
  • Linux 自旋锁
  • 四阶电商SEO审计指南:诊断流量漏洞→重建增长引擎(附免费工作簿)
  • 音频3A处理简介之AEC(回音消除)
  • 文生图-StoryGAN:用于故事可视化的顺序条件GAN
  • 《YOLOv13魔术师专栏》全景指南:从理论到工业级实战
  • 路由器SDH POS接口
  • Ps 2025安装包(Adobe Photoshop 2025)安装包免费免激活版下载 附图文详细安装教程
  • 《Web安全之机器学习入门》读书笔记总结
  • STM32的定时器输入捕获-超声波测距案例
  • 嵌入式学习-PyTorch(9)-day25
  • MVCC(多版本并发控制)介绍及实现原理
  • 算法题(175):小明的游戏
  • Map集合
  • 以太坊的心脏与大脑:详解执行客户端(EL)与共识客户端(CL)
  • NW993NX584美光固态闪存NX559NX561
  • Java 中的函数式编程详解
  • PHP框架在大规模分布式系统的适用性如何?
  • Python构建AI数独求解器:从回溯算法到深度学习
  • 网络基础DAY13-NAT技术
  • (后者可以节约内存/GPU显存)Pytorch中求逆torch.inverse和解线性方程组torch.linalg.solve有什么关系