强化学习入门:价值、回报、策略概念详解
前言
最近想开一个关于强化学习专栏,因为DeepSeek-R1很火,但本人对于LLM连门都没入。因此,只是记录一些类似的读书笔记,内容不深,大多数只是一些概念的东西,数学公式也不会太多,还望读者多多指教。本次阅读书籍为:马克西姆的《深度强化学习实践》。
限于篇幅原因,请读者首先看下历史文章:
马尔科夫过程
马尔科夫奖励过程
马尔科夫奖励过程二
RL框架Gym简介
Gym实现CartPole随机智能体
交叉熵方法数学推导
强化学习入门:交叉熵方法实现CartPole智能体
1、出发点
原定本篇博客该介绍bellman方程的,但发现自己对于一些基础概念的计算和理解有点儿模糊,于是本篇先恶补一下目前RL所出现的一些基础概念,并搭配详细的计算公式。
2、示例
这里以书中一个例子来说明一些概念,在上图中,每个灰色节点表示状态,每条边上实线圆表示状态转移概率,每个虚线圆则表示状态转移所获得的奖励。
下面将举个视为片段的例子,在RL中也被称为“状态链”。
片段:家–> 咖啡 --> 计算机 --> 家。
在引入了片段后,就能解释何为“回报”定义了:
这里先贴下回报公式,对于一个片段来说,在 t t t时刻的回报定义为:
G t = R t + 1 + γ R t + 2 + . . . = ∑ k = 0 ∞ γ k R t + k + 1 G_t = R_{t+1} + \gamma R_{t+2} +... = \sum_{k=0}^{\infty}\gamma^kR_{t+k+1} Gt=Rt+1+γRt+2+...=k=0∑∞γkRt+k+1
其中 γ \gamma γ是超参数, R t R_t Rt表示 t t t时刻奖励。
这里有个问题,对于一个智能体来说,可执行的状态链太多了,实际上回报应用的不太多,因此,这里引入了一个状态的期望回报(对大量状态链求回报的期望),即状态的价值:
V ( s ) = E [ G ] = E [ ∑ k = 0 ∞ γ k R t + k + 1 ] V(s) = E[G] = E[\sum_{k=0}^{\infty}\gamma^kR_{t+k+1}] V(s)=E[G]=E[k=0∑∞γkRt+k+1]
okay,现在拿到公式了,现在计算状态“家”的价值:
家–>家 | 家–>咖啡 | |
---|---|---|
概率 | 0.6 | 0.4 |
奖励 | 1 | 1 |
则根据价值的定义:总共有两个状态链:则家的价值为
V ( 家 ) = 0.6 ∗ 1 + 0.4 ∗ 1 = 1.0 V(家) = 0.6*1 + 0.4*1 = 1.0 V(家)=0.6∗1+0.4∗1=1.0
按照同样的道理:能得到其余状态的价值:
V ( c o f f e e ) = 2 × 0.7 + 1 × 0.1 + 3 × 0.2 = 2.1 V ( c o m p u t e r ) = 2 × 0.7 + 1 × 0.1 + 3 × 0.2 = 2.8 V(coffee) = 2×0.7 + 1×0.1 + 3×0.2 = 2.1 \\ V(computer) = 2×0.7 + 1×0.1 + 3×0.2 = 2.8 V(coffee)=2×0.7+1×0.1+3×0.2=2.1V(computer)=2×0.7+1×0.1+3×0.2=2.8
在上述例子中,你其实就是智能体,你可以自由选择3个状态,并执行某一个状态链,进而获得最大的奖励:则从众多的状态链中选择出一个回报最大的状态链,就是策略的选择,即 π ( s ) \pi(s) π(s)。
而智能体优化目标常常是:选择何种策略,通常会伴随选择执行什么样动作,使得 π ( a ∣ s ) \pi(a|s) π(a∣s)最优。
总结
本文只是介绍了一部分概念,后续会逐步添加新的概念,从感性上认识下RL的一些基础概念。