当前位置:   article > 正文

强化学习基本原理_强化学习原理

强化学习原理

一般机器学习分为有监督学习和无监督学习,它们的区分依据是用于训练的数据集中是否提供预期输出来指导学习。而强化学习不属于这两种里面的任何一个,因为他不需要事先准备数据集,而是通过与环境交互获取训练数据,然后通过一种称为奖励的概念来指导学习。

1. 概念

  • 智能体(Agent):智能体是参与强化学习的主体,它负责观察环境、选择动作并获得奖励。智能体的目标是通过与环境的交互学习一个策略,以最大化长期奖励。
  • 环境(Environment):环境是智能体所处的外部环境,它会对智能体的动作做出响应,并根据智能体的行为提供奖励。环境的状态会随着智能体的动作而改变。
  • 动作(Actions):动作是智能体可以执行的操作,它会影响环境的状态。在每个时间步,智能体需要选择一个动作来执行,以影响环境并获取奖励。
  • 状态(State):状态是描述环境当前情况的信息。智能体的决策取决于当前状态,同时环境的状态也会随着智能体的动作而变化。
  • 奖励(Reward):奖励是环境针对智能体的动作提供的反馈信号,表示动作的好坏程度。智能体的目标是通过最大化长期奖励来学习一个优秀的策略。
  • 策略(Policy):策略定义了智能体在特定状态下选择动作的方式。它可以是确定性的(直接映射状态到动作)或者是随机性的(根据概率分布选择动作)。
  • 状态转移(State Transition):状态转移描述了在智能体执行动作后,环境状态如何发生变化。这是强化学习中一个重要的概念,智能体需要理解不同状态之间的转移关系来做出优化的决策。

2. 学习过程

在这里插入图片描述

  1. 智能体与环境交互:在强化学习中,智能体与环境之间进行交互。智能体观察环境,获得状态。然后根据状态选择执行动作。获取环境给予的奖励作为反馈。
  2. 状态转移和奖励:智能体根据当前状态选择动作,环境根据智能体的动作改变状态,并给予相应的奖励。这一过程构成了智能体在环境中的学习过程。
  3. 策略更新:智能体根据环境的反馈(奖励)来更新自己的策略。目标是通过不断尝试和学习,找到一个最优的策略以最大化长期奖励。
  4. 价值函数估计:在学习的过程中,智能体会估计每个状态的价值,即在该状态下执行特定动作所能获得的长期奖励。这有助于智能体做出更好的决策。当前文章不考虑这一点。

3. 推导

建议先了解神经网络、梯度下降。
首先约定一下符号。学习过程开始后,智能体观察环境所获得状态记为 s1,然后根据当前状态 s1,采取行为 a1。行为作用到环境,导致状态发生变化,记为 s1 变为 s2。同时环境反馈奖励 。这是第一轮学习。
第二轮中,智能体观察到状态 s2,采取行为 a2,获得奖励 r2,状态由 s2 变为 s3。后续循环这个过程,数字表示轮次。
则一整个学习过程可记为如下:
在这里插入图片描述τ 中共有 T 次操作。
如果以打手机游戏为例,s 为屏幕像素,r 为释放技能或走位,击杀基于奖励 r 为 10,赢得游戏给予奖励 1000,输掉游戏给予奖励 -1000。τ 为一局游戏的整个过程。
记第 n 局游戏为:在这里插入图片描述

要学习什么呢?学习根据当前状态,判断采取尽可能好的行为的能力。可以通过神经网络或其他算法采取行动。那么这里就需要学习你所使用的算法中的参数,这里统一把参数记为 θ。简单起见,我们就以感知机作为决策模型,那么 θ 就是下面的参数。
在这里插入图片描述

学习目标是使得奖励最大化。用公式表示如下:
在这里插入图片描述
解释一下这个公式。
θ 为当前参数数值;P(τ|θ) 为打出游戏状况为 τ 的概率;R(τ) 为 τ 中获得的奖励总和,即 r1+r2+…。那么根据数学期望知,当前智能体打完所有的可能的游戏对局情况 τ,所得到的平均奖励可记为: 在这里插入图片描述
但是一般情况下,不可能让智能体打完所有的对局情况的,所以这个公式没办法计算。退一步讲,我们可以使用大数定律。即,让智能体打 N 局游戏,N 足够大,那么就近似为平均奖励为: 在这里插入图片描述
我们的目标就是让这个平均奖励尽可能大。那么这个函数可以理解为损失函数,我们需要通过调整 θ 对这个函数进行优化。
怎么做呢?我们可以使用梯度下降来更新参数 θ。即求解如下:
在这里插入图片描述

接下来推导一下如何更新 θ:
假设我们当前已经学习了若干组 τ,记第 i 组为 在这里插入图片描述
一组 τ 中由若干轮游戏对局情况,每轮记为在这里插入图片描述
根据梯度下降,对于第 i 组 τ,θ 更新规则如下:
在这里插入图片描述

其中,η 是学习率,▽ 为梯度。
那么梯度怎么求?如下:
在这里插入图片描述

这个梯度公式不难理解。由于只有 P(τ|θ) 中包含 θ,因此▽可以直接挪到 P(τ|θ) 前。
然后我们进而求解 ▽P(τ|θ):
在这里插入图片描述

这里通过 log 将乘法转换为加法,方便求解。
进一步我们知:
在这里插入图片描述

我们上面说不可能让智能体打完所有的对局情况,因此:
在这里插入图片描述

到这一步,怎么求 ▽logP(τ|θ) ?我们可按照全概率公式先将 P(τ|θ) 展开。我们这里简单一些,展开如下:
在这里插入图片描述

按照全概率公式展开的话,并不是这样的。为了避免太复杂,我们这里考虑每次状态变化不受行为影响,完全独立,来简化一下。
然后我们知道:
在这里插入图片描述

最后整理一下:
在这里插入图片描述

然后我们就可以更新 θ 了,也就是说我们可以使用强化学习来学习模型了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/427399
推荐阅读
相关标签
  

闽ICP备14008679号