强化学习方法

image.png

思路:从一个任意的策略开始,首先 计算该策略下的价值函数(或动作一价值函数),然后根据价值函数调整、改进策略使其更优,不断迭代这个过程,直到策略收敛

  • 策略评估:通过策略计算价值函数
  • 策略优化:通过价值函数优化策略
  • 策略迭代:策略评估和策略优化交替进行的强化学习求解方法 image.png

策略优化定理:sS,qπ(s,π(s))qπ(s,π(s))sS,Vπ(s)Vπ(s)

例:

image.png|400 qπ(s1,)=sSP(s|s1,)[R(s1,,s)+γVπ(s)]=1×(0+0.99+0.3)0.3

qπ(s1,)=sSP(s|s1,)[R(s1,,s)+γVπ(s)]=1×(0+0.99+0.4)0.4

故将π=↑优化为π=→.

策略评估方法:根据策略π来计算相应的价值函数Vπ或动作-价值函数qπ

  • 方法
    • DP
    • MC
    • 时序差分
  • 本质:求解贝尔曼方程组
    • 高斯消元
    • Gauss-Seidel迭代

DP:

  • 状态转移方程: Vπ(s)aAπ(s,a)sSP(s|s,a)[R(s,a,s)+γVπ(s)]
  • 算法: image.png

MC:大数定理指出,对于独立同分布的样本数据,当样本足够大时,样本平均值向期望值收敛

  • 给定状态s,从该状态出发不断采样后续状态,得到不同的状态序列,通过这些采样序列来分别计算状态s的回报值,将这些回报值的均值作为对状态s的价值函数的估计
  • 算法: image.png

时序差分:蒙特卡洛方法和动态规划方法的有机结合

  • 更新公式: Vπ(s)Vπ(s)+a[R+γVπ(s)Vπ(s)]
  • 算法: image.png

Q-Learning:直接记录和更新动作-价值函数qn而不是价值函数Vπ

  • 更新公式: qπ(s,a)qπ(s,a)+α[R+γmaxaqπ(s,a)qπ(s,a)]
  • 算法: image.png

ϵ-greedy:为智能体改变固有策略添加一个探索的动力

  • 策略:
ϵgreedy(s)={argmaxaq(s,a),P=1ϵ,random aA,P=ϵ
  • 算法: image.png

参数化Q-learning:用一个回归模型拟合qπ函数

image.png

如果使用深度神经网络来拟合动作-价值函数则称为deep-Q learning

问题:

  • 采样不足
  • 难以收敛

DQN:

  • 损失函数: L(θ)=12[R+γmaxaqπ(s,a;θqπ(s,a;θ))]2
  • 网络结构: image.png 策略梯度定理:策略函数πθ(s,a)在状态s下选择动作a的概率,评估J(θ):=Vπθ(s0)
  • 梯度: θJ(θ)=θsμπθ(s)aqπθ(s,a)πθ(s,a)sμπθ(s)aqπθ(s,a)θπθ(s,a)

其中μπθ(s)称为πθ的策略分布,持续问题中μπθ(s)为算法在策略πθ安排下从s0出发经过无限多步后位于状态s的概率;分段问题中μπθ(s)为归一化后算法从s0出发访问s次数的期望。

基于MC的策略梯度法:

  • 公式: θJ(θ)Es,aπ[qπθ(s,a)θlnπθ(s,a)]=Es,a,J(s,a)π[Gtθlnπθ(s,a)]
  • REINFORCE算法 image.png

  • Actor-Critic算法:从时序差分角度进行设计,时序差分与蒙特卡洛采样的核心差别在于使用下一时刻状态的价值函数来估计当前状态的价值函数,而不是使用整个片段的反馈值

    • 使用R+γVπθ(s)代替G image.png

应用:AlphaGo

image.png