强化学习 Reinforcement Learning

强化学习 Reinforcement Learning

强化学习是一种机器学习思想,其关心一个智能体如何采取行动以达到最大化激励回报。

基本的强化学习模型以马尔可夫决策过程建模。

马尔可夫决策过程 Markov Decision Process

系统要素

  • A 行动空间;
  • S状态空间;
  • Pssa=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(π):=limNEτPπ[1Nt=0N1r(st,at)]=Esdπ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):=limN1Nt=0N1P(st=s|π)=limtP(st=s|π) 是策略 π 下状态的平稳分布。 τ=(s0,a0,s1,a1,) 是轨迹(关于行动-状态对的时序), τPπ 表示从策略 π 采样出的轨迹, s0P,a0π(|s0),atπ(|st),st+1P(|at,st)

Discounted Reward

累积奖励函数(策略优化目标函数)上的基本思想是:越远的未来时刻的预估奖励对当前策略优化影响越小(对预估累积奖励贡献越小)。

γ(0,1) , 衰减加权奖励函数:

Gγ(π):=EτPπ[t=0r(st,at)]=11γEsdπ,γaπ[r(s,a)]Vπ,γ(s):=EτPπ[t=0γtr(st,at)|s0=s]=Eaπ(|s)[Qπ,γ(s,a)]=aAπ(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(θ):=θsSdπ(s)aAQπ(s,a)πθ(a|s)=θEsdπaπ[Qπ(s,a)]=θEsdπ[Vπ(s)]sSdπ(s)aAQπ(s,a)θπθ(a|s)=sSdπ(s)aAQπ(s,a)πθ(a|s)θlnπθ(a|s)=Esdπ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

被用于策略梯度。

A^GAE(γ,λ):=k=0(γλ)kδt+kV=k=0(γλ)k(rt+k+V(st+k+1)V(st+k))

具有性质:
*


References:

  • Sutton & Barto 2020, Reinforcement Learning: An Introduction.
posted @   二球悬铃木  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示