强化学习 Reinforcement Learning
强化学习是一种机器学习思想,其关心一个智能体如何采取行动以达到最大化激励回报。
基本的强化学习模型以马尔可夫决策过程建模。
马尔可夫决策过程 Markov Decision Process
系统要素
- A 行动空间;
- S状态空间;
- Pas′s=P(St+1=s′|St=s,At=a) 状态转移函数(给定t时刻的状态和动作,t+1时刻的状态分布),在t时刻给定状态为s,动作为a,t+1时刻状态转移为s'的概率;
- Ra(s′,s) 即刻奖励函数,给定动作a,状态由s转移到s'所获得的即刻奖励(immediate reward)。
有时还包括衰减系数 γ ,值域[0,1],t时刻的价值函数被定义为对未来奖励的指数衰减加权和:
Gt=∞∑k=0γkrt+k=rt+γrt+1+γ2rt+2+⋯
,其中 rt 是t时刻的即刻奖励。
关键概念
代理/智能体 Agent / intelligent agent
在环境中行动的虚拟代理,执行行为动作根据模型中的“策略”而定。
策略 Policy
策略,是根据环境的当前状态表明不同动作的概率。
π:A×S↦[0,1]π(a,s)=P(At=a|St=s)
奖励函数 Reward
状态价值函数 state value function
在一个给定策略 π 下,(在某个时刻)状态s的价值函数被定义为以s作为初始状态,以策略 π 推演出的收益G的期望。
Vπ(s)=Eτ∼Pπ[G|s0=s;π]=Eτ∼Pπ[∞∑t=0γtrt(s,a)∣∣∣s0=s;π]
,其中收益G是从此刻起未来所有即刻奖励的指数衰减加权和(discounted reward)(G之所以是随机变量是因策略 π 是随机过程,导致依赖于此的收益R也是随机变量):
G=∞∑k=0γkrkGt=∞∑k=0γkrt+k=∞∑k=0γkrt+k=rt+γrt+1+γ2rt+2+⋯=rt+1+γGt+1
,其中 rk 是相对R所处时刻(t)的未来第k个偏移时刻(即t+k时刻)的即刻奖励。
行动-状态 价值函数 state-action pair value function
Qπ(s,a)=Eτ∼π[G|s0=s,a0=a;π]
优势函数 Advantage Function
行动价值与状态价值之差:
Aπ(s,a)=Qπ(s,a)−Vπ(s)
记号 A 在某些情况下存在歧义,可能值优势函数,也可能指行动(Action)。
Average Reward
累积奖励函数(策略优化目标函数)上的基本思想是:累积奖励是未来所有时刻奖励的平均和。
平均奖励函数:
G(π):=limN→∞Eτ∼Pπ[1NN−1∑t=0r(st,at)]=Es∼dπa∼π[r(s,a)]Vπ(s):=Eτ∼Pπ[∞∑t=0(r(st,at)−ρ(π))∣∣∣s0=s]Qπ(s,a):=Eτ∼Pπ[∞∑t=0(r(st,at)−ρ(π))∣∣∣s0=s,a0=a]Aπ(s,a):=Qπ(s,a)−Vπ(s)
其中 dπ(s):=limN→∞1N∑N−1t=0P(st=s|π)=limt→∞P(st=s|π) 是策略 π 下状态的平稳分布。 τ=(s0,a0,s1,a1,…) 是轨迹(关于行动-状态对的时序), τ∼Pπ 表示从策略 π 采样出的轨迹, s0∼P,a0∼π(⋅|s0),at∼π(⋅|st),st+1∼P(⋅|at,st) 。
Discounted Reward
累积奖励函数(策略优化目标函数)上的基本思想是:越远的未来时刻的预估奖励对当前策略优化影响越小(对预估累积奖励贡献越小)。
γ∈(0,1) , 衰减加权奖励函数:
Gγ(π):=Eτ∼Pπ[∞∑t=0r(st,at)]=11−γEs∼dπ,γa∼π[r(s,a)]Vπ,γ(s):=Eτ∼Pπ[∞∑t=0γtr(st,at)∣∣∣s0=s]=Ea∼π(⋅|s)[Qπ,γ(s,a)]=∑a∈Aπ(a|s)Qπ,γ(s,a)Qπ,γ(s,a):=Eτ∼Pπ[∞∑t=0γtr(st,at)∣∣∣s0=s,a0=a]Aπ,γ=Qπ,γ(s,a)−Vπ,γ(s)
Discounted Reward 与 Average Reward的关系:
当 γ→1 时, ρπ,γ→ρ(π) ,即Average Reward可以认为是Discounted Reward思想在 γ=1 时的特殊情况。
Disounted Reward的另一种特殊情况 γ=0 ,相当于不利用未来奖励信息,仅用当前的。
References:
策略类型 on-policy / off-policy
策略梯度 Policy Gradient
策略梯度是解决强化学习中梯度计算困难的一种方法。
∇θJ(θ):=∇θ∑s∈Sdπ(s)∑a∈AQπ(s,a)πθ(a|s)=∇θEs∼dπa∼π[Qπ(s,a)]=∇θEs∼dπ[Vπ(s)]∝∑s∈Sdπ(s)∑a∈AQπ(s,a)∇θπθ(a|s)=∑s∈Sdπ(s)∑a∈AQπ(s,a)πθ(a|s)∇θlnπθ(a|s)=Es∼dπa∼π[∇θlnπθ(a|s)]=Eτ∼Pπ[Gt∇θlnπθ(at|st)]=Eτ∼Pπ[Gt∇θπθ(at|st)πθ(at|st)]
上述“正比于( ∝ )”的证明详见书籍 Sutton&Barto 2020, Reinforcement Learning: An Introduction。
梯度更新策略(由于要最大化而非最小化目标函数,故应采用梯度上升而非下降):
θt+1←θt+αGt∇θπθ(at|st)πθ(at|st)
,其中 α 为学习率。
时常会使用一个变体,其在 Gt 上减去一个基线值,以减少梯度估计的方差。
Q-Learning
函数Q并非已知计算式,而是用学习的方式来拟合。
Deep Q-learning Network, DQN
用深度神经网络学习Q函数。
GAE, Generalized Avantage Estimator
被用于策略梯度。
^AGAE(γ,λ):=∞∑k=0(γλ)kδVt+k=∞∑k=0(γλ)k(rt+k+V(st+k+1)−V(st+k))
具有性质:
*
References:
- Sutton & Barto 2020, Reinforcement Learning: An Introduction.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY